v1.0.0 #157
0xCUB3
announced in
Announcements
v1.0.0
#157
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
What's Changed
Major Features & Improvements
Critical Auto-Update Infrastructure Fixes (
72477e4,17850c0,80f5d8d,711b64b,8cc8313)Fixed race conditions in auto-update concurrency that caused updates to get stuck in a running state. The system now properly clears stale running flags on app launch and uses a 5-second cache to reduce excessive reads. Background filter updates now work reliably on both iOS and macOS with proper BGTaskScheduler integration to prevent battery drain.
Complete Protocol Buffers Migration (
4f3378d,87456a8,c0544c4)All remaining UserDefaults and @AppStorage properties have been migrated to Protocol Buffers, including auto-update settings, tab tracking, and badge counter state. The migration provides 100% centralized data storage with atomic saves, automatic backups, type-safe APIs, and proper default values for new users. This eliminates race conditions from distributed UserDefaults access across extensions and provides a single source of truth for all app state.
Enhanced Userscript Compatibility (
34a60f5,6e90ba6,353a0e1,778cb1d,3b1efe9,c3bdb3d)Major improvements to userscript support including GM_addStyle API for CSS injection, @noframes directive support, @resource loading with GM_getResourceText, GM_addElement for CSP-safe element injection, and GM.addValueChangeListener/removeValueChangeListener. The
@requiredirective now downloads and prepends external script dependencies automatically. ProperunsafeWindowimplementation now provides access to page context instead of isolated extension context, fixing compatibility with scripts like AdGuard Extra and Twitch ad blocking.Userscript Injection and State Management (
4aef242,88f3b62,8f431dd,80dbfa0,243e656)Fixed critical userscript injection scope issues where logging helper functions weren't accessible in dynamically injected script tags. Fixed action name mismatch (
requestUserScripts→getUserScripts) that prevented scripts from loading on iOS. Added persistence for userscript UI state including "Show Enabled Only" toggle and excluded default userscript URLs. Debug logging is now conditional based on build configuration.Auto-Disabled Filter Management (
e382948)wBlock now intelligently tracks and displays filters that were automatically disabled because their category exceeds Safari's 150,000 rule limit. This logic should be improved and more reliable than before.
Enhanced Custom Filter Validation (
af7bd45)Custom filter lists now support both HTTP and HTTPS URLs without file extension restrictions. Downloaded filters are validated for content to ensure they are valid filter lists, with clearer user feedback on success or failure when adding a filter.
Critical Setup Checklist (
7549dd9)Added a post-onboarding setup checklist to ensure users enable all required extensions. The app now tracks content blocker and platform extension setup state and displays critical setup requirements for features like YouTube ad blocking.
Foreign Filters Section Collapsibility (
e41ae02)The foreign filters section (54 filters) is now collapsible to reduce clutter on the filter page.
Performance & Reliability Upgrades
Refined Filter Parsing and Metadata Management (
eac074f,80dbfa0)Filter parsing now correctly treats only lines starting with "!" as comments, preserving CSS selectors that begin with "#". Metadata version values now sanitize placeholder values like %timestamp% and %date% to prevent spurious update checks. Filter URLs have been updated for reliability, including AdGuard Annoyances switching to refs/heads/master.
Memory-Efficient Processing Improvements (
5445ad6,a0bbaf1,50d995c,18e7b39)Fixed async/await usage in filter conversion for proper memory management. Network requests now use custom URLSession configurations with proper timeouts and resource management instead of shared sessions.
Duplicate Userscript Management (
6a12557,2fa6936,4a770de)Enhanced detection and removal of duplicate userscripts with case-insensitive name matching. The system now tracks deleted default scripts to prevent re-adding them and prompts users to confirm removal of older duplicate versions.
Improved Data Handling (
6e3b841,28bebde,7fe9f64)Fixed handling of empty data and proper accounting for last lines without newlines in filter processing. Improved error handling throughout the data pipeline for better reliability.
Notes
Your feedback is invaluable. If you encounter issues or have suggestions, please open an issue on GitHub.
Thank you for supporting wBlock and helping make Safari the best browsing experience possible!
Download
Download from the App Store: https://apps.apple.com/app/wblock/id6746388723
Join the Discord: https://discord.gg/Y3yTFPpbXr
This discussion was created from the release v1.0.0.
Beta Was this translation helpful? Give feedback.
All reactions