🎉 Version 2.0.0 - Better Auth, GitLab and Codeberg Support
Breaking Change: Authentication Migration
Version 2.0.0 replaces the old iron-session username/password login with Better Auth. Existing repositories, settings, and notification data in data/ remain untouched, but existing login sessions are invalidated.
Old AUTH_USERNAME / AUTH_PASSWORD credentials are not imported automatically. A new initial admin account must be created on first startup.
Authentication and Security
fd1709eMigrated authentication to Better Auth6bad9d4Added configurable authentication modes614932bAdded login lockout/unblock logging, tightened settings-locale origin allowlist, and updated auth/env docsbea8637Updated example environment configuration for Better Auth
Provider Support
aaaa800Added end-to-end GitLab support, including self-hosted hosts, provider resolution, host-based access/deploy tokens, and git-transport fallback with commit metadata4f087bbAdded Codeberg support, provider-aware repository IDs, and improved repository adding UX145b20cReplaced the Codeberg API status icon with a custom outline Codeberg logoef89a55Added GHCR Docker Compose import support
Repository and Release UI
fc3ec55Added configurable release card sorting62c52d5Added security release highlighting and prioritization4301b63Added homepage repository status countse99f819Added setting to show or hide provider domains in repository labels1a19903Added collapsible repository form setting26d9538Added smooth repository form collapse transition
Tests and Stability
5ce8f0aStabilized RepoSettingsDialog offline/autosave tests
Dependencies and Infrastructure
8154eafUpgraded from Next.js 15.5.9 to Next.js 16.0.10fc61442Updated Next.js, lucide-react, nodemailer, jsdom, and@swc/helpers783f7fdUpdated Biome, Playwright, Node/React types, Vitest, Next.js, next-intl, nodemailer, React, jsdom, lucide-react, and Docker Playwright base imagesa025f98Updated Biome, React types, lucide-react, and Biome schema37eeb9eUpdated GitHub Actions versionsa93e8d1Updated Node types and UI tooling dependencies
Release Maintenance
fadf824Bumped release metadata to 1.5.0, updated dependencies, and clarified Codeberg token docs
Migration to 2.0.0
Version 2.0.0 replaces the old iron-session username/password login with Better Auth. Existing repository, settings, and notification data in data/ stay untouched, but existing login sessions are invalidated.
Required Changes
- Remove the old
AUTH_USERNAME,AUTH_PASSWORD, andAUTH_SECRETvariables from your.env. - Add
BETTER_AUTH_SECRET,BETTER_AUTH_URL, and a one-timeAUTH_SETUP_TOKEN. BETTER_AUTH_SECRETandAUTH_SETUP_TOKENmust each be at least 32 characters long.- Generate both values separately, for example with
openssl rand -base64 32. - Keep the existing
data/directory mounted and writable.
Example
BETTER_AUTH_SECRET=<random-secret>
BETTER_AUTH_URL=https://github-releases.example.com
AUTH_SETUP_TOKEN=<random-setup-token>
First Start
Start the updated app and open the login page. The first run shows the setup form. Enter AUTH_SETUP_TOKEN and create the initial admin account.
The old AUTH_USERNAME / AUTH_PASSWORD credentials are not imported automatically.
Optional
After the first account exists, you can configure AUTH_ENABLE_PASSKEY, AUTH_ENABLE_SIGNUP, or the GitHub/Google OAuth variables.
Admin usernames must be 3-30 characters and may contain letters, numbers, _, and .. Passwords must be at least 12 characters and include uppercase, lowercase, and a number.
Full Changelog: v1.4.1...v2.0.0