diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..7b52a4b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,37 @@ +# Changelog + +## v0.3.0 - 2026-06-17 + +Added: + +- `audit` package with the shared business-audit event contract. +- Safe audit details redaction for sensitive keys such as token, secret, + password, api_key, authorization and webhook_url. +- `audit.Client` for `POST /api/internal/audit/events` in Portal. + +Migration: + +1. Push `portal-common` commit and tag `v0.3.0`. +2. In each service, update: + + ```bash + go get gitea.estateliga.work/admin/portal-common@v0.3.0 + go mod tidy + ``` + +3. Use `audit.NewClient(cfg.PortalBaseURL, cfg.PortalAPIKey)` or equivalent + Portal URL / internal key config already present in the service. +4. Send business events from handlers/workers after the durable operation + succeeds. +5. Keep Portal proxy audit mappings only as fallback until duplicate events are + checked in production. + +## v0.2.0 + +Existing shared packages: + +- `db` +- `middleware` +- `portal` +- `redisx` +- `eventbus` diff --git a/README.md b/README.md index 6c5dcee..78861fe 100644 --- a/README.md +++ b/README.md @@ -63,9 +63,22 @@ replace gitea.estateliga.work/admin/portal-common => ../portal-common Когда библиотека стабилизируется, заменить на pinned тег: ``` -require gitea.estateliga.work/admin/portal-common v0.1.0 +require gitea.estateliga.work/admin/portal-common v0.3.0 ``` +## Release + +После изменения публичных пакетов: + +```bash +go test ./... +git tag v0.3.0 +git push origin main --tags +``` + +Сервисы обновляются только после публикации тега, без коммита локального +`replace`. + ## Зачем До этого 9 сервисов копировали один в один: pgxpool init, slow-query tracer (500ms threshold), InternalAuth middleware. Tweak'ать tuning централизованно было невозможно. Сейчас изменения идут в одном репо, сервисы пересобираются.