unstale

pypi / onnxruntime

onnxruntime

What changed in onnxruntime 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

5 breaking3 security2 deprecations40 new APIs and options5 performance12 behavior and defaults18 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

onnxruntime 185 changes

Breaking changes 5

  • The corresponding experimental lookup entries were removed as EPContext callback registration moved to stable APIs.

    1.31.0release notes

  • Out-of-range indices now produce zero output slices on CPU, CUDA, and WebGPU for integer and floating-point quantized formats, differing deliberately from ONNX Gather error semantics.

    1.31.0release notes

  • CPU FP16 Gemm and MatMul execution is gated on hardware acceleration; CPU-assigned FP16 nodes without a matching kernel now fall back to FP32.

    1.30.0release notes

  • CUDA fpA-intB builds now default to a compact kernel set for FP16 activations, INT4/INT8 weights, scale-only quantization, and block_size=32.

    1.30.0release notes

  • ImageScaler now requires bias to match the channel count.

    1.30.0release notes

Security 3

  • Canonicalized external-data locations to harden model loading.

    1.30.0release notes

  • Added an allowlist of safe LoRA adapter parameter data types.

    1.30.0release notes

  • Limited nested model-graph depth to harden model loading.

    1.30.0release notes

Deprecations 2

  • ACL EP is deprecated and will be removed in a future release; source builds using --use_acl now receive a deprecation warning.

    1.31.0release notes

  • Source builds using this option now receive a deprecation warning.

    1.31.0release notes

New APIs and options 40

  • Added as a weightless hyper-connection operator with CPU, CUDA, and WebGPU implementations.

    1.31.0release notes

  • Compilation can write external initializers and EP context data to buffers, enabling in-memory workflows for models larger than 2 GB.

    1.31.0release notes

  • CoreML is exposed through OrtEpFactory, device enumeration, SessionOptionsAppendExecutionProvider_V2, and EP selection policies; NPU and GPU selection have stated OS minimums.

    1.31.0release notes

  • Extended for Qwen4-Exp.

    1.31.0release notes

  • Added in Node.js/React Native, Objective-C/Swift, and Rust; JavaScript support is read-only and unsupported on Web/WASM.

    1.31.0release notes

  • Added callback support in C#, Python, and Java.

    1.31.0release notes

  • The activation attribute supports SiLU, its Swish alias, and Sigmoid gating across CPU, CUDA, and WebGPU; SiLU remains the default.

    1.31.0release notes

  • WebNN EP added support for GroupNorm.

    1.31.0release notes

  • WebNN EP added support for GroupNormalization.

    1.31.0release notes

  • Added as a weightless hyper-connection operator with CPU, CUDA, and WebGPU implementations.

    1.31.0release notes

  • Added as a weightless hyper-connection operator with CPU, CUDA, and WebGPU implementations.

    1.31.0release notes

  • Added to the standard, non-proxy ONNX Runtime Web run path.

    1.31.0release notes

  • Opt-in CPU MatMulNBits FP32 throughput mode for eligible x86/x64 nodes; it is session-wide, disabled by default, and trades single-request latency for batched throughput.

    1.31.0release notes

  • Disables telemetry.

    1.31.0release notes

  • This opt-in source-build option skips platform accelerator probing and reports only the CPU device.

    1.31.0release notes

  • Set to ON to select Windows TraceLogging telemetry.

    1.31.0release notes

  • Added as an override for the accelerated block-wise INT4/INT8 QMoE CPU expert path.

    1.31.0release notes

  • Plugin execution providers can be statically linked; a static WebGPU plugin build configuration was added.

    1.31.0release notes

  • CoreML can participate in device-based EP selection, including Apple Neural Engine selection through PREFER_NPU.

    1.31.0release notes

  • Added an accuracy_level attribute; INT4 uses FP32 activations by default, while accuracy_level=4 opts into INT8 activation computation.

    1.31.0release notes

  • Added as a weightless hyper-connection operator with CPU, CUDA, and WebGPU implementations.

    1.31.0release notes

  • Set to 1 to fail initialization on workspace declaration overruns or nonzero orphaned reservations; strict verification is unsupported for ORT-format model loads.

    1.31.0release notes

  • WebNN EP added support for SkipGroupNorm.

    1.31.0release notes

  • Added for packed DeepSeek Engram batching with request-local history.

    1.31.0release notes

  • Added the DeepSeek Engram contrib operator.

    1.30.0release notes

  • Added a compact operator and BFloat16 support for CUDA GatedDeltaNet.

    1.30.0release notes

  • Added Go bindings for the ONNX Runtime C API.

    1.30.0release notes

  • Extended memory importing with host-pointer support.

    1.30.0release notes

  • Added access to preallocated outputs through this API.

    1.30.0release notes

  • Added the DeepSeek Engram contrib operator.

    1.30.0release notes

  • Source builds can disable FP4 QMoE kernels with -Donnxruntime_USE_FP4_QMOE=OFF.

    1.30.0release notes

  • Set this source-build option to retain the full CUDA fpA-intB kernel set instead of the compact default set.

    1.30.0release notes

  • Setting this environment variable to 1 opts into an FP8 DeepGEMM MoE decode path for supported fixed-shape QMoE workloads on Hopper GPUs; the path is disabled on Windows.

    1.30.0release notes

  • Extended paged XQA with speculative decoding, additional head-group and head-size support, FP16 caches for head size 256, and native block tables for 128-token pages.

    1.30.0release notes

  • Added INT4 paged KV caches with per-channel scales.

    1.30.0release notes

  • Added SkipLayerNormalization support to the WebNN execution provider.

    1.30.0release notes

  • Added an opt-in split-K GEMV path for small-N FP16 MatMul shapes.

    1.30.0release notes

  • Validated node references and bounded subtree comparison.

    1.30.0release notes

  • Added the operator for continuous batching and compact variable-length causal-convolution state updates.

    1.30.0release notes

  • Exposed safe graph-capture I/O in Python.

    1.30.0release notes

