Skip to content

All versions since v1.4.0

v1.4.0

1.4.0 (2026-10-01)

Features

  • admin: add MCP client and connected-apps screens behind enableMcp (4baccbb)
  • admin: polish custom holiday recipient picker and catalog rows (db135c6)
  • auth: add OAuth 2.1 foundation for MCP clients behind enableMcp (b18961f)
  • mcp: add gifter-side shopping and comment tools (40584d5)
  • mcp: add occasions, received gifts, suggestions, dependents, resources, prompts (b481985)
  • mcp: add owner-side write tools (5b40eff)
  • mcp: add the /api/mcp endpoint with the first read tools (5b3e9d0)
  • reveal: dependents’ birthdays, admin bulk reveal, mail-safe images (8100c1d)

Bug Fixes

  • auth: stop mobile apiKeys from minting web sessions (2b8c826)
  • email: send the gift summary from the reveal itself (f94ab6b)
  • reminders: use the per-country Valentine’s date (59b90fa)
  • ui: clean up help copy (a20c2da)

v1.5.0

1.5.0 (2026-10-02)

Features

  • admin: flag scrape providers that never or mostly fail (228d15c)
  • items: show a placeholder when an item image fails to load (9c6d7c0)
  • mcp: add an Add to Claude button that prefills the connector dialog (b4b64e1)
  • scrapers: merge results across tiers and persist the final result (0da6da8)
  • scrapers: report dead product links instead of prefilling the homepage (9d8d5a6)
  • scrapers: weight price and photos, keep going until both found (3b3a4ee)

Bug Fixes

  • admin: label the built-in fetcher “Built-in” in Recent Scrapes (0b7ac54)
  • mcp: keep private gift ideas separate from people’s list items (78b722f)
  • mobile-api: give scrape failure codes their own messages (6d2dbf8)
  • scrapers: extract Amazon price and full-size photos (4fe83fe)
  • scrapers: list only guard rejections and cap merged images (dc94ba4)
  • scrapers: rank photos first and stop reading other products’ prices (f66c22d)
  • storage: accept GIF images (84ccb8b)
  • storage: mirror protocol-relative and data: image URLs (18bb312)

v1.6.0

1.6.0 (2026-10-03)

Features

  • admin: list private receipts in storage without preview or link (c030161)
  • ai: add Paste Text import, picks in reminder emails, and thank-you drafts (0a73da0)
  • ai: add usage ledger, monthly ceiling, and per-feature data disclosure (14fe91e)
  • ai: record who started each AI call and from where; generate docs catalogs (7884d18)
  • gift-help: add Pick for Me and AI gift suggestions on other people’s lists (574a586)
  • gift-help: move gift help into a dialog opened from the filter row (1991169)
  • gift-help: return detailed text ideas with no search link (66adfbe)
  • gift-help: take the occasion from the list type; restyle the Need ideas? button (b155511)
  • mcp: add get_gift_context, bounded results, and an eval harness (74bc912)
  • mcp: add read-only connections and a shared rate limit (fb86680)
  • receipts: serve receipts privately through an authorized route (80c6bd1)

Bug Fixes

  • auth: enforce bans on web cookies and mobile api keys (3805dbe)
  • gift-help: put the whole Help Me Choose panel behind the suggestions flag (7b6bbec)
  • gifts: lock the item group so two ‘pick one’ claims cannot both win (294524b)
  • mcp: mark web-reaching tools open world and put ids in tool text (2fa0706)
  • sse: stop list events leaking claims to the recipient (c8a3366)

v1.7.0

1.7.0 (2026-10-03)

Features

  • gift-help: add an admin-configured Search link to each idea (8986702)
  • gift-help: focus the dialog on AI ideas and add off-list gifts (0957e8e)
  • mobile-api: add photo lookup and item photo upload for iOS (d8537ad)

Bug Fixes

  • ai: bump @ai-sdk/anthropic so Claude 5 models get structured output (89c31bd)
  • comments: keep the composer placeholder to one line for Safari (6b0766f)
  • comments: stop the comment panel clipping its composer on mobile (9d2562c)

v1.8.0

1.8.0 (2026-10-14)

Features

  • admin: add a Reveals page to reveal one list’s hidden gifts now (24ff05b)
  • admin: add a Send Test Error button for Sentry (67c1e11)
  • auth: add the iOS web tab sign-in handoff and embedded shell (e1cdeb7)
  • embedded: report error boundaries to the iOS web tab (98689cc)
  • gift-suggestions: add they-have-it and thumbs-down marks on ideas (6a5fb0a)
  • gift-suggestions: build the prompt as a profile with received and dropped items (48dd123)
  • gift-suggestions: keep the last Need ideas? answer per asker (4cfb3e7)
  • gift-suggestions: tag each already-have line with its source (160cd1b)
  • routes: title every page “<tenant title> - <page>” (e0177ce)
  • selfhost: bundle the scraper gateway in the full compose shapes (b28b655)

Bug Fixes

  • gift-suggestions: drop near copies that share most of their words (e94afc7)
  • lists: only describe reveal controls that apply to the list (512fb06)
  • observability: capture server errors in Sentry from every bundle (9461da7)
  • observability: default the Sentry release to the build commit (795929d)
  • security: build the CSP at server start instead of build time (a396095)

v1.9.0

1.9.0 (2026-10-15)

Features

  • settings: add a text size slider on a new Appearance page (19fd749)

Bug Fixes

  • gift-help: give the idea marks labeled, full-size buttons (41128a0)
  • scripts: make the layout check wait for the session (ec0867f)
  • ui: fix layouts the layout check found at the default text size (7ad4ed8)
  • ui: keep layouts intact at larger text sizes (fb17dcb)
  • ui: make every button semibold and line up the list filter row (dac5d35)

v1.9.1 Latest

1.9.1 (2026-10-16)

Bug Fixes

  • scrapers: detect DataDome interstitial and captcha pages (3d27e71)
  • scrapers: detect the Akamai edge Access Denied page (133e3b9)
  • scrapers: detect the BLOCKED_EDGE block page (5aabc0d)
  • scrapers: keep title credit for titles that start with a number (40b1d42)