Author Archives:

Media3 1.10 is out

Posted by Andrew Lewis, Software Engineer



Media3 1.10 is out!

Media3 1.10 includes new features, bug fixes and feature improvements, including Material3-based playback widgets, expanded format support in ExoPlayer and improved speed adjustment when exporting media with Transformer. Read on to find out more, and check out the full release notes for a comprehensive list of changes.

Playback UI and Compose

We are continuing to expand the media3-ui-compose-material3 module to help you build Compose UIs for playback.

We've added a new Player Composable that combines a ContentFrame with customizable playback controls, giving you an out-of-the-box player widget with a modern UI.

This release also adds a ProgressSlider Composable for displaying player progress and performing seeks using dragging and tapping gestures. For playback speed management, a new PlaybackSpeedControl is available in the base media3-ui-compose module, alongside a styled PlaybackSpeedToggleButton in the Material 3 module.

We'll continue working on new additions like track selection utils, subtitle support and more customization options in the upcoming Media3 releases. We're eager to hear your feedback so please share your thoughts on the project issue tracker.

 Player Composable in the Media3 Compose demo app

Playback feature enhancements

Media3 1.10 includes a variety of additions and improvements across the playback modules:
  • Format support: ExoPlayer now supports extracting Dolby Vision Profile 10 and Versatile Video Coding (VVC) tracks in MP4 containers, and we've introduced MPEG-H UI manager support in the decoder_mpeghextension. The IAMF extension now seamlessly supports binaural output, either through the decoder viaiamf_tools or through the Android OS Spatializer, with new logic to match the output layout of the speakers.

  • Ad playback: Improvements to reliability, improved HLS interstitial support forX-PLAYOUT-LIMIT  and X-SNAP, and with the latest IMA SDK dependency you can control whether ad click-through URLs open in custom tabs with setEnableCustomTabs.

  • HLS: ExoPlayer now allows location fallback upon encountering load errors if redundant streams from different locations are available.
  • Session: MediaSessionService now extends LifecycleService, allowing apps to access the lifecycle scoping of the service.

One of our key focus areas this year is on playback efficiency and performance. Media3 1.10 includes experimental support for scheduling the core playback loop in a more efficient way. You can try this out by enabling experimentalSetDynamicSchedulingEnabled() via the ExoPlayer.Builder. We plan to make further improvements in future releases so stay tuned!

Media editing and Transformer

For developers building media editing experiences, we've made speed adjustments more robust. EditedMediaItem.Builder.setFrameRate()can now set a maximum output frame rate for video. This is particularly helpful for controlling output size and maintaining performance when increasing media speed with setSpeed().

New modules for frame extraction and applying Lottie effects

In this release we've split some functionality into new modules to reduce the scope of some dependencies:

  • FrameExtractor has been removed from the main media3-inspector module, so please migrate your code to use the new media3-inspector-framemodule and update your imports toandroidx.media3.inspector.frame.FrameExtractor.

  • We have also moved theLottieOverlayeffect to a separate media3-effect-lottie module. As a reminder, this gives you a straightforward way to apply vector-based Lottie animations directly to video frames.

Please get in touch via the issue tracker if you run into any bugs, or if you have questions or feature requests. We look forward to hearing from you!

Monzo boosts performance metrics by up to 35% with a simple R8 update

Posted by Ben Weiss, Senior Developer Relations Engineer

Monzo is a UK digital bank with 15 million customers and growing. As the app scaled, the engineering team identified app startup time as a critical area for improvement but worried it would require significant changes to their codebase.

By fully enabling R8 optimizations, Monzo achieved a massive 35% reduction in their Application Not Responding (ANR) rate. This simple change proved that impactful optimizations don't always require complex engineering efforts.

Unlocking broad performance wins with R8 full mode

Monzo identified R8 full mode as an easy fix worth trying; and it worked, improving performance across the board:

  • Startup Reliability: Cold starts improved by 30%, Warm starts by 24%, and Hot starts by 14%.
  • Launch Speed: P50 launch times improved by 11% and P90 launch times by 12%.
  • Efficiency: Overall app size was reduced by 9%.
  • Stability: ANR reduction of 35%.

