diff --git a/CHANGELOG.md b/CHANGELOG.md index 24f56ee..8c32ebb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## Unreleased +## 0.2.0 - 2026-09-27 + +- Repository: a reproducible benchmark (`benchmark/`) and an example multi-tenant FastAPI application (`examples/fastapi_app/`), neither part of the package - `scrub()` / `scrub_actor()` (and async variants) take `scope_ids=` to erase only one tenant's entries, failing closed like `Visibility`; the FastAPI `set_actor()` takes `scope_id=`; `ActivityData` and `FieldChange` are exported for typing API responses - With asyncpg, a durable engine that cannot connect (refused, unresolvable host, timeout, or on SQLAlchemy 2.0 a missing database or bad password) now follows the durable write policy: `fail_closed` raises `AuditWriteError` and `on_error="log"` logs, instead of a raw driver error escaping `alog()` diff --git a/CITATION.cff b/CITATION.cff index 766f8ef..5d2cb51 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -12,8 +12,8 @@ authors: repository-code: https://github.com/WiktorB2004/sqlalchemy-audit-trail url: https://wiktorb2004.github.io/sqlalchemy-audit-trail/ license: MIT -version: "0.1.0" -date-released: "2026-09-26" +version: "0.2.0" +date-released: "2026-09-27" keywords: - sqlalchemy - audit diff --git a/pyproject.toml b/pyproject.toml index ab60afd..9755c16 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "sqlalchemy-audit-trail" -version = "0.1.0" +version = "0.2.0" description = "Audit trail for SQLAlchemy on PostgreSQL: entity change diffs and domain events in one partitioned log" readme = "README.md" license = "MIT" diff --git a/uv.lock b/uv.lock index cdd2ef7..8287b4c 100644 --- a/uv.lock +++ b/uv.lock @@ -1779,7 +1779,7 @@ asyncio = [ [[package]] name = "sqlalchemy-audit-trail" -version = "0.1.0" +version = "0.2.0" source = { editable = "." } dependencies = [ { name = "sqlalchemy", version = "2.0.54", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },