DevelopmentNew Release11 min readPublished July 29, 2026

370 security fixes · macOS 12 support ends · two new SPA performance entry types

Chrome 151 Hits Stable: What Developers Should Actually Note

Chrome 151 reached the stable channel on July 28, 2026 — a routine point release on the surface, carrying 370 security fixes, the end of macOS 12 support, a removed constructor that now throws, and two new performance entry types that SPA teams should actually evaluate. Cookies and Autofill are untouched this cycle.

DA
Digital Applied Team
Senior strategists · Published Jul 29, 2026
PublishedJul 29, 2026
Read time11 min
Security fixes370
Security fixes in 151
370
7 Critical · 71 High · 170 Medium · 122 Low
staged rollout
Desktop stable build
151
151.0.7922.71/.72 — Windows & Mac
Minimum macOS
13
Ventura or later — Monterey support ends
breaking
New perf entry types
2
soft-navigation · interaction-contentful-paint

Chrome 151 reached the stable channel on July 28, 2026 — build 151.0.7922.71/.72 for Windows and Mac, 151.0.7922.71 for Linux — and it is, by Chrome's own framing, a routine release. No headline new API, no cookie or privacy-timeline change, and no indication in the release post that any of its security fixes is under active exploitation.

Routine does not mean skippable. The update carries 370 security fixes — seven of them rated Critical — plus two genuine breaking changes: macOS 12 support ends, and a constructor that some font-loading code instantiates directly now throws. And because Chrome ships stable updates as a staged rollout over days to weeks, "we're patched" is a claim worth verifying rather than assuming.

This post covers the release for two audiences at once: what breaks or changes for developers, and what merchants and marketers should re-test. Every feature and deprecation claim below comes from Google's own Chrome 151 release notes on developer.chrome.com; the security-fix breakdown comes from the Stable Channel Update post on the Chrome Releases blog.

Key takeaways
  1. 01
    A routine release — but a 370-fix patch batch.Chrome 151 shipped with 370 security fixes per Chrome's published list: 7 Critical, 71 High, 170 Medium, and 122 Low. The release post gives no indication of active exploitation, but seven Critical bugs is a substantial batch to be behind on.
  2. 02
    Two breaking changes deserve the headline.macOS 12 (Monterey) support ends — Chrome 151 requires macOS 13 (Ventura) or later, so older Macs stay pinned on Chrome 150. And the FontFaceSet constructor is removed: calling new FontFaceSet() now throws a TypeError.
  3. 03
    SPA teams get one genuinely actionable feature.Two new Performance API entry types — soft-navigation and interaction-contentful-paint — finally give single-page apps Core Web Vitals-style instrumentation for JS-driven route changes that Navigation Timing has always missed.
  4. 04
    Nothing changes for cookies or Autofill this cycle.Google's Chrome 151 release notes make no mention of any change to cookies, Autofill behavior, or the third-party-cookie track in this release. If a browser-update headline made your consent stack nervous, there is nothing to redo in Chrome 151.
  5. 05
    Verify the rollout — don't assume it.Chrome stable updates roll out over days to weeks, so fleets and analytics will show a mix of 150.x and 151.x for a while. Check chrome://settings/help for the installed build, and confirm managed-Chrome policies aren't pinning 150.x.

01What ShippedA routine release, on a staged rollout.

Chrome 151 arrived through Google's usual two-surface publishing pattern. The developer-facing release notes and the "New in Chrome 151" feature post went live on developer.chrome.com, self-dated July 28, 2026, and the Stable Channel Update post on the Chrome Releases blog — authored by Krishna Govind, and blog-dated a day later on July 29 — announced the desktop builds: 151.0.7922.71/.72 for Windows and Mac, 151.0.7922.71 for Linux. That one-day gap is routine — Chrome's developer notes publish ahead of the Chrome Releases announcement — so the July 28 stable date used throughout this post follows the release notes' own self-date rather than the announcement post's.

The word Chrome uses for its own rollout mechanics matters more than usual this cycle: the update rolls out over the coming days and weeks, not instantly to 100% of installs. That has two practical consequences. First, your own machine may not have it yet — that is expected, not a failure. Second, field data will show Chrome 150.x and 151.x coexisting for a while, so any QA pass, feature gate, or analytics segment keyed to browser version needs to tolerate both builds simultaneously.

Why does a routine point release earn a post at all? Because of scale. Chrome's dominant share of the browser market — we walked the numbers in our 2026 browser market share statistics guide — means even an unremarkable Chrome update lands on the majority of your visitors within weeks. The three things worth five minutes of your attention: the security batch, the two breaking changes, and one new instrumentation capability for single-page apps.

