Skip to content

All versions since v0.29.0

v0.29.0

0.29.0 (2026-05-12)

Features

  • admin,profile: partner anniversary + relationships in admin edit (3ab04df)
  • admin: add Custom Holidays section, replace legacy catalog UI (ecf0aaa)
  • admin: expand reminder + relationship-reminder UI (affcd89)
  • admin: generic-holiday settings section and renamed gates (ef446fe)
  • admin: parental-relations admin section and mobile flag (54163c8)
  • api: get/add/remove user relation labels (3d370d9)
  • auth: “Sign in with OpenID” - external OIDC client end-to-end (e9bd995)
  • avatars: shrink dependent avatar large variant on mobile (23d6d02)
  • cron: add list-owner-reminders + relationship-reminders fan-outs (e5105be)
  • cron: auto-archive supports customHolidayId resolution (8318a59)
  • cron: daily parental-relations reminder pass (79e90c5)
  • cron: generic-holiday auto-archive pass and email send (be7bc86)
  • cron: wire enableChristmasEmails for post-archive owner email (35c7de3)
  • db: add ‘holiday’ list type and metadata columns (97772dd)
  • db: user_relation_labels table and relation_label enum (442d393)
  • emails: add pre-event reminder templates and send wrappers (164136d)
  • emails: generic post-holiday email template (d553fe3)
  • emails: parental-relations reminder template + send fn (c1447ec)
  • holidays: admin-curated holiday catalog (6f4e050)
  • holidays: make every catalog entry opt-in by default (435c965)
  • intelligence: “set your people” analyzer (e6df13d)
  • intelligence: add per-item polish suggestion analyzers (3e83fc6)
  • intelligence: add per-list filter popover to the suggestions page (a3ac9e8)
  • intelligence: bundle noisy per-item recs into per-list cards with sub-item actions (f5f2c46)
  • intelligence: exclude todo lists from analyzers (83f6754)
  • lists: country and holiday pickers for the holiday list type (deb618a)
  • lists: curated holiday catalog backed by date-holidays (4cc416b)
  • lists: enforce admin list-type toggles in API (e88eeca)
  • lists: show recipient avatar on edit header for non-owner lists (19f52f9)
  • lists: use customHolidays picker on create and settings flows (32bb3f1)
  • lists: validate holiday metadata on create and update (d01f964)
  • mobile-api: capabilities probe and TOTP challenge fork (12687d1)
  • mobile-api: passkey sign-in begin/finish endpoints (23597ab)
  • mobile-api: switch passkey to browser-driven flow (4f4bee9)
  • mobile-api: wire OIDC begin/finish stub and fix capabilities probe (8633088)
  • profile: add optional bidirectional partner anniversary (da38d7d)
  • relationships: per-arm gating, drop legacy enableParentalRelations (71285eb)
  • schema: add custom_holidays, custom_holiday_reminder_logs, todo_items (5049b56)
  • scrapers: extract aggregate review rating from product pages (68154f5)
  • screenshots: dedicated screenshot env + new routes (1d0192a)
  • screenshots: emit diagonal split images per viewport (ecf183f)
  • screenshots: mirror basic screenshots to docs (17981c3)
  • settings: add reminder + relationship-reminders keys (c808283)
  • settings: parental-relations flag and reminder lead-time (2f96b00)
  • settings: rename christmas gate and add generic-holiday flags (7fe8424)
  • sse: broadcast item, comment, addon, and list events (4c61fbf)
  • sse: subscribe /me, edit, and organize surfaces (a17706b)
  • sse: subscribe recent and purchases feed surfaces (8e8ef79)
  • todos: add todo API + list-type isolation rules (4bf4dbe)
  • todos: minimal todo-list UI surface (6cade17)
  • ui: add TreeRow primitive with reusable hierarchy connectors (18d0979)
  • ui: list-type icon and tile for the holiday list type (b18434d)
  • ui: profile section for tagging mothers and fathers (3479288)
  • widgets: upcoming-holidays feed alongside birthdays (38b83c1)

