Releases
v0.4.0
Compare
Sorry, something went wrong.
No results found
Added
Domain Exceptions : NotFoundError, ConflictError, BadRequestError,
ForbiddenError subclasses for better error handling granularity.
__all__ Exports : Explicit public API exports in all core modules and
domain routers.
Pagination Guards : Query(ge=0), Query(ge=1, le=100) constraints on
pagination parameters to prevent abuse.
Alembic in Docker : Copied alembic/ directory and alembic.ini into
Docker image for production database migrations.
Changed
Database Engine : Refactored from global mutable engine to
app.state.engine pattern for better test isolation and cleaner
architecture.
Logging : Moved setup_logging() call inside create_app() to prevent
import-time side effects.
Schema Validation : Added extra="forbid" to UserBase and UserUpdate
schemas to reject extraneous fields.
Static Files : Updated to use absolute paths for static files and
templates, avoiding relative path fragility.
OTEL Service Name : Now uses metadata.APP_NAME instead of hardcoded
string.
Docker Compose : Renamed ENV → APP_ENV, replaced stale DATABASE_URL
with individual POSTGRES_* variables.
Test Fixtures : Refactored to use monkeypatch for settings mutation in
tests, avoiding direct global state modification.
CI Workflows : Standardized setup-uv action version to v7 across all
workflows.
Documentation : Updated Zensical config with instant navigation, prefetch,
progress, and modern mkdocstrings TOML format.
Fixed
updated_at Auto-update : Added onupdate parameter to User.updated_at
field to ensure automatic timestamp updates on mutations.
Timezone-aware Datetimes : Fixed datetime.now() in system/routes.py to
use datetime.now(UTC).
Duplicate Email Status : Changed HTTP status from 400 to 409 for
duplicate email registration errors.
Alembic Offline Mode : Fixed driver mismatch by using postgresql+psycopg
instead of postgresql+asyncpg for offline SQL generation.
Exception Handler Logging : Added structured logging for AppError
exceptions in exception handlers.
Type Hints : Added missing return type hints to telemetry.py functions.
Metadata References : Fixed GEMINI.md and configuration.md to reference
metadata.py, app.state.engine, and correct AppError class name.
You can’t perform that action at this time.