v3.0.0
thedevs-network/kuttv3.0.0Jan 8, 2025by poeti8
AI Summary
A major overhaul that removes React and TypeScript, introduces zero-configuration setup, and adds support for SQLite and MySQL.
Key Highlights
- Major rewrite removing React, TypeScript, and build steps
- Zero configuration start with automatic admin user creation
- Added support for SQLite and MySQL/MariaDB
- Significant performance improvements and database optimizations
Breaking Changes
- Requires migration scripts to be run from version 2
- Configuration variables changed (e.g., new `DB_CLIENT` variable)
- Postgres is now optional (defaults to SQLite)
New Features
- Zero configuration start
- SQLite and MySQL/MariaDB support
- Admin page for managing links, users, and domains
- Rate limits for API routes
- Reset password form
Full Release Notes
It's been a few years, but a new version here. Throughout this version I had self hosting in my mind. - Removed React and Next.js - Removed TypeScript - Removed build steps - Removed anything Google - Zero configuration start - Prompt to create an admin user when app is started the first time - Added support for SQLite and MySQL/MariaDB - Made Postgres database optional (uses SQLite by default) - Made Redis optional - Made Enabling and sending emails optional - Added admin page to manage links, users, and domains - Added indexes and database performance optimizations - Disabling registration and anonymous links gets reflected on the front-end - Added reset password form - Added rate limits for some API routes - Significant performance improvements - Fixed many small bugs and issues - Updated Docker compositions **Migrating from version 2:** Merging changes and running the database migration scripts should be enough. Make sure you have made a backup first. Double check [Configuration](https://github.com/thedevs-network/kutt?tab=readme-ov-file#configuration) to make sure you have the environment variables ready. For example `DB_CLIENT` is new, and you should probably set it to `pg` since you must be already using Postgres. Some variables are removed, you may want to remove them from your .env file as well to avoid confusion. Keep `ADMIN_EMAILS` for the migration script if you want to save those users as admin on the database—you can remove it after. Related: #580, #637, #662, #667, #706, #711, #714, #768, #754, #750, #749, #743, #742, #732, #729, #725, #724, #722, #719, #713, #710, #708, #703, #702, #701, #700, #699, #691, #690, #689, #688, #685, #679, #672, #665, #660, #656, #633, #632, #627, #624, #619, #618, #616, #614, #611, #599, #582, #572, #646, #645, #643, #636, #635, #550, #548, #545, #530, #528, #525, #504, #484, #469, #468, #461, #444, #439, #432, #429, #432, #420, #411, #400, #388, #373, #369, #365, #306, #304, #297, #169, #157.