This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryPerformance optimizations across the rule engine, fixes for worker crashes and UI re-hide bugs, plus new shadow‑DOM aware features.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds shadow-aware subtree watcher. Adds shadow-aware subtree watcher. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Medium |
Adds shadow-piercing text walkers. Adds shadow-piercing text walkers. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Medium |
Adds shadow-scoped stylesheets via adoptedStyleSheets. Adds shadow-scoped stylesheets via adoptedStyleSheets. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Medium |
Shows roach-motel and webdriver-probe detections in the popup. Shows roach-motel and webdriver-probe detections in the popup. Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
| Performance | Medium |
Improves performance with trailing‑only throttle, burst flush, and O(C²) outermost‑match fix. Improves performance with trailing‑only throttle, burst flush, and O(C²) outermost‑match fix. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Performance | Medium |
Improves SPA route‑change re‑sweep and adds detached‑subtree fast‑path. Improves SPA route‑change re‑sweep and adds detached‑subtree fast‑path. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Performance | Medium |
Improves mutation routing via shared mutation router for subtree watchers. Improves mutation routing via shared mutation router for subtree watchers. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes background worker crash by decoupling rules catalog from storage. Fixes background worker crash by decoupling rules catalog from storage. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes disguised-ad-flag re-hiding an article a user revealed. Fixes disguised-ad-flag re-hiding an article a user revealed. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes prompt-injection-redact re-hiding a revealed container. Fixes prompt-injection-redact re-hiding a revealed container. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fixes cross‑origin‑frame‑redact watcher missing top‑level iframes. Fixes cross‑origin‑frame‑redact watcher missing top‑level iframes. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Refactor | Low |
Routes webdriver-probe fallback through chrome.scripting.executeScript. Routes webdriver-probe fallback through chrome.scripting.executeScript. Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
Full changelog
What's Changed
- Fix background worker crash by decoupling rules catalog from storage by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/130
- Show roach-motel and webdriver-probe detections in the popup by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/129
- Route webdriver-probe fallback through chrome.scripting.executeScript by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/132
- Document that the extension collects no telemetry by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/134
- Skip SVG text nodes in prompt-injection-redact by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/135
- Add fast-check property tests for placeholder and pii-redact Luhn by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/136
- Add fast-check property tests for encoded-payload-redact by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/137
- Add fast-check property tests for injection-pattern rules by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/138
- Add cross-origin-frame-redact tests; bump coverage ratchet by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/139
- Fix cross-origin-frame-redact watcher missing top-level iframes by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/140
- Add irrelevant-sections-redact tests; shared jsdom polyfills by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/141
- Cover rule-engine reconciliation paths; bump global ratchet by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/142
- Adopt jest-webextension-mock for chrome API stubs by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/143
- Cover lib/availability; bump global ratchet by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/144
- Cover prompt-injection-redact findContainer escalation paths by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/145
- Add property tests for filterToOutermost / filterToInnermost by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/146
- Cover lib/selector-hide-rule directly; bump global ratchet by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/147
- Cover storage setRuleEnabled / setAllRuleStates / normalize paths by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/148
- Cover lib/placeholder and lib/subtree-watcher directly by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/149
- Perf: trailing-only throttle, burst flush, O(C^2) outermost-match fix (#150 Tier 1) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/151
- Perf: SPA route-change re-sweep + detached-subtree fast-path (#150 Tier 1S) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/152
- Test: property test for outermost-match, memoization + cross-state coverage by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/153
- Perf: propagate outermost/innermost fix to shared dom-utils helpers by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/154
- Perf: shared mutation router for subtree watchers (#150 Tier 2) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/155
- Perf: id/class token index + scan from inserted roots (#150 Tier 2) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/157
- Perf: dispatch id/class attribute mutations through the token index (#150 Tier 2) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/158
- Perf: per-rule WeakSet for processed-node skip bypass (#150 Tier 2) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/159
- Fix: disguised-ad-flag re-hid the article a user just revealed by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/160
- Fix: prompt-injection-redact would re-hide a revealed container by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/161
- Perf: AbortSignal-cancellable chunked scans for text-heavy rules (#150 Tier 3) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/162
- Fix: scroll to top on SPA navigation in demo site by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/163
- Feat: shadow-aware subtree watcher (#164 Tier 1) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/165
- Feat: shadow-piercing text walkers (#164 Tier 2) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/166
- Feat: shadow-scoped stylesheets via adoptedStyleSheets (#164 Tier 3) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/167
- Docs: closed shadow roots are not protected (#164 follow-up) by @twschiller in https://github.com/pixiebrix/agent-browser-shield/pull/168
Full Changelog: https://github.com/pixiebrix/agent-browser-shield/compare/v2026.6.4.18...v2026.6.5.20
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Agent-browser-shield
All releases →Related context
Related tools
Earlier breaking changes
- v2026.6.2.13 Enforce lib/↔rules/ import boundary via no-restricted-paths
Beta — feedback welcome: [email protected]