What's Changed
Major Features & Improvements
- Tube Cleaner & Player Cleaner (
8a616f82, #481)
Added optional remote userscripts that replace site players with native Safari video before first paint. Tube Cleaner targets YouTube; Player Cleaner targets other media sites. Restores Picture-in-Picture, background playback, chapters, captions, SponsorBlock skips, and optional DeArrow branding. Scripts update from the wBlock-userscripts repo independently of the app version; content-blocking rules still handle ads. - Built-in No Autoplay (
48e76825,3ebd074c, #534, #551)
Added a first-party No Autoplay implementation in the Scripts extension that keeps media paused until a user gesture. Enabled globally from the Safari toolbar popup; per-site allow exceptions are stored in Site Settings rather than as a userscript. - Dark Reader Integration (
0d91189c,efe12aef, #524)
Added an optional Dark Reader install with an in-app appearance setting, so pages can follow a dark theme without a separate Safari extension. - CSS Preprocessors for Userstyles (
11fe8121,6ee1d803,7492f202, #522)
UserCSS themes can use Less, Sass, and Stylus. Compiled output is cached, and compiler execution is bounded. - Native SwiftUI Chrome (
fac48c8d,4ab86a1f, #490, #539)
Sheets, lists, and toolbar search use native SwiftUI. The Scripts popup is a compact native sheet instead of the old web-styled layout. - Onboarding Welcome and Regional Flow (
0aa71c87,98232d95,cd3b3e7e)
Onboarding starts on a welcome screen, drops to four steps, and the regional filter step was redesigned. - Differential Filter Updates (
7597d570)
Filter lists can update incrementally instead of re-downloading the whole list every time. - Allowlists and LAN Intrusion (
7118a44e,1867065a)
Added an Allowlists filter category, plus a LAN intrusion list. - Rule Capacity Bar and Live Blocker Status (
d0f7062d,2522c78d)
Added a visual 5-slot rule capacity bar, and real-time Content Blocker status detection so you can see which extensions Safari actually has enabled. - Scriptlets 2.5.1 (
ee09cca5)
Extension JS rebuilt on scriptlets 2.5.1. SafariExtension stays at 4.3.0.
Performance & Reliability
- Faster Safari Browsing and Filter Applies (
eba887f2, #501)
Safari content runtime dropped from 536 KB to 54 KB by keeping the generated scriptlet registry in the background. Filter application reuses affinity inputs and skips unchanged engine publishes. - iCloud Sync (
8095cbb4, #475)
Bounded retries, no-op skips, throttling, and concurrency so sync does less work when nothing changed. - Foreground Update Safety (
56553486,0fa09e4e, #538)
Combined engine publish is shielded from 0xDEAD10CC kills during foreground auto-update. Filter conversion is cancelled before iOS suspends, and apply retries after a cancelled conversion. - Upgrade and Fetch Fallbacks (
7ca1d9ed,097619d9, #544, #545)
Filter list fetches fall back when a source fails. 2.2.0 leftover userscripts and tinyShield regional variants migrate cleanly onto 3.0.0. - Skip No-op Reloads (
dcee1bc3, #548)
Safari is not asked to reload content blockers when the compiled rules did not change. - Document-Start Userscripts (
8d4dec9e,aa9467fb, #489)
Fixed Safari document-start injection, and cold-start userscript injection is faster. - Background Update Agent Opt-Out (
88ea2da6)
macOS can turn off the bundled launch agent if you only want updates while the app is open. - Reload Watchdog (
71fcc2cc)
Content blocker reloads now time out instead of hanging apply forever.
Bug Fixes
- Custom Filters (
e31a4947,7420684b)
Fixed custom filters vanishing after add, and duplicate custom filter lists. - iCloud Retired Scripts (
6c271607,b7ff101f,e35300ce)
iCloud no longer restores retired YouTube scripts or resets userscript categories. Backup restore skips those retired scripts too. - Enable on This Site (
c6a81762, #552)
Fixed lag and missed taps on the Scripts popup site toggle. - Element Zapper (
c20734e6, #550)
Fixed zapper Done, Escape, and parent chips. - Player Cleaner (
3cddb754,ac503a2c,b48f6e28, #520)
Skips Amazon, and fixes ESPN plus embedded streams. - Tracking Cleanup Reload Loops (
1481f230)
URL cleanup no longer reloads the page in a loop. - Safari Launch (
de7392a1)
Opening wBlock no longer opens Safari by itself. - Userscript Titles (
f0b01322, #486)
Digits in userscript titles are no longer stripped. - macOS 12 Toolbar (
e45644ee, #517)
Fixed toolbar compilation on macOS 12.
UI/UX Improvements
- Filters, Userscripts, and Settings Overhaul (
893e9547, #510)
Onboarding, filter and userscript organization, search, toolbars, rule-limit messaging, Settings, and screenshots were refreshed. Component-level Pause Blocking controls, category guidance, staged imports, and metadata info views landed in the same pass. - Native Apply Progress (
8a410ea3, #532)
Apply progress is a native status list instead of a busy multi-phase sheet. - Shared Selection Rows (
0fd2cd00, #527)
Filter and userscript selection lists share one SelectableRow. - Scripts Popup (
4ab86a1f,99f0d49b, #539, #541)
Compact native sheet, pinned header, and hairline section edges so the first card no longer tucks under the status capsule. - iOS Portrait Lock (
07cbea46, #559)
Optional portrait orientation lock on iPhone. - Reset Userscripts to Default (
ab205f5f)
One control restores the default userscript set. - AdGuard Annoyances (
4d59c510)
Aggregate control for the AdGuard Annoyances family, with the individual lists still available. - Pull to Refresh and Site Settings Undo (
00f4bd63,3f83720f)
Pull to refresh on filter lists, and undo/redo in Site Settings.
Localization
- Japanese (
61443640, #556, #557, #564)
First Japanese localization, including element zapper copy. Thanks @so-5699. - Turkish (#525, #540, #553, #567)
Continued Turkish updates. Thanks @remad0.
Documentation
- Tube Cleaner FAQ (
8027c090, #560)
Documented embed, hover, quality, and audio-only behavior. - App Store ATS Notes (
3ebf62a6)
Review notes forNSAllowsArbitraryLoadson the app and filter-update helpers. - visionOS Version Badge (
ec23fc4b)
README platform badge now matches the Xcode visionOS deployment target.
Full Changelog: 2.2.0...3.0.0
Download
Download from the App Store: https://apps.apple.com/app/wblock/id6746388723
macOS (Homebrew): brew tap 0xcub3/wblock && brew install --cask wblock
macOS (DMG): wBlock-3.0.0.dmg is attached to this release once notarization finishes.