Skip to content

Releases: fazza-abiyyu/Yue-Browser

v1.1.9

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 29 Aug 06:04

[1.1.9] - 2026-08-29

🐛 Bug Fixes

  • Consent Popup False Positives: Expanded semantic dialog detection (role="dialog", aria-modal) and text-based consent matching (cookie, privacy, preferences, TCF, GPC, Google Funding Choices). Consent popups are now protected from adblock CSS and restored via data-yue-popup attribute.
  • Layout Breakage on CDN Sites: Added Brave-style static asset bypass for .js, .css, fonts, and images on multi-purpose CDNs like cdnsolutions.media. Layout assets are no longer blocked at host level, only explicit ad paths.
  • In-Page Script Redirects (Judol): Silent window.location redirects to third-party ad/judol hosts are now blocked on the main frame without triggering blank pages.
  • Video Speed Stuck After Release: Rewrote cancelHold() with deferred native setter restoration, prototype-chain fallback, and multi-video sweep to prevent playbackRate from staying stuck at 2x.
  • Ad Loader CORS Fallback: Blocked responses now return 403 Forbidden without Access-Control-Allow-Origin headers, causing ad config endpoints to fail preflight instead of falling back.

🔧 Adblock Engine Improvements

  • Minimal CSS Hiding: Replaced aggressive height:0 / overflow:hidden / z-index:-1 with display:none / visibility:hidden / opacity:0 to prevent permanent layout corruption.
  • Expanded Consent Patterns: Cookie banner and cosmetic filter engines now reject selectors containing generic consent words (cookie, consent, gdpr, preference, privacy, policy, fundingchoices, etc.) across class, id, and aria-label attributes.

v1.1.8

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 29 Aug 00:30

[1.1.8] - 2026-08-29

🐛 Bug Fixes

  • Reload Not Working on Blank Pages: Pull-to-refresh failed to reload pages stuck in a blank loading state. shouldOverrideUrlLoading was intercepting the reload and re-posting loadUrl via mainHandler.post, introducing a delay/race condition. Now reload() sets lastOverrideTime/lastOverrideUrl so the navigation is not intercepted.
  • CSS Missing Due to cdnsolutions.media Blocked: Domain cdnsolutions.media removed from ad_domains.txt and knownAdHosts to prevent CSS/JS requests from being blocked at the network level. Retained in JS-level detection to hide ad elements from that domain.
  • Ads Leaking (hevexiximyzywy.com): Domain hevexiximyzywy.com added to ad_domains.txt, knownAdHosts, and adDomains JS detection.

🔧 Yue-AdBlock Updates

  • Remote Adblock Rule Expansion: Added video_ads.txt (152 lines), popup_ads.txt (223 lines), anti_adblock_selectors.txt (128 selectors), and streaming.json policy profile. Ad domain list expanded by +2485 domains.
  • Streaming Profile: New policy profile optimized for video streaming sites with balanced ad blocking.

v1.1.7

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 28 Aug 00:27

[1.1.7] - 2026-08-28

✨ New Features

  • QR/Barcode Scanner: Built-in scanner reader powered by CameraX + ML Kit Barcode Scanning. Accessible via the scanner icon on the New Tab home page search bar and the search overlay bar. Scanned URLs open directly; non-URL results (text, numbers) are sent through the default search engine. Features a dimmed overlay with a transparent scan window and corner brackets for precise framing.
  • Themed Scanner Icon: Scanner icon follows the browser's accent color — pink for normal mode, red (#FF002C) for incognito mode.

🐛 Bug Fixes

  • Ghost Ads / Popunders: Blocked cross-domain popup windows via window.open(), popunder redirects via location.assign()/location.replace(), clicks on ad-network <a> links, and auto-removed ad iframes and video ad players from the DOM.
  • Back Navigation Opening Ads: Added markRedirectUrlForSkip() to track ad redirect URLs. The goBack() method now checks the history stack and skips ad-domain entries, navigating directly to the previous legitimate page.
  • Video Ads: Expanded VAST/VPAID blocking patterns (25+ new signatures including ad_break, adplayer, video_ads, etc.), added detection for ad iframes and video ad players, and blocked 100+ additional video ad networks (Brightcove, Brid.tv, Teads, Connatix, Playwire, etc.).
  • Aggressive Cosmetic Filtering: Switched from el.remove() to CSS-only hiding (display:none, visibility:hidden) to prevent JavaScript errors on ad-heavy sites. Added periodic DOM rescan (5s interval) to catch dynamically injected ads.

