v2026.6.5.20
What's Changed
- Fix background worker crash by decoupling rules catalog from storage by @twschiller in #130
- Show roach-motel and webdriver-probe detections in the popup by @twschiller in #129
- Route webdriver-probe fallback through chrome.scripting.executeScript by @twschiller in #132
- Document that the extension collects no telemetry by @twschiller in #134
- Skip SVG text nodes in prompt-injection-redact by @twschiller in #135
- Add fast-check property tests for placeholder and pii-redact Luhn by @twschiller in #136
- Add fast-check property tests for encoded-payload-redact by @twschiller in #137
- Add fast-check property tests for injection-pattern rules by @twschiller in #138
- Add cross-origin-frame-redact tests; bump coverage ratchet by @twschiller in #139
- Fix cross-origin-frame-redact watcher missing top-level iframes by @twschiller in #140
- Add irrelevant-sections-redact tests; shared jsdom polyfills by @twschiller in #141
- Cover rule-engine reconciliation paths; bump global ratchet by @twschiller in #142
- Adopt jest-webextension-mock for chrome API stubs by @twschiller in #143
- Cover lib/availability; bump global ratchet by @twschiller in #144
- Cover prompt-injection-redact findContainer escalation paths by @twschiller in #145
- Add property tests for filterToOutermost / filterToInnermost by @twschiller in #146
- Cover lib/selector-hide-rule directly; bump global ratchet by @twschiller in #147
- Cover storage setRuleEnabled / setAllRuleStates / normalize paths by @twschiller in #148
- Cover lib/placeholder and lib/subtree-watcher directly by @twschiller in #149
- Perf: trailing-only throttle, burst flush, O(C^2) outermost-match fix (#150 Tier 1) by @twschiller in #151
- Perf: SPA route-change re-sweep + detached-subtree fast-path (#150 Tier 1S) by @twschiller in #152
- Test: property test for outermost-match, memoization + cross-state coverage by @twschiller in #153
- Perf: propagate outermost/innermost fix to shared dom-utils helpers by @twschiller in #154
- Perf: shared mutation router for subtree watchers (#150 Tier 2) by @twschiller in #155
- Perf: id/class token index + scan from inserted roots (#150 Tier 2) by @twschiller in #157
- Perf: dispatch id/class attribute mutations through the token index (#150 Tier 2) by @twschiller in #158
- Perf: per-rule WeakSet for processed-node skip bypass (#150 Tier 2) by @twschiller in #159
- Fix: disguised-ad-flag re-hid the article a user just revealed by @twschiller in #160
- Fix: prompt-injection-redact would re-hide a revealed container by @twschiller in #161
- Perf: AbortSignal-cancellable chunked scans for text-heavy rules (#150 Tier 3) by @twschiller in #162
- Fix: scroll to top on SPA navigation in demo site by @twschiller in #163
- Feat: shadow-aware subtree watcher (#164 Tier 1) by @twschiller in #165
- Feat: shadow-piercing text walkers (#164 Tier 2) by @twschiller in #166
- Feat: shadow-scoped stylesheets via adoptedStyleSheets (#164 Tier 3) by @twschiller in #167
- Docs: closed shadow roots are not protected (#164 follow-up) by @twschiller in #168
Full Changelog: v2026.6.4.18...v2026.6.5.20