Notes from every releaseSeek and you shall find

This release adds queued motion handling with cleared state support, introduces production asset minification and caching, and updates deployment to send a single marker.

New

  • Queue motion and cleared state updatesMotion and cleared state are now queued for smoother handling in the UI. cdef4f0

This release improves search term matching, refines read title styling in the feed, updates telemetry span handling, and keeps pagination active while reading the feed.

Improved

  • Match search terms independently instead of requiring exact phrasesSearch now quotes each word separately so results match when terms appear anywhere in a row, in any order. Operator syntax is passed through when valid, queries are capped at 128 characters, and malformed input is repaired or sanitized. cd0d48b
  • Use consistent gray for read titles and keep pagination while reading the feedRead titles now share the meta gray token so the feed shows a single supporting color; hover and transitions reuse the global link style. Pagination fetching continues when the reader drains the current page. ede17a4 dbf47df

Two internal improvements: deterministic screenshot capture tooling for rdltr product scenes and outbound CLIENT spans for better service dependency mapping.

Articles are now attached via each LLM's native file input with Claude draft handling, summarizing emits removal events for live lists, and internal telemetry adds OTLP spans plus deploy markers.

Improved

  • Attach articles to composer file inputs instead of synthetic pastesArticles are uploaded directly to each site's file input and submission waits for the attachment to land. This fixes Gemini delivery and prevents races on ChatGPT, Claude, and Perplexity. d7bae00 df6206c 2497b20

Fixed

  • Summarizing a link removes the row from open listsSummarize now emits the same removal event that /link/read sends so live SSE clients drop the row even when Safari keeps the stream alive. eeeb039

This release adds public article pages, entity/topic/trends surface pages, server-side keyset pagination with infinite scroll on feeds and search, Plus-tier gated search and tl;dr summaries, Stripe subscriptions, Safari extension support, search scaling fixes, and rate limiting.

New

  • Public article pages now show summaries, HN signals, and entity chipsNew /@:username/:slug routes render per-article pages with summary lead, what-HN-said block, entity/topic chips, JSON-LD, and hour-long cache. Social rows 404; paywall rows are noindex. 4f8dc0f 9099cfc b1b1c6b 8582204 7da9f47 84481e4 95f8d70 6998da9 06410a9 8e0aaa6
  • Entity, topic, source, and trends surface pagesNew public pages for entities (/tools, /orgs, etc.), topics, sources, and a /trends board with share-normalized velocity, co-occurrence chips, and per-entity RSS feeds. 2b53e9b 6966902 872beb2 679cb23 7cb246c 147ecbc c82a5d2 e1231a2 7aa4775 e939138 11fc270 793e95c 0963bb6 5f15760 1b436f2
  • Sitemap, robots, and SEO improvements for public contentNightly sitemap builder, robots.txt reference, content-first titles, one h1 per page, lastmod, profile meta, and root links to surface pages. 7cb246c 147ecbc f360cd9
  • Keyset pagination with infinite scroll on profile and home feedsServer-side keyset paging (created/id, domain frequency, seeded shuffle) replaces client reordering on /@user and /. Same URL serves both HX fragments and full crawlable pages; cursors are opaque base64url. d1e768c e9c8cbc adb7b4c b264b4d cc023e7 10bf9c2 2c1111e
  • Search pagination for Plus usersPlus search now pages at 30 rows with a reveal sentinel instead of rendering the entire result set at once. 49a72db
  • Plus subscription via Stripe with yearly billingCheckout creates a recurring Plus subscription; manage billing opens the Stripe portal. Existing subscriptions cannot move to Managed Payments. 86fc1d5 2bcb68e fb9d441 e216d1e
  • Search gated by tier with waterline and blurred resultsFree and stranger searches stop at five rows; Plus searches the full archive. Gated results show a dashed waterline and blurred deeper rows. 3f17906 43b0895 988e578 e80ec43
  • tl;dr summaries on every link with tiered accessDigested rows show a tl;dr chip. Plus sees the summary; free and strangers see the pitch or signup prompt. Gist mode toggle works across paginated loads. 1e9647a 0704d64 69bd138 a95bc9f c764280
  • Safari WebExtension with bearer-token authNew Safari target builds a signed Xcode project. Uses scoped bearer tokens instead of cookies so one auth path works across Chrome, Firefox, and Safari. 86fc1d5
  • Rate limiting on saves20 saves per minute for everyone; free users limited to 300 per day. Plus skips the daily cap. Retry-After is returned on limit. 10a3caa

Improved

  • Design and UX polish across public pagesArticle pages, boards, doors, search slots, footers, and conversion blocks received iterative alignment, hover, icon, and copy refinements. b1b1c6b 8582204 7da9f47 95f8d70 6998da9 06410a9 e1231a2 fe5c5a8 12a046d 0d564ab 73194aa f7f9140 089a376 a6babec 3f17906 cd2d81f
  • Header navigation and conversion doors on every public pageLogin, sign up, and whisper stacked doors plus wordmark decoder appear on all stranger-facing pages; search trigger and stats chrome updated. a7aac23 b80e7c4 db3a658 079b4ea 08d7159 f4e117c 9a4b9bf 1897821 1b5a66a be98833 b1b9f5f cf7aeb1 0ced88e 8d9936c f280f37 d135fcd a0bb7de 98fd5aa
  • Rounded square favicon and extension iconsNew favicon set and updated extension icons for all platforms. cbed90b

Ships the Phase 3 digest pipeline: LLM summaries and chatter per link, canonical entities with alias merging, HN reverse lookup, and tweet ingestion into the same entity layer.

This release adds deep-mode content recovery via Wayback/Jina for stubborn fetches, ships and hardens the backfill CLI, and improves the in-app search experience with better keyboard handling and contextual subtitles.

New

  • Recover article bodies from bot-walled pages using Wayback and JinaDeep mode now runs the Wayback/Jina pipeline on 403 responses during backfill and as a single retry for live saves that land without a body. The feature is opt-in via --deep on backfill and travels through the worker; normal saves keep their fast-fail behavior. eb68985 715ee00 10a9072 b5431a9

Fixed

  • Keyboard shortcuts no longer swallow keys while typing in searchGlobal shortcuts are now ignored when focus is in an input, textarea, select, or contenteditable element. The header subtitle also switches to a search caption while the search box is open. 9f70d93 581e23d f38f72d

read later

For all the tabs you promised to read.
Save to read. Read to clear.

Close tabs. Keep links.