Roadmap¶
Planned¶
- Extend target-oriented validation guidance beyond the documented ONNX Runtime CPU and Web/WASM flows, especially for mobile deployments where practical.
- Broaden capability-matrix coverage across dtype and shape variants, including BF16, dynamic dimensions, and non-square inputs.
- Add focused end-to-end deployment examples for small vision and numerical models.
- Add a realistic end-to-end RL deployment example based on a widely used RL
library, loading a trained actor and exporting the inference-only
obs -> actionpolicy contract. - Continue targeted coverage work for JAX, Flax NNX/Linen, Equinox, SotA examples, and physics/simulation use cases.
Current Version¶
jax2onnx 0.15.0¶
- Add deterministic RL policy exports: Provide continuous-control and
discrete-control
examples.rlexports for theobs -> actiondeployment contract, documented with RL policy-only guidance and validated through the standard generated example-test path. - Harden generated example runtime contracts: Add optional ONNX shape inference and runtime contract hooks to example metadata so deployment examples can validate extra concrete batch sizes, output dtype/shape, and domain-specific output constraints without separate test trees.
- Add generated deployment readiness summaries: Let generated examples run an integrated readiness check with checker status, strict shape-inference status, public dtype/shape summaries, initializer summaries, operator inventory, and public-dimension warnings without expanding the public API.
- Add JAX 0.11 support: Track the
scanparameter change fromnum_consts/num_carryto theft_in/ft_outflat-tree descriptors, guard recursive jaxpr walks against the mergedClosedJaxpr/Jaxprtype whose.jaxprnow returns itself, route the internal APIs dropped fromjax.corethrough the compatibility layer, and add anemptyprimitive plugin for the newjnp.emptylowering. - Accept the Flax
out_shardingargument: Let thennx.LinearGeneralmonkey-patch accept and ignore the placement hint added in Flax0.12.8, matching the existingLinearandConvpatches. - Keep the pre-0.11 JAX path supported: Leave the declared
jax>=0.8.1floor and the Python 3.11 test row in place; since JAX0.11, NumPy2.5, and SciPy1.18all require Python 3.12, the 3.11 job now validates the full suite against the older JAX stack through the same compatibility layer. - Refresh the validation stack: Update the documented runtime stack to JAX
0.11.0, Flax0.12.8, ONNX Runtime1.28.0, andonnxruntime-web1.27.0; pull the transitiveprotobufjsdev dependency up to7.6.5to clear its advisories; and raise the pinned mypy to1.20.2with a3.12type-check target, which the NumPy2.5stubs require. - Guard the generated coverage tables: Make
scripts/generate_readme.pyabort instead of silently dropping documented rows when an optional plugin world (MaxText, MaxDiffusion) is not registered, check every target before writing any of them, and allow deliberate deletions via--allow-removals.
Past Versions¶
See Past Versions for the full release archive.