Skip to content

v0.9.40

Latest

Choose a tag to compare

@github-actions github-actions released this 11 May 07:28
· 8 commits to main since this release

Highlights

This release brings cross-tenant history search, a configurable URL exclude list, and a substantial rewrite of the extension client and bridge protocol.

History search

  • Shared browsing history is now collected from every tenant. Each visit carries its source tenant, title, URL, and timestamp.
  • A new side panel in the extension provides search across all tenants, with scope and sort controls, age filtering, keyboard navigation, and grouping of results that share a title and domain.
  • Results show visit metadata (last visited, visit count) and support right-click delete.
  • A configurable hotkey opens the side panel directly.
  • alloy import-firefox imports history from an existing Firefox profile. Imported entries respect the exclude patterns.

Configurable URL exclude patterns

  • Exclude patterns are managed in a separate config file with a row-based editor on the config page (replacing the textarea).
  • Defaults now cover the major search engines (using [.] instead of backslash escapes for readability).
  • Patterns also filter history collection, so excluded URLs are never recorded.

Extension and protocol rewrite

  • The extension Client is now port-based with message passing and proxy support. sendMessage is gone from page code; popup, options, and side panel pages all communicate through the multiplexer.
  • The multiplexer is event-based with disconnect propagation; popups detect bridge disconnects and re-register cleanly.
  • The bridge protocol has moved to its own library, with the serializer and deserializer consolidated into a single command_codec match and frames parameterised on payload.
  • Response payloads are now (json, string) Result.t, replacing the ad-hoc response_payload type.
  • The coordinator event loop has been replaced with direct callbacks, simplifying the daemon side.

Other improvements

  • Background worker tracks Page_loaded events for more accurate tab state.
  • Daisy-chain proxy tests and multiplexer tests added.
  • Various Chrome API bindings reorganised (Port, History, Commands, Side_panel).
  • Reconnect button removed from popup (re-registration is automatic).

Fixes

  • Bridge function rename and is_closed handling corrected.
  • Extension tests updated for the new protocol and multiplexer.
  • CI: declare alcotest-lwt as a test dependency and pre-populate the opam download cache to work around upstream source-host outages.

Full Changelog: v0.9.36...v0.9.40