github flythenimbus/bramble 1.8.0-chromium
Chromium Extension 1.8.0

latest releases: 0.9.0-android, 1.5.0-firefox
5 hours ago

Features

  • add Buttondown newsletter signup form
  • collapsible stats row on home, sticky
  • graceful spinner fallback for slow lazy-route loads
  • plain divider + "Create another vault" on single-vault unlock
  • Astro + Starwind landing site on shared @vault/theme
  • bolder, wider on-page picker
  • make QR scan the primary Join experience on mobile
  • wire back navigation - Android hardware back (#15) + setup-shell back button
  • restore the QR-code scanner in the mobile Join flow
  • always offer the "Join a device" tab
  • active-vault-aware Android autofill + per-vault biometric
  • per-vault biometric unlock (core + iOS)
  • show 'Join a device' in the setup shell on a fresh device
  • render 'Restore from backup' inline as a tab, not a page swap
  • unify first-run 'open existing vault' with the multi-vault restore flow
  • hide 'Create new vault' on unlock when multiple vaults exist
  • join a P2P mesh from the setup shell (join = add a vault)
  • per-vault VEK inc 6 - atomicity guard + lock-to-picker
  • per-vault VEK inc 5 - hand the VEK to enrollment explicitly
  • per-vault VEK inc 4 - tag the background consumers
  • per-vault VEK inc 3 - scoped view adapter + create binding
  • per-vault VEK inc 2 - the seam flip (offscreen + background)
  • per-vault VEK inc 1 - inert threading (schemas + vek-store)
  • forward the inviter's recovery slot to joiners (shared group recovery code)
  • restore .bramble backups from the Add-a-vault screen
  • scheduled backups cover every vault, not just the primary
  • vault name inline on the home header + on the unlock screen
  • always show the active vault's name in the header
  • show the active vault's name in the header
  • per-vault device sync (extension)
  • share the active vault id with the background (multiple vaults phase 2)
  • vault name input in General; delete moves to its own re-auth-gated section
  • drop create/switch buttons from the settings vault section
  • settings vault section acts on the current vault only
  • inline recovery-code and switch-vault links with a dot separator
  • per-vault picker cards + context-aware setup screen (multiple vaults)
  • settings vault list + switch vault (multiple vaults phase 1)
  • add 'choose a different vault' link on the unlock screen
  • create parallel vaults + launch-time vault picker (multiple vaults phase 1)
  • thread active vault id through VaultProvider (multiple vaults phase 0)
  • vault registry + id-aware blob storage (multiple vaults phase 0)

Bug Fixes

  • converge racing no-registry migrations on one vault id
  • show a loader while decrypting, not an empty-vault flash
  • 2FA verification-code fields no longer misdetected as CVV
  • corner card / picker box model survives host-page CSS resets
  • omit ambient cookies so WebDAV uploads authenticate
  • override adm-zip to 0.6.0 (GHSA-xcpc-8h2w-3j85)
  • refresh the on-page picker after unlock (#20)
  • no white flash before the theme resolves
  • stop hiding the "Keyboard suggestions" toggle behind a keyboard probe (#19)
  • drive Android back through the router, not window.history
  • show the real per-vault sync panel on mobile (drop the stale "primary vault" gate)
  • use the extension's segmented tabs on mobile (drop the rough pill variant)
  • disconnect removes the ACTIVE vault's namespaced group, not flat sync.group
  • push the ACTIVE vault's password slot to iOS autofill
  • target the active vault in sync + persist active-vault; scope the migration
  • add the joiner to the roster in the enroll host, not just the popup
  • per-vault VEK - locking is a clean slate (single-view UX)
  • joining a group provisions a fresh recovery code for the device
  • 'Back up now' backs up the active vault, into its own folder
  • keep Firefox's event page alive during enrollment
  • start ongoing sync as soon as a vault's group exists
  • land on the unlocked vault's home, not the picker
  • restore never overwrites an existing vault (adds a new one)
  • scope the sync panel to the primary vault (stopgap)
  • restore the unlocked vault on reopen instead of the picker
  • use the shared TextField for the vault-name input
  • make the vault picker scroll when there are many vaults
  • keep unlock-screen links at text-xs

Performance

  • virtualize the entry list
  • code-split non-first-paint routes to shrink the initial bundle
  • batch native decrypt so a large vault opens in one bridge call
  • decrypt the whole vault in one offscreen round-trip

Refactors

  • finish the Button sweep - ErrorBoundary + BackupSection
  • add a shared cva Button and adopt it across the app
  • delete the dead inline-capability probe + trim comments
  • drop the always-true restore capability
  • namespace every vault by id via a one-time copy migration
  • remove the dead primaryId, fall back to the legacy/default vault
  • drop the Settings 'Join with a pairing code' path
  • single verified delete path (useVault.deleteVault)
  • rename/remove act only on the active vault (never another)
  • central localized date formatter; picker shows 'Created on Jan 13, 2026'

Documentation

  • record the no-registry migration convergence guard
  • refresh the gallery, add six new shots
  • device-verification status (2026-07-18)
  • record the phase-1 ship date + a phase-2 flip checklist
  • reconcile status after biometric/autofill/join/restore work
  • correct the stale perVaultSync comment (mobile now targets the active vault)
  • mobile Tier 1 core landed (active-vault + per-vault sync)
  • Firefox multi-vault is done, not pending (survey + user testing)
  • add mobile multi-vault Tier 1 to the backlog
  • record the setup-shell UX (create/restore/join tabs)
  • record host-side enrolled-roster fix for Firefox inviter
  • Settings join removed (follow-up done)
  • mark join-from-setup landed; note the Settings-join follow-up
  • mark per-vault VEK landed; call out join=add-a-vault as the next gap
  • per-vault VEK design (supersedes single-VEK + primary vault)
  • record the sync-panel stopgap ahead of increment 3
  • note picker cards + context-aware setup screen
  • mark multiple-vaults phase 1 complete (create + picker + management)
  • mark multiple-vaults phase 1 create + picker landed
  • mark multiple-vaults phase 0 complete; clarify migration staging vs release cadence
  • plan for multiple vaults

Other

  • ci(website): deploy to Cloudflare Pages via wrangler + API token
  • ci(website): deploy to Cloudflare Pages instead of GitHub Actions
  • chore(scripts): dev runs chrome + firefox + website together
  • chore(docs): new fable security audit
  • chore(website): add CNAME for the bramble.sh custom domain
  • test(e2e): picker refreshes after unlock without refocusing (#20)
  • test(e2e): guard lock-pref persistence across a browser restart
  • test(vaults): pin the createVault sync-reset guard; retire the stale "still open" note
  • test(e2e): end-to-end namespacing-migration test; fix stale registry after lazy migration
  • chore(ext): add a Firefox dev watch (dev:firefox)
  • a11y(ui): raise the vault-name contrast to text-foreground/70
  • test(e2e): per-vault sync isolation (tier 2, increment 4)
  • test(e2e): create + lock + unlock vault flow (tier 2, increment 3)
  • test(e2e): playwright setup + extension loading (tier 2, increments 1-2)
  • test(vault): per-vault sync unit coverage (tier 0)
  • docs+feat(sync): phase 2 design + per-vault sync-key helper
  • chore(i18n): vault-name + delete-reauth strings
  • chore(i18n): current-vault settings strings
  • chore(i18n): 'Created on {0}' string
  • chore(i18n): extract + translate add-a-vault / picker strings
  • chore(i18n): extract + translate vault management strings
  • chore(i18n): translate vault picker strings (de, es, fr, it, pt-BR)
  • chore(i18n): extract + compile vault picker strings
  • chore(readme): remove status section
  • chore(ios): App Store release notes for this update

Full Changelog: 1.7.0-chromium...1.8.0-chromium

Don't miss a new bramble release

NewReleases is sending notifications on new releases.