All checks were successful
Build and Test / build-and-test (push) Successful in 39s
deploy/CICD.md documents which git push/tag triggers which pipeline steps; deploy/AUTH.md documents the Authelia OIDC integration contract with a sequence diagram of the login flow. Cross-link from README and INSTALL. The 0.1.0 release also ships the previously-committed security hardening (server-side session expiry + nosniff on served files). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
69 lines
3.3 KiB
Markdown
69 lines
3.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project are documented here. Versions are git tags;
|
|
release tags `X.Y.Z` are built and deployed automatically (pre-release tags such
|
|
as `0.0.0a1` are built and staged only).
|
|
|
|
## [0.1.0] - 2026-06-20
|
|
|
|
### Security
|
|
- Enforce the 12h session lifetime server-side (reject sessions older than the TTL
|
|
even if the sealed cookie is intact), so a leaked cookie can't be replayed forever.
|
|
- Send `X-Content-Type-Options: nosniff` when serving user-uploaded receipt and
|
|
attachment bytes.
|
|
|
|
### Docs
|
|
- Add deploy docs: `deploy/CICD.md` (which git push/tag triggers which pipeline
|
|
steps) and `deploy/AUTH.md` (the Authelia/OIDC integration contract + a sequence
|
|
diagram of the login flow). Cross-linked from the README and `deploy/INSTALL.md`.
|
|
|
|
## [0.0.4] - 2026-06-20
|
|
|
|
### Changed
|
|
- AI tab: correction notes are now full-width, wrapping, auto-growing textareas
|
|
(Save/Delete per note) instead of single-line inputs that truncated long notes,
|
|
so the whole note is readable and editable.
|
|
|
|
## [0.0.3] - 2026-06-20
|
|
|
|
### Added
|
|
- AI classifier correction notes + misread review (new "AI" tab).
|
|
- A global list of free-text correction notes is appended to the classifier
|
|
prompt; managed inline (add/edit/delete). The notes table is temporal (edits
|
|
soft-delete + insert), seeded once from a no-PII default list (documented in the
|
|
README), and read live per classification.
|
|
- A read-only view of the exact assembled prompt.
|
|
- Every AI-run upload records the suggestion blob + model (round-tripped from the
|
|
browser). Misreads — where a final field differs from the AI's guess — are
|
|
derived and listed for review; reviewing shows the image and per-field
|
|
guess-vs-entered, and lets the user attribute which note(s) fixed it (or close
|
|
it unresolved).
|
|
- See SPEC.md §10 and DESIGN.md item 15.
|
|
|
|
## [0.0.2] - 2026-06-20
|
|
|
|
### Added
|
|
- Optional tags on a receipt. An "Add tags" button on the upload form (after
|
|
"Who") opens an in-page card with an alphabetical chip mosaic; tap to select or
|
|
deselect, and create a new tag inline (auto-selected for this receipt). Tags are
|
|
a shared, free-form vocabulary stored separately from the fixed categories.
|
|
- New tags are written to the catalog only when the receipt is actually saved,
|
|
matched case-insensitively so casing variants don't duplicate.
|
|
- A receipt's tags are shown on the confirmation page and in the recent lists.
|
|
- See spec.md item 14. Out of scope for now: tag-based filtering, tally-by-tag,
|
|
and editing/merging tags in Manage.
|
|
|
|
## [0.0.1] - 2026-06-19
|
|
|
|
### Added
|
|
- Upright receipt images (EXIF orientation normalization). Phone cameras often
|
|
store a photo sideways with an EXIF "Orientation" tag that only some viewers
|
|
honor, so receipts could appear rotated. On upload the indicated rotation is now
|
|
baked into the pixels (and the tag dropped) so the stored image is upright in
|
|
every consumer — browser, download, the AI classifier, and any future export.
|
|
- Applies only when orientation is actually known (a JPEG with an EXIF tag of
|
|
2..8). Images with no tag, an already-upright tag, non-JPEG images, and PDFs
|
|
are left byte-for-byte untouched — no guessing from image content.
|
|
- Runs on the primary receipt, every additional attachment, and the image sent
|
|
to the AI classifier. New uploads only; existing stored receipts are unchanged.
|
|
- See spec.md item 13.
|