A new Google Photos feature catalogs the clothes in your wardrobe from your library.
A new way to create a digital wardrobe from your Google Photos
A new Google Photos feature catalogs the clothes in your wardrobe from your library.
A new Google Photos feature catalogs the clothes in your wardrobe from your library.
Move from a brainstorm to a polished document, sheet or PDF with a single prompt in Gemini.
Google TV adds tools to create fun images and videos, fresh ways to showcase Google Photos — and soon a new row to stream short videos.
Hi everyone! We've just released Chrome Beta 148 (148.0.7778.96) for Android. It's now available on Google Play.
You can see a partial list of the changes in the Git log. For details on new features, check out the Chromium blog, and for details on web platform updates, check here.
If you find a new issue, please let us know by filing a bug.
Chrome Release Team
Google Chrome
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.
Can you spot the wasted CPU cycles in the map usage?
The redundant lookup caused the waste by performing a check (in) and a fetch ([]) as two separate operations when one is sufficient.
Every lookup involves a cost—whether it's computing a hash and scanning buckets or performing an O(log n) traversal. These costs add up quickly. But avoiding them isn’t just “premature optimization”—it’s about writing cleaner, more robust code that stays efficient at scale and prevents potential race conditions.
Instead of paying this cost twice, perform the lookup once and reuse the result:
Assigning the search result to a variable avoids a second lookup. This efficiency is native to Go via the “comma ok” idiom (val, ok := map[key]) and C++ using map.find(key), both handling retrieval and existence in a single pass.
The same inefficiency applies when counting or initializing default. Stop checking for presence; instead, use idioms that handle missing keys automatically at the container level:
Here are some details depending on which language you use:
Our vision for Gemini is to build an assistant that truly understands you—one that evolves with your needs rather than providing one-size-fits-all responses. Today, we’r…
Hi, everyone! We've just released Chrome 147 (147.0.7727.137) 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.
The Beta channel is being updated to OS version 16640.22.0 (Browser version 148.0.7778.94) for most ChromeOS devices.
If you find new issues, please let us know one of the following ways:
Visit our ChromeOS communities
General: Chromebook Help Community
Beta Specific: ChromeOS Beta Help Community
Interested in switching channels? Find out how.
Andy Wu
Google ChromeOS
The Extended Stable channel has been updated to 146.0.7680.216 for Windows and Mac which will roll out over the coming days/weeks.
The Stable channel has been updated to 147.0.7727.137/138 for Windows/Mac and 147.0.7727.137 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 30 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.
[$7000][494352590] Critical CVE-2026-7363: Use after free in Canvas. Reported by heapracer on 2026-03-19
[TBD][493221953] Critical CVE-2026-7361: Use after free in iOS. Reported by Google on 2026-03-16
[TBD][503419515] Critical CVE-2026-7344: Use after free in Accessibility. Reported by Google on 2026-04-16
[TBD][503645680] Critical CVE-2026-7343: Use after free in Views. Reported by Google on 2026-04-17
[$16000][493955227] High CVE-2026-7333: Use after free in GPU. Reported by c6eed09fc8b174b0f3eebedcceb1e792 on 2026-03-19
[TBD][495852034] High CVE-2026-7360: Insufficient validation of untrusted input in Compositing. Reported by Google on 2026-03-24
[TBD][496284494] High CVE-2026-7359: Use after free in ANGLE. Reported by Google on 2026-03-25
[TBD][496285281] High CVE-2026-7358: Use after free in Animation. Reported by Google on 2026-03-25
[TBD][496456528] High CVE-2026-7334: Use after free in Views. Reported by Batuhan Eşref KOÇ on 2026-03-26
[TBD][497047552] High CVE-2026-7357: Use after free in GPU. Reported by Google on 2026-03-27
[TBD][497769116] High CVE-2026-7356: Use after free in Navigation. Reported by Google on 2026-03-30
[TBD][498746519] High CVE-2026-7354: Out of bounds read and write in Angle. Reported by Google on 2026-04-01
[TBD][498809718] High CVE-2026-7353: Heap buffer overflow in Skia. Reported by Google on 2026-04-01
[TBD][499023054] High CVE-2026-7352: Use after free in Media. Reported by Google on 2026-04-02
[TBD][499119490] High CVE-2026-7351: Race in MHTML. Reported by Google on 2026-04-02
[TBD][500018484] High CVE-2026-7350: Use after free in WebMIDI. Reported by Google on 2026-04-06
[TBD][500034684] High CVE-2026-7349: Use after free in Cast. Reported by Google on 2026-04-06
[TBD][500104917] High CVE-2026-7348: Use after free in Codecs. Reported by Google on 2026-04-06
[TBD][500387779] High CVE-2026-7335: Use after free in media. Reported by Jungwoo Lee (@physicube) and Wongi Lee (@_qwerty_po) on 2026-04-07
[TBD][500767595] High CVE-2026-7336: Use after free in WebRTC. Reported by Mozilla on 2026-04-09
[TBD][500880819] High CVE-2026-7337: Type Confusion in V8. Reported by [email protected] on 2026-04-09
[TBD][501722605] High CVE-2026-7347: Use after free in Chromoting. Reported by Google on 2026-04-11
[TBD][502206907] High CVE-2026-7346: Inappropriate implementation in Tint. Reported by Google on 2026-04-13
[TBD][502248774] High CVE-2026-7345: Insufficient validation of untrusted input in Feedback. Reported by Google on 2026-04-13
[TBD][502449857] High CVE-2026-7338: Use after free in Cast. Reported by Krace on 2026-04-14
[TBD][503889643] High CVE-2026-7342: Use after free in WebView. Reported by Google on 2026-04-17
[TBD][504586599] High CVE-2026-7341: Use after free in WebRTC. Reported by Google on 2026-04-20
[$4000][493957495] Medium CVE-2026-7339: Heap buffer overflow in WebRTC. Reported by c6eed09fc8b174b0f3eebedcceb1e792 on 2026-03-19
[$3000][497896137] Medium CVE-2026-7340: Integer overflow in ANGLE. Reported by 86ac1f1587b71893ed2ad792cd7dde32 on 2026-03-30
[TBD][498285711] Medium CVE-2026-7355: Use after free in Media. Reported by Google on 2026-03-31
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.
Srinivas Sista