All checks were successful
Build and Test / build-and-test (push) Successful in 36s
Add a shared, free-form tag vocabulary attachable to a receipt at upload. New tags/receipt_tags tables (case-insensitive label dedup); an in-page chip-mosaic picker after "Who" with inline tag creation. Tags are resolved/created only on successful submit, and shown on the confirm page and recent lists. Documented as spec item 14. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
33 lines
1.7 KiB
Markdown
33 lines
1.7 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.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.
|