0.24.0 (2026-03-03)
Features
- add cookcloud sync dependencies (9187785)
- add CookCloud Sync section to Preferences page (fc6453f)
- add CookCloud sync to CLI server (fd294d2)
- add cooking_mode_ingredients field to RecipeSection (8093673)
- add Docker build/push workflow with versioned images on ghcr.io (feee70c)
- add root docker-compose.yml, remove outdated docker/ directory (0e5a4cc)
- add sync API endpoints (status, login, logout) (8f879f9)
- add sync session and endpoint modules (dc4f652)
- allow --host to take an optional IP argument (a496cf1)
- make sync a default feature, exclude from Docker demo image (ffe74b6)
- make sync an optional feature flag (01d0744)
- populate cooking mode with uncombined aisle-sorted ingredients (b278636)
- replace Dockerfile with multi-stage build for demo deployment (c47ebf8)
- start sync on server boot with graceful shutdown (37d90c5)
Bug Fixes
- add warning log on aisle file read failure in recipe handler (0675c86)
- address PR review feedback for sync implementation (151500d)
- address review feedback for sync security, correctness, and UX (33334ff)
- align dev-dependency reqwest version with main dependency (02eee0c)
- correct ENTRYPOINT arg order and add Docker build caching (3631ce1)
- detect finished sync task and reflect accurate status in UI (4b3449d)
- pin Docker builder stage to rust:bookworm for GLIBC compatibility (d58e8bd)
- sync bugs and code quality improvements (9fc2fd8)
- updated sync (bc86889)
- use plain styling for CookCloud Sync section on preferences page (9a0aefe)
- use published cooklang 0.18.2 and async aisle file read (b1bd463)
- use try_lock for sync handle to avoid blocking_lock panic (9313be8)