Repository navigation
Release v5.5.6
- feat(ai): gate helper by default; add uninstall docs and release 5.5.6 (Dries Peeters)
- test(dashboard): assert against split stats/chart cache keys (Dries Peeters)
- test(project_costs): set updated_at explicitly instead of patching datetime (Dries Peeters)
- test(keyboard): update asset assertions for advanced shortcuts script (Dries Peeters)
- test(currency): detach ORM objects across app_contexts and harden Settings test (Dries Peeters)
- test(webhook): use naive datetime for next_retry_at assertion (Dries Peeters)
- test(supplier): use supplier_items relationship API (Dries Peeters)
- test(models): create Client/User rows to satisfy FK enforcement (Dries Peeters)
- test(client_portal): centralise portal access setup and drop retry shims (Dries Peeters)
- test(fixtures): enable SQLite FK enforcement and seed baseline roles (Dries Peeters)
- chore(api): re-export _get_client_id_from_session helper (Dries Peeters)
- fix(client_portal): tolerate non-JSON dashboard preferences body (Dries Peeters)
- fix(audit): reuse session connection when checking audit_logs table (Dries Peeters)
- fix(inventory): soft-delete suppliers via HTML delete route (Dries Peeters)
- feat(pdf-designer): multi-select, text alignment, guides, layers (#619) (Dries Peeters)
- fix(ci): harden security pytest lane and Safety report output (Dries Peeters)
- chore(deps-test): pin safety==3.7.0 for Typer compatibility (Dries Peeters)
- chore(typing): resolve mypy errors and harden type checking (Dries Peeters)
- style: apply black 24.8.0 and isort across app/ (Dries Peeters)
- chore(ci): add local comprehensive CI script mirroring GitHub Actions (Dries Peeters)
- test: re-enable skipped suites and align auth/fixtures with CI (Dries Peeters)
- fix(nginx): use http2 on; and lazy-resolve app upstream in Docker (Dries Peeters)
- refactor(quotes): structure quote create POST with stepped validation (Dries Peeters)
- fix(telemetry): quiet OpenTelemetry during pytest unless opted in (Dries Peeters)
- fix(settings): unwrap scoped session when detecting flush state (Dries Peeters)
📦 Build Status
Desktop Applications
✅ Windows build: Success
✅ Linux build: Success
✅ macOS build: Success
Mobile Applications
✅ Android build: Success
✅ iOS build: Success