Beta Channel Update for ChromeOS / ChromeOS Flex

The Beta channel is being updated to OS version 16733.26.0 (Browser version 151.0.7922.42) for most ChromeOS devices.

If you find new issues, please let us know one of the following ways:



  1. File a bug

  2. Visit our ChromeOS communities

    1. General: Chromebook Help Community

    2. Beta Specific: ChromeOS Beta Help Community

  3. Report an issue or send feedback on Chrome

  4. Interested in switching channels? Find out how.


Andy Wu

Google ChromeOS


Long Term Support Channel Update for ChromeOS

A new LTS  version 150.0.7871.150 (Platform Version: 16700.46.0), is being rolled out for most ChromeOS devices. 

If you have devices in the LTC channel, they will be updated to this version. The LTS channel remains on LTS-144 until October 6th, 2026. 


Release notes for LTC-150 can be found here 

Want to know more about Long-term Support? Click here


Andy Wu

Google Chrome OS


Scaling Agentic RL: High-Throughput Agentic Training with Tunix

Tunix is Google’s new JAX-native post-training library designed to eliminate TPU idling bottlenecks when training multi-turn, tool-using LLM reasoning agents. It maximizes hardware throughput by combining highly concurrent, asynchronous rollouts with a decoupled producer-consumer pipeline, ensuring the trainer is constantly fed even while agents wait on network I/O or environment steps. Additionally, Tunix provides plug-and-play abstractions and continuous macro-level profiling, allowing developers to easily integrate custom open-source environments and optimize complex distributed workflows without massive code rewrites.

Chrome for Android Update

     Hi, everyone! We've just released Chrome 150 (150.0.7871.181) for Android. It'll become available on Google Play over the next few days. 

This release includes stability and performance improvements. You can see a full list of the changes in the Git log. If you find a new issue, please let us know by filing a bug.


Android releases contain the same security fixes as their corresponding Desktop releases (Windows & Mac: 150.0.7871.181/182, Linux: 150.0.7871.181) unless otherwise noted.

Krishna Govind

Stable Channel Update for Desktop

The Stable channel has been updated to 150.0.7871.181/.182 for Windows and Mac and 150.0.7871.181 for Linux, which will roll out over the coming days/weeks. A full list of changes in this build is available in the Log


Security Fixes and Rewards

Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.


This update includes 12 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.


[$500][527930356] High CVE-2026-16420: Type Confusion in WebAudio. Reported by Found by XBOW and triaged by Brendan Dolan-Gavitt on 2026-06-26

[$500][528276487] High CVE-2026-16421: Inappropriate implementation in WebAudio. Reported by Found by XBOW and triaged by Brendan Dolan-Gavitt on 2026-06-26

[N/A][517359779] High CVE-2026-16413: Out of bounds write in ANGLE. Reported by Google on 2026-05-28

[N/A][517651910] High CVE-2026-16414: Insufficient validation of untrusted input in Chromecast. Reported by Google on 2026-05-28

[N/A][519244446] High CVE-2026-16415: Insufficient validation of untrusted input in Extensions. Reported by Google on 2026-06-02

[N/A][520172356] High CVE-2026-16416: Integer overflow in Chromecast. Reported by Google on 2026-06-05

[N/A][521491024] High CVE-2026-16417: Uninitialized Use in Skia. Reported by Google on 2026-06-08

[N/A][522125255] High CVE-2026-16418: Stack buffer overflow in V8. Reported by Google on 2026-06-10

[N/A][523435970] High CVE-2026-16419: Out of bounds read and write in ANGLE. Reported by Google on 2026-06-13

[N/A][533515002] High CVE-2026-16422: Insufficient validation of untrusted input in Certificate. Reported by Google on 2026-07-10

[N/A][534582496] High CVE-2026-16423: Use after free in UI. Reported by Google on 2026-07-14

[N/A][534858939] High CVE-2026-16424: Use after free in GPU. Reported by Google on 2026-07-14


We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.


Many of our security bugs are detected using AddressSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, Control Flow Integrity, libFuzzer, or AFL.


Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Daniel Yip

Google Chrome


Prefactoring: Clear the Way for Your New Feature

This article was adapted from a Google Tech on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office.

By Rahul Singal

“First make the change easy, then make the easy change.” - paraphrased from Kent Beck 

You're working on a new feature, but the existing code wasn't written with future changes in mind. Trying to force the feature in directly gets complicated fast. One change leads to another, and before you know it you're already a few files deep fixing things you never planned to touch.

Prefactoring (short for "preparatory refactoring") is the practice of reworking existing code to make it more suitable for an upcoming change before you actually implement the new functionality. Instead of cleaning up code as an afterthought or trying to force a new feature into an incompatible structure, you restructure the codebase first.

Prefactoring helps you: 

  • Easily implement new features: Restructuring the codebase first ensures your new feature fits naturally into the code.

  • Speed up reviews: It's easier to review the refactoring and the feature in separate changes.

  • Avoid bugs: Isolating cleanups from functional logic can help prevent bugs.

  • Roll back safely: If you need to roll back, it is much easier to revert small, focused changes.

Here is a simplified example of a prefactoring change:

Change 1 (Prefactoring)

Extract display name helper to remove duplication.

Change 2 (Feature)

Add middle name support.

+ def get_display_name(user):

+    return f"{user.first_name}”  {user.last_name}


# Profile page

-    display_name = f"{user.first_name} {user.last_name}"

+    display_name = get_display_name(user)

# Email template

- greeting = f"Hi {user.first_name} {user.last_name},"

+ greeting = f"Hi {get_display_name(user)},"

    

def get_display_name(user):

-  return f"{user.first_name} {user.last_name}”

+  return f"{user.first_name} {user.middle_name} {user.last_name}"




You can prefactor a change that is already in review too! If your reviewer suggests a related cleanup during review, you can also extract it into a new base change to keep your current change focused on the feature. Note that not every cleanup needs to be prefactoring: you can do the cleanup in a follow up change if the cleanup doesn’t block your feature, or even in the same change if the cleanup is small enough.