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-passwordDELETE /auth/account
- Registration safety guard: rollback user creation if verification email delivery fails.
- Password recovery endpoints:
POST /auth/forgot-passwordPOST /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).
- 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 SMTP provider 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-10
Section titled “[1.0.0] - 2026-02-10”- Initial full-stack release:
- 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.