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.Range values.
  • 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

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 UPDATE and DELETE.
  • 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.