🌸 Petal Browser v4.0 — Rebirth
The biggest update yet. From the ground up, v4.0 rewrites the Petal experience — a brand-new engine layer, fully expressive Material 3 UI, deep privacy upgrades, and a rock-solid stability foundation.
✨ What's New in v4.0
🎨 Material 3 Expressive UI — Complete Redesign
• All screens rebuilt with Material 3 Expressive containment groups, hero cards, and layered surfaces
• Smooth, physics-based spring animations throughout the entire app
• Redesigned Tab Switcher — drag-to-merge Tab Groups, pinch-zoom, live previews, and search
• Redesigned overflow menu with forward button, quick action matrix, and Chrome-like top row
• New website loading skeleton with fade-in shimmer instead of a plain progress bar
• Redesigned About & Developer pages with authentic M3 Expressive layout
• Redesigned Backup & Restore, Privacy Shield HUD, and Autofill save dialogs
• Settings pages (Privacy, Appearance, Display, AddressBar, Media, Misc, Updater) rebuilt with connected containment groups
🔧 Dual Browser Engine (New Architecture)
• Brand-new PetalTabViewController engine based on Android Components / Firefox-grade rendering
• Seamless tab switching between the legacy GeckoView engine and the new AC engine
• All Quick Tools (Reader Mode, Dark Mode, User Agent, Dev Notes, Image Grabber, Site Styles, Full-page screenshot) now work universally on both engines
• Tab thumbnails, history recording, favicon loading, and media controls all unified across both engines
🔒 Privacy & Security — Firefox-Grade
• Rebuilt adblocker with uBlock-level filter lists and real-time toggle in Privacy Shield HUD
• Rebuilt popup blocker and Private DNS-over-HTTPS (TRR) settings
• Full Firefox-grade privacy protections across all settings — fingerprinting resistance, tracking protection, cookie policies
• Custom Tab activity now correctly handles download links and external app responses
• Autofill: new M3 chip/save dialog with proper save extraction and GeckoSession storage delegate
📜 History — Fixed
• Regular tabs now correctly record browsing history to the local database
• History is deduplicated by URL and updated with the latest timestamp + page title on revisit
• Incognito tabs are correctly excluded from history recording
🎵 Media & Video
• Native video player with full-screen, navigation bar hiding, and TV casting support
• Media controls rebuilt with correct mute, play/pause, and seek across both engines
• Video player theme matches the browser's current color scheme
• Removed floating media island (replaced with native controls)
📑 Tab Manager — All Options Working
• Mute/Unmute Site — now works on both engine types
• Mute label correctly reflects live mute state when menu opens
• Favicon shown correctly for all tab types in the switcher
• Add to New Group, Duplicate, Bookmark, Share, Pin, Select, Close Others — all verified working
• Tab thumbnails persist across app restarts
🔗 Extensions & PWA
• Built-in extension popup restored with real WebExtension rendering
• Curated extension store with yt-dlp social downloader integration
• PWA install, .xpi import, and settings tab integration fixed
🧹 Stability & Polish
• Fixed predictive back gesture — website preview, homepage exit animation, app lock transitions
• Fixed pull-to-refresh: reliable engagement, no lockouts, correct positioning under address bar
• Fixed bottom address bar visibility and bottom nav overlap
• Fixed GeckoSession delegate override and invalid theme references
• Fixed blank 0 KB backup/bookmark exports
• Fixed Firefox Sync — removed broken import history/bookmarks option
• Removed petal:config debug page entirely
• Default browser prompt added in the permissions dialog
• Widgets: all icons updated to white-base drawable variants
📊 By the Numbers (v3.0 → v4.0)
• 900+ commits since v3.0
• 2 browser engines unified under one interface
• 10+ screens redesigned with Material 3 Expressive
• Firefox-grade privacy stack rebuilt from scratch
Full Changelog: v3.0...v4.0