AuditLog follows Semantic Versioning.
0.3.1
- Simplify the introductory transaction example and state Repo's rollback behaviour.
0.3.0
- Add tagged-error actor, context, and subject constructors with bang siblings.
- Return typed, redacted boundary errors for invalid options and values.
- Validate complete JSON metadata before repository insertion.
- Canonicalize returned metadata to the same JSON shape as reloaded events.
- Read temporal boundaries from native
Postgrex.Rangevalues. - Merge child-context metadata over inherited metadata.
- Reject action codes with surrounding whitespace.
- Keep duplicate event IDs in the documented non-bang changeset contract.
- Use one scalar query form for actor and subject timelines.
- Guard destructive test setup with an exact database-name check.
0.2.0
- Breaking: changed the
AuditLog.record/5andAuditLog.record!/5argument order to repository, action, context, subject, and options.
0.1.0
Initial release.
- Record explicit semantic audit events through an Ecto repository.
- Store durable actor and subject identities without foreign keys.
- Correlate related events and link direct causes.
- Write domain changes and audit events in one caller-owned transaction.
- Protect the PostgreSQL event table from ordinary
UPDATEandDELETE. - Query timelines by subject, actor, correlation UUID, and time window.
- Link events to compatible temporal row versions.
- Install database objects with a generated reversible Ecto migration.