Enabling optimizations with a single change

Many Android apps use an outdated default configuration file which disables most functionality of the R8 optimizer. The main change Monzo made to unlock these performance improvements was to replace the proguard-android.txt default file with proguard-android-optimize.txt. This change removes the -dontoptimize instruction and allows R8 to properly do its job.

buildTypes {
  release {
    isMinifyEnabled = true
    isShrinkResources = true
    proguardFiles(
      getDefaultProguardFile("proguard-android-optimize.txt"),
    )
  }
}

After making this change, it's worth looking at your Keep configuration files. These files tell R8 which parts of your code to leave alone (usually because they're called dynamically or by external libraries). Tidying up unnecessary Keep rules means R8 can do more.

Improving scroll performance with Baseline Profiles

To further enhance the user experience, Monzo implemented Baseline Profiles, specifically targeting scroll and rendering performance on their main feed. This strategy ensured that the most common user journeys—opening the app and scrolling the feed—were fully optimized. The impact on rendering was substantial: P90 scroll performance became 71% faster, and P95 scroll performance improved by 87%. Now scrolling the app is smoother than before.

Monzo built this into their release process to maintain these improvements over time. "We trigger the baseline profile generation every week day (before running our nightly builds) and commit the latest changes once completed," Neumayer explains.

Keeping up with modern Android development

Monzo's experience shows what's possible when you stay up to date with Android build-tooling recommendations. While legacy apps often struggle with complex reflection usage, Monzo found the transition straightforward by documenting their Keep Rules properly. "We always add a comment explaining why Keep Rules are in place, so we know when it's safe to remove the rules," Neumayer notes.

Neumayer's advice for other teams? Regularly check your practices against current standards: "Take a look at the latest recommendations from Google around app performance and check if you're following all the latest advice."

To get started and learn more about R8, visit https://d.android.com/r8

An update on secondary calendar lifecycle changes and a new API

We recently announced a change to the ownership model of secondary calendars to improve data governance. As part of this, we emailed impacted customers to let them know that orphan secondary calendars would be deleted starting on April 27, 2026.

Since that announcement, we’ve received valuable feedback that to properly manage this new lifecycle, customers need better programmatic tools to handle secondary calendar data before it gets deleted.

To ensure you have the time and tools necessary to manage this transition smoothly, we are making two important updates:

  1. We are launching a new API endpoint by the end of June to transfer secondary calendars within your organization.
  2. We are postponing the secondary calendar lifecycle changes to October 5, 2026 for paid accounts.

Coming soon: new API endpoint to transfer secondary calendars

In the coming months, we’ll introduce a new endpoint in the Calendar API that will allow developers to programmatically transfer the ownership of secondary calendars. This endpoint will require the Calendar administrator privilege.

The API will mirror the existing capabilities in the Admin console—transferring secondary calendars within the same organization without requiring confirmation by the receiving user—and introduces the additional flexibility to transfer individual calendars.

The new API endpoint will be available for integration by June 2026. An announcement and technical documentation will be published when the API goes live.

Extended deadline for lifecycle changes

To give your teams ample time to adjust their workflows and integrate with the new API endpoint, we are officially pushing back the enforcement date for the secondary calendar lifecycle changes for paid accounts.

The new policy—where secondary calendars are permanently deleted upon the deletion of the owner's account—will now take effect on October 5, 2026, for paid accounts.

Until then, we will run a regular process for orphan calendars that auto-assigns ownership to a user who has “Make changes and manage sharing” access. This process will stop on October 5, 2026. Instead, make sure to ask the owner to transfer relevant secondary calendars to a colleague before they leave - or make sure an administrator executes the transfer using the Admin console or the new API endpoint.

Note that the changes to the secondary calendar lifecycle will still take effect on April 27, 2026, for users with personal Google accounts.

Additional details

Secondary calendars owned by an organization must be owned by a user within that same organization, and ownership transfers are restricted to users in the same domain. However, you can continue to share calendars with users outside your organization—including with high-level permissions such as "Make changes and manage sharing"—provided your organization policies allow it.

