ONNX v1.20.0 is now available with exciting new features! We would like to thank everyone who contributed to this release!
Please visit onnx.ai to learn more about ONNX and associated projects.
Updated Op list:
Cast, CastLike, Constant, ConstantOfShape, DequantizeLinear, Flatten, Identity, If, Loop, Pad, QuantizeLinear, Reshape, Scan, Shape, Size, Squeeze, Transpose, Unsqueeze
Key Updates:
Breaking Changes and Deprecations
- Update manylinux_2014 -> manylinux_2_28 (#7151)
- Update attention gqa to use repeat interleave within repeat kv (#7274)
- Update required Python version to 3.10 and related fixes (#7220)
- Remove Python 3.9 wheel build (#7217)
- Remove deprecated methods (#7214)
Spec and Operator
- Add 2 bit support to onnx (#7446)
- Remove enforcement to node determinism attribute (#7473)
- Fix handling of empty inputs for the Softmax operator (#7206)
- Fix OneHotEncoder segfault due to missing input shape validation (#7302)
- Fix Attention backend test: correct dimension of Range input (#7300)
- Fix Range input rank in Attention op function definition (#7240)
- Update Reduce op doc for empty axes (#7421)
- Add additional test cases for MatMul operator (#7407)
- Fix ScatterND spec (#7406)
- Add node determinism attribute to operator schemas (#7176)
Reference Implementation
- Fix division for integer dtype in reference implementation (#7203)
- Fix noop_with_empty_axes in Reduce ops (#7394)
- Fix warnings in testing (#7367)
- Throw TypeError for invalid input types (#7366)
- Rename variables in RotaryEmbedding reference for clarity (#7316)
- Reference evaluator: treat empty axes as empty (#7244)
- Clean up reference evaluator tests (#7238)
Utilities and Tools
- Fix
IsOnnxStaticRegistrationDisabled()inline function breaking schema registration in external modules (#7409) - Allow conversion from
OpSchematoOpSchemaRegisterOnce(#7390) - Disable nanobind leak warnings in
cpp2py_export(#7334) - Add additional 19 → 18 conversion supports (#7422)
- Create 19 → 18 type op conversion (#7319)
- Clean up shape inference imports (#7278)
Build, CI and Tests
- Create
CPPLINT.cfg(#7198) - Lift minimum Protobuf version for Python 3.14+ on macOS (#7419)
- Downgrade
reuse.yml(#7395) - Add CMake test (#7387)
- Fix a syntactic error in
ONNXConfig.cmake.in(#7385) - Enable Python 3.14 in main (#7384)
- Update manylinux image in
release_linux.yml(#7383) - Support Ninja builds (#7332)
- Update
pixi.lockfile (#7331) - Fix CMake expression for
find_package(#7295) - General CMake fixes (#7291)
- Remove
ml_dtypesfromrequirements-dev.txt(#7290) - Fix conditional for downloading artifacts in mac workflow (#7413)
- Update
release_mac.yml: change3.14-devto3.14(#7396) - Update
release_mac.yml: skip pytest for3.14-dev(#7369) - Add GitHub Actions security analysis with Zizmor (#7363)
- Enable macOS + Python 3.13 test (#7330)
- Fix testsuite failures on s390x (#7309)
- Improve
abi3auditchecks inrelease_*.yml(#7293) - Add
abi3audittorelease_linux.yml(#7288) - Update
pixi.{toml,lock}and create issues if CI fails (#7280) - Replace pybind11 with nanobind for Python stable ABI support (#7276)
Documentation
- Add trademark information (
README.md) (#7189) - Update
RELEASE-MANAGEMENT.md(#7188) - Improve conditions in
create_release.yml(#7186) - Improve release documentation (
OnnxReleases.md) (#7187) - Improve
OnnxReleases.md(#7202) - Add install command to
OnnxReleases.md(#7204) - Add markdown file and diagram for in-place KV cache (#7205)
- Bump versions for 1.20.0 (#7436)
- Update IR VERSION 12 published date to August 26, 2025 (#7431)
- Clean up pull request template comments (#7415)
- Simplify upload instructions (#7414)
- Add ONNX versions 1.16.1, 1.16.2, and 1.19.1 (#7411)
- Update versioning information in
Versioning.md(#7410) - Improve documentation formatting (#7408)
- Update transpose documentation (#7405)
- Add copyright and license information to
main.cc(#7397) - Update
LAST_RELEASE_VERSIONto 1.19.1 (missed in last version) (#7391) - Explicitly specify the Google Python Style Guide in
CONTRIBUTING.md(#7381) - Update
RELEASE-MANAGEMENT.md(#7380) - Update
.editorconfigcheck to include YAML and Markdown files (#7370) - Improve markdown files (#7368)
- Update
data_locationdocs to matchonnx.in.proto(#7347) - Add
abi3information toREADME.md(#7289) - Update
OnnxReleases.mdwith correct pipeline configs (#7252) - Update figures and
RELEASE-MANAGEMENT.md(#7250) - Update
RELEASE-MANAGEMENT.md(#7239) - Add reproducible builds section to
README.md(#7237) - Fix release condition in
create_release.yml(#7230) - Update
RELEASE-MANAGEMENT.md(#7216)