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.