Where to read the primaries
Everything in this post traces to two Google sources: developer.chrome.com/release-notes/151 (the full feature and deprecation list, self-dated July 28, 2026) and the Stable Channel Update for Desktop post on chromereleases.googleblog.com (the security-fix list and build numbers). The shorter "New in Chrome 151" post on the Chrome developer blog is a curated subset of the release notes — useful for a fast scan, not a separate source.

02Security370 fixes, seven Critical.

The Chrome Releases post states the update includes 370 security fixes, and every entry in the list it publishes carries a distinct CVE identifier. Counting that list by severity: 7 Critical, 71 High, 170 Medium, and 122 Low — and 7 + 71 + 170 + 122 does equal 370, so the breakdown below reconciles exactly with Chrome's stated headline count rather than approximating it.

All seven Critical bugs are marked as reported by Google — internal discovery, with report dates between May 18 and June 14, 2026 — and they cluster in the browser's compositing and graphics plumbing: use-after-free bugs in Compositing, Views, Skia, and Ozone, insufficient-validation bugs in Dawn and ANGLE, and a race condition in the Updater. The High-severity tier is dominated by memory-safety bugs in ANGLE, Chrome's graphics abstraction layer, alongside fixes in V8, Autofill, Passwords, Web Authentication, PDF, and Print Preview.

Chrome 151 security fixes broken down by severity: count of fixes, share of the 370-fix total, and notable examples with disclosed bounty rewards, compiled from the Stable Channel Update post on the Chrome Releases blog.
SeverityVolumeNotable examples & disclosed rewards
FixesShare of the 370
Critical71.9%All 7 reported internally by Google — use-after-free in Compositing (CVE-2026-17650), Views, Skia, and Ozone; insufficient validation in Dawn and ANGLE; a race in Updater
High7119.2%ANGLE memory-safety bugs dominate; CVE-2026-17657 (use-after-free in Navigation) drew a $36,000 reward; CVE-2026-17658 (use-after-free in V8) drew $1,000
Medium17045.9%Largest tier — includes a $10,000 reward for CVE-2026-17728 (Extensions) and a $5,000 reward for a Dawn heap-buffer-overflow
Low12233.0%No individually notable entries called out in the release post
Total370100.0%Matches Chrome's stated headline count exactly

One credit line in the High tier is worth pausing on: CVE-2026-17658, the V8 use-after-free, is attributed to Duc Nguyen of Calif.io "in collaboration with OpenAI Codex Security" — an explicit AI-assisted vulnerability-research credit in Chrome's own bounty ledger. Expect more of those; agentic tooling is now part of the external security-research pipeline that feeds Chrome releases, not a hypothetical.

Two caveats before anyone quotes bigger numbers from this batch. First, Chrome's post notes that access to bug details and links may stay restricted until a majority of users are updated — so per-bug specifics beyond the published list aren't independently checkable yet. Second, several entries still show no reward amount, meaning the bounty program hasn't finished tallying; any "total bounty payout" figure for Chrome 151 would be premature. And to keep the urgency honest: the release post gives no indication that any of the 370 fixes addresses a bug under active exploitation.

"A 370-fix patch batch with seven Critical bugs is not a release you read about — it is a release you verify actually reached your fleet."— Our reading of the Chrome 151 stable rollout

03Breaking ChangesThe two things that actually break.

Most of the Chrome 151 change list is additive. Two items are not, and both are documented in the deprecations-and-removals section of Google's release notes.

Environments
macOS 12 support ends
Chrome 151 requires macOS 13 (Ventura) or later

Macs still on Monterey will not receive Chrome 151 — they stay pinned on Chrome 150 and gradually drift out of security-patch coverage. Audit aging test hardware, CI machines, VMs, and any internal-tool fleet running older Macs.

Deprecation · release notes
API removal
FontFaceSet constructor removed
new FontFaceSet() now throws a TypeError

A genuine breaking change for the rare code path — some custom font-loading libraries and polyfills — that instantiated FontFaceSet directly instead of using the browser-provided document.fonts. Grep your bundles before assuming you're clear.

Removal · use document.fonts

The macOS cutoff is the one with organizational reach. It doesn't break any website — it breaks the assumption that every machine in your org keeps receiving Chrome updates. A Monterey MacBook in a QA corner or behind a kiosk display will silently stop at Chrome 150 while the 370-fix batches keep landing for everyone else. The FontFaceSet removal is the opposite shape: tiny blast radius, but a hard crash where it hits. The fix is mechanical — replace direct construction with document.fonts, the instance the browser already provides.

04Performance APISoft navigations become measurable.

