Download 150.0.7871.46 from the Chrome Stable for Linux
Download Google Chrome 150.0.7871.46 with the branch, platform, release date, and file size shown clearly on the same page.
What users usually want to know first
What changed in Chrome 150.0.7871.46
Google Chrome 150.0.7871.46 is available here as part of the Linux Stable archive. Use this release page when you want the exact version, the current package details, and quick access to the correct installer.
Stable release date: June 30th, 2026
Unless otherwise noted, the following changes apply to Chrome 150 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.
CSS and UI
AccentColor and AccentColorText system colors
The AccentColor and AccentColorText system colors can be used in CSS to access the system accent color specified on the user's device. This lets developers apply native-app-like styling to their web content in contexts where users expect OS theme integration, such as an installed web application. Users must be in an installed web application on the initial profile to see the system accent color rendered.
Related technical references: ChromeStatus.com entry · Spec
Allow optional rounding parameter for polygon()
Adds an optional corner-rounding parameter in the polygon() CSS shape function. Developers can specify a length value to round polygon corners without manually computing bezier curves.
Related technical references: ChromeStatus.com entry · Spec
Animatable zoom
The CSS zoom property is animatable and interpolates as a <number>. Developers can transition and animate zoom to smoothly scale elements and their layout, complementing existing transform-based scaling.
Related technical references: ChromeStatus.com entry
CSS url() request modifiers
CSS url() functions accept optional request modifiers after the quoted URL string: cross-origin(), integrity(), and referrer-policy(). These modifiers control the fetch behavior of the referenced resource directly from CSS, without requiring changes to HTML markup or JavaScript. For example, background-image: url("image.png" cross-origin(anonymous)) fetches the image using CORS anonymous mode. This gives authors fine-grained control over cross-origin access, subresource integrity, and referrer policy for CSS-loaded resources including images, fonts, SVG references, and imported stylesheets.
Related technical references: ChromeStatus.com entry · Spec
CSS text-fit property
Scales the font size of text nodes to perfectly fit the width of its containing box.
This property lets developers ensure headlines or dynamic content fill the available horizontal space without manual font-size calculations or complex JavaScript workarounds. It provides a robust, CSS-native solution for responsive typography that maintains visual alignment across different screen sizes and varying text lengths.
Related technical references: ChromeStatus.com entry · Spec
CSS background-clip: border-area
Implements the border-area value for the CSS background-clip property, as defined in CSS Backgrounds Level 4. background-clip: border-area clips an element's background to the area painted by its border strokes, taking border-width and border-style into account while ignoring transparency from border-color. This lets developers gradient borders without border-image. WebKit already ships this feature; this implementation brings Chromium to parity.
Related technical references: ChromeStatus.com entry · Spec
CSS image(<color>) function
The image() function lets authors generate a solid-color image from any color. Its syntax is: image() = image( <color> )
Related technical references: ChromeStatus.com entry · Spec
CSS light-dark() with image values
Extends the CSS light-dark() function to accept image values (url(), image-set(), none) in author stylesheets, letting image properties like background-image, list-style-image, border-image-source, cursor, and content automatically switch between images based on the user's preferred color scheme. Previously this was only allowed in UA stylesheets. This aligns with the CSS Color 5 specification and matches Firefox's existing implementation.
Related technical references: ChromeStatus.com entry · Spec
Comma-separated container queries
Support multiple queries per @container rule. The @container rule applies if at least one of the queries matches.
This makes it possible to have fallback queries for features which are not supported in all browsers.
Related technical references: ChromeStatus.com entry · Spec
Expose unprintable areas with CSS
Printers usually have a small area at each of the four edges of a sheet of paper that they are not capable of marking reliably, usually due to the printer's paper handling mechanism. The default page margins are expected to be bigger than these areas, but if authors set margins on their own, and even want to add @page margin boxes (for example, for custom headers and footers), they need a way of telling where it's safe to print and not.
The CSS descriptor page-margin-safety can be used to steer clear of such unprintable areas.
Related technical references: ChromeStatus.com entry · Spec
flex-wrap: balance
flex-wrap: balance lets developers distribute content between flex-lines so that it appears more balanced (similar to text-wrap: balance).
Related technical references: ChromeStatus.com entry · Spec
named-feature() function for CSS @supports
The named-feature() function lets CSS @supports rules query for a small set of specific named features that are not possible to test for using other @supports mechanisms but which are considered highly valuable to test for.
Related technical references: ChromeStatus.com entry · Spec
overscroll-behavior: chain
overscroll-behavior now has for values: none, auto, contain and the new value chain. These values affect two independent effects: scroll propagation and local border effect (for example, overscroll stretch).
none: no propagation, no local effectauto: propagation, local effectcontain: no propagation, local effectchain: propagation, no local effect
Related technical references: ChromeStatus.com entry · Spec
Support path-length as a CSS property.
This change introduces a new CSS property, path-length, which maps to the existing SVG pathLength presentation attribute. It applies to SVG geometry elements that support pathLength (including <path>, <circle>, <rect>, <line>, <polyline>, <polygon>, and <ellipse>).
Related technical references: ChromeStatus.com entry · Spec
DOM and HTML
Clone into all descendant selectedcontent elements
Several small changes are being made to edge cases of the selectedcontent element:
- When multiple selectedcontent elements are put in a select element at the same time, all of them will be kept up to date instead of only the first one in DOM order.
- Updating the selectedcontent element is deferred when it would run during insertion, removal, or moving steps to fix security issues. The update is deferred by using post-insertion steps or microtasks.
Related technical references: ChromeStatus.com entry · Spec
Focusgroup
Provides the ability to declaratively give composite widgets arrow key navigation, a guaranteed tab stop, and last-focused memory, replacing hand-coded roving tabindex scripts. Example:
Related technical references: ChromeStatus.com entry · Spec
Out of order streaming
Use <template for> and processing instruction ranges (<?marker>, <?start>, and <?end>) to update existing parts of the document without JS.
Related technical references: ChromeStatus.com entry · Spec
Parse processing instructions in HTML
Processing instructions (syntax: <?target data>) are an existing DOM construct, exposed in XML, that represents node objects that are not elements but can have some semantic meaning for the processing of a document.
Processing instructions are parsed by the HTML parser, and receive an attribute API similar to elements to mutate their data.
Related technical references: ChromeStatus.com entry · Spec
popover=hint behavior changes
This change implements a revised and simplified stacking model for the popover=hint attribute and its interactions with popover=auto. Previously, the interactions between these two types of popovers could be complex in some corner case situations (such as nesting auto popovers inside hint popovers), and could lead to unexpected behavior. Under the new model, opening a hint popover does not inadvertently close unrelated auto popovers. Hint popovers are only hidden when their ancestral auto popover is hidden, or when a new, unrelated auto popover is opened. Additionally, developers can safely nest an auto popover inside a hint popover; instead of throwing an exception or breaking the stack, the nested auto popover gracefully "downgrades" and behaves as a hint popover. This supports use cases such as placing a customizable-select within a popover=hint.
To further improve predictability and prevent complex state mutations, we are also tightening the behavior around opening and closing popovers from within the beforetoggle event. There were guards in place for some, but not all, of the possible cases before. This change revamps the mechanism used to detect these cases, so that it should more reliably throw InvalidStateErrors for all such cases. This ensures that popover state management remains stable and prevents looping reentrancy bugs.
Related technical references: ChromeStatus.com entry · Spec
Programmatic scroll promises
This page highlights the release changes most relevant to users. The official source below contains the full technical detail.
Official source: Chrome 150 Release Notes
Installation notes
After downloading the package, confirm that the branch and platform match your device before launching the installer or extracting the archive. If you only need a standard everyday browser, Stable is usually the safest choice. If you are testing new behavior, Beta, Dev, and Canary are better fits.
Related release pages
For newer or older builds in the same branch, open the category archive linked above. For different platforms, use the related desktop archives in the sidebar.
Frequently asked questions
These FAQ blocks help the page read like a complete release article instead of a download stub, which is better for trust and better for SEO.
Should I use this release or stay on Stable?
If you just want the safest everyday browsing experience, Stable is usually the right default. Preview branches are better for testing, compatibility checks, and early feature access.
Why show exact version numbers so prominently?
Because exact-version queries are common in English search behavior, especially for QA teams, enterprise users, and people trying to reproduce a bug or environment.
Why keep a full article around the download buttons?
A stronger page body gives users context and gives Google clearer signals about what the release page actually covers.
Where should older releases live?
Older versions belong in the category archive page, with this article template handling exact-version landing pages one release at a time.