This release reduces the frequency of scheduled backup cleanup checks.
Notes from every releaseSeek and you shall find
This release improves how read dates appear in the archive, streamlines the headless deployment pipeline for merv, updates several dependencies, and refines the shared Claude review workflow along with supporting test and script fixes.
Improved
- Show archive items by the date they were readThe archive now stamps each item with the read timestamp from the link source instead of the save date, so ordering and displayed dates match when the piece was finished. Search pages continue to use the save date because they mix read and unread rows.
233b1fe
This release polishes the Show HN submission draft, adds a fallback globe icon for missing site favicons, and fixes stale paths and prompts in the AI code-review workflow.
New
- Show globe icon for sites without faviconsMissing site icons now render a globe SVG instead of a broken image.
f4f8f43
This release improves meta refresh redirect handling, prepares a Show HN announcement draft, and updates the code review workflow to allow the Overdew bot.
Fixed
- Follow meta refresh redirects without url= tokenBrevo tracking pages that return a meta refresh with a bare delay and target URL are now followed correctly instead of storing the tracker.
aeee32e
This release adds a personalized welcome email with click tracking, embeds an onboarding tour on first use, simplifies the unsubscribe flow, and sets up Dependabot for dependency updates.
New
- Personalized welcome emails with click trackingNew users now receive a tailored welcome email. Signature clicks are tracked and Safari wording has been refined.
fb3a4e89e25b938c45060 - Onboarding tour shown on first useA guided tour is now embedded for new users to help them get started quickly.
d1ce04f
Improved
- Simplified unsubscribe flowThe unsubscribe process has been streamlined for easier opt-outs.
f6f0a96
Refined subtitles, headers, and live updates so visitors see whose profile they are viewing along with accurate queue counts and states.
Improved
- Clearer subtitles for visitors on other profilesA visitor on someone else's profile now sees a subtitle such as "@alice has 5 reads", "@alice hit 412 reads", or "@alice has no reads" instead of generic or owner-centric text. The identity mark only answers "am I home?" while the subtitle carries the page owner's name and count for both signed-in and anonymous readers; live updates, empty-queue wording, and SSE payloads were also corrected.
700e988e133e25bb6b4b7691c8a3a9e7731c4f126d1d6f06e6a81492
Three focused improvements: favicon contrast handling, Chrome Web Store packaging, and corpus search deduplication.
Improved
- Favicons with low contrast now render on a light plateIcons are measured for WCAG 3:1 contrast against the background; those that fail receive a square plate while valid marks and compact icons are recognized and left untouched. Pre-existing rows continue to render as before.
48f292e1b5ea7e32e4508 - Corpus search now returns one row per articleNew persisted flags on links ensure each article appears once in search results regardless of how many users saved it, with faster ranking queries and improved deduplication.
ada6455
This release adds lifecycle and onboarding emails with sender logo authentication, improves YouTube metadata extraction and canonical validation, and surfaces more pipeline failures as warnings and errors.
New
- Added lifecycle emails and automatic onboarding enrollmentLifecycle emails are now complete and new users are automatically enrolled in onboarding sequences. Sender logo authentication via BIMI is prepared.
89fe9815022732c00aa8c
Improved
- Improved YouTube metadata via oEmbed with better canonical guardsYouTube metadata is now fetched through oEmbed, rejected responses are logged, and unrendered template segments are rejected in declared canonicals.
a41e66670122e1169b256
This release fixes a read-state race that could put already-read rows back into the unread pile, improves the save progress indicator and search grace period, adds keyboard navigation and outside-click search closing, ships lifecycle emails for inactive readers, and stabilizes the E2E suite.
New
- Keyboard navigation for reading views and quick jump to your own pageAdded keyboard cycling through reading views and the
Yshortcut that jumps directly to your own page.ee1639eb772b03 - Lifecycle emails for inactive readersAdded a set of emails that reach out to readers who have become inactive, including dynamic links and simplified row rendering.
0ac616b0ec8b5be951237
Improved
- Search stays free until your own archive is large enough to justify payingGrace now only applies to searches of your own pile. Search also closes on outside clicks, and the grace logic was hardened so it never leaks to other users' content.
0417034e3e39695d1f001
Fixed
- Read rows no longer reappear in the unread pile after returning from a linkA visibilitychange race between rebuild() and replay() could cause a just-read row to be swapped back into both the unread pile and the archive. The client now keeps a short local record of marks it has sent and filters every list swap through it.
b706776 - Save progress line now waits for the actual fetch to finishThe alert line no longer uses a fixed five-second timer. It now follows the queued save id (or the new owner event on the home page) and clears only when the work is done, with a stall guard as a safety net.
c678c99991e66a - Mouse drag restored for links leaving the feedDragging a link out of the feed with the mouse works again.
7ce3ff7
This release improves list navigation and rendering on mobile, adds cross-browser Gemini attachment support, and includes several internal fixes and configuration updates.
Fixed
- List remembers your position and avoids unwanted paging or swipe driftThe first paint is now dark, swipe-to-clear stays locked to its axis, the cursor returns to the exact row left off on (even after deep pagination), and the feed no longer pages itself to the bottom when a page arrives in Chrome.
08a68fd803cd550844cfe - Gemini attachments work across Chrome, Firefox, and SafariAttachment handling for Gemini has been restored and extended to all supported browsers with updated manifests and injection logic.
d1bf0ec4af014e