Covers everything landed since the last published release (v0.32.1 -> v0.76.3).
Highlights - Features
- Type-keyed component registry: string-keyed extensions replaced with a type-keyed registry:
app.Register[*T], qualifier types for multi-instance, lifecycle/event wiring by interface detection, collision-free across modules. - Context-first core:
context.Contextnow flows through every ORM entry point and every event callback, so cancellation, deadlines, and trace context reach the database and listeners. - Unified driver registry: one pluggable-driver registration surface across cache, queue, storage, mail, and the ORM.
- First-class testing toolkit:
FakeQueue,FakeMailer,FakeChannel,ActingAs/auth assertions, database-state assertions, response validation assertions, and transaction-rollback test isolation with savepoint nesting. - Auth, chosen in code: the auth user model is declared through the root package with an ORM-backed provider, plus JWT key rotation via
PreviousSecrets/PreviousRSAPublicKeys.
Highlights - Performance
- Router imports went standalone: service interfaces relocated to the
contractleaf; importing the router no longer drags heavy drivers into your binary. - Lazy trace IDs: trace/span IDs materialize on first read instead of every request:
Router_StaticHit815ns/20 allocs -> 475ns/14 allocs. - ORM scan plans built once per result set instead of per row.
- Queue workers drop the driver-wide mutex on SKIP LOCKED dialects.
- Hot-path sweep across router, events, ORM, log, bond, and queue, including an atomic router commit fast path and cached validation rules/GCM AEAD.
Highlights - Fixes
- Login throttling on by default: a cache-backed throttler replaces the former no-op.
- Unset
APP_ENVnow means production, not development. - Async command dispatch actually dispatches:
QueuePusherreconciled withcontract.QueueDriver. - WebSocket
MaxConnectionscan no longer be bypassed under concurrent upgrades (atomic slot reservation). - Nullable foreign keys match relations correctly: pointer fields are dereferenced in relation key matching.
Full Changelog: v0.32.1...v0.76.3