pypi / onnx
onnx
What changed in onnx 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
2 breaking7 security10 new APIs and options1 performance5 behavior and defaults17 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initonnx 142 changes
Breaking changes 2
The IR version changes from 13 to 14; developers creating or consuming models may need to account for the new version.
ReduceLogSum operators in opset 28 are restricted to float types.
Security 7
ONNX has Null Pointer Dereference in Upsample Version Converter Adapter (Zero Inputs)
ONNX: Heap-Buffer-Overflow READ in Gemm Version Converter Adapter via Undersized Input Shape
ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load
ONNX: External Data Symlink Traversal
ONNX: Malicious ONNX models can crash servers by exploiting unprotected object settings.
ONNX: TOCTOU arbitrary file read/write in save_external_dat
onnx Vulnerable to Path Traversal via Symlink
New APIs and options 10
Attention opset 25 adds the local_window_size attribute.
BitShift-28 adds signed integer type support.
Celu-28 adds float16, bfloat16, and double support.
Compress and related operators add bfloat16 support.
The latest DequantizeLinear reference implementation is registered.
FLOAT6E2M3 is added as a quantization data type.
FLOAT6E3M2 is added as a quantization data type.
The latest QuantizeLinear reference implementation is registered.
Opset 28 adds a mode attribute with DCR and CRD choices; function bodies are also added for SpaceToDepth and DepthToSpace.
SwiGLU is added as an ONNX function-op.
Performance 1
The reference Conv implementation is vectorized, changing its performance.
Behavior and default changes 5
Mod allows float input when fmod is 0.
Optional operators support all IR14 types.
Range is marked deterministic.
Reference evaluation now supports higher-rank inputs.
The reference evaluator performs runtime checks of shape annotations.
Fixes and other changes 17
Fixes a version miss for Opset 28.
Validates the offset in save_external_data.
The causal-mask and padding-mask paths in opsets 23 and 24 fix a bfloat16 type mismatch.
Causal-mask alignment and NaN robustness are fixed when is_causal is composed with attn_mask for external static KV caches.
Float parsing no longer depends on the locale.
The reference implementation rejects out-of-range axes.
A heap buffer over-read in shape inference for weight rank mismatch is fixed.
Einsum-28 adds bfloat16 support.
The checker rejects non-canonical FLOAT6 encodings.
The reference implementation fixes output shape for empty indices.
The reference implementation now handles scalar inputs.
Shape inference is fixed when depth is empty.
The reference implementation fixes behavior on empty boolean tensors.
The reference implementation now handles zero-length slices.
Shape inference validates num_scan_inputs to prevent underflow.
The reference implementation fixes min and max with multi-axis indices.
Circular mode now wraps non-sequence coordinates correctly.