-
v0.24.0
Stablereleased this
2026-06-06 12:29:33 +02:00 | 29 commits to master since this releaseFirst release under the new SemVer-by-content versioning policy. See VERSIONING.md for the rules and CHANGELOG.md for the full diff.
Highlights since the previous tag
- Atomicity — 9 transactional flows now run inside a single db.Transaction: user.Register, RegisterAdmin, CreateFromFederation, SendVerificationEmail, invitation.Create, account.RequestEmailChange, ConfirmEmailChange, ForgotPassword + AdminTriggerPasswordReset, RequestDeletion. Side-effect failures (role assignment, session revoke, email enqueue) roll back the whole flow instead of being swallowed with slog.Warn.
- Clock injection — pkg/clock with Real + Fake; threaded through user, oauth, oidc, session, outbox. Lockout windows, signing-key rotation, and token TTLs are now deterministically testable.
- Middleware decoupling — ClientAuth, BearerAuth, RequireClientScope consume narrow interfaces (ClientFinder, TokenLookup, SessionValidator) instead of *gorm.DB. Unit-testable without a database.
- Outbox observability — orionauth_outbound_email_queue_depth (Gauge) + orionauth_outbound_email_delivered_total (CounterVec by outcome). OutboxWorker.Stop(ctx) drains the in-flight tick before exit so SIGTERM during an SMTP send no longer risks double-delivery at next boot.
- Versioning hygiene — 63 legacy tags (-hf*, -pre*, -b*, -pr* typo) remapped to stable vX.Y.Z by scripts/remap-tags.sh. CI tag-format gate prevents the suffix soup from coming back.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads