Skip to content

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
  • Backend E2E suite status is now 46/46 passing.
  • 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/regenerate response now documented with both message and apiKey.
  • 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 (newShortId or originalUrl).
  • Koyeb deployment issue caused by backend tsconfig extending 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.
  • 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.