Bug Fixes

  • admin: use Select dropdown for Mother’s/Father’s Day country (0d6e011)
  • auth: drop server-fn URLs from the post-sign-in redirect (a4192d8)
  • crypto: pin GCM auth tag length to 16 bytes (e15c2ca)
  • intelligence: per-item delete rows + pending overlay on rec cards (8a99283)
  • intelligence: point relation-labels rec at /settings/ via path-shaped nav (d777588)
  • intelligence: skip primary-list rec for dependent subjects (7368f88)
  • lists: widen create-list dialog and truncate long select values (2b93f94)
  • me: wrap children’s lists in ListsCard like dependents’ (559bcd0)
  • mobile-api: wrap GET /v1/app-settings in { settings } (99f7a47)
  • mobile-api: wrap GET /v1/storage/status in { status } with canUpload (eb1d91d)
  • readme: trim and route to giftwrapt.dev (3673188)
  • screenshots: wait for all images to load before capture (eab6145)
  • settings: drop zod defaults so partial().parse stays sparse (f000626)
  • storybook: stub @tanstack/react-start/server to unblock build (7258e3c)
  • ui: keep first-paint splash dark and centered (99b55bb)

v0.30.0

0.30.0 (2026-05-12)

Features

  • holidays: route Mother’s Day per country, expand catalog (517328c)
  • widget: add custom_holidays resolution path (be7ce83)
  • widgets: redesign upcoming-holidays feed as per-user list (939e8ab)

Bug Fixes

  • admin: gate custom-holidays section on enableGenericHolidayLists (e783264)
  • admin: unfilter relation-labels picker in admin edit-user flow (d4cadfb)
  • cron: satisfy tanstack-start serializer for admin cron return types (1051316)
  • permissions: hide restricted indicator from restricted users (bf4a181)
  • profile: replace native date input with masked date picker (3b7bd9c)

v0.30.1

0.30.1 (2026-05-13)

Bug Fixes

  • cron: fix stale .notes/cron-and-jobs.md path in code comments (6a8507f)

v0.31.0

0.31.0 (2026-05-15)

Features

  • admin: extract mobile-app redirect URIs into dedicated editor (e910ec7)
  • cron: auto-cleanup orphan claims on event date (e4ac509)
  • deploy: publish Railway one-click template (c985642)
  • intelligence: ai-assisted rename for convert (list-hygiene phase 2) (0a503c0)
  • intelligence: list-hygiene analyzer for upcoming archive events (6153bc3)
  • intelligence: merge duplicate event lists (list-hygiene phase 2) (e18836d)
  • intelligence: stale-public-list detection (list-hygiene phase 2) (6e1ecce)
  • items: add pendingDeletionAt + read-time safety net (6f68492)
  • items: orphan-claim flow for recipient-deleted items (16378fa)
  • me: list-type legend modal (cbb3079)
  • orphan-claims: per-list alert + /purchases summary UI (57cada7)
  • settings: hoist mobileRedirectUris to top-level mobileApp config (51f9be1)

Bug Fixes

  • auth: auto-revoke other sessions + mobile keys on password change (bcd160e)
  • build: keep client bundle free of node:crypto (4b569b7)
  • comments: warn that comments are public in the input placeholder (84b3815)
  • email: surface Resend errors from sendTestEmail (1a6d159)
  • images: upgrade http image URLs to https (e2c6a4e)
  • markdown-notes: show list bullets and isolate link hover (f87e393)
  • migrations: split 0034 with statement-breakpoint for pglite (843f9a1)
  • purchases: restore page icon color to match sidebar (e05fcc6)
  • stories: query orphan-summary link by text, not role (148731e)
  • tests,orphan-claims: unblock suite and resolve partner symmetrically (ce7a682)

Performance Improvements

  • charts: lazy-load recharts on purchases and admin intelligence (d114d14)
  • email: lazy-load templates in resend so they stay out of routes (61646c0)

v0.32.0

0.32.0 (2026-05-15)

⚠ BREAKING CHANGES

  • squash migrations to baseline and overhaul local dev setup

Features

  • squash migrations to baseline and overhaul local dev setup (a813eca)

v0.33.0

