Hello everyone, I am gz83, a collaborator on the Thorium browser project. Since Alex is currently unavailable to update Thorium, I have temporarily taken over the task, and this release is a major update to the stable version of M151. The code is available here:
https://github.com/gz83/thorium
I think the current version is quite stable, and I'm only marking it as BETA because it hasn't been officially released by Alex yet.
Welcome to use Thorium. Please submit any issues you encounter in the main Thorium repository using the issue template:
https://github.com/Alex313031/thorium/issues
Here are the release notes for this release:
(Due to space limitations, not all changes are fully summarized.)
Thorium version update
- Updated the Chromium base to Stable
151.0.7922.72and migrated the Thorium patch set to Chromium M151's current interfaces and source layout. - This release also includes Thorium fixes accumulated after
150.0.7871.101, including the work completed during the150.0.7871.129stage.
Chromium 150 → 151 upstream highlights
This section separately summarizes upstream changes between the local Chromium source tags 150.0.7871.101 and 151.0.7922.72; these are not Thorium patch-set changes. Actual availability may still depend on platform, flags, enterprise policy, or Chromium's staged rollout.
- Chromium 151 raises the minimum supported macOS version to macOS 13. macOS 12 and earlier cannot run this Chromium/Thorium generation.
- On desktop configurations where Split View is available, opening a link in split view is enabled by default. Use
Ctrl+Alt+Click(Command+Alt+Clickon macOS) to place the link beside the current tab. - Tab Search adds ICU-based diacritic-insensitive matching, so
cafecan matchCafé, plus flag-controlled CJK word-boundary ranking. Experimental vertical tabs received substantial drag-and-drop, tab-group, scrolling, context-menu, and keyboard improvements, but remain disabled by default in M151. - Omnibox Page Actions complete their default migration to the unified Action framework, while tab-strip controls continue converging on shared components. These architectural changes provide a common command and layout foundation for sharing, page actions, and Tab Search.
- Linux enables the XDG File Transfer Portal by default, improving secure file transfer through copy, paste, and drag-and-drop in sandboxed environments such as Flatpak. Android adds “Open in reading mode” to the empty-page context menu and enables the HTTPS-First warning dialog by default.
- The preloading pipeline enables integrated Prefetch and Prerender by default, and desktop builds allow up to three parallel prefetches by default. The image loading prioritization correction is also enabled to keep resource scheduling behavior consistent.
- Newly shipped or default-enabled web-platform capabilities include WebGPU subgroup size control, WebGPU immediates, multiple FedCM requests,
Blob/Request/Response.textStream(), CSSruby-overhang, and ARIA Actions. - The media stack enables hardware H.264 encoding for Cast Streaming by default and launches WebRTC color-accuracy improvements outside ChromeOS. PDF V2, external editing, ink signatures, and annotation-saving flows also received multiple fixes.
- The M151 upstream range includes hardening against Bluetooth pairing-confirm keyjacking, WebAuthn authenticator use in PDF renderers, external extension messages from error pages, and relative paths in TWA launch queues, plus fixes for potential use-after-free issues in X11 window movement and macOS video capture.
Thorium highlights
- Added a safety-controlled
thorium://alias for internal pages. Thorium branding is shown in the address bar, suggestions, copied URLs, status surfaces, Tab Search, and relevant Android UI, while navigation is canonicalized to Chromium's existingchrome://URLs. Existing WebUI, policy, and extension compatibility is therefore retained, andchrome://remains accepted. - Fixed classic uBlock Origin preinstallation for new profiles. Thorium now registers uBO through Chromium's preinstalled-extension provider instead of relying on a fragile packaged
default_appsdirectory. Initial pending downloads are no longer blocked by Thorium's default disabled extension auto-update policy. The change targets new profiles and does not force a reinstall after the user removes uBO. - Redesigned the x86 SIMD configuration. SSE2, SSE3, SSE4.1, SSE4.2, AVX, AVX+FMA, AVX2, AVX2+FMA, and AVX-512 Skylake-X profiles are now derived from one GN policy and share minimum CPU-feature definitions with the installer. The new
check_simd.pyvalidates either the current machine or a build'sargs.gn. - Hardened the Windows mini installer with a baseline-safe CPU preflight before optimized payload execution. Interactive installs show a localized error on unsupported processors, while silent installs return a dedicated status. The Task Dialog UI now supports Per-Monitor V2 DPI and provides improved confirmation, progress, success, and failure information.
- Updated bundled desktop Widevine payloads to
4.10.3050.0and separated the copying of prebuilt signatures from Widevine host-verification semantics. ChromeOS payloads remain architecture-specific and are documented independently from desktop payloads. - Migrated the PAK utility to the Rust 3.x implementation with support for Chromium PAK v4/v5, Brotli resources, and the Microsoft Edge v5 variant. Linux x64/ARM64 and Windows x86/x64 prebuilts were refreshed with reproducible cross-platform CI, checksums, and round-trip validation.
Thorium UI and tabs
- Refactored Thorium 2024 UI by responsibility and migrated it to M151. When disabled, modified native and Settings WebUI call sites return to Chromium dimensions, shapes, and styling. When enabled, Th24 retains its denser classic layout, translucent inactive tabs, selected older icons, and folder visuals.
- Fixed Th24 RTL toggle movement, keyboard focus indication, Touch UI layout leakage, the macOS Omnibox focus ring, Linux bookmark-folder visuals, and the Linux system-title-bar default, among other cross-platform issues.
- M151 uses the unified horizontal Tab Strip Combo Button. Thorium keeps it on the physical right by default and provides
#left-aligned-tab-strip-combo-buttonto move the whole control to the physical left, including under RTL layout. - The Sharing Hub address-bar action is visible by default in eligible normal windows while continuing to honor enterprise policy, Incognito/Guest restrictions, popup-window behavior, and platform icon conventions.
- Expanded
#disable-thorium-iconsfallback coverage to navigation arrows, the main browser menu, and extension-management menu surfaces so enabling it restores Chromium icons more completely. - Added independent flags to hide QR Code and Cast entries from rendered-page context menus. Hiding the Cast item does not disable Media Router or other Cast entry points.
- Fixed accidental Linux PRIMARY-selection paste when middle-click autoscroll is enabled, and corrected
Ctrl+Wbehavior when closing the window with its last tab is disabled. - Improved M151 Tab Search combo-button integration, the AUTHORS link on the version page, downloads page information, the bookmark dialog's default folder, and Linux desktop icon matching.
Thorium performance and platform builds
- Windows/Linux x86 release builds retain PGO, ThinLTO, and Thorium's link-time optimization parameters. ISA flags, tuning targets, and installer checks are now derived from the same profile to reduce drift between build targets.
- The published AVX2 configuration uses the stricter
avx2_fmaprofile and requires AVX2, FMA, F16C, and OS AVX-state support. AVX-512 builds require the complete Skylake-X subset and matching OS state support. Runpython3 check_simd.py --list-profilesbefore upgrading when uncertain. - Cleaned up ARM build configuration. Supported targets can use XNNPACK ARM FP16 vector optimization, Raspberry Pi ARM64 retains Cortex-A72 tuning, and Android ARM32/ARM64 continue to follow Chromium's architecture-specific PGO and orderfile workflows.
- Fixed Zstd BMI2 intrinsic target detection under clang-cl, preventing AVX2 Windows builds from incorrectly inlining
_bzhi_u64without BMI2 support.
Thorium packaging, portable builds, and developer tooling
- Added a unified cross-platform
portable.pythat creates release-named ZIP archives from Linux DEB packages or Windows mini installers. It validates payload layout, version, and SIMD profile, and uses isolated temporary state, concurrency locks, and atomic publication to avoid partial output. - Hardened Linux and Windows portable launchers and provided separate Thorium Browser and Thorium Shell entry points. Portable mode still weakens OS-bound credential protection for mobility, so portable profile directories should be treated as sensitive data.
- Refined Linux DEB/RPM packaging, desktop files, Thorium Shell integration, and installer artifact naming; fixed AVX-512 portable naming and Linux desktop icon matching.
- Moved macOS icon generation to Chromium's current
AppIcon.icon,Assets.car, and modernapp.icnsflow, with separate CI artifacts for inspection without a local macOS machine. - Consolidated the former
trunk.sh,version.sh,setup.sh,build*.sh, andclean.shentry points into Python 3.11 tooling. Build, sync, cleanup, debug packaging, AppImage, LLVM, and icon workflows now share more consistent cross-platform validation and error handling. - Decoupled internationalization from M150-specific patch history. Thorium-owned and restored upstream strings cover Chromium's 81 locales, with stronger validation for XTB conflicts, placeholders, directional controls, and grammatically correct Basque candidates.
Thorium maintenance and distribution notes
- Removed the incomplete legacy Windows updater integration. This release does not claim to provide a Thorium-operated Windows automatic-update service.
- Temporarily removed the obsolete Flatpak packaging tree. Flatpak is not a release artifact until it is redesigned around the current Chromium packaging model.
- Removed unused overlay resources, the legacy PAK implementation, duplicate scripts, stale GN argument snapshots, and obsolete documentation while retaining resources that still provide Thorium customization overlays.
Thorium upgrade notes
- Download a build matching the target CPU; an unsupported SIMD build may fail before the browser starts.
- Automatic uBlock Origin preinstallation primarily applies to profiles created after this fix and does not force-backfill every existing profile.
thorium://is an input and presentation alias. The correspondingchrome://URL remains available for compatibility troubleshooting.- Portable mode disables some OS-bound encryption to remain movable and should not be treated as equivalent to a normally protected browser profile.