This release ships browser extensions for Firefox, Chrome, and Safari; a premium tier with private reading lists and Stripe-powered payments; a new join page with real-time username availability; persistent sort preferences including group-by-domain; improved metadata fetching with retry logic and meta-refresh redirect following; and a range of UI and onboarding improvements.
Breaking changes
- STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET are now required env varsDeployments that include the Stripe integration must provide STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET. The server now throws an error on use if either is missing rather than failing silently.
4898880f8f8c2f
New
- Browser extensions for Firefox, Chrome, and SafariZero-config extensions let you save links to rdltr from a toolbar icon, keyboard shortcuts (Alt+Shift+R/L), or the right-click context menu. Firefox and Chrome extensions are ready to install; Safari support is available by converting the Chrome extension with Xcode's converter tool.
37e40c3381b81c62e66913dbe482fd6004f - Premium tier with private reading listsUsers can upgrade to a supporter plan to make their reading list private. Private lists are only visible to the owner, and real-time SSE broadcasts are scoped accordingly so other users never see private updates.
6846d354eda0d1b7c5880 - Stripe checkout for premium upgradesClicking the lock button starts a Stripe-hosted checkout flow. After a successful payment the account is marked as premium via a verified webhook, and a confirmation message is shown on return. STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET must be set in the environment for this to work.
4898880fe983f0a1150bff8fbe4af8f8c2f14bb6a3dd37c171bf21a2856e046 - Join page with real-time username availability checkA new /join page lets new users register with live feedback on whether their chosen username is available. The Register button is now labelled Join, and error handling has been cleaned up.
572a146b33a1ac2a57692ab79a35 - New-user onboarding and improved empty-state messagingFirst-time users see a welcome message with a link to the help page. Returning users who have cleared their list see a quote instead. The available-username page copy was also updated.
90f580c0a60034 - Persistent sort preference and group-by-domain sortingYour chosen sort order (newest, oldest, shuffle, or domain) is now saved in localStorage and restored on page load. A new group-by-domain sort (g key) groups links by their domain, ordered by count.
8377e16 - Web app manifest, og:image, and favicon improvementsA web app manifest and root favicon routes were added for better PWA and browser support. An og:image was added for social sharing previews, and favicon assets were refreshed including a 512×512 PNG variant.
6ceb6afe05e3a85edf1f2fd6004f - Privacy policy page addedA /privacy page is now live and linked from the help page, covering how user data is handled.
69443f9e027bfe - Triangle indicators added for login stateSmall triangle indicators in the UI now reflect the current login state at a glance.
0418321
Improved
- Help page updated with extension links and improved copyThe help page now links to both the Firefox and Chrome extensions, includes a link to the privacy policy, and has clearer copy and structure throughout.
ede0bcad583e284d5c867eb69b2759b241e
Fixed
- Metadata fetching now retries with exponential backoffFailed metadata and Twitter card fetches are retried automatically with configurable attempts and delay, reducing failures caused by transient network errors.
ebe1eca - Meta-refresh redirects followed during metadata extractionShort-link services like t.co that use HTML meta-refresh redirects are now followed correctly, so titles and descriptions are fetched from the final destination page.
f5ace6a - SSE connection kept open for empty link listsThe real-time connection is now established even when a user's list is empty, so newly saved links appear instantly without a page reload.
3cfc018 - Menu closes on click and keyboard shortcutsThe navigation menu now closes when you click a link inside it or trigger a keyboard shortcut, preventing it from staying open unexpectedly on mobile and desktop.
59b241ed304143 - Lock button hover state no longer sticks on mobileA CSS fix prevents the lock button's hover style from remaining active after a tap on touch devices.
3fce9fb