0.33.0 (2026-05-16)

⚠ BREAKING CHANGES

  • settings: fresh deployments no longer expose the todos list type out of the box. Operators can re-enable via the admin app-settings editor.

Features

  • admin: expand edit-user modal with DatePicker and per-user permissions (3663060)
  • docker: generate selfhost compose matrix from feature registry (6b0a407)
  • settings: default enableTodoLists to false for new tenants (7076921)
  • todos: confirm item deletes and align settings UI with type-lock (c1f0610)

Bug Fixes

  • calendar: render dropdown caption layout cleanly (3c08c00)
  • capitalize “Amazon Wish List” consistently (eece254)
  • lists: gate “test” list type to local dev only (c74e7f9)
  • todos: render TodoList on edit page and align add-item dialogs (73b6061)

v0.34.0

0.34.0 (2026-05-16)

Features

  • profile: circular crop dialog and unified admin edit-user save (f4cabc8)

v0.35.0

0.35.0 (2026-05-18)

Features

  • admin: gate barcode page on enableMobileApp setting (bb2a607)
  • barcode: add admin page and live probe (32a2e97)
  • barcode: add product-lookup endpoint for mobile (0b9a18d)
  • barcode: add schema, settings, and provider layer (1a2c834)
  • items: add product photo upload with AI vision prefill (aa13d16)
  • migrate: detect post-squash upgrade and link recovery docs (a2f82f8)

Bug Fixes

  • admin: toast and close edit-user dialog on save (a74e825)
  • csp: allow blob: in img-src for client-picked image previews (54369c9)
  • garage: use loopback for in-container CLI rpc_public_addr (21e6fa2)
  • scrapers: make AI structured output schema Gemini-compatible (c984b37)

v0.36.0

0.36.0 (2026-05-21)

Features

  • admin/email: pick template and recipient when sending test email (190328d)
  • admin: restructure edit-user modal for desktop (82365d9)
  • lists,admin: row affordances and relation labels in matrix (dfb9b26)
  • purchases: add receipt attachments and tracking numbers (be55c14)

Bug Fixes

  • build: clear bundler warnings and give CI heap headroom (ff6744e)
  • ci: unblock typecheck, lint, and the sendTestEmail timeout (b3d7b77)

Performance Improvements

  • intelligence: auto-confirm near-identical duplicate pairs (10b4b0c)
  • intelligence: cache stable prompt prefix across analyzers (921c6f5)
  • intelligence: per-analyzer model override (7f5c5e0)
  • intelligence: short-circuit duplicates on shared product URL (2393241)
  • intelligence: skip AI rename when regex already rebuilt the name (c940acb)
  • intelligence: widen duplicates pre-filter with token Jaccard (fdbebab)

v0.37.0

0.37.0 (2026-05-25)

Features

  • admin: wire edit-user action buttons (924f0b0)
  • backup: include todoItems table in export and import (9ec18ed)
  • email: fan out child-account emails to guardians (f1aa097)
  • email: use admin appTitle in email subjects and bodies (bf27e43)
  • intelligence: add inline Edit action to single-item stale-item recs (d011944)
  • intelligence: default suggestions filter to public lists only (337dc54)
  • intelligence: open sub-item Edit inline on suggestions page (7240a6b)
  • intelligence: route stale-items pick-one recs to grouping (44beff6)
  • intelligence: tint recommendation subsection headers (ca0fcd8)
  • items: show date added on item and addon rows (e0dd380)
  • lists: add delete control to list settings panel (f40e859)
  • observability: expose Prometheus metrics endpoint and instrument domain (0ae1e9a)
  • observability: scaffold opt-in Sentry and Prometheus toggles (f3620be)
  • observability: wire Sentry server + client SDKs (0fe0a60)
  • perf: add VITE_PERF_DEBUG nav timing instrumentation (5dee255)
  • realtime: backstop SSE with focus and interval refresh (3aeefc4)
  • scrapers: prefill notes from purchase-variant axes (cd8724f)