Example of a secondary calendar owned by the dwelling.com organization, with [email protected] as owner

Example of a personal secondary calendar (not owned by an organization), with [email protected] as owner 

Getting started

  • Admins: Stay tuned for more details on the new API endpoint when it launches.
  • End users: There is no end user setting for this feature. End users can already transfer secondary calendars to other users within their organization. Visit the Help Center to learn more.

Rollout pace

  • Rapid Release and Scheduled Release domains
    • New API endpoint: Gradual rollout (up to 15 days for feature visibility) starting in June (to be announced on Workspace Updates blog when available)
    • Secondary calendar lifecycle change: Gradual rollout (up to 15 days for feature visibility) starting on October 5, 2026
  • Users with personal Google accounts
    • Secondary calendar lifecycle change: Gradual rollout (up to 15 days for feature visibility) starting on Apr 27, 2026

Impact

  • All Google Workspace customers and users with personal Google accounts are impacted by these changes 

Resources

Android developer verification: Rolling out to all developers on Play Console and Android Developer Console

Posted by Matthew Forsythe, Director Product Management, Android App Safety

Android is for everyone. It’s built on a commitment to an open and safe platform. Users should feel confident installing apps, no matter where they get them from. However, our recent analysis found over 90 times more malware from sideloaded sources than on Google Play. So as an extra layer of security, we are rolling out Android developer verification to help prevent malicious actors from hiding behind anonymity to repeatedly spread harm. Over the past several months, we’ve worked closely with the community to improve the design so we account for the many ways people use Android to balance openness with safety.

Start your verification today

Today, we’re starting to roll out Android developer verification to all developers in both the new Android Developer Console and Play Console. This allows you to complete your verification and register your apps before user-facing changes begin later this year.

  • If you only distribute apps outside of Google Play, you can create an account in Android Developer Console today.
  • If you're on Google Play, check your Play Console account for updates over the next few weeks. If you’ve already verified your identity here, then you’re likely already set.

Most of your users’ download experience will not change at all

While verification tools are rolling out now, the experience for users downloading your apps will not change until later this year. The user side protections will first go live in Brazil, Indonesia, Singapore, and Thailand this September, before expanding globally in 2027. We’ve shared this timeline early to ensure you have ample time to complete your verification.

Following this deadline, for the vast majority of users, the experience of installing apps will stay exactly the same. It’s only when a user tries to install an unregistered app that they’ll require ADB or advanced flow, helping us keep the broader community safe while preserving the flexibility for our power users.

Developers can still choose where to distribute their apps. Most users’ download experience will not change

Tailoring the verification experience to your feedback

To balance the need for safety with our commitment to openness, we’ve improved the verification experience based on your feedback. We’ve streamlined the developer experience to be more integrated with existing workflows and maintained choice for power users.

  • For Android Studio developers: In the next two months, you’ll see your app's registration status right in Android Studio when you generate a signed App Bundle or APK.

You’ll see your app's registration status in Android Studio when you generate a signed App Bundle or APK.

  • For Play developers: If you've completed Play Console's developer verification requirements, your identity is already verified and we'll automatically register eligible Play apps for you. In the rare case that we are unable to register your apps for you, you will need to follow the manual app claim process. Over the next couple of weeks, more details will be provided in the Play Console and through email. Also, you’ll be able to register apps you distribute outside of Play in the Play Console too.

The Android developer verification page in your Play Console will show the registration status for each of your apps.

  • For students and hobbyists: To keep Android accessible to everyone, we're building a free, no government ID required, limited distribution account so you can share your work with up to 20 devices. You only need an email account to get started. Sign up for early access. We’ll send invites in June.
  • For power users: We are maintaining the choice to install apps from any source. You can use the new advanced flow for sideloading unregistered apps or continue using ADB. This maintains choice while protecting vulnerable users.

What’s next?

