[
    {
        "date": "2025-10-01",
        "message": "Placeholder site live on notuvo.com and Hetzner VPS environment set up (Storage Box + domain). Notuvo now has a home and a backbone."
    },
    {
        "date": "2025-10-08",
        "message": "Created GitHub repository, configured SSH keys, deployed Nginx + PHP 8.4 FPM, set up core backend structure (public, app, config, migrations)."
    },
    {
        "date": "2025-10-15",
        "message": "Connected MariaDB via PDO, ran initial migration, added \/health and \/tasks endpoints, introduced config split for local vs. production."
    },
    {
        "date": "2025-10-22",
        "message": "Refined Termux and Git setup across tablet, smartphone, and laptop. Smoother sync between devices, foundation for mobile-first dev workflow."
    },
    {
        "date": "2025-10-29",
        "message": "Production backend live under HTTPS with domain routing and stable API endpoints (\/health, \/tasks, \/changelog). Lean index-to-router design."
    },
    {
        "date": "2025-11-05",
        "message": "Tasks model (MVP) defined and migrated. \/health, \/tasks, \/changelog verified under live HTTPS. Next focus: CRUD polish and UI hooks."
    },
    {
        "date": "2025-11-26",
        "message": "Email delivery wired end-to-end. msmtp + PHPMailer working, and \/test-mail endpoint live. Foundation for reminders, notifications and daily summaries."
    },
    {
        "date": "2025-12-03",
        "message": "Backend routing milestone. \/health responding correctly through full Nginx -> PHP-FPM path. TasksController error-handling stabilized. Nginx rewrite fixed and default vhost disabled so API traffic routes correctly."
    },
    {
        "date": "2025-12-17",
        "message": "Housekeeping and UI\/UX decisions after a one-week trip. Next: first visible Daily \/ Weekly view."
    },
    {
        "date": "2026-01-07",
        "message": "Added \/api\/* prefix alias for existing endpoints (tasks, changelog, etc.) so API and future UI can standardize on \/api routes without breaking legacy paths."
    }
]