Bug Fixes

  • 2fa: keep password prompt open and surface errors on failed enable/disable (efe65c2)
  • admin-intelligence: reflect all in-flight runs in the Run buttons (a18065e)
  • auth: keep sign-in form mounted across useSession refetches (f570958)
  • auth: un-nest two-factor route so the challenge actually renders (24f4ad9)
  • breadcrumbs: show My Lists and list name on organize page (d7871e6)
  • gifts: allow purchase-detail edits on revealed items (c97fba6)
  • intelligence: dismiss bundle sub-item after successful edit (fbad33d)
  • intelligence: keep stale-items rec active when one item is deleted (3515eb4)
  • intelligence: preserve suggestion filter across refetch (5362914)
  • intelligence: stop list-hygiene cold-calling custom holidays (2c91941)
  • items: contain Amazon import preview rows within the dialog (aad9bca)
  • items: hide actions menu on items linking to another list (d49d08c)
  • items: hide claim button on items linking to another list (be03bc9)
  • list-addons: archive addons in recipient reveal flows (014fa34)
  • list-addons: hide archived addons and show added-on date (4337056)
  • lists: hide off-list gift price from other gifters (dc4b542)
  • lists: plumb canEdit through ListHeader so editors see todo affordances (1b4ed07)
  • markdown-textarea: delete highlighted range on iOS Safari (3e8d173)
  • mobile-passkey: de-nest the route from sign-in via flat-route rename (deb905f)
  • mobile-passkey: redirect to _native-done from the fetch onSuccess hook (4b43a1c)
  • purchases: use sticky-note icon for notes indicator (14878e0)
  • seed: write todo seed rows to todo_items instead of items (6ce6c4b)
  • settings: cap each sub-page card at max-w-2xl to match admin (9d15a02)
  • settings: widen settings canvas to match admin (cfb2830)
  • todos: allow owners and editors to read private todo lists (0049ee7)
  • ui: keep dialogs above the iOS keyboard (c8e9f71)

Reverts

  • mobile-passkey: drop the fetchOptions.onSuccess redirect (56e217a)

v0.38.0

0.38.0 (2026-05-25)

Features

  • todos: edit todos, icon buttons, markdown notes (1744de7)
  • ui: add TapTooltip for tap-to-open on touch devices (8104a83)

Bug Fixes

  • intelligence: drop no-op wishlist convert from stale-list rec (db84759)
  • items: hide empty groups from gifter view (6ca2fac)
  • scrapers: handle Amazon twister variants and skip cart-quantity (f3e1dee)

v0.39.0

0.39.0 (2026-05-26)

Features

  • admin: add scrape health stats card (bdb047f)
  • admin: show scraper tiers and per-domain URL examples on scrape health (3bb4958)
  • holidays: optional recipient on custom holidays (61529e4)
  • recent: support timeframe filters in recent feeds (aedabb8)

v0.40.0

0.40.0 (2026-05-26)

Features

  • errors: granular route-level fallbacks and friendlier 404 (e5f96fc)
  • lists: show countdown badge on custom-holiday list rows (0f2f40f)
  • notes: render markdown images via item lightbox (5276652)
  • screenshots: add hero viewport for docs site marketing captures (a9b0231)

Bug Fixes

  • auth: allow iOS keyboard text replacement on email inputs (7b84200)

v0.41.0 Latest

0.41.0 (2026-06-09)

Features

  • cron: respect archive defer and add deferred-due reveal pass (9eb5796)
  • lists: add archive defer + last-archived columns and max-defer setting (76003dc)
  • lists: add archive-schedule derivation helper (3433a74)
  • lists: add force-reveal, set/extend, and cancel defer server fns (3844494)
  • lists: add reveal-date banners, force/extend controls, last-archived (e70e8d3)
  • lists: expose archive banner info from list view/edit loaders (88cbb28)

Bug Fixes

  • items: clear stale import progress alert on add-item reopen (d901147)
  • items: restore thumbnail max-width to fix Safari gifter view (0fa3713)
  • permissions: enforce child-account guardrails server-side (8697433)
  • scrape: apply AI-cleaned title to add-item form (9e1bf46)
  • scrape: persist cleaned title so cache hits stay cleaned (8bfc01a)