Performance 5

  • Eligible CPU weight prepacking during session initialization is parallelized using the intra-op thread pool; cross-session shared caching retains its serialized path.

    1.31.0release notes

  • Added an opt-in CPU FP32 throughput path for eligible x86/x64 FP32-input, 4-bit, block-size-32, accuracy-level-4 nodes.

    1.31.0release notes

  • Added AVX2 LayerNorm/RMSNorm kernels.

    1.30.0release notes

  • Added fused CPU LinearAttention kernels for AVX-512, Arm64 NEON, and SVE.

    1.30.0release notes

  • Improved PagedAttention and added metadata, GPT-OSS support, and INT8 KV-cache block quantization.

    1.30.0release notes

Behavior and default changes 12

  • Supported native builds now default to 1DS telemetry; Windows TraceLogging remains selectable and telemetry can be disabled.

    1.31.0release notes

  • Named read/write callbacks for application-managed storage are stable; EP support negotiation prevents registered callbacks from silently falling back to filesystem I/O.

    1.31.0release notes

  • Extended to FP8/FP4 data, full-axis blocks, and scale broadcasting; CPU UINT8 dequantization also improved.

    1.31.0release notes

  • Extended for Qwen4-Exp; packed hashing also supports head offsets, EOS resets, and segment boundaries.

    1.31.0release notes

  • Model-package consumers should use this stable API lookup and the stable OrtModelPackageApi table instead of experimental lookup entries.

    1.31.0release notes

  • The model-package C and C++ APIs are stable for loading packages, selecting compatible model variants, and creating sessions.

    1.31.0release notes

  • WebNN supports NHWC Resize by inferring resample2d axes.

    1.31.0release notes

  • Registered BFloat16 LayerNorm/RMSNorm kernels on the CPU execution provider.

    1.30.0release notes

  • FP4 QMoE kernels are enabled by default in CUDA builds; source builds can opt out with the CMake option.

    1.30.0release notes

  • Added INT64 Gather support in the WebGPU execution provider.

    1.30.0release notes

  • WebGPU now supports forwarding onnxruntime_perf_test -i options.

    1.30.0release notes

  • Extended convolution fusion with eight additional activations, fused activation handling in the im2col path, and uniform-based activation parameters for Conv/MatMul.

    1.30.0release notes

Fixes and other changes 18

  • Remains selectable for Windows TraceLogging telemetry.

    1.31.0release notes

  • Misuse now reports errors instead of terminating the process.

    1.30.0release notes

  • Rejected non-finite CPU RoiAlign coordinates.

    1.30.0release notes

  • Enabled WebGPU LayerNorm fusion to fix FP16 inference correctness.

    1.30.0release notes

  • Python asynchronous-run resources are retained and C# arguments are pinned until completion.

    1.30.0release notes

  • Made Rust string-tensor output extraction safe.

    1.30.0release notes

  • Validated Rust tensor element types.

    1.30.0release notes

  • Plugin EP packaging now supports Linux AArch64.

    1.30.0release notes

  • Shape inference was hardened for this applicable contrib operator.

    1.28.3release notes

  • Avoids out-of-bounds reads in ConvTransposeWithDynamicPads.

    1.28.3release notes

  • Shape inference no longer performs an out-of-bounds read when beta is a scalar.

    1.28.3release notes

  • Shape inference was hardened for this applicable contrib operator.

    1.28.3release notes

  • Avoids an out-of-bounds read when a Loop body input is also an initializer.

    1.28.3release notes

  • Reusing a packed sub-byte buffer for a full-byte tensor no longer causes a heap buffer overflow.

    1.28.3release notes

  • Single-tensor data transfers now preserve streams during plugin EP execution.

    1.28.3release notes

  • Avoids an out-of-bounds read when a Scan body input is also an initializer.

    1.28.3release notes

  • Shape inference was hardened for this applicable contrib operator.

    1.28.3release notes

  • Graph validation now rejects inputs to operator schemas that declare zero inputs.

    1.28.3release notes