The one addition in Chrome 151 with real near-term engineering relevance is a pair of new Performance API entry types: soft-navigation and interaction-contentful-paint. The first tracks JS-driven route and URL transitions that never trigger a full page navigation; the second measures content updates inside the DOM regions affected by a user interaction.

That fills a long-standing blind spot. Standard Navigation Timing only sees hard navigations, so a Next.js storefront or dashboard where users click through five client-side route changes per session has been reporting one measured page load and four invisible ones. RUM tooling built on the standard entry types simply could not see the transitions users actually experience in an SPA. If your Core Web Vitals program stops at the first load, our 2026 INP, LCP & CLS optimization guide covers the metrics these new entries extend.

The action item is scoped: teams running SPA-heavy sites with Core Web Vitals monitoring should evaluate wiring the two new entry types into their RUM pipeline via PerformanceObserver, so soft navigations get the same scrutiny as hard loads. This is instrumentation work, not a rewrite — the kind of measurement plumbing we build inside our web development engagements when a client's dashboards say "fast" and their users say otherwise.

Scope check
These entry types are instrumentation, not ranking factors — Google's release notes present them as measurement capabilities for single-page apps, and nothing in those notes ties them to search. Treat them as better eyesight for your own RUM data, and be aware that during the staged rollout only Chrome 151 visitors will emit them, so early numbers will come from a partial slice of traffic.

05Feature ScanThe rest of the list, in ninety seconds.

The remaining additions are worth a scan rather than a deep dive. Grouped the way Google's release notes group them:

Media, input, and accessibility

  • A new <usermedia> element — described in Google's feature post as "a declarative, user-activated control for camera and microphone streams." It manages the full camera/microphone-access flow in HTML, without a separate imperative getUserMedia() call.
  • A momentum attribute on wheel events — a boolean that distinguishes inertia-driven scrolling from direct user input. Relevant to any site doing custom scroll handling or parallax that misbehaves on trackpad momentum.
  • aria-actions — exposes secondary actions on composite widgets to assistive technology, plus new static methods on the DeviceOrientation permissions API and a Web Speech unspokenPunctuation attribute that infers punctuation from speech input.

DOM, CSS, and internals

  • Declarative Shadow DOM slot assignment — a new shadowrootslotassignment attribute on <template> (values named, the default, or manual) lets manual slot assignment be expressed in HTML instead of JavaScript.
  • CSS odds and ends — a ruby-overhang property, a read-only animation accessor on animation and transition events, AnimationTrigger play methods that prevent auto-rewind on completed animations, and a spec-alignment change of position-anchor's initial value from none to normal.
  • A Rust-based XML parser — for non-XSLT contexts like DOMParser, XMLHttpRequest, and SVG documents. A memory-safety hardening move inside the browser, not a behavior change to code against.

Networking and performance plumbing

  • Permissions Policy rename direct-sockets-private is replaced by the more granular local-network and loopback-network policies. A breaking policy-name change for the narrow set of sites using Direct Sockets or local-network access.
  • Cross-origin redirect timing — servers can opt in to having redirects measured by destination origin, relevant to multi-hop redirect chains used in tracking and affiliate links. Plus duplicate-navigation prevention, which blocks identical rapid-fire navigations — a free mitigation for double-click and double-submit bugs.
  • Smaller conveniences — a textStream() method on Response, Request, and Blob; a form_submission field in the Speculation Rules API so prerendering can trigger on form submits; and a language-detection improvement that distinguishes Traditional Chinese (zh-Hant) from Simplified Chinese (zh-Hans).

Also in the release notes, flagged as origin trials rather than stable features: post-quantum WebCrypto algorithms (ML-KEM, ML-DSA, ChaCha20-Poly1305, X-Wing), a Declarative Performance Observer for navigation telemetry, a prefetch activation beacon HTTP header, and a WebRTC SCTP negotiation-acceleration protocol. None of these should ship in production code yet — they're a preview of what future releases may stabilize.

06Merchants & MarketersWhat to re-test — and what to leave alone.

Browser-update headlines make ecommerce and marketing teams nervous for one reason above all others: cookies. So lead with the reassurance, stated as a verifiable absence — Google's Chrome 151 release notes, the full feature and deprecation list for this version, make no mention of any change to cookies, Autofill behavior, or the third-party-cookie track. There is nothing to redo in your consent or cookie stack this cycle.

Consent & cookies
Nothing to redo this cycle

Chrome 151 makes no change to cookies or Autofill — neither appears anywhere in Google's release notes for this version. Consent banners, checkout autofill flows, and measurement tags need no rework for this release.