🔧 Adblock Engine Improvements

  • Expanded Ad Domain Blocklist: Added 200+ ad domains across popup networks (shrinkearn, linkvertise, adsco.re), video networks (brightcove, teads, brid.tv, vidoomy), and ad networks (popads, propellerads, adsterra, exoclick, etc.).
  • Enhanced JS-Level Ad Blocking: blockAdIframes() removes src attributes from iframes loading ad domains. blockVideoAdPlayers() hides elements with ad player classes (preroll, midroll, vast-player, instream).
  • Improved Popup Detection: Better detection of cross-domain window openings and <a> link clicks targeting ad networks.

v1.1.6

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 27 Aug 12:47

[1.1.6] - 2026-08-27

✨ New Features

  • Remote Adblock Engine: Modular adblock with remote policy sync via Yue-AdBlock Strategy Center (https://github.com/fazza-abiyyu/Yue-AdBlock). Four policy profiles (Balanced, Aggressive, Minimal, Anti-Judol), dynamic filter updates without app rebuild, hash-based change detection to minimize bandwidth, and 6-hour cooldown sync on app open.
  • Three-Layer Adblock Architecture: Strategy (BE policy/rules) → Rules (filter data) → Engine (native Android implementation with HostBlocker, CosmeticService, RedirectService).
  • Host Blocking: Parses easylist.txt and abpindo.txt domain patterns (||domain.com^, |https://domain.com/) for network-level ad blocking with whitelist support and fallback domains.
  • Redirect Bypass: Detects ad-network redirect chains (e.g., shrinkearn.com → tpi.li) and extracts final target URLs directly, bypassing intermediate ad pages for download links.

🏗️ Refactored

  • AdBlockManager → AdBlockEngine: Full modularization into services — BlockingService, RedirectService, CosmeticService, with clear separation of concerns for maintainability.
  • BE Pattern: Yue-AdBlock backend follows cp-center/elysia pattern — Elysia + OData v4 + Zod validation, deployed on Vercel with Bun runtime.

🐛 Bug Fixes

  • Blank/White Screens: Switched from aggressive DOM removal (el.remove()) to CSS-only hiding (display:none, visibility:hidden, height:0) to prevent site JavaScript errors.
  • Permission Popups Not Showing: Fixed onPermissionRequest() and onGeolocationPermissionsShowPrompt() to not prematurely deny before system permission dialogs complete.
  • Clicks Not Working: Removed pointer-events: none CSS injection and stopped breakAdTimers() from blocking legitimate click handlers.
  • Back Navigation Broken: Removed HTTPS upgrade for IP addresses and added suppressAutoSave flag to prevent corrupted WebView state from being saved during error page loads.
  • State JSON Corruption: Added stateWriteLock (write lock) to prevent concurrent JSON file write race conditions during tab state restoration.
  • Adsco.re Ads Not Blocked: Added parseHostPatternsFromList() to parse easylist.txt domain patterns into HostBlocker.
  • Cleartext Traffic Blocked: Set cleartextTrafficPermitted=true in network security config and AndroidManifest for all domains.

v1.1.5

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 19 Aug 23:50

[1.1.5] - 2026-08-20

✨ New Features

  • Set Default Browser Setting: Added an option under General settings to set Yue Browser as the default system browser with dynamic status check using RoleManager (Android 10+) and system settings fallback. Fully localized in English and Indonesian.
  • Block External App Redirects Setting: Added a Privacy & Security toggle to prevent redirects or link clicks from launching external apps (e.g. Facebook, Play Store) and force them to load inside the browser. Fully localized in English and Indonesian.

🐛 Bug Fixes

  • Background WebView Crash Recovery: Handle WebView rendering process crashes programmatically in onRenderProcessGone by scheduling an automatic page reload, and manage WebView resources during Activity pause/resume.
  • Media Player False Notifications: Added validation to prevent empty media player notifications from appearing before media playback has actually started.
  • Incognito Back History Restoration: Fixed an issue where incognito tabs lost their navigation history (back/forward state) after being restored from the background.

🗑️ Removed

  • REQUEST_INSTALL_PACKAGES Permission: Removed the sensitive APK installation permission to comply with Google Play Store policies.

v1.1.2

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 11 Aug 06:11

✨ New Features

  • Site Permissions Screen: Add per-site permission management screen (SitePermissionsScreen.kt) with Location, Camera, and Microphone overrides and one-click reset
  • IP & DNS Checker Screen: Add network diagnostics screen (IpDnsCheckerScreen.kt) that detects active VPN/Proxy transports via ConnectivityManager
  • Security & Privacy Settings: Add HTTPS-Only Mode, Do-Not-Track, third-party cookie blocking, fingerprint protection, referrer control, and Safe Browsing toggles, plus per-domain permission persistence

📝 Documentation

  • Rewrite all docs/ guides with relative source-file paths (GitHub-safe) and reusable code references
  • Clean up README.md: add public/preview screenshots, tidy feature list, and link to feature docs

v1.1.1

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 04 Aug 05:40

🐛 Bug Fixes

  • Fix tab state corruption – Empty popup tabs no longer appear during state restore or tab switching. Added suppressPopupCreation flag and mutex-serialized state writes.
  • Fix hold speed bug – Video no longer gets stuck in 2x speed after releasing the hold gesture. Original rate is now saved for all video states.
  • Fix scroll false-trigger refresh – Pull-to-refresh no longer accidentally triggers when scrolling down on manga/comic sites.
  • Fix group drag-drop – Group drag-drop zone now correctly detects drops.
  • Fix adblock video visibility – Video visibility restored after ad skip.
  • Fix yue state writes – Tabs state JSON now uses safe temp-file rename strategy.

✨ New Features

  • URL Probing & Smart Filename – Intelligent filename extraction for downloads.
  • Sponsored/Promoted Ad Selectors – Improved ad detection.
  • Top Bar Component – New top bar with refined split-tab slot management.
  • URL path blocking – Added pattern-based URL path matching to block ad/malware sub-resources.
  • Cosmetic CSS chunking – Optimized CSS cosmetic rules injection by dividing selectors into 200-element chunks to prevent browser layout engine stutter.
  • Parent domain resolution – Enhanced domain parsing in PasswordRepository to support multi-level TLDs (e.g. .co.id) for accurate credential auto-fills.
  • Speed dial base URL – Modified speed dial additions to save clean base URLs for tidier item listing.

⚡ Performance

  • YouTube ad blocker optimized with CSS :has() selectors
  • Adblock filter loading refactored
  • Undo-close-tab timer optimized with ViewModel jobs
  • Swipe-to-refresh scroll gesture detection simplified inside WebView renderer
  • Tab restoration logic optimized when zero tabs are present

v1.1.0

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 23 Jun 08:46

✨ New Features

  • Language & theme selection.
  • Adblock filter synchronization.
  • Interactive element picker.
  • Welcome screen.
  • Video orientation lock.
  • Automatic retry for interrupted downloads.
  • Improved popup and tab blocking.

🛠 Improvements

  • Redesigned tab switcher UI.
  • Better cookie flushing.
  • More robust file path validation.
  • System dark mode detection.

🐛 Bug Fixes

  • Download reliability improvements.
  • Popup handling fixes.
  • Tab closing fixes.
  • Various stability and performance improvements.

v1.0

v1.0 Pre-release
Pre-release

Choose a tag to compare

@fazza-abiyyu fazza-abiyyu released this 21 Jun 06:55
pre-release

docs: update README with interactive element picker and adblocker fea…