github 0xCUB3/wBlock 2.1.0
v2.1.0

2 hours ago

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, binary blob and arraybuffer responses, 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 and RUNNINGBOARD 0xdead10cc suspension 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-at scripts, especially document-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

Join the Discord: https://discord.gg/Y3yTFPpbXr

Don't miss a new wBlock release

NewReleases is sending notifications on new releases.