We’re rolling this out carefully and working closely with developers, users, and our partners. In April, we’ll introduce Android Developer Verifier, a new Google system service that will be used to check if an app is registered to a verified developer.

  • April 2026: Users will start to see Android Developer Verifier in their Google Systems services settings.
  • June 2026: Early access: Limited distribution accounts for students and hobbyists.
  • August 2026: 
  • September 30, 2026: Apps must be registered by verified developers in order to be installed and updated on certified Android devices in Brazil, Indonesia, Singapore, and Thailand. Unregistered apps can be sideloaded with ADB or advanced flow.
  • 2027 and beyond: We will roll out this requirement globally.

We’re committed to an Android that is both open and safe. Check out our developer guides to get started today.

Announcing ADK for Java 1.0.0: Building the Future of AI Agents in Java

Google has released version 1.0.0 of the Agent Development Kit (ADK) for Java, introducing powerful new features like Google Maps grounding, built-in URL fetching, and a standardized Agent2Agent protocol for cross-framework collaboration. The update enhances agent control through a new "App" and "Plugin" architecture, which allows for global logging, automated context window management via event compaction, and "Human-in-the-Loop" workflows for action confirmations. Additionally, the release provides robust session and memory services using Google Cloud integrations like Firestore and Vertex AI to manage long-term state and large data artifacts.

Download the third-party attestation for data regions

Beginning today, admins have access to an independent review of Google Workspace’s data regions, not only for their compliance needs but also for their peace of mind.


This external evaluation from Coalfire, a third-party assessment organization, gives Assured Controls customers the confidence that their data is stored and processed within a Google data center in the assigned region. Google Workspace admins can log on to their data regions reports and download an independent perspective on Google’s implementation of Workspace data residency controls to meet storage and processing requirements.

Getting started

Rollout pace

Availability

Resources

Ransomware detection and file restoration for Google Drive now generally available

In September 2025, we launched ransomware detection and file restoration in beta to help organizations minimize the impact of malware attacks on personal computers. Today, we’re excited to share these two features are generally available with significant improvements in malware detection.

Compared to when the feature was in beta, we are now able to detect even more types of ransomware encryption and are able to do it faster. Our latest AI model is detecting 14x more infections, leading to even more comprehensive protection.

Thousands of users have tested file restoration, demonstrating that it’s scalable and reliable.

  • Ransomware detection: When users have Google Drive for desktop installed on their computers, file syncing will be paused when ransomware is detected. The user will see a notification appear on their computer. Admins will see an alert in the Admin console security center; notification emails will be delivered to both users and admins.
  • File restoration: Users are able to bulk restore their files to a previous version in Drive with ease, saving them time and money without paying a ransom. Users can select and restore multiple files prior to when ransomware infected their computer, making their files inaccessible.

Getting started

  • Admins:
    • Ransomware detection will be on by default for users in your organization. You can turn it on or off at the OU level by going to Admin console > Apps > Google Workspace > Settings for Drive and Docs > Malware and Ransomware. If ransomware is detected for your users, admins will receive an email and get an alert in the Alert center.
    • Drive file restoration will be on by default. You can turn it on or off at Admin console > Apps > Google Workspace > Settings for Drive and Docs > Drive file restoration.
    • Install the latest version of Drive for desktop on user computers (v.114 or later) to enable the detection alerts (syncing will still be paused on older versions).
    • Visit the Help Center to learn more about managing ransomware detection and file restoration for your organization.

The Admin console setting for ransomware detection


The Admin console setting for Drive file restoration 


Email to admins when potential ransomware is detected


Admin alert in the Alert center with information on the potential ransomware detection



Alert detail on the ransomware detection


  • End users: The availability of this feature will depend on your admin’s settings. If turned on and ransomware is detected, you will see the alerts and access the interface below. Visit the Help Center to learn more about restoring files in bulk with Google Drive

End user alert in Drive for desktop when ransomware is detected


Interface to assist with file recovery

Rollout pace

Availability

  • File restoration
    • Available to all Google Workspace customers, Workspace Individual subscribers, and users with personal Google accounts 
  • Ransomware detection
    • Business: Business Standard and Plus
    • Enterprise: Enterprise Starter, Standard and Plus
    • Education: Education Standard and Plus
    • Other Editions: Frontline Standard and Plus

