2026-11-12v2026-11-12 · 018e94a
Real product keys with live/test environments
Product keys are now generated with a shared secure generator (`kf-prod-live_` / `kf-prod-test_`, Crockford base32, ~130 bits CSPRNG). The Create Product modal is wired to the real API, shows the generated key with a copy button, and lets you pick live vs test.
- New backend:
KeyGenerator shared helper with live/test prefixes and retry-on-unique-collision. - New frontend: environment selector with tooltips, success screen with copy-to-clipboard.
- Refactor: removed dead
ApiKeyService (superseded by KeyGenerator).
2026-11-11v2026-11-11 · 018e94a
Functional plan change flow
Self-service plan switch in /me and email confirmations via Resend. The dashboard cycle is now driven by the plans table in the database with real pricing and limits.
- New endpoints:
GET /api/v1/plans (public) and POST /developers/me/plan. - Updated
.env.example, migrations and seed scripts for production readiness. - Documentation updated with curl examples and real plan table.
2026-11-11ff669f1
Dependency bumps
Coordinated upgrades across backend and test projects (NuGet), plus migration tooling verified in CI.
- Fido2 4.3.3, Resend 0.25.0, EF Core 10.0.10.
- xunit.runner.visualstudio 4.0.1, FluentAssertions 8.11.0, explicit System.Formats.Cbor 11.0.0.
2026-11-101c5d729
Legal pages, blog, i18n consistency
Added /terms, /privacy, /security, /about, /blog and full 5-language i18n for the footer and blog cards.
- Security page honestly states we are not SOC 2 / ISO 27001.
- Blog fully translated (es/en/pt/fr/de) with article titles in accent color.
- Footer: copyright text internationalized; Careers link removed.
2026-11-08a888d86
Public docs + Postman collection
Published /docs with quickstart, authentication, and the management API table with color-coded HTTP methods. Postman collection added to repo.
- Method badges: GET green, POST amber, PUT blue, PATCH purple, DELETE red.
- OpenAPI playground exposed via Scalar for interactive testing.