Skip to content

v3.1.0

Choose a tag to compare

@lbragile lbragile released this 07 Oct 00:45
· 62 commits to main since this release

3.1.0 (2026-10-07)

Bug Fixes

  • db: require an active paid subscription to write synced data (46711e4)
  • extension: ask before removing all windows when confirm-on-delete is on (9ac4a13)
  • extension: ask for the passphrase once when unlocking a device (0fdce0b)
  • extension: ask storage to commit a change in the same tick it is written (5df90de)
  • extension: build beta and demo as production, not development (d83d1ea)
  • extension: clear the remaining lint warnings (847d85a)
  • extension: de-emphasize the encryption reset in Settings (2a92a77)
  • extension: don't copy the move-source marker onto the drag ghost (a8d0103)
  • extension: enforce Free plan limits on import and in the data layer (05e15b7)
  • extension: generate WXT types on install (05c7d4e)
  • extension: keep sync safe across key resets and account changes (e2e24ce)
  • extension: let the page-images setting turn on, and say when it's off (e5f3eaf)
  • extension: let the website reach Firefox, and restore the live Firefox add-on ID (f4e9fb7)
  • extension: make the auth modal's label-to-input gaps actually render (2ca52c5)
  • extension: make toasts clickable over dialogs, and show their countdown (44a7db9)
  • extension: only paid subscriptions get Pro, and free sessions stay local (0a6edae)
  • extension: reopen saved incognito windows as incognito (1d9bf1b)
  • extension: require Firefox 140 (Android 142) (09297ef)
  • extension: restore icon assets dropped in ea8b0d5 (b78e961)
  • extension: say that sync comes with Pro in the sign-in dialog (f938fa3)
  • extension: show current groups in the right-click menu (6e2fcfb)
  • extension: show the drop gap after spring-open switches the group mid-drag (22ef523)
  • extension: start keyboard drags from the focused row and step through real targets (5fbd294)
  • extension: stop sync losing edits, deletes and group order (5e56723)
  • extension: stop the Supabase client crashing when env is absent (05f84ec)
  • payments: upsert subscriptions on user_id, not id (6303a22)
  • supabase: make the seed work with the sign-up trigger (b0cfb3d)
  • web: 404 unknown share slugs, and retire dead landing-page tests (0bc836b)
  • web: answer CORS preflights for the extension's /api calls (f75188f)
  • web: ask for the new passphrase after a reset and mark locked items (c205d77)
  • web: disclose the favicon lookup and list shortcuts under Free (497bf6c)
  • web: draw the toast dismiss button as a plain icon inside the toast (c044fb3)
  • web: encrypt dashboard shares entirely in the browser (c3cc9b8)
  • web: find page preview images on more sites (ce68733)
  • web: find preview images on more pages (de27986)
  • web: fit the signed-in header on phones (f317585)
  • web: fold import and export into the beta Settings section (b6baa2c)
  • web: go straight in after sign-up when no email confirmation is needed (24b1ead)
  • web: hide the review stats divider when the stats stack on mobile (47db688)
  • web: list the beta page under Public in the footer (7d7c466)
  • web: list v3.0.0 on the changelog page (891133b)
  • web: log why contact emails fail, and tidy the beta report buttons (7af7fcd)
  • web: make the contact form's sender and inbox configurable (e37e542)
  • web: make the dashboard sync label live and accurate (508badd)
  • web: make the dashboard's per-group Share link work (89c3ef2)
  • web: never move the dashboard's last-synced label backwards (c5e01ea)
  • web: open the pricing toggle on Monthly and drop the "Billed" line (d817fac)
  • web: point the beta page at the tabmerger-beta-testers group (448b18a)
  • web: replace invented changelog history with the real releases (bc2cdce)
  • web: resolve react-hooks/set-state-in-effect across the app (2554b7e)
  • web: resolve Stripe redirect URLs at runtime, per deployment (93a6108)
  • web: route the pricing page's billing portal through absoluteUrl (1a976f1)
  • web: show plain favicons and working previews on shared groups (b7eec70)
  • web: show the currency on Billing Portal prices (4f2f93e)
  • web: stop module-scope SDK clients crashing the build (e83dbc3)
  • web: stop supabase/server.ts crashing every request without env (e00ac18)
  • web: stop the organizer treating stored groups as Now Open (68b2caf)

Features

  • extension: add a custom colour picker with live preview (a3115bc)
  • extension: always show Archived and Sessions, and save sessions there (7e22777)
  • extension: consolidate group actions and add Now Open window controls (a4854c6)
  • extension: finish popup drag and drop (edad192)
  • extension: Firefox beta self-updates, and asks before sending data on Firefox (e8073b2)
  • extension: hide AI features until they launch (27a11fc)
  • extension: make page images in previews an opt-in setting (ab5d216)
  • extension: mark plan prices as US dollars in Settings (a02e97e)
  • extension: match the incognito strip to its group colour (da7750c)
  • extension: move tabs, windows and groups with a keyboard move mode (a464534)
  • extension: open the colour picker straight into the custom picker, swatches included (e424d2e)
  • extension: rebuild popup drag and drop on native HTML5 drag (b7631b8)
  • extension: show the version next to the Settings title (a854215)
  • shared: add the AI feature flag helper (682948b)
  • show URL rule limits on every plan, from one shared definition (e5e762b)
  • web: add a /beta page for testers (b1863c3)
  • web: add a countdown to toasts and make them easier to read (60d63ea)
  • web: add a social preview image to shared links (de04980)
  • web: add non-personal diagnostics to contact emails (73dd151)
  • web: add the untagged v1.0.0-v1.1.3 releases to the changelog (5ad20f3)
  • web: add v1.1.1, v1.1.2, v1.3.1, v1.4.1 and v1.4.2 to the changelog (0780132)
  • web: add Vercel Web Analytics and Speed Insights (da244b8)
  • web: censor profanity in store reviews shown on the site (ed1b292)
  • web: center the sign-in and sign-up forms and drop the button glow (9d61395)
  • web: draw toasts with the app's theme and tokens (4d13125)
  • web: drive the changelog page from generated CHANGELOG.md (1f36cd3)
  • web: drop the dashboard's New group button and let the upgrade banner be dismissed (65143db)
  • web: full beta test plan with sharp screenshots of every step (b727be3)
  • web: give each beta test steps and an example, and take reports on GitHub (9585d1f)
  • web: hide sync-only parts of the dashboard and account page for free accounts (99d69e9)
  • web: let customers pay in their local currency at checkout (a7c723f)
  • web: let visitors step and swipe through the reviews (7e3cf96)
  • web: make page previews opt-in and disclose them in the policy (fbe975c)
  • web: reach the extension from any store, with a Firefox fallback (46df4fd)
  • web: refuse AI requests and AI purchases while AI is off (22cd614)
  • web: say that prices are in US dollars (b5bfaa9)
  • web: serve the Firefox beta add-on from the beta site (88bd8a5)
  • web: show AI as coming soon on the site (4d859ef)
  • web: show real store reviews in place of invented testimonials (7efebb2)
  • web: show the monthly equivalent and saving under yearly prices (6943fb0)
  • web: switch a paid plan between monthly and yearly billing (11c6b67)
  • web: turn the beta guide into a checklist with screenshots, Pro markers and known issues (2cf0ad3)