onnxruntime 1.28.0#295148
Merged
Merged
Conversation
daeho-ro
force-pushed
the
bump-onnxruntime-1.28.0
branch
from
July 25, 2026 07:34
3986dee to
8c3f8e4
Compare
botantony
approved these changes
Jul 25, 2026
Contributor
|
🤖 An automated task has requested bottles to be published to this PR. Caution Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch. |
BrewTestBot
enabled auto-merge
July 25, 2026 12:26
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.
Created by
brew bumpCreated with
brew bump-formula-pr.Details
release notes
nvrtcis no longer linked, which significantly reduces the required CUDA redistributable footprint (#29252, #29808, #29705, #29620).OrtModelPackageApinow lives in the experimental C API and may change in future releases (#28746, #29142, #28990).wgsl-genimplementation (#29141, #28355).CUDA_QUANT_PREPROCESSis off by default (#29687).Security Fixes
Memory safety & input validation
bind_inputcausing an out-of-bounds write (#28839)TensorAtfor sub-byte packed types (#28973)Col2Iminputs to prevent heap over-read (#28706)CropAndResizeagainst malformedcrop_sizetensors (#28766)BeamSearchvocab_sizeagainst logits width (#28774)WhisperDecoderSubgraph::CreateInitialFeeds(#29239)SparseAttentionCSR indices/key lengths and rejected zero-dimensionblock_row_indices(#29015, #29242)mask_indexto valid bounds (#29449)MaxpoolWithMaskkernel rank against input spatial rank (#29253)EmbedLayerNorm/SkipLayerNormshapes exceeding 32-bit output indexing (#29264)DecoderAttention/MultiHeadAttentionshape inference and negative-axis handling inExpandDimsshape inference (#29268, #29448)TreeEnsembletarget id validation and added input validation toLinearClassifier(#29293, #29060)DynamicQuantizeLSTMzero-point/scale validation typos (#29462)Loop/Scanoutput concatenation (#29397)raw_datato{0, 1}on unpack (#29238)Resize,PadFusion, and LoRA handling (#28779, #28780, #28801)WithOutputTensorin the Rust bindings (#29251)Integer overflow & allocation size
MlasConvPrepareworking-buffer products andConvTransposepad computation with SafeInt (#29444, #29446)SamplingState::Initthat could cause a heap buffer overflow (#29443)B/scales/zero-points shape inMatMulNBits::PrePack(#29445)ConstantOfShapeoutput size against the input initializer before constant folding (#28751)Pad(int64/int32 truncation),Slice, andGatherBlockQuantized(#28721, #28704, #28718)Supply chain & tooling
subprocess(#28776, #28775)shell-quote,esbuild,tmp,ws,protobufjs,js-yaml,tar,markdown-it,@babel/core(#29022, #29044, #29055, #29057, #29061, #29062, #29063, #29079, #29090, #29156)New Features
Execution Provider ABI & Plugin EPs
external_datainto session options (#28271, #28989, #29501)CompileModelvalidation to accept zero-inputOrtModelgraphs (#28771)Core APIs & Runtime
OrtErrorCodedocumentation, single-sourced the values soStatusCodestays in sync, and addedOrtErrorCode::ORT_DEVICE_RESET(#29018, #29065, #29748)EpDeviceUsageevent, and ORT version logging (#28794)model_external_initializers_file_folder_pathis now honored for file-path model loads (#29459)HOST_ACCESSIBLEOrtValueallocation (#28038)Quantization Tooling
CudaQuantizertoonnxruntime.quantization(#29509)Flattenas a Direct8Bit op in the Python QDQ static quantizer (#28340)MaxPoolduring FP8 static quantization and fixed the FP8 (FLOAT8E4M3FN) scale reference distribution (#28488, #29350)TensorArraycustom op (#28335)Execution Provider Updates
NVIDIA CUDA EP
Attention & LLM decode
cudnn_frontendto 1.24 and enabled cuDNN SDPA for MHA/GQA (#28849)MoE & quantized GEMM
PrePackhook, symmetric withMatMulNBits, and fixed the prepack to always use the SM80 layout (#28749, #28978, #28965)MatMulNBitsGEMV (#28980, #29167, #29166, #29170)MatMulNBits(#29451)block_size=32, and fused bias (#29622, #29499, #29585)Coverage, dependencies & fixes
ArgMax/ArgMin/ReduceSumand fixedLogSoftmaxon the plugin EP (#29620)SoftplusandSoftsignup to opset 22 (#28982)cudaErrorInvalidValueon Blackwell (sm_120) (#29706)libcudart.so.13hard dependency that broke import on CPU-only Linux (#29202, #29590)PrePack, and plugin EP allocator deleter lifetime (#29658, #29663)moe_kernels.cu(#29295)WebGPU EP
Equal/Sub/Where/ReduceSumunder theenable_int64flag (#29236, #29392)max_num_pending_dispatchesconfigurable (#28761, #28894)GatherBlockQuantized(#29054)Castto int64 by default and switched to naive reduction (#28804, #28174)do_rotary(#29247, #29002)head_sizeout-of-bounds race, thepast_state == present_statebuffer aliasing case, andGatherBlockQuantizeddispatch failure for empty indices (#29593, #28753, #29030)round_prefer_ceil/round_prefer_floor(#28757)MatMulNBitsMlpFusionwhen the kernel is unavailable (#29089)CoreML EP
WhereandAndbuilders (#28597)"model_path" must not be emptyerror (#29394)QNN EP
PadNodeGroupSelector::Checkwhendq_nodesis empty (#28733)Gatherhandler for the transpose optimizer (#28755)WebNN EP
MatMulNBits(#29025)OpenVINO / VitisAI / DML / XNNPACK / VSINPU
process_ext_address(#29248)CPU & Core Optimizations
MLAS
sbgemm_neon_kerneland fixed failing KleidiAI NHWC unit tests (#28394, #29010)CPU Attention & Kernels
MatMulNBits(#29163)SpaceToDepthand int8 forDepthToSpace(#29154)is_causalbottom-right alignment for external KV cache (#29050, #28958)ReverseSequencereturning zeros for zero-length sequences (#28759)RandomForestClassifierbinary classification predictions (#28685)Graph, Optimizer, and Fusion
Gemm→QGemmfusion whenalpha != 1with bias, and validated DQ scale/zero-point shapes beforeQGemmfusion (#28131, #28714)Resizewith non-nearest interpolation modes underORT_ENABLE_ALL(#28454)Shape→Gather→TopKrank-1 regression (#28778, #29084)TransposeOptimizertype error on zero-point-lessDequantizeLinear(#29192)SimplifiedLayerNormfusion with a node-producedPowexponent (#29196)MaxPool(#29201)Conv/ConvTransposerank from weights when the input shape is unknown (#29149)STFTcomplex input frame offsets (#28961)Web & JavaScript
wgsl-genand removed the dynamic WGSL generator path (#28355, #29141)wasm_Release/build-wasmCI (#29040)Language Bindings
Python
HOST_ACCESSIBLEOrtValueallocation (#28038)requestspackage (#28825)Java
outputHandlesArrin theOrtTrainingSession.evalStepJNI binding (#29576)Rust
WithOutputTensor(#29251)Build, Packaging & CI
cpuinfo_deinitialize()(#28245)PIP_INDEX_URLpiping for container build stages (#29803, #29823)LinearRegressortest coverage (#28979, #29083)Contributors
Thanks to our 103 contributors for this release!
@adrastogi, @ankitm3k, @apsonawane, @ArsalanShakil, @bachelor-dou, @bopeng1234, @cbourjau, @chilo-ms, @chunghow-qti, @chwarr, @claude, @Craigacp, @crvineeth97, @dabhattimsft, @daijh, @danielsongmicrosoft, @derdeljan-msft, @edgchen1, @elwhyjay, @ericcraw, @eserscor, @fanchenkong1, @feich-ms, @fs-eire, @FuZoe, @gaugarg-nv, @gblong1, @GopalakrishnanN, @grybouilli, @guschmue, @haoxli, @hariharans29, @hnsyprst, @Honry, @intbf, @ishwar-raut1, @jambayk, @Jaswanth51, @jatinwadhwa921, @javier-intel, @jiafatom, @Jiawei-Shao, @JonathanC-ARM, @justinchuby, @jwludzik, @Kotomi-Du, @kpkbandi, @lucka-me, @maoger, @martin-klacer-arm, @maxwbuckley, @MayureshV1, @mc-nv, @mcollinswisc, @mdvoretc-intel, @mingyueliuh, @mklimenk, @n1harika, @namgyu-youn, @neilmsft, @orlmon01, @Osamaali313, @prathikr, @preetha-intel, @psakhamoori, @qiurui144, @qjia7, @qti-hungjuiw, @qti-yuduo, @quic-muchhsu, @raagrawal, @RajeevSekar, @Reranko05, @Rishi-Dave, @RyanMetcalfeInt8, @Sammy-Dabbas, @sanaa-hamel-microsoft, @sayanshaw24, @selenayang888, @sfatimar, @sgbihu, @Shivani767, @ssam18, @susbhere, @sushraja-msft, @tairenpiao, @the0cp, @tianleiwu, @titaiwangms, @umireon, @vthaniel, @wangw-1991, @wenqinI, @xadupre, @xenova, @xhcao, @xiaofeihan1, @xieofxie, @xuke537, @yen-shi, @yinli-systems, @yuslepukhin, @ZackyLake
Full Changelog: v1.27.1...v1.28.0
View the full release notes at https://github.com/microsoft/onnxruntime/releases/tag/v1.28.0.