github 0xCUB3/wBlock 2.0.1
v2.0.1

14 hours ago

What's Changed

Major Features & Improvements

  • Web Extension Migration (7bc44aa, 739ad1d, 6e8d194, a8136c6, 2986df7, #282)
    Converted wBlock Advanced from a Safari App Extension to a modern Web Extension. This brings cross-platform parity between macOS and iOS and enables GM_xmlhttpRequest routing through the native layer to bypass CORS.
  • Smarter Userscript Auto-Updates (7e95898, 4648f1d, dee8a5a)
    Userscript auto-updates now use a two-phase check involving a lightweight .meta.js fetch to compare @version before downloading the full script. Saves bandwidth and avoids unnecessary writes.
  • Bypass Paywalls Clean Reliability (d449392, d16ed05, 5324790, 82d968d)
    Migrated the BPC userscript from gitflic to Greasy Fork, and the BPC filter list to a Cloudflare Worker proxy. Both sources are now fast and reliable. All gitflic-specific DDoS bypass code has been removed, and wBlock will no longer require accessing any Russian sources.
  • Filter Preprocessing Pipeline (956e677, 672aa6b, 4daab35, bd79061, 61ae687, 932aeb1, 780ea1f)
    Added a full filter preprocessing pipeline with conditional evaluation (!#if), !#include resolution with same-origin checks and cycle detection, and unknown directive stripping.
  • Element Zapper Improvements (629e298, abc97a1, e540ade, 3a2dc36, bcba829, e2067e7)
    Added parent/child element navigation, scroll tracking on iOS, and fixed keyboard escape not exiting zapper mode.
  • Zapper Rule Protobuf Migration (5d2c48e, 562b9f9, 2266a64, b6a2cc5, c8f2b59, 2266a64)
    Rewrote zapper rule storage from UserDefaults to protobuf with proper CRUD and bulk sync support.
  • AdGuard Syntax Highlighting (7a4c2f3, #264)
    The custom filter rule editor now has real-time AdGuard syntax highlighting.

Performance & Reliability

  • Apply Pipeline Speedup (68a07c7, a57bad5, e718c93, 986bde5, 64c4e30)
    Faster site disable/enable, batched MainActor updates, coalesced rapid filter saves, and dictionary-based filter lookups replacing linear scans.
  • AppFilterManager Refactor (213f6e5, 1600ab8, 5726126, d7135e6)
    Split into focused extension files, shared extension handler boilerplate, and extracted common utilities.
  • Extension Safe Mode Log Spam Fix (79e4d49)
    Fixed auto-update telemetry logging the same skip message 80+ times per launch from extension processes. Now logs once.
  • WebExtension Data Race Fix (3b3b7cd)
    Serialized WebExtension access to fix a data race crash.
  • Flush Saves on Termination (67c3f91)
    Coalesced filter saves are now flushed before the app quits, preventing lost changes.

Bug Fixes

  • Userscript Metadata Escaping (5fb6011, #258)
    Fixed userscript metadata not being escaped before JS string literal injection.
  • iCloud Sync Not Offered on New Devices (b8e803e)
    Fixed iCloud sync adoption prompt not appearing on fresh installs.
  • Keyboard Auto-Focus on iOS (3a02265, #249)
    Disabled keyboard auto-focus on iOS add sheets.
  • Regional Filters Empty on Relaunch (9d94efb)
    Fixed regional filters showing as empty after app restart.
  • iPad Popup Clipping (300f228)
    Fixed popup clipping on iPad by removing min-width constraint.
  • Stale Rules Count (083b34c)
    Fixed stale rule count display when all filters are disabled.
  • Custom Filter Auto-Detect Title (3d8e770)
    Custom filter lists now auto-detect their title from ! Title metadata.

UI/UX Improvements

  • Rule Limit Alert (3e5dd40)
    Tapping the Safari Rules pill now shows "Rule Capacity" (informational) instead of a warning when you're well under the limit.
  • Settings Polish (1b12c42, eae74cc)
    Fixed icon alignment, cleaned up Export/Import buttons.
  • Filter List Display (b52096c)
    Removed "(pending)" label from filters that haven't been downloaded yet.
  • Stat Card Alignment (a7971bc)
    Fixed icon and text misalignment in the apply changes summary cards.
  • Auto-Update Interval Picker (eb35908)
    Replaced the auto-update interval slider with a cleaner picker.
  • Apply Changes View Cleanup (c02e729)
    Removed unnecessary backgrounds and summary labels.

Localization

  • New Languages (265da64, 84847aa, de880a6, #229)
    Added Greek and Hungarian translations, updated Korean and German translations, and added plural rules.
  • Missing Keys (2a0268c)
    Added missing localization keys for the apply changes view and restart button.

Dependencies

  • AdGuard Scriptlets 2.2.16 → 2.3.0
  • SafariConverterLib 4.2.1
  • swift-protobuf 1.35.0
  • swift-argument-parser 1.7.0 (reverted to 1.5.0 for Xcode Cloud compat)
  • ZIPFoundation 0.9.20
  • swift-psl 1.1.118

Notes

Thank you for all the feedback and bug reports that shaped this release. If you encounter issues or have suggestions, please open an issue on GitHub.

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.