Repository navigation
Support ONNX opset 28 APIs and complete dtype exports - #3138
Merged
Merged
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3138 +/- ##
==========================================
- Coverage 73.28% 73.25% -0.04%
==========================================
Files 267 269 +2
Lines 33214 33441 +227
Branches 3183 3192 +9
==========================================
+ Hits 24342 24498 +156
- Misses 7802 7874 +72
+ Partials 1070 1069 -1 ☔ View full report in Codecov by Harness. |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The SpaceToDepth wrapper unconditionally forwards mode, causing even default DCR calls to fail with KeyError: 'mode' against the pinned ONNX schema, which lacks that attribute.
1 open issue
What changed in this PR
Extends ONNXScript’s public APIs through opset 28 and completes low-bit dtype exports. This provides the API and dependency foundation for the separate version-converter changes in #3139.
Changes:
- Adds generated opset 28 APIs, exports opsets 24–28, and refreshes Attention’s sliding-window attributes.
- Adds float6 annotations, completes dtype exports, and updates ONNX IR requirements while preserving ONNX 1.17 compatibility.
- Expands API and dtype tests, adjusts backend coverage for unsupported Optional I/O, and documents availability and generation.
| File | Description |
|---|---|
pyproject.toml |
Raises the ONNX IR minimum for float6 support. |
opgen/README.md |
Documents generation excluding opset 29. |
onnxscript/onnx_types.py |
Adds float6 annotations and resolves dtype names through IR. |
onnxscript/onnx_types_test.py |
Tests dtype exports, annotations, and storage roundtrips. |
onnxscript/onnx_opset/_impl/opset28.py |
Adds generated opset 28 operator wrappers. |
onnxscript/onnx_opset/_impl/opset25.py |
Adds Attention sliding-window parameters and refreshes generated documentation. |
onnxscript/onnx_opset/__init__.py |
Registers and exports opset 28. |
onnxscript/onnx_opset_test.py |
Tests public opsets, schema signatures, and new APIs. |
onnxscript/backend/onnx_export_test.py |
Skips scripting roundtrips with Optional graph I/O. |
onnxscript/_internal/type_annotation.py |
Filters schema dtype strings against installed ONNX enums. |
onnxscript/__init__.py |
Exports recent opsets and remaining low-bit annotations. |
noxfile.py |
Aligns the CI ONNX IR pin with the new minimum. |
docs/api/opsets.md |
Documents public opsets, dtype exports, and requirements. |
Review effort: Balanced
Justin Chu (justinchuby)
enabled stacked auto-merge (squash)
November 4, 2026 03:33
Ti-Tai Wang (titaiwangms)
approved these changes
Nov 4, 2026
Justin Chu (justinchuby)
added a commit
that referenced
this pull request
Nov 4, 2026
Restore the version-converter slice as the upper layer above #3138, preserving the original combined tree. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Justin Chu (justinchuby)
added a commit
that referenced
this pull request
Nov 4, 2026
Restore the version-converter slice as the upper layer above #3138, preserving the original combined tree. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Stack
Registered as a native GitHub stack in this order:
main.This PR's diff contains no version-converter changes. The combined stack preserves the complete implementation from before the split.
CI follow-up
Validation
lintrunner -aandgit diff --checkpass. Local ORT 1.31.1 is newer than the CI runtime pins; fresh hosted CI remains authoritative for those versions.