# 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`