Changelog

All notable changes to this project will be documented in this file.

Release [v0.2.0] - 2026-06-13

⚙️ Miscellaneous Tasks

  • (c0a527f) - Bump version to 0.2.0 (alexander)

  • (366c906) - Save local changes before bumping version (alexander)

  • (d3f24bd) - Update project dependencies (alexander)

  • (0bc188e) - Remove async overhead from health logs (alexander)

  • (c9a1c37) - Pin postgres 18.3 and use custom config (alexander)

  • (28d2208) - Generate alembic migration for exercise system (alexander)

  • (c69a2ba) - Formalize repository infrastructure and optimize docs CI (alexander)

🐛 Bug Fixes

  • (04eb4ea) - Fix CLI help handling (alexander)

  • (dffc73c) - Fix import in commands.py (alexander)

  • (a2e0ef2) - Use .is_(True) for system-default comparisons (alexander)

  • (7074953) - Enforce timezone-aware datetimes in filters (alexander)

📚 Documentation

  • (3265145) - Update sphinx documentation (alexander)

  • (7ce9288) - Update sphinx documentation (alexander)

  • (2a797e5) - Update sphinx documentation (alexander)

  • (8b11188) - Update sphinx documentation (alexander)

  • (5ed683d) - Update sphinx documentation (alexander)

  • (a37ffe2) - Add sphinx documentation (alexander)

  • (a046901) - Add sphinx documentation (alexander)

  • (2c300e3) - Add Authentication and Serialization (alexander)

  • (b4ebcd7) - Add authentication and serialization benchmark (alexander)

  • (532828e) - Setup community health files (alexander)

  • (d36343b) - Add stack rationale and update readme (alexander)

  • (8397d89) - Add database blueprint [skip ci] (alexander)

🚀 Features

  • (746845a) - Add case-insensitive email normalization (alexander)

  • (c6902a5) - Implement CRUD operations for exercises (alexander)

  • (7665324) - Implement CRUD operations for catalogs (alexander)

  • (65ca780) - Add exercise and reference models with m2m relations (alexander)

  • (ef098da) - Implement cache key normalization in CommonFilters (alexander)

🛠️ Refactor

  • (3400259) - Unify and optimize CI/CD pipelines (alexander)

  • (76e568a) - Optimize data handling and authentication (alexander)

  • (db5ebd9) - Cosmetic improvements and cleanup (alexander)

  • (819e95d) - Externalize crypto thread pool configuration (alexander)

  • (63abf8d) - Optimize middleware and lifecycle management (alexander)

  • (b45abda) - Optimize resource limits and pgbouncer volume config (alexander)

  • (dd40b85) - Harden database seeding logic (alexander)

  • (dcbe85f) - Rename utils.py to filters.py (alexander)

  • (29202ad) - Add multi-engine server support (Uvicorn/Granian) (alexander)

  • (96a7e27) - Normalize exercise slugs and relative image paths (alexander)

  • (41291b0) - Optimize system performance and security baseline (alexander)

🧪 Testing

  • (56f70fa) - Refactor test data to use shared constants (alexander)

  • (64424ef) - Adapt tests to architectural changes (alexander)

  • (89b755a) - Add integration tests (alexander)

  • (edf9418) - Add special cases for activity, dates and sorting (alexander)

  • (9b37a2b) - Add integration tests (alexander)

Release [v0.1.0] - 2026-01-10

⚙️ Miscellaneous Tasks

  • (6a3e59b) - Update README.md (alexander)

  • (ed63919) - Allow local imports in tests data fixtures (alexander)

  • (41ec569) - Configure github actions and release tools (alexander)

  • (b02eeeb) - Configure Makefile (alexander)

  • (3211b88) - Configure git-cliff (alexander)

  • (4520288) - Configure bump-my-version for automated releases (alexander)

  • (ccbc75e) - Configure sphinx build settings (alexander)

  • (92a44ec) - Update and expand pre-commit hooks (alexander)

  • (8440a7e) - Initialize Alembic database migrations (alexander)

  • (94f1712) - Remove old migration files from Git index prior to re-init (alexander)

  • (8cdaf2e) - Update dependencies and initialize project metadata (alexander)

  • (645c86c) - Update logging configuration (alexander)

  • (08eef8d) - Add system-default muscle_groups, equipment, and exercise JSON data (alexander)

  • (06266a2) - Add User + Role models (alexander)

  • (bd0f51f) - Add add_token_to_blacklist + is_token_in_blacklist funcs (alexander)

  • (38c1383) - Update JWTSettings class (alexander)

  • (adfd6ba) - Implement custom MsgPackCoderUserAuth class to encode/decode cache data (alexander)

  • (ea44aca) - Add Docker Compose stack for local development (alexander)

  • (f10a530) - Configure pgbouncer (alexander)

  • (cf0e31f) - Configure postgres (alexander)

  • (ef0277d) - Implement cli command to create system admin (alexander)

  • (9518258) - Add NotFoundException class (alexander)

  • (e3f44cf) - Add application settings (alexander)

  • (e533a79) - Implement CLI command to create and assign default roles (alexander)

  • (c3a4158) - Update mypy + ruff configuration in pyproject.toml (alexander)

  • (4419314) - Add mypy hook (alexander)

