isBooleanTooLongAndComplex
You may have come across some complex, hard-to-read Boolean expressions in your codebase and wished they were easier to understand. For example, let's say we want to decide whether a pizza is fantastic:
A first step toward improving this is to extract the condition into a well-named variable:
However, the Boolean expression is still too complex. It's potentially confusing to calculate the value of isPizzaFantastic from a given set of inputs. You might need to grab a pen and paper, or start a server locally and set breakpoints.
Instead, try to group the details into intermediate Booleans that provide meaningful abstractions. Each Boolean below represents a single well-defined quality, and you no longer need to mix && and || within an expression. Without changing the business logic, you’ve made it easier to see how the Booleans relate to each other:
Another option is to hide the logic in a separate method. This also offers the possibility of early returns using guard clauses, further reducing the need to keep track of intermediate states:
Source: Google Testing Blog
Chrome Beta for iOS Update
Hi everyone! We've just released Chrome Beta 125 (125.0.6422.14) for iOS; it'll become available on App Store in the next few days.
You can see a partial list of the changes in the Git log. If you find a new issue, please let us know by filing a bug.
Krishna Govind
Google Chrome
Source: Google Chrome Releases
Chrome Beta for Android Update
Hi everyone! We've just released Chrome Beta 125 (125.0.6422.14) 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.
Krishna Govind
Google Chrome
Source: Google Chrome Releases
Chrome Beta for Desktop Update
The Beta channel has been updated to 125.0.6422.14 for Windows, Mac and Linux.
A partial list of changes is available in the Git log. Interested in switching release channels? Find out how. 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.
Prudhvi Bommana
Google Chrome
Source: Google Chrome Releases
Announcing v16_1 of the Google Ads API
Today, we’re announcing the v16_1 release of the Google Ads API. To use some of the v16_1 features, upgrade your client libraries and client code. The updated client libraries and code examples will be published next week. This version has no breaking changes.
Here are the highlights:
- You can now query assets of Demand Gen campaigns using
ad_group_ad_asset_view
andasset_field_type_view
. - Added
SkAdNetworkConversionValueSchema.postback_mappings
which supports SKAdNetwork 4.0 features. - You can now retrieve Target ROAS campaign bid simulations for App campaigns using the
campaign_simulation
report. - Added
CustomerNegativeCriterion.ip_block
which supports adding an IP as a negative criterion at the customer level. - Added new fields to
BrandInfo
to return more information such as the text representation of a brand, the status of a brand, etc. - Added
customer.video_brand_safety_suitability
andBrandSafetySuitability
which support returning video brand safety suitability at the customer level. - Added support for warnings for
CustomerSkAdNetworkConversionValueSchemaService
asMutateCustomerSkAdNetworkConversionValueSchemaRequest.enable_warnings
. When set totrue
, any non-blocking errors pertaining to operation failures will be returned asMutateCustomerSkAdNetworkConversionValueSchemaResponse.warning
. - Added support for retrieving more information regarding Local Services:
local_services_lead.credit_details
which returns the state of credit and the timestamp when the credit state was updated.local_services_lead_conversation.message_details.attachment_urls
which returns the URLs that can be used to download the contents of the attachment.
Where can I learn more?
The following resources can help you get started:
If you have any questions or need additional help, contact us via the forum.
Source: Google Ads Developer Blog
Dev Channel Update for ChromeOS / ChromeOS Flex
The Dev channel is being updated to OS version: 15853.9.0 Browser version: 125.0.6422.10 for most ChromeOS devices.
If you find new issues, please let us know one of the following ways
- File a bug
- Visit our ChromeOS communities
- General: Chromebook Help Community
- Beta Specific: ChromeOS Beta Help Community
- Report an issue or send feedback on Chrome
Interested in switching channels? Find out how.
Matt Nelson
Google ChromeOS
Source: Google Chrome Releases
5 Google Play features for poetry lovers to try
Source: The Official Google Blog
Chrome for Android Update
Hello, Everyone! We've just released Chrome 124 (124.0.6367.82) 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.
Source: Google Chrome Releases
Stable Channel Update for Desktop
The Stable channel has been updated to 124.0.6367.78/.79 for Windows and Mac and 124.0.6367.78 to Linux which will roll out over the coming days/weeks. A full list of changes in this build is available in the Log.
The Extended Stable channel has been updated to 124.0.6367.78/.79 for Windows and Mac which will roll out over the coming days/weeks.
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 4 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.
[$16000][332546345] Critical CVE-2024-4058: Type Confusion in ANGLE. Reported by Toan (suto) Pham and Bao (zx) Pham of Qrious Secure on 2024-04-02
[TBD][333182464] High CVE-2024-4059: Out of bounds read in V8 API. Reported by Eirik on 2024-04-08
[TBD][333420620] High CVE-2024-4060: Use after free in Dawn. Reported by wgslfuzz on 2024-04-09
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.
As usual, our ongoing internal security work was responsible for a wide range of fixes:
[336329431] Various fixes from internal audits, fuzzing and other initiatives
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