Skip to content Version 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)