⚡ Performance

  • (d8cb3b7) - Optimize infra for high-load and document benchmarks (alexander)

  • (45c7ecc) - Optimize user password update to avoid redundant SELECT query (alexander)

🐛 Bug Fixes

  • (7afcc39) - Fix typos in exercises and configure codespell ignores (alexander)

  • (03ee0df) - Remove redundant frozen flag to fix uv sync conflict (alexander)

  • (c1bcb06) - Switch user cache invalidation to direct Redis delete (alexander)

  • (deedf60) - Add role_id in User CRUD by user create (alexander)

📚 Documentation

  • (d36efd1) - Finalize changelog for v0.1.0 (alexander)

  • (5815f5e) - Update changelog for v0.1.0 (alexander)

  • (7eb6b84) - Update changelog [skip ci] (github-actions[bot])

  • (c51d2ce) - Generate api documentation for system domain (alexander)

  • (136c3a6) - Update changelog [skip ci] (github-actions[bot])

  • (2fcab9c) - Finalize README layout with header and tech stack (alexander)

  • (9871551) - Update changelog [skip ci] (github-actions[bot])

  • (c63e697) - Update changelog [skip ci] (github-actions[bot])

  • (86b0b0f) - Update changelog [skip ci] (github-actions[bot])

  • (c6be633) - Add root index file and usage guide (alexander)

  • (e2f0412) - Add CONTRIBUTING.rst with workflow and release guides (alexander)

  • (39904af) - Generate files for users management and db seeder (alexander)

  • (d6393df) - Generate files and add docstrings (alexander)

  • (c576d0c) - Generate files and update docstrings (alexander)

  • (8cdace5) - Generate files and update docstrings (alexander)

  • (768e754) - Generate files and update docstrings (alexander)

  • (4c051fd) - Generate files and update docstrings for main.py (alexander)

  • (4f6b05a) - Generate files and update docstrings for user, role and base models (alexander)

  • (7a1cf0b) - Generate files and update docstrings (alexander)

  • (3c3a786) - Add docstrings for encode_jwt/decode_jwt functions (alexander)

🚀 Features

  • (916c4bf) - Implement multi-stage docker and angie orchestration (alexander)

  • (271016d) - Pin alpine version and tighten postgres security (alexander)

  • (a436738) - Configure healthcheck (alexander)

  • (4bf89fb) - Introduce custom server commands with default entrypoint (alexander)

  • (b6cf415) - Migrate PostgreSQL from v17 to v18 (alexander)

  • (95e0e1d) - Modernize application architecture and integrate services (alexander)

  • (68817b6) - Configure test environment, fixtures, and constants (alexander)

  • (f13e46c) - Implement full authentication and access management API (alexander)

  • (ef94601) - Implement User CRUD endpoints (Requires Superuser) (alexander)

  • (2ebf21e) - Implement assign and revoke role (alexander)

  • (4776178) - Implement Authenticate class for user authentication/authorization (alexander)

  • (07fbd4b) - Introduce JWTCookieSecurity for precise token handling (alexander)

🛠️ Refactor

  • (068e581) - Secure JWT handling and update CodeQL (alexander)

  • (c6a748d) - Remove redundant password utility functions (alexander)

  • (b851e32) - Integrate advanced-alchemy PasswordHash type (alexander)

  • (e83d6a8) - Move application source code into ‘src/app’ directory (alexander)

  • (be0863e) - Update docstrings (alexander)

  • (1aa3a1c) - Centralize CLI logic and add user management group (alexander)

  • (d0a5e6c) - Use sqlalchemy_config.get_session() for direct session management (alexander)

  • (a9fb397) - Simplify pgbouncer entrypoint variable handling (alexander)

  • (e31f493) - Migrate logging to Stdout-only (alexander)

  • (f7f4d43) - Improve error handling and logging reliability in StructLogMiddleware (alexander)

  • (4a9f987) - Rename base class to BaseAPIException (alexander)

  • (4e9d720) - Reuse global msgspec JSON objects (alexander)

🧪 Testing

  • (294eb61) - Add tests for system health (alexander)

  • (476c6ce) - Add tests for users, roles and access controllers (alexander)

IronTrack Changelog