diff --git a/BACKLOG.md b/BACKLOG.md index 43f910c..ab0343e 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -86,3 +86,20 @@ New suggestion? → [Open an issue](https://github.com/ulsklyc/oikos/issues/new? | - | Calendar: custom event icons (102 Lucide options via visual picker); birthday events auto-assigned `cake` icon | v0.29.0 | | - | Calendar: extended reminder presets (2 days, 1 week, 2 weeks) + fully custom reminder (number + unit) | v0.29.0 | | - | Calendar: locale-aware date text inputs (MDY / DMY / YMD) in all date fields across Calendar, Tasks, Meals, Birthdays, Budget | v0.29.0 | +| - | i18n: recipe strings contributed by @baragoon for 13 locales (ar, el, es, fr, hi, it, ja, pt, ru, sv, tr, zh, uk) | v0.30.0 | +| - | Family: phone, email, and birthday fields on family member records, auto-synced to Contacts and Birthdays | v0.31.0 | +| - | Settings: dedicated Family Management tab and API Tokens tab (admin-only) | v0.31.0 | +| - | Settings: ICS subscription edit modal — update name, color, and shared visibility inline | v0.31.2 | +| - | Documents module: upload and manage family files with grid/list view, category tags, visibility ACL (family / restricted / private), archive, download | v0.32.0 | +| - | Tasks: archive status — completed tasks can be archived; visible in dedicated Archived filter | v0.32.0 | +| - | Tasks: inline reminder presets (15 min–2 weeks or custom offset from due date/time) | v0.32.0 | +| - | Typography: Plus Jakarta Sans variable font self-hosted under `public/fonts/` — no CDN dependency at runtime | v0.32.3 | +| - | Module toolbars sticky while scrolling (Tasks, Notes, Calendar, Contacts, Shopping) | v0.32.3 | +| - | Calendar: overlapping timed events render side-by-side in week and day views | v0.33.0 | +| - | Calendar: event file attachments (images, PDFs, Office documents ≤ 5 MB); drag-and-drop upload; inline image preview | v0.33.0 | +| - | Navigation: Kitchen (Meals / Recipes / Shopping) grouped behind a single bottom-bar entry with a persistent tab bar | v0.34.0 | +| - | Settings: Backup Management tab (admin-only) — database download and restore via file upload with pre-restore rollback copy | v0.35.0 | +| - | UX: empty states in all modules include a primary CTA button that triggers the page FAB | v0.36.0 | +| - | UX: `friendlyError()` helper — unhandled promise rejections show status-code-aware messages instead of raw error text | v0.36.0 | +| - | Date input: default format changed to DMY with dot separator; dot-separated dates accepted everywhere | v0.36.1 | +| - | Microinteraction long loops: FAB entry animation stops after 5 views; keyboard shortcut hint hides after first use; success toasts suppressed after 50 saves; empty-state CTA delayed fade-in | v0.38.0 | diff --git a/CHANGELOG.md b/CHANGELOG.md index 0df95e4..2871c96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.38.4] - 2026-04-30 + +### Fixed +- Dashboard portrait mode on mobile: layout no longer overflows to landscape width; `overflow: visible` override in the Admin Dashboard Layout CSS block has been removed so the correct `overflow: clip` takes effect, and `.app-content` now uses `overflow-x: hidden` (instead of `clip`) to properly contain layout overflow at the scroll container level + +## [0.38.3] - 2026-04-30 + +### Fixed +- Dashboard portrait mode on Android: horizontal scrollbar no longer appears due to subpixel overflow in the main scroll container (`overflow-x: clip` added to `.app-content`) + +## [0.38.2] - 2026-04-30 + +### Fixed +- Recurring calendar events with `FREQ=WEEKLY;INTERVAL=N;BYDAY=...` (N > 1) now correctly skip N−1 weeks between occurrences instead of repeating every week + +## [0.38.1] - 2026-04-30 + +### Changed +- Docs: SPEC.md — `family_documents` and `family_document_access` tables added; `calendar_events` extended with `icon` and four attachment columns; `contacts` and `birthdays` extended with `family_user_id`; Tasks `status` includes `archived`; Documents module section added; Calendar section updated with icons, file attachments, and overlapping event rendering; Settings section updated with Backup Management tab and family member contact fields +- Docs: BACKLOG.md — completed features table brought up to date through v0.38.0 (v0.30.0–v0.38.0 entries added) +- Docs: README.md — Backup entry added to the feature table; Documents entry updated with exact category count +- Docs: CONTRIBUTING.md — `innerHTML` security note updated to reflect current `insertAdjacentHTML`/`replaceChildren`/`esc()` pattern; individual test-suite commands listed + +## [0.38.0] - 2026-04-30 + +### Added +- FAB entry animation now stops after 5 page views (long loop progressive reduction) +- Search keyboard shortcut hint (`/`) hides permanently after first keyboard use +- Success toasts are suppressed after 50 successful saves to reduce noise for power users +- Empty state CTA button fades in with a short delay to draw attention as the primary action +- Form fields pulse with a red glow on the second or subsequent validation failure on the same field +- Shopping quick-add input shows a brief accent-colour glow after each successful item add + +## [0.37.2] - 2026-04-30 + +### Changed +- Search bar in More sheet: added hover, active, and focus states with accent colour highlight and subtle scale feedback +- Search bar icon changes to accent colour on hover and press for clearer trigger affordance +- Keyboard shortcut hint (`/`) shown inside search bar on desktop as discoverability signal + +## [0.37.1] - 2026-04-30 + +### Changed +- Bottom navigation: Tasks replaces Search as a primary tab bar item +- More menu: layout changed from two columns to a three-column grid (two rows of three) +- Search: embedded as a narrow bar at the top of the More sheet instead of a standalone bottom-nav button + +## [0.37.0] - 2026-04-30 + +### Added +- Calendar: drag-and-drop file upload dropzone for event attachments (consistent with Documents module) +- Calendar: popup positioning now fully viewport-aware (flips above anchor if insufficient space below) + +### Fixed +- Calendar: event attachments with raw base64 data (no `data:` prefix) now render correctly as images +- Calendar: "file too large" error is now shown correctly when saving an oversized attachment + +### Changed +- Theme init script extracted from inline `