Resources

Introducing guest accounts: Collaborate securely and communicate with non-Workspace users in Google Chat

Today, we're excited to announce the general availability of guest accounts in Google Workspace. Guest accounts empower organizations to securely collaborate with customers, partners, and vendors that are not on Google Workspace. More than secure, real-time messaging in Google Chat, guest accounts enable organizations to extend their security and data protection policies to these non-Workspace users. Whether it’s collaborating on a marketing brief in Google Docs or a presentation in Google Slides, non-Workspace users with guest accounts adhere to your organization’s security policies.

How it works

When an end user in your organization invites an external, non-Workspace user in Google Chat through a direct message (DM) or Chat Space, a guest account is provisioned for that external user within your Workspace domain with a unique account identifier. These guest accounts are also automatically placed in a dedicated "Workspace Guests" Organizational Unit (OU) in the Admin console, with default security policies designed for these external users.

When communicating with guest accounts in DMs or Chat Spaces, your organization’s end users will see a teal “external” label for guest accounts. This is similar to the yellow “external” label that we have utilized in Google Chat to indicate external Workspace users. Guests can be @mentioned across supported Workspace app surfaces, similar to any other user. This means that end users can invite guests via Chat and collaborate with them using Chat, Drive, Docs, Slides, Sheets, and Meet.


Granular admin settings

Workspace admins have full visibility and control. The guest accounts capability is tied to your existing external chat settings. If you have external chatting enabled, end users in your organization can now start inviting non-Workspace users in Chat to collaborate with you.

    • Manage guest access settings: Manage who can invite guests to your organization.
    • Manage guest lifecycle: View and manage all provisioned guest accounts in the admin console and through APIs.
    • Policy enforcement: Guest accounts have a few default security settings that are not inherited from the Root OU. This helps organizations get started from a baseline security posture for guest accounts. View the defaults and apply your org specific policies to the "Workspace Guests" OU, such as 2-step verification or context-aware access.
Your organization retains full ownership of data created and shared within your Workspace domain when collaborating with users using guest accounts. Moreover, external users with guest accounts cannot create or own new files in Google Drive; they can only be invited to collaborate on existing files.


To learn more about the full set of capabilities for guest accounts and features available to host organization’s administrators to manage these guest accounts, take a look at the detailed documentation.

Important notes

  • Guest accounts are created only for non-Workspace external users. Functionality to collaborate with external Workspace users and consumer Google accounts remains unchanged and does not require guest account creation. API capability to create guests will be available in open beta by May 2026.
  • If you use trusted domains to only allow sharing only with certain organizations outside of your business, you can now start adding non-Workspace domains to your allowlisted domains to start collaborating securely with non-Workspace domains. Note that setting up trusted domains prevents your organisation from collaborating with consumer Google accounts. This includes collaboration with non-Workspace users who may have created consumer Google accounts using their work email address.
  • Guests are modelled as a type of user. In the Directory API, user.list will now include guests by default. The API now also includes a new field is_guest_user to identify guests. Guests will not be auto provisioned to existing 3P SAML apps that support automated user provisioning.

Getting started

  • Admins:
    • External chat settings: At launch, end users who can chat externally will be able to invite and collaborate with non-Workspace external users in Chat by default. You can control which users are allowed to chat externally using the existing external chat settings.
    • Guest invitation setting: You can restrict who can invite guest accounts in your organization using the guest invitation setting. This defaults to ON for everyone who can chat externally in your organization.

  • End users: End users who can collaborate externally and have been permitted by admins to invite end users will be able to invite and collaborate with non-Workspace external users in Chat using guest accounts.
  • Guests: Non-Workspace external users will receive an email invitation to their primary email address when invited by the host organization. Guests can sign up to start collaborating. Guests have limited feature capabilities available, similar to Workspace external users.

Rollout pace

  • Admin controls

Availability

  • Business: Business Starter, Standard, and Plus
  • Enterprise: Enterprise Starter, Standard, and Plus

Resources