• v1.2.0 88b5d11113

    Release v1.2.0

    Ghost released this 2025-12-04 22:35:42 +00:00 | 13 commits to main since this release

    • Implement zerolog for structured logging with configurable levels

    • Add contextual logging middleware (request_id, user_id, method, path, status, duration)

    • Support both JSON (production) and human-readable (development) output formats

    • Add LOG_LEVEL and ENVIRONMENT configuration variables

    • Add data export functionality with gzip compression (~10x size reduction)

    • Export all user habits and entries in structured JSON format

    • Rate limit: 1 export per hour per user

    • Add pagination support to GET /api/v1/habits (page, page_size, total_pages)

    • Add filtering support (type, frequency, archived, search by name/description)

    • Filters and pagination work together seamlessly

    • Add rate limiting for password reset (3 attempts/hour per email)

    • Add email logging for sent/failed messages

    • Add SMTP health check in /api/v1/health endpoint

    • Improve SMTP tests with config validation and error detection

    • Remove timezone from User model, now passed as request parameter

    • Improve password reset handler tests and error handling

    • Increase test coverage from 44.6% to 51.9%

    • Add 8+ new SMTP test cases

    • Better error messages and logging throughout

    • Fix code formatting issues

    • Fix password reset test compilation errors

    Downloads