Migrating to JAX jax-v0.5.0
Version jax-v0.5.0 introduces 2 breaking changes. This guide details how to update your code.
Released: 1/17/2025
2
Breaking Changes
10
Migration Steps
18
Affected Symbols
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
jax_threefry_partitionablejax.numpy.einsumjax.numpy.linalg.solvejax.numpy.fft.fftnjax.numpy.fft.rfftnjax.numpy.fft.ifftnjax.numpy.fft.irfftnjax.ffi.register_ffi_type_idas_text (AOT lowering)jax.interpreters.xla.abstractifyjax.interpreters.xla.pytype_aval_mappingsjax.scipy.special.lpmnjax.scipy.special.lpmn_valuesjax.extend.ffijax_enable_memoriesjax.lib.xla_client.Devicejax.lib.xla_client.XlaRuntimeErrorjax.experimental.array_apiBreaking Changes
●Issue #1
Enabled `jax_threefry_partitionable` by default, changing PRNG key semantics; update code that relied on the previous default.
●Issue #2
Dropped support for Mac x86 wheels; users on that platform must switch to Mac ARM or another supported platform.
Migration Steps
- 1Review any code that relied on the previous PRNG key behavior and adjust for the default `jax_threefry_partitionable` setting.
- 2If you were using Mac x86 wheels, switch to a supported platform (e.g., Mac ARM) or build from source.
- 3Upgrade your environment to NumPy >=1.25 and SciPy >=1.11.
- 4Replace calls to `jax.numpy.linalg.solve` with the suggested workaround for batched 1‑D RHS.
- 5Update imports: use `jax.core.abstractify` and `jax.core.pytype_aval_mappings` instead of the `jax.interpreters.xla` versions.
- 6Replace deprecated `jax.scipy.special.lpmn` and `jax.scipy.special.lpmn_values` usages or remove them.
- 7Import FFI symbols from `jax.ffi` rather than `jax.extend.ffi`.
- 8Remove usage of the `jax_enable_memories` flag; the behavior is now always enabled.
- 9Replace references to `jax.lib.xla_client.Device` and `jax.lib.xla_client.XlaRuntimeError` with `jax.Device` and `jax.errors.JaxRuntimeError`.
- 10Migrate any code using `jax.experimental.array_api` to use `jax.numpy` directly.
Release Summary
JAX meso release adds multi‑dimensional FFT support, FFI state registration, and debugging info for AOT lowering, while breaking PRNG semantics, dropping Mac x86 wheels, and raising NumPy/SciPy minimum versions.
Need More Details?
View the full release notes and all changes for JAX jax-v0.5.0.
View Full Changelog