What's Changed
Major Features & Improvements
- Older Apple OS Support (
60ad4e3, #370)
wBlock now supports older Apple releases: macOS 12.3+ and iOS/iPadOS 15.4+. The app, extension, helper, and build pipeline were updated with compatibility shims for newer SwiftUI APIs and controls. - Built-in tinyShield Coverage (
0848739,66ed9b8,820ba32,504decb,fa87194)
Added tinyShield as a built-in userscript, including regional tinyShield variants for AdShield-heavy sites. Onboarding now shows language-matched regional scripts and enables the baseline userscripts by default while still allowing opt-out. - Userscript Platform Upgrades (
ab1e207,ee8274b,10c7cad,bb10aa7,af367c8,4cc655d,b19aae9,2124e22,7bed16a,4dfccc8)
Improved GM API compatibility with stronger XHR/script loading, binaryblobandarraybufferresponses, XHR progress metadata,overrideMimeType, safer header handling, proxied userscript downloads, Safari iframe fallback handling, stream/runtime port bridging, and relative metadata URL resolution. - Userscript Management and Backups (
b98121a,bffef04,c3a0392)
Backups now include userscripts. Foreign userscripts are grouped in a collapsible section, default metadata refreshes more cleanly, and undownloaded remote userscripts can be enabled directly from the toggle without a separate download button. - Regional Onboarding Improvements (
be59a59,274e7d4,f15b478,7360349)
Regional filter setup is now clearer, with language-grouped foreign filters, recommended filters based on selected languages, split regional language choices, and no reminder-notification prompt during onboarding. - Element Zapper Pause Control (
e031b20)
The Safari popup can now pause saved Zapper rules for the current site without deleting them.
Performance & Reliability
- Background Filter Update Reliability (
75b6410,ddf029a,e0b17e9,a5dfc0d,03f656b)
Background updates now have the right networking and shared-state permissions, respect the configured update interval, handle helper/XPC-triggered runs more safely, report Safari content blocker reload failures, and fail closed when shared filter state is unavailable instead of reporting false success. - macOS Helper and Distribution Reliability (
60ad4e3,e19587f,38844d5)
The macOS scheduled update helper was reworked around a login item path for the wider OS range, Xcode Cloud archive behavior was fixed, and the Homebrew/DMG signing flow was refreshed. - iOS and Shared Storage Hardening (
bbde8cc,ce9bddf,ca76c58)
Improved iOS protobuf background saves, fixed iOS filter engine publishing, and replaced advisory shared-storage locks with coordinated writes to reduce app/extension contention andRUNNINGBOARD 0xdead10ccsuspension kills. - Userscript Update Safety (
427e13e)
Metadata prefetching, remote downloads, and scheduled userscript updates no longer rely on stale array indexes when scripts change during async work. - Early Userscript Injection (
8bf3a43)
Userscript payload loading now prioritizes earlier@run-atscripts, especiallydocument-start, and reuses cached payload promises. - Content Blocker Compatibility (
348bfb9,dcc24f5)
Expanded built-in scoped compatibility rules for common adblock diagnostic sites and YouTube scriptlet coverage, invalidated the compatibility cache fingerprint, and bundled Public Suffix List resources with the core service target.
Bug Fixes
- Custom Filter List Validation (
724e0b4)
Custom filter list imports now reject userscript URLs (.user.js,.js,.mjs,.cjs), pasted userscript metadata blocks, and HTML challenge pages instead of treating them as filter lists. - Element Zapper Cancel State (
29795be, #372)
Fixed the Zapper cancel button and status text in the Safari extension UI. - Userscript XHR Edge Cases (
10c7cad,7bed16a,b19aae9)
Fixed XHR header separator escaping, improved iframe fallback configuration, and honored userscript XHR MIME overrides through the native bridge.
UI/UX Improvements
- Foreign Filter and Userscript Organization (
be59a59,bffef04,820ba32)
Foreign filters and userscripts are easier to browse, with language grouping and a collapsible foreign userscript section. - Onboarding Defaults and Copy (
504decb,fa87194,f15b478,7360349)
Onboarding now preselects baseline userscripts, shows regional scripts only when relevant to selected languages, uses clearer regional copy, and removes the old notification-reminder step. - Userscript Toggle Flow (
c3a0392)
Turning on a remote built-in userscript now downloads it as part of the toggle action.
Localization
- Localized Onboarding and Extension Text (
29795be,e031b20,f15b478,bffef04,fa87194)
Added localized text for the Zapper popup changes, regional onboarding copy, tinyShield descriptions, and baseline userscript onboarding. - German Translation (
6d1473e, #386)
Rephrased German localization strings for clarity.
Documentation
- Install and Distribution Docs (
691466f,38844d5)
Documented the App Store as the preferred install path and updated Homebrew/DMG release documentation. - Ad Blocker Comparison Updates (
61f5385,0960f08,4003d1a,8960a9e)
Expanded and refined the ad blocker comparison, including the AdGuard iOS naming correction. - tinyShield Privacy Policy Note (
66ed9b8)
Updated the privacy policy to list tinyShield and the site-specific tinyShield scripts among default userscripts.
Notes
This release focuses on wider OS compatibility, more reliable background updates, stronger userscript support, and better regional anti-adblock coverage. If ads still appear after rebooting or restarting Safari, please open an issue with a fresh wBlock log export so we can tell whether Safari failed to reload blockers, filters failed to apply, or the site needs additional userscript/list coverage.
Download
Download from the App Store: https://apps.apple.com/app/wblock/id6746388723