Changelog
This changelog is maintained manually. Public API contract changes should be recorded here.
- GitHub documentation structure under
docs/:- architecture.
- API contract.
- deployment.
- changelog notes.
- Account self-service endpoints:
POST /auth/change-password.DELETE /auth/account.
- Registration safety guard: rollback user creation if verification email delivery fails.
- Password recovery endpoints:
POST /auth/forgot-password.POST /auth/reset-password.
Changed
Section titled “Changed”- Backend E2E suite status is now
46/46passing. - Frontend API error handling normalized through a centralized Axios interceptor.
- CORS handling hardened for production origin allowlists.
- CORS preflight handling (
OPTIONS) made explicit in backend. - TypeScript setup aligned with a shared base config approach and self-contained backend build config for subdirectory deploys.
POST /auth/api-key/regenerateresponse now documented with bothmessageandapiKey.- Dashboard UX improved with loading states in Account and API Keys pages.
- Auth layout refined for ultra-wide/zoom-out scenarios with contained content and full-bleed background consistency.
- Email verification endpoint documented as idempotent (
GET /auth/verify/:token). - URL patch contract clarified: partial updates supported and at least one field is required (
newShortIdororiginalUrl).
- Historical (pre-Railway migration): Koyeb deployment issue caused by backend
tsconfigextending a root config not present in subdirectory-only builds. - Production routing/health-check confusion by keeping public route at
/and health check at/api/v1/health. - Frontend and backend lint issues (Biome) across codebase.
- Form validation UI layout shift by reserving stable error-message space in inputs.
- Registration no longer leaves partial/unverified account state when Resend fails during verification email sending.
- Expanded backend E2E coverage for password recovery, verify idempotency behavior, and URL patch validation paths.
[1.0.0] - 2026-02
Section titled “[1.0.0] - 2026-02”- Initial full-stack release completed migrated to TypeScript:
- React + Vite frontend.
- Express + TypeScript backend.
- Prisma + PostgreSQL persistence.
- Public URL shortening endpoint.
- User authentication (email/password + Google OAuth).
- Email verification flow.
- API key generation/regeneration.
- Dashboard link CRUD and basic click analytics.
- Old libraries updated.