github shreyagarwal72/petal v4.0
Petal Browser v4.0 — Rebirth

4 hours ago

🌸 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

Don't miss a new petal release

NewReleases is sending notifications on new releases.