daybook/CHANGELOG.md
peter 6859be688e Add CHANGELOG; switch runbook rollback to tags
- CHANGELOG.md started (Keep a Changelog style), with the v0.1.0 release
  notes; versions track the git tags and __version__.
- Runbook §7 now deploys a specific tag (git fetch --tags && checkout
  vX.Y.Z) and rolls back to the previous tag, with a note that rollback
  reverts code not data (restore the data backup if a migration ran).

(The deploy kickoff brief lives in planning/, which is gitignored — it's a
local hand-to-the-agent note, not shipped in the repo.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 14:47:09 +01:00

1.9 KiB

Changelog

All notable changes to Daybook are recorded here. Format loosely follows Keep a Changelog; versions are SemVer and match the git tags (vX.Y.Z) and daybook_project.__version__.

Unreleased

Nothing yet.

0.1.0 — 2026-09-03

First tagged release.

Artifacts & rendering

  • Artifact kinds: markdown, html_fragment, html_full, deck, json, csv, image, pdf, binary.
  • .xlsx uploads convert server-side to a csv artifact (active sheet, saved formula results).
  • Markdown code blocks get syntax highlighting; tables (markdown & html_fragment) render styled — monospace cells, sans-serif headers.
  • json/csv render as an interactive collapsible tree / sortable table (Grid.js + renderjson, vendored locally).
  • Unified off-white document background; system sans-serif body text.

API

  • POST/GET/PATCH/DELETE /api/artifacts, list filters (source/label/day/ kind/q), /api/assets image upload, /api/capabilities (reports version). Per-user bearer-token ingest; session-authed reads.
  • Server-side validation: per-kind content shape, field length limits, string-typed source fields, valid-JSON for json.

Sharing, quotas, security

  • Per-artifact public share links (/s/{token}), owner-toggled, revocable.
  • Per-user disk quotas with oldest-unkept auto-eviction and a Keep flag.
  • Allowlist HTML sanitization (nh3) + script-src 'none' CSP for the themed kinds; deep-JSON parse errors return 400 (not 500).

UI

  • Multi-user auth; feed with source sidebar + label filtering; settings area (Account, Storage, Demo Data, Users, About); light/dark toggle; app icon.

Deployment

  • Dockerised (Gunicorn + whitenoise), SQLite, git-based deploy with a runbook (deploy/cloud_agent_deploy.md) and health check.