github shreyagarwal72/petal v4.8
Petal Browser v4.8 Release

29 minutes ago

🚀 Petal Browser v4.8 (Build 480)

Mozilla GeckoView Beta 161 & Android Components 161.0b3 Migration with Full Wiring Fixes & Account Redesign

🌐 Latest Engine & Component Upgrades

  • GeckoView Beta 161: Upgraded to org.mozilla.geckoview:geckoview-beta:161.0.20261113104103, delivering the bleeding-edge web platform capabilities, security patches, and performance enhancements.
  • Mozilla Android Components 161.0b3: Upgraded all 38 Mozilla components to 161.0b3, bringing synchronized feature layers across browser state, engine sessions, downloads, site permissions, search, top sites, sync, and add-on management.
  • Updated User-Agent Profiles: Refreshed mobile and desktop Firefox user agent identifiers to rv:161.0 / Firefox/161.0.

📱 Standalone Viewers & Native Predictive Back

  • Task Affinity Isolation: Assigned distinct task affinities to Petal's standalone viewers (com.petal.browser.viewer.pdf, .file, .image, .media), opening each document into its own Recents task card without nesting in the browser task stack.
  • Document Launch Modes: Configured documentLaunchMode="always" for PDF, File, and Image viewers, and intoExisting for the Media Player.
  • Native Predictive Back: Integrated enableOnBackInvokedCallback="true" with system-level back handlers for fluid back-gesture animations that finish the standalone viewer directly without double animations or lingering process state.
  • Clean Intent Separation: Retained browser handling for web links, HTML/XHTML, password vault, and extensions while delegating media and file viewing directly to the isolated viewers.

🏗️ Full Mozilla Android Components Migration & Wiring Hardening

  • Phase 1 (External Schemes, Web Notifications & Media): Handled external scheme resolution via feature-app-links with strict user-gesture gating against automated script launches; wired Web Notifications via feature-webnotifications complying with Android 12+ notification trampoline guidelines; streamlined ServiceWorkerDelegate tab creation with background cold-start resume queueing; unified tab thumbnails and icons via browser-thumbnails and browser-icons.
  • Phase 2 (Permissions, Prompts, Search, Top Sites): Wired feature-sitepermissions with origin and private session isolation; eliminated prompt feature redundancy by cleanly isolating PromptFeature and PetalBrowserPromptBridge; added support for TimeSelection format parsing, login credential selection sheet, FedCM identity credentials, and Liquid Glass dialog presentation.
  • Phase 3 (Places, Syncable Logins & Session Restore): Re-established bidirectional visit forwarding to Mozilla's HistoryDelegate while protecting private tabs; upgraded credential vault autocomplete to SyncableLoginsStorage; harmonized history title recording across page navigation events.
  • Phase 4 (Add-on Manager, PWA, Custom Tabs): Maintained web extensions management via AddonManager, persisted PWA manifests via ManifestStorage, and refined Custom Tabs configuration with CustomTabConfigHelper.
  • Engine Variant Guard: Introduced the checkGeckoViewVariants Gradle verification task to ensure strict single-engine variant resolution during APK and AAB bundle builds.

👤 Unified Account & Profile Center

  • Account Redesign Integration: Merged comprehensive PetalAccountScreen and PetalAccountRepository with Material 3 Expressive and Liquid Glass theming.
  • Seamless Firefox Sync & Local Profiles: Harmonized Firefox Account cloud sync (FirefoxAccountSyncScreen) and local user profile switches (PetalUserProfileManager) under a unified account management hub.
  • App Lock & Quick Tools Integration: Embedded biometric/PIN app lock controls into Quick Tools and settings categories.

⚡ Build System & CI/CD Speed Optimization

  • WASM & Rust Engine Caching: Added taiki-e/install-action@v2 for wasm-pack, Swatinem/rust-cache@v2 for native/adblock_rs, and cached petal_network_blocker/wasm assets to bypass redundant compiles.
  • Fast Build ABI Filtering: Added -PfastBuild property to build only arm64-v8a during normal PR and branch pushes, preserving full 4-ABI + Universal APK bundles for tags and releases.
  • Play Store Bundle Isolation: Separated Github release APK builds from Play Store AAB bundle generation with -PnoSplits to prevent AGP 9.x Proto split resource conflicts.

Don't miss a new petal release

NewReleases is sending notifications on new releases.