Download 135.0.7049.114 from the Chrome Stable for Windows 32-bit
Download Google Chrome 135.0.7049.114 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 135.0.7049.114
Google Chrome 135.0.7049.114 is available here as part of the Windows 32-bit 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: April 1st, 2025
Unless otherwise noted, the following changes apply to Chrome 135 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.
HTML and DOM
Invoker Commands; the command and commandfor attributes
The command and commandfor attributes on <button> elements let you assign behaviour to buttons in a more accessible and declarative way.
Related technical references: ChromeStatus.com entry · Spec
Link rel=facilitated-payment to support push payments
Adds support for <link rel="facilitated-payment" href="..."> as a hint that the browser should notify registered payment clients about a pending push payment.
Related technical references: ChromeStatus.com entry
CSS
::column pseudo-element for carousels
A ::column pseudo-element, which allows applying a limited set of styles to the generated fragments. Specifically, this would be limited to styles which do not affect the layout, and thus can be applied post-layout.
::scroll-button() pseudo-elements
Allows the creation of interactive scroll buttons as pseudo-elements, for example:
These should be focusable, behaving as a button (including their UA styles). When activated, a scroll should be performed in the direction by some amount. When it is not possible to scroll in that direction, they should be disabled (and styled with :disabled), otherwise they are enabled (and styled with :enabled).
The selector lets you define buttons in four logical directions: block-start, block-end, inline-start, inline-end; as well as four physical directions: up, down, left, right.
Related technical references: ChromeStatus.com entry · Spec
::scroll-marker and ::scroll-marker-group
Adds the ::scroll-marker and ::scroll-marker-group pseudo-elements for scrolling containers. They let you create a set of focusable markers for all of the associated items within the scrolling container.
Related technical references: ChromeStatus.com entry · Spec
CSS Inertness—the interactivity property
The interactivity property specifies whether an element and its flat tree descendants (including text runs) are inert or not.
Making an element inert affects whether it can be focused, edited, selected, and searchable by find-in-page. It also affects whether it is visible in the accessibility tree.
Related technical references: ChromeStatus.com entry · Spec
CSS logical overflow
The overflow-inline and overflow-block CSS properties allow setting overflow in inline and block direction relative to the writing-mode. In a horizontal writing-mode overflow-inline maps to overflow-x, while in a vertical writing-mode it maps to overflow-y.
Related technical references: ChromeStatus.com entry · Spec
CSS anchor positioning remembered scroll offset
Add support for the concept of remembered scroll offset.
When a positioned element has a default anchor, and is tethered to this anchor at one edge, and against the original containing block at the other edge, the scroll offset will be taken into account when it comes to sizing the element. This way you can use all visible space (using position-area) for the anchored element when the document is scrolled at a given scroll offset.
In order to avoid layout (resizing the element) every time the document is scrolled (which is undesired behavior, and also bad for performance), what will be used is a so-called "remembered scroll offset", rather than always using the current scroll offset. The remembered scroll offset is updated at a so-called "anchor recalculation point", which is either:
- When the positioned element is initially displayed.
- When a different position option (
position-try-fallbacks) is chosen.
Related technical references: ChromeStatus.com entry · Spec
CSS shape() function
The shape() function allows responsive free-form shapes in clip-path.
You can define a series of verbs, roughly equivalent to the verbs in path(), but where the verbs accept responsive units (such as % or vw), as well as any CSS values such as custom properties.
Related technical references: ChromeStatus.com entry · Spec
safe-area-max-inset-* variables
This feature adds max-area-safe-inset-* variables which don't change and represent the maximum possible safe area inset.
The use case this solves is to avoid needing to relayout the page in cases where the footer (for example) can simply slide as the safe area inset value grows, as opposed to changing size.
Related technical references: ChromeStatus.com entry · Spec
Nested pseudo elements styling
Allows to style pseudo elements that are nested inside other pseudo elements. So far, support is defined for:
::before::marker::after::marker
With ::column::scroll-marker being supported in the future.
Related technical references: ChromeStatus.com entry · Spec
Audio and video
Add MediaStreamTrack support to the Web Speech API
Add MediaStreamTrack support to the Web Speech API.
The Web Speech API is a web standard API that allows developers to incorporate speech recognition and synthesis into their web pages. Currently, the Web Speech API uses the user's default microphone as the audio input. MediaStreamTrack support allows websites to use the Web Speech API to caption other sources of audio including remote audio tracks.
Related technical references: ChromeStatus.com entry · Spec
Web APIs
Create service worker client and inherit service worker controller for srcdoc iframe
Srcdoc context documents are currently not service worker clients and not covered by their parent's service worker. That results in some discrepancies (for example, Resource Timing reports the URLs that these document load, but service worker doesn't intercept them). This change aims to fix the discrepancies by creating service worker clients for srcdoc iframes and make them inherit parent's service worker controller.
Related technical references: ChromeStatus.com entry · Spec
Element reflection
This feature allows for ARIA relationship attributes to be reflected in IDL as element references rather than DOMStrings.
This implements the IDL attributes in the ARIAMixin interface with a type of Element or FrozenArray<Element>, with the exception of ariaOwnsElements.
Related technical references: ChromeStatus.com entry · Spec
Fenced frames: Automatic beacon cross-origin data support
Fenced frames or URN iframes, if loaded through an API like Protected Audience or Shared Storage, can send out reporting beacons automatically if some event occurs (currently only top-level navigation beacons are supported). This feature was previously updated to allow cross-origin documents loaded in the root fenced frame's tree to send automatic beacons if opted in, but still kept the restriction that only frames that are same-origin to the origin loaded by the API could set the data that would be sent as part of the beacon. This feature expands that functionality to allow the cross-origin document to set the data that will be used in the automatic beacon.
To allow this while still preserving privacy, both the fenced frame root document and the cross-origin subframe document must explicitly opt in. This is the same opt in shape as other cross-origin FFAR features. Specifically, the root frame must opt in using the Allow-Fenced-Frame-Automatic-Beacons header, and the cross-origin subframe setting the data must opt in with the crossOriginExposed parameter in the call to setReportEvent().
Related technical references: ChromeStatus.com entry · Spec
Float16Array
Adds the Float16Array typed array. Number values are rounded to IEEE fp16 when writing into Float16Array instances.
Related technical references: ChromeStatus.com entry · Spec
HSTS tracking prevention
Mitigates user tracking by third-parties using the HSTS cache.
This feature only allows HSTS upgrades for top-level navigations and blocks HSTS upgrades for sub-resource requests. Doing so makes it infeasible for third-party sites to use the HSTS cache in order to track users across the web.
Related technical references: ChromeStatus.com entry
NavigateEvent sourceElement
When a navigation is initiated by an Element (for example, with a link click or a form submission), the sourceElement property on the NavigateEvent will be the initiating element.
Related technical references: ChromeStatus.com entry · Spec
NotRestoredReasons API reason name change
The NotRestoredReasons API is changing some of the reason texts to align to the standardized names. If you are monitoring these reasons you may notice a change in reason texts.
Related technical references: ChromeStatus.com entry · Spec
Observable API
Observables are a popular reactive-programming paradigm to handle an asynchronous stream of push-based events. They can be thought of as Promises but for multiple events, and aim to do what Promises did for callbacks and nesting. That is, they allow ergonomic event handling by providing an Observable object that represents the asynchronous flow of events.
You can subscribe to the object to receive events as they come in, and call any of its operators or combinators to declaratively describe the flow of transformations through which events go. This is in contrast with the imperative version, which often requires complicated nesting with things like addEventListener().
This page highlights the release changes most relevant to users. The official source below contains the full technical detail.
Official source: Chrome 135 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.