Import and export Markdown in Google Docs

What’s changing

In 2022, we introduced expanded support for composing with Markdown in Google Docs on web. Today, we’re introducing highly-requested features that enhance Docs' interoperability with other Markdown supporting tools. These include the ability to: 
  • Convert Markdown to Docs content on paste 
  • Copy Docs content as Markdown 
  • Export a Doc as Markdown (from File > Download
  • Import Markdown as a Doc (from File > Open or "Open with Google Docs" from Drive) 

Who’s impacted 

End users and developers


Why you’d use it 

This update is particularly useful for technical content writers as they can now convert Docs content to/from Markdown. For example, developers can collaborate on software documentation in Docs and then export it as Markdown for use in other Markdown supporting tools. 


Getting started 

  • Admins: There is no admin control for this feature. 
  • End users: The import and export options are ON by default. The “Copy as Markdown” and “Paste from “Markdown” options will be OFF by default and can be enabled in Docs by going to Tools > Preferences > Enable Markdown. Visit the Help Center to learn more about using Markdown in Google Docs, Slides, & Drawings.

Rollout pace

Availability 

  • Available to all Google Workspace customers, Workspace Individual Subscribers, and users with personal Google accounts 

Resources

Chrome for Android Update

   Hi, everyone! We've just released Chrome 126 (126.0.6478.186) 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 (Windows & Mac:  126.0.6478.182/183 and Linux:126.0.6478.182  ) unless otherwise noted.


Erhu Akpobaro
Google Chrome

Stable Channel Update for Desktop

The Stable channel has been updated to 126.0.6478.182/183 for Windows, Mac and 126.0.6478.182 for 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.182 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 10 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.


[$10000][346597059] High CVE-2024-6772: Inappropriate implementation in V8. Reported by 5fceb6172bbf7e2c5a948183b53565b9 on 2024-06-12

[$7000][347724915] High CVE-2024-6773: Type Confusion in V8. Reported by 2ourc3 | Salim Largo on 2024-06-17

[$6000][346898524] High CVE-2024-6774: Use after free in Screen Capture. Reported by lime(@limeSec_) and fmyy(@binary_fmyy) From TIANGONG Team of Legendsec at QI-ANXIN Group on 2024-06-13

[$5000][347373236] High CVE-2024-6775: Use after free in Media Stream. Reported by Anonymous on 2024-06-15

[$4000][346692546] High CVE-2024-6776: Use after free in Audio. Reported by lime(@limeSec_) and fmyy(@binary_fmyy) From TIANGONG Team of Legendsec at QI-ANXIN Group on 2024-06-12

[$2500][345640549] High CVE-2024-6777: Use after free in Navigation. Reported by Sven Dysthe (@svn-dys) on 2024-06-07

[TBD][341136300] High CVE-2024-6778: Race in DevTools. Reported by Allen Ding on 2024-05-16

[TBD][351327767] High CVE-2024-6779: Out of bounds memory access in V8. Reported by Seunghyun Lee (@0x10n) on 2024-07-06


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:

  • [353373259] 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.





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:

[349138278] Various fixes from internal audits, fuzzing and other initiatives




Many of our security bugs are detected using AddressSanitizerMemorySanitizerUndefinedBehaviorSanitizerControl Flow IntegritylibFuzzer, 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

Chrome Stable for iOS Update

Hi everyone! We've just released Chrome Stable 126 (126.0.6478.190) for iOS; it'll become available on App Store in the next few hours.

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.

Erhu Akpobaro
Google Chrome

Upcoming changes to page size in the Google Ads API

Starting the week of August 19, 2024, we will roll out a change that removes the ability to set the page_size field when making GoogleAdsService.Search requests. All requests will assume a fixed page size of 10,000 rows instead. Developers will receive the following errors if the page_size field is set:

This change was previously introduced as a versioned change in version v17 of the API. The current change introduces the change to the older API versions, making the API consistent across all API versions.

What do I need to change?

If you use version v17 of the API, no changes are required. If you use an older version of the API and set the page_size field in your GoogleAdsService.Search requests, then you should update your application code to stop setting this field.

How to get help

If you have any questions or need help, check out the Google Ads API support page for options.

Google Blocks is now Open Source

In 2017, we shared Google Blocks with the world as a simple, easy and fun way to create 3D objects and scenes, using the new wave of VR headsets of the day.

We were thrilled to see the surprising, inventive and beautiful assets you all put together with Google Blocks, and continue to be impressed by the enthusiasm of the community.



We now wish to share the code behind Google Blocks, allowing for novel and rich experiences to emerge from the creativity and passion of open source contributors such as the Icosa Foundation, who have already been doing wonderful work with Tilt Brush, which we open-sourced in 2021.


"We're thrilled to see Blocks join Tilt Brush in being released to the community, allowing another fantastic tool to grow and evolve. We can't wait to take the app to the next level as we have done with Open Brush." 
– Mike Nisbet, Icosa Foundation

What’s Included

The open source archive of the Blocks code can be found at: https://github.com/googlevr/blocks

Please note that Google Blocks is not an actively developed product, and no pull requests will be accepted. You can use, distribute, and modify the Blocks code in accordance with the Apache 2.0 License under which it is released.

The currently published version of Google Blocks will remain available in digital stores for users with supported VR headsets. If you're interested in creating your own Blocks experience, please review the build guide and visit our github repo to access the source code.

Thank you all for coming on this journey with us so far, we can’t wait to see where you take Blocks from here.

By Ian MacGillivray – Software Engineer, on behalf of the Google Blocks team.

Google Workspace extensions for Gmail, Google Drive and Google Docs are now available in open beta for Gemini (gemini.google.com)

What’s changing 

We’re pleased to announce Google Workspace extensions for Gmail, Google Drive and Google Docs are available for Gemini (gemini.google.com). When enabled, Gemini will be able to cross reference these apps as data sources to better inform its responses.

View of Google Workspace extensions from the Gemini Extensions page




This feature is available in open beta for Google Workspace customers with the Gemini Business, Enterprise, Education, and Education Premium add-ons — no additional sign-up is required.


Who’s impacted


Admins and end users


Why you’d use it


Google Workspace extensions enhance Gemini's capabilities by allowing it to access information from your Gmail, Docs, and Drive. This enables Gemini to locate, reference and incorporate this additional data, leading to even more informed and relevant responses. This deeper integration helps bring Gemini’s capabilities more seamlessly into your daily workflows, helping enhance productivity. For example, referencing a Doc that outlines your target audiences while performing customer research in Gemini (gemini.google.com).


Additional details

  • During the open beta period, Context-Aware Access (CAA) for Gmail, Drive and Docs isn’t supported with Google Workspace extensions. Context-Aware Access gives you control over which apps a user can access based on their context, such as whether their device complies with your IT policy. Learn more about Context-Aware Access.
  • Google Workspace extensions honors access control settings for files within Drive, meaning users can only access files that they own or have been shared with them (excluding files shared via Shared Drive).
  • Google Workspace extensions is not available to Google Workspace users accessing Gemini as an additional Google service.
  • Note that Google Workspace personal content that Gemini Apps get from extensions is not reviewed by anyone to improve AI models, not used to train AI models, and not shared with other users or institutions. Visit the Help Center for more information.

Getting started

  • Admins: 
    • This feature will be OFF by default and can be enabled at the OU or Group level. During the open beta period, Drive, Gmail and Docs must be enabled to use Google Workspace extensions.


Rollout pace


Availability

Available for Google Workspace customers with the:
  • Gemini Business, Enterprise, Education, or Education Premium add-on

Resources


Teachers will soon be able to create a new class in Google Classroom using Student Information System (SIS) data

What’s changing

We recently introduced the ability to import data, such as student rosters, co-teachers and grading categories, from your Student Information System (SIS) to Google Classroom. 


In the coming weeks, we will be introducing a new feature that allows teachers to set up a Google Classroom class using information directly imported from an SIS, including co-teachers, student rosters and class lists, grading categories and grading periods. Please note this feature is only available with our current SIS partners


In preparation for the “full class” import feature, we advise admins to connect Classroom to their Student Information System (SIS) as soon as possible. Once the admin establishes a connection between their district SIS and Google Classroom, teachers will be able to use the connection to import data from their SIS to set up new classes or update existing classes when the feature launches later this quarter. 

Getting started 

Rollout pace 

  • Full class import will be available in the coming weeks. We will provide an update on the Workspace Updates Blog when this feature becomes generally available. 

Availability

Available for Google Workspace:

In Praise of Small Pull Requests

This is another post in our Code Health series. A version of this post originally appeared in Google bathrooms worldwide as a Google Testing on the Toilet episode. You can download a printer-friendly version to display in your office.


By Elliotte Rusty Harold

Note: A “pull request” refers to one self-contained change that has been submitted to version control or which is undergoing code review. At Google, this is referred to as a“CL”, which is short for “changelist”.

Prefer small, focused pull requests that do exactly one thing each. Why? Several reasons:
  • Small pull requests are easier to review. A mistake in a focused pull request is more obvious. In a 40 file pull request that does several things, would you notice that one if statement had reversed the logic it should have and was using true instead of false? By contrast, if that if block and its test were the only things that changed in a pull request, you’d be a lot more likely to catch the error.

  • Small pull requests can be reviewed quickly. A reviewer can often respond quickly by slipping small reviews in between other tasks. Larger pull requests are a big task by themselves, often waiting until the reviewer has a significant chunk of time.

  • If something does go wrong and your continuous build breaks on a small pull request, the small size makes it much easier to figure out exactly where the mistake is. They are also easier to rollback if something goes wrong.

  • By virtue of their size, small pull requests are less likely to conflict with other developers’ work. Merge conflicts are less frequent and easier to resolve.

  • If you’ve made a critical error, it saves a lot of work when the reviewer can point this out after you’ve only gone a little way down the wrong path. Better to find out after an hour than after several weeks.

  • Pull request descriptions are more accurate when pull requests are focused on one task. The revision history becomes easier to read.

  • Small pull requests can lead to increased code coverage because it’s easier to make sure each individual pull request is completely tested.

Small pull requests are not always possible. In particular:

  • Frequent pull requests require reviewers to respond quickly to code review requests. If it takes multiple hours to get a pull request reviewed, developers spend more time blocked. Small pull requests often work better when reviewers are co-located (ideally within Nerf gun range for gentle reminders). 

  • Some features cannot safely be committed in partial states. If this is a concern, try to put the new feature behind a flag.

  • Refactorings such as changing an argument type in a public method may require modifying many dozens of files at once.

Nonetheless, even if a pull request can’t be small, it can still be focused, e.g., fixing one bug, adding one feature or UI element, or refactoring one method.