RepoJournal

$ cat google/month/2026-08-01.log

Google

Google

the month in review · August 2026

JAX ships 0.11.1 and reworks custom_vjp, Cloud Python hardens Spanner

August saw JAX stabilize its custom_vjp and autodiff internals ahead of a 0.11.1 release, while Google Cloud Python patched data-loss bugs and sped up generation.

795 commits 684 PRs merged 32 releases 31 briefings covered

JAX spent August reworking its VJP system, culminating in 0.11.1. The core change adds `defvjp_with_logs` so `custom_vjp` rules can emit logs, a new primitive that keeps call sites compatible. The team also caught itself: a plan to make `fun` in `custom_gradient` positional-only was reverted because "that's a breaking change" [1], blocking a silent API break for existing callers. The cumulative effect is a more instrumentable autodiff core without forcing migration on anyone.

Beyond the headline work, the month showed a pattern of restrained reversals and cleanups. A TPU accumulator API was rolled back, a `shard_alike` feature was deleted, and legacy call machinery was stripped. Each of these reduces the surface area JAX has to support, steering the design toward a smaller, more intentional core. The 0.11.1 release also shipped "export guardrails" and a tracing speedup, though the exact guardrails were left unspecified in the daily briefings.

Google Cloud Python's standout story is the Spanner `JsonObject` fix, which implements the dict protocol and nested unwrapping. This resolves a class of bugs where JSON values weren't treated like dictionaries, which previously forced users to write manual extraction code [2]. Spanner also fixed a data-loss bug in autocommit mode, and Bigtable saw a data-loss patch, both of which are safety-critical for production code paths.

On the build and tooling front, JAX switched to bzlmod and dropped Python 3.11 and legacy Bazel in one morning. This is a deliberate modernization push, but it means downstream users still on Python 3.11 will need to plan an upgrade before adopting newer JAX versions. The month closed with the XLA dependency updated at least twice, a routine sync that nonetheless keeps JAX aligned with upstream.

Finally, the hardware-specific work deserves notice: Intel GPU support landed in CI, native TPU convolutions shipped, and Mosaic GPU gained efficient transposed 8-bit stores using `ld/stmatrix` for Hopper+ and `cp.async` on older architectures [3]. These are the kind of low-level kernel decisions that determine whether the high-level API can actually deliver performance on next-gen hardware.

References

  1. [1] Don't make `fun` in custom_gradient positional-only since that's a breaking change ↗ google/jax
  2. [2] fix(spanner): implement dict protocol and nested unwrapping for JsonObject ↗ googleapis/google-cloud-python
  3. [3] [Mosaic GPU] Add support for transposed 8-bit stores (using ld/stmatrix) ↗ google/jax

$ ls google/month/ # the briefings behind this review

Sat Aug 1 JAX REFACTORS CORE VJP SYSTEM WHILE CLOUD PYTHON FIXES SPANNER JSON BUGS Sun Aug 2 JAX AVERTS BREAKING CHANGE IN CUSTOM_GRADIENT API Mon Aug 3 JAX SYNCS XLA DEPENDENCY TO LATEST REVISION Tue Aug 4 JAX HARDENS GPU KERNELS WHILE CLOUD PYTHON PATCHES SUPPLY CHAIN RISK Wed Aug 5 JAX ADDS NUMPY 2.6 TOP_K, INTEL GPU SUPPORT LANDS IN CI Thu Aug 6 JAX PINS PYTHON 3.14T, GENAI GAINS ROBOTICS MODEL AND ERROR HANDLING Fri Aug 7 JAX STRIPS LEGACY CALL MACHINERY, PYTHON-GENAI OPENS DEFERRED SERVICE TIER Sat Aug 8 JAX OVERHAULS REF SYSTEM AS GENAI SDK LOCKS IN JSON SCHEMA SUPPORT Sun Aug 9 JAX FIXES ZERO-PROPAGATION BUG IN REVERSE-MODE AUTODIFF Mon Aug 10 JAX REVERTS BREAKING CHANGE, SYNCS XLA UPSTREAM Tue Aug 11 JAX WIRES INTEL GPU SUPPORT, FIXES MOSAIC ASSEMBLY BUGS Wed Aug 12 JAX DROPS PYTHON 3.13T SUPPORT, CLEANS UP BUILD PIPELINE Thu Aug 13 JAX SWITCHES TO BZLMOD, SHIPS AOT COMPILATION FOR TRITON KERNELS Fri Aug 14 JAX LOCKS IN PYTHON 3.15 SUPPORT AS GENAI SDK SHIPS VIDEO ENHANCEMENTS Sat Aug 15 JAX SHIPS NATIVE TPU CONVOLUTION SUPPORT, PYTHON 3.15 CONSTRAINT LIFTED Sun Aug 16 JAX EXPANDS MPMD DEBUGGING, GOOGLE CLOUD PYTHON PLUGS BIGTABLE DATA LOSS Mon Aug 17 JAX ROLLS BACK TPU ACCUMULATOR API, CLOUD STORAGE FIXES STREAM CLEANUP Tue Aug 18 JAX 0.11.1 lands with export guardrails and a tracing speedup Wed Aug 19 JAX CUTS PYTHON 3.11 AND BAZEL LEGACY IN ONE MORNING Thu Aug 20 SPANNER FIXES DATA LOSS IN AUTOCOMMIT MODE Fri Aug 21 JAX hardens distributed mode with mTLS Sat Aug 22 GOOGLE WEB STACK AND SPANNER GET LAST-MINUTE ENGINEERING CATCH-UPS Sun Aug 23 JAX Renames Mosaic GPU Parameters Mon Aug 24 JAX SPEEDS UP SNAKE, DROPS ROCM WHEEL LOOKUP Tue Aug 25 JAX restores fast multi-dimensional IRFFT on GPU Wed Aug 26 GENAI SHIPS 2.20.0 WHILE API-CORE PATCHES A YANKED RELEASE Thu Aug 27 JAX Deletes shard_alike Fri Aug 28 JAX ships a GPU/TPU grab bag. Google Cloud goes shopping. Sat Aug 29 Google Cloud Python tools sync lint and format Sun Aug 30 JAX ships tracing-time ordering, xla dependency bump Mon Aug 31 JAX fixes arg_exclude_mask initialization and updates XLA dependency