The Wire · Showcase
JAX CLEANS HOUSE WITH CONSTRUCTOR SIMPLIFICATION AND RANDOM MODULE REORGANIZATION
By RepoJournal · Filed · About Google
JAX stripped JaxprEqnContext down to its essentials, removing constructor arguments in favor of context-by-default reading, while consolidating all PRNG logic into a unified namespace to handle the growing codebase.
The JaxprEqnContext refactor [1] cuts surface area and reduces initialization complexity, a pattern that pairs cleanly with JAX's broader internal reorganization. The team moved random-related sources into jax._src.random [2], keeping the public API unchanged while grouping all PRNG code in one place as the feature set grows. On the compilation front, compute_on gained compiler_options support and now tests sparsecore offload of collectives [3], with legacy compute_on tests replaced by compute_on2 [4] for cleaner test coverage. Internal cleanup continued across lax with trace_to_jaxpr_dynamic replaced by trace_to_jaxpr [5], simplifying the callable interface without touching user-visible behavior. Meanwhile, the Google Cloud Python ecosystem made a hard choice: dropping Python 3.9 and earlier across generated packages [8], resolving dependency conflicts and removing EOL version baggage. BigQuery DataFrames completed the deprecation of experimental Multimodal Blob APIs [9] while BigFrames added output_mode support for ai.classify [10], and executor internals went async for better concurrency [11]. The python-genai SDK shipped refreshed docs for 2.2 [6] and added output shortcut properties to interaction objects [7], letting developers skip the steps timeline dance.
Action items
- → Review JAX internal imports if using trace_to_jaxpr_dynamic directly google/jax [plan]
- → Plan Python 3.9 EOL migration for google-cloud-python dependencies googleapis/google-cloud-python [plan]
- → Update Multimodal Blob code to use _from_glob_path before next release googleapis/google-cloud-python [plan]
- → Test python-genai 2.2 interaction output shortcuts in dev environment googleapis/python-genai [monitor]
References
- [1] Remove constructor arguments in JaxprEqnContext and always read the value of context by default. google/jax
- [2] [internal] move random-related sources into a new `jax._src.random` submodule. ↗ google/jax
- [3] Add compiler_options to compute_on and add tests for sparsecore offload of collectives. ↗ google/jax
- [4] Replace compute_on tests with compute_on2 ↗ google/jax
- [5] jax/lax: replace trace_to_jaxpr_dynamic with trace_to_jaxpr ↗ google/jax
- [6] docs: refresh generated docs for 2.2 ↗ googleapis/python-genai
- [7] feat: interaction.{output_text,output_image,output_audio,output_video} ↗ googleapis/python-genai
- [8] feat: regenerate google-cloud-a packages (#17089) googleapis/google-cloud-python
- [9] feat!: complete deprecation and cleanup of multimodal blob APIs ↗ googleapis/google-cloud-python
- [10] feat(bigframes): support output_mode for ai.classify ↗ googleapis/google-cloud-python
- [11] refactor(bigframes): make executor internals async ↗ googleapis/google-cloud-python
FAQ
- What changed in Google on May 15, 2026?
- JAX stripped JaxprEqnContext down to its essentials, removing constructor arguments in favor of context-by-default reading, while consolidating all PRNG logic into a unified namespace to handle the growing codebase.
- What should Google teams do about it?
- Review JAX internal imports if using trace_to_jaxpr_dynamic directly • Plan Python 3.9 EOL migration for google-cloud-python dependencies • Update Multimodal Blob code to use _from_glob_path before next release
- Which Google repositories shipped on May 15, 2026?
- google/jax, googleapis/python-genai, googleapis/google-cloud-python