No action
SPA storefronts
Wire soft navigations into RUM

Client-side route changes on Next.js or SPA storefronts become measurable via the new soft-navigation and interaction-contentful-paint entries. If your speed dashboards only see first loads, this is the upgrade to scope.

Evaluate now
POS & local hardware
Re-check Permissions-Policy headers

The direct-sockets-private policy is replaced by local-network and loopback-network. Most marketing and ecommerce stacks never touch Direct Sockets — but any point-of-sale or local-hardware bridge that does should re-test its headers on 151.

Re-test if affected
QA & analytics
Expect mixed 150/151 traffic

The staged rollout means both versions coexist in the field for days to weeks. Don't gate features on 151-only behavior, and don't read early 151-segment analytics as representative of your whole audience.

Tolerate both builds

One second-order point for data teams: when the new performance entries do land in your RUM pipeline, they arrive as a new event shape flowing into dashboards, alerts, and increasingly into AI-driven analysis downstream. Treat that as a schema change, not a free upgrade — the discipline we laid out in our guide to data contracts for AI agent pipelines applies just as well to browser telemetry as to agent tooling.

07VerificationThe five-minute verification checklist.

Everything above reduces to three checks, derived directly from the release's own mechanics:

  1. Tolerate the staged rollout. A fleet or RUM check should expect 150.x and 151.x coexisting for days to weeks — do not assume 100% same-day coverage, and do not treat a machine still on 150.x this week as broken.
  2. Verify the installed build where it matters. chrome://settings/help shows the exact installed version — you're looking for 151.0.7922.71 or .72 on desktop. Spot-check the machines that touch production and payments first.
  3. Confirm managed Chrome isn't pinned. Enterprises running managed Chrome should confirm their update policy isn't holding fleets on 150.x — 370 security fixes, seven of them Critical, is a substantial batch to be deliberately behind on.

The trend worth reading out of this release is how much of it is Chrome hardening itself rather than handing developers new surface: a Rust-based XML parser for memory safety, a 370-fix batch dominated by memory-safety bugs in the graphics stack, and a bounty credit that names an AI security agent as a research collaborator. The browser's release notes are quietly becoming a security-operations document with a feature appendix — which is exactly how a mature platform should read.

Looking forward, the origin-trial list is the tell. Post-quantum WebCrypto algorithms in trial now suggests the migration conversation for TLS-adjacent and crypto-dependent web code starts reaching stable releases in future cycles, and the Declarative Performance Observer trial points the same direction as the soft-navigation entries: more built-in, declarative telemetry and less hand-rolled measurement code. July 2026 has been a heavy patching month across the JavaScript stack generally — if you haven't worked through the framework-and-runtime side, our Next.js and Node.js patch-week playbook pairs naturally with this checklist.

08ConclusionRoutine releases still deserve a routine.

Chrome 151 · July 2026

Three checks, five minutes, then move on.

Chrome 151 is what a healthy browser release looks like: 370 security fixes shipped on schedule, two clearly documented breaking changes, one genuinely useful new measurement capability, and no surprises for the cookie-anxious. The right response is proportionate — verify the rollout reached your fleet, audit for the macOS 12 and FontFaceSet edge cases, and scope the soft-navigation instrumentation if you run an SPA.

The deeper habit is the one worth keeping: treat browser point releases the way you treat framework patch releases — a standing five-minute triage against the vendor's own notes, not a headline-driven scramble. The releases that matter announce themselves quietly, in a deprecations section most teams never read.

Keep your stack current without the scramble

Browser updates should be boring.

Our team builds and maintains fast, instrumented storefronts and web apps — Core Web Vitals programs, RUM pipelines, and the engineering routine that keeps browser and framework updates boring.

Free consultationExpert guidanceTailored solutions
What we work on

Performance & platform engagements

  • Core Web Vitals programs — including SPA soft navigations
  • RUM instrumentation & performance dashboards
  • Framework, runtime & browser update routines
  • Ecommerce storefront speed & checkout reliability
  • Security patch triage for JavaScript stacks
FAQ · Chrome 151

The questions worth five minutes.

Chrome 151 reached the stable channel on July 28, 2026. The desktop builds are 151.0.7922.71/.72 for Windows and Mac and 151.0.7922.71 for Linux, announced in the Stable Channel Update post on the Chrome Releases blog, with the full feature and deprecation list published in Google's release notes on developer.chrome.com. Note that Chrome ships stable updates as a staged rollout over days to weeks rather than to all installs at once — so an individual machine not yet showing 151 in chrome://settings/help during the rollout window is expected behavior, not a problem.
Related dispatches

Continue exploring web platform releases.