What's Changed
- Add per_layer_inputs support for Gemma4 and fix pixel_position_ids by Akshay Sonawane (@apsonawane) in #2188
- Enable Qwen3.5 35B-A3B MoE text export for TRT-RTX EP by Yen-Shi Wang (@yen-shi) in #2186
- Multilingual model ids expansion in the sample/example based on new Nvidia's README by Nenad Banfic (@nenad1002) in #2190
- Fix webgpu shared buffer issue by Akshay Sonawane (@apsonawane) in #2191
- Fix nightly build by kunal-vaishnavi in #2193
- Clean up base constructor in model builder by kunal-vaishnavi in #2192
- Fix CUDA illegal memory access crash in TopK when inputs contain NaN by David Fan (@jiafatom) in #2195
- Fix: Skip CPU provider in SetProviderSessionOptions by David Fan (@jiafatom) in #2179
- Add README file for testing folder by kunal-vaishnavi in #2205
- Add real-model integration test pipeline by Baiju Meswani (@baijumeswani) in #2198
- Update Extensions for Harmony/GPT-OSS Tool Calling Support by Sayan Shaw (@sayanshaw24) in #2200
- Forward user provider options to allocator init session by Jiajia Qin (@qjia7) in #2177
- Add grid dimension validation by Akshay Sonawane (@apsonawane) in #2219
- Support Hunyuan Dense V1 export by Sunghoon Choi (@hanbitmyths) in #2189
- Fix model builder for gpt-oss by Tianlei Wu (@tianleiwu) in #2228
- Update main to version 0.15.0 by Baiju Meswani (@baijumeswani) in #2183
- Build onnxruntime-genai-cuda packages on win-arm64 by Baiju Meswani (@baijumeswani) in #2199
- Bump torch from 2.7.1+cpu to 2.12.0+cpu in /test/python/directml/torch by Dependabot (@dependabot)[bot] in #2230
- Fix BFloat16 logits returned as garbage in Logits::Get() by Justin Chu (@justinchuby) in #2203
- Fix DefaultKeyValueCache: per-layer num_kv_heads for Gemma 4 dual/MQA attention by shreyshah-microsoft in #2214
- Fix security vulnerabilities by Akshay Sonawane (@apsonawane) in #2224
- Fix divide by zero error by Akshay Sonawane (@apsonawane) in #2226
- Load models from ONNX Runtime model packages by Jambay Kinley (@jambayk) in #2227
- fix(ci): use new identity client ID by Sanaa Hamel (@sanaa-hamel-microsoft) in #2246
- Use Linux A10 Agents for Integration Tests by Baiju Meswani (@baijumeswani) in #2248
- Fix OrtGlobals::Allocator destruction order by Edward Chen (@edgchen1) in #2249
- Add validation for input data by Akshay Sonawane (@apsonawane) in #2220
- Add upper bounds to dependencies by Akshay Sonawane (@apsonawane) in #2221
- Add check for malformed audio files by Akshay Sonawane (@apsonawane) in #2225
- Route init-session provider-option shaping through DeviceInterface by Jiajia Qin (@qjia7) in #2232
- Release captured graph resources when generator is destroyed by Jiajia Qin (@qjia7) in #2106
- feat: add audio content blocks for Gemma multimodal prompts in model_mm by Chang Liu (@cliu1003) in #2240
- Fix tied embeddings by kunal-vaishnavi in #2237
- Enable zero-copy for QNN GPU by qti-mattsinc in #2105
- fix(ci): use GHCR instead of ACR for workflow docker caches by Sanaa Hamel (@sanaa-hamel-microsoft) in #2264
- Fix new-delete-type-mismatch in C API opaque handle destroy functions by Akshay Sonawane (@apsonawane) in #2271
- Add regression tests for top_k exceeding vocab_size by David Fan (@jiafatom) in #2265
- Add bounds checking to OgaSequencesGetSequence C API functions by David Fan (@jiafatom) in #2260
- webgpu: fix RecurrentState graph capture with shared buffer aliasing by Jiajia Qin (@qjia7) in #2244
- Reject vocab_size < 2 for beam search to fix OOB in BeamSearch_Cpu::SelectTop by David Fan (@jiafatom) in #2272
- Update trust_remote_code by Akshay Sonawane (@apsonawane) in #2256
- Validate eos_token_id against vocab_size to prevent OOB write in ApplyMinLength by David Fan (@jiafatom) in #2266
- Fix use-after-free by making GeneratorParams co-own its Model by David Fan (@jiafatom) in #2270
- Fix arbitrary dll load via json injection by Akshay Sonawane (@apsonawane) in #2269
- Resolve model package paths and path-valued session options through ONNX Runtime by Jambay Kinley (@jambayk) in #2255
- Fall back to the system D3D12 runtime when the Agility SDK device factory cannot create a device by Gianluca Mazza (@gianlucamazza) in #2280
- Support UpdatePositionIds in webgpu's interface by Jiajia Qin (@qjia7) in #1952
- Fix UAF in adapter lifecycle: serialize Adapters ops with a mutex by Akshay Sonawane (@apsonawane) in #2274
- Fix AppendNextTokensToSequences heap overflow by Akshay Sonawane (@apsonawane) in #2111
- hack(ci): temporarily disable GHCR cache by Sanaa Hamel (@sanaa-hamel-microsoft) in #2297
- Enable re-init after OgaShutdown by Scott McKay (@skottmckay) in #2292
- Add int8 precision support to model builder by danielsongmicrosoft in #2275
- DML: allow opting out of graph capture via provider option by Gianluca Mazza (@gianlucamazza) in #2300
- Detect model packages by manifest.json without a root genai_config.json by Jambay Kinley (@jambayk) in #2298
- Add multi_rotary_cache_concat_offset for Phi-4 model in TRT-RTX EP by Yen-Shi Wang (@yen-shi) in #2276
- LFM2: add shared-buffer KV cache support to LFM2Cache by Tachion (@SanjayAMD) in #2284
- Update model builder for gpt-oss by Tianlei Wu (@tianleiwu) in #2234
- Support transformers v5 rope_parameters in model builder by Tianlei Wu (@tianleiwu) in #2311
- TurboQuant for ORT WebGPU along with model_bechmark updates to measure GPU memory by Sushanth Rajasankar (@sushraja-msft) in #2084
- Use lintrunner to format all files by Tianlei Wu (@tianleiwu) in #2317
- Bump torch from 2.7.1+cpu to 2.12.1+cpu in /test/python/cpu/torch by Dependabot (@dependabot)[bot] in #2305
- Bump torch from 2.12.0+cpu to 2.12.1+cpu in /test/python/directml/torch by Dependabot (@dependabot)[bot] in #2303
- [WebGPU] implements webgpu support in benchmarking script by Prathik Rao (@prathikr) in #2318
- Roll onnxruntime-extensions to pick up Gemma4LogMel OOB fix (#1092) by Sushanth Rajasankar (@sushraja-msft) in #2320
- Fix DML readback size by Sushanth Rajasankar (@sushraja-msft) in #2319
- Update torch package versions for CIs by kunal-vaishnavi in #2322
- chore(ci): use new integration test pool on Linux by Sanaa Hamel (@sanaa-hamel-microsoft) in #2254
- Implement no_repeat_ngram_size for CPU search by Mustapha Jaber (@mustjab) in #2242
- Add GetMemoryInfo to DeviceInterface by qti-mattsinc in #2259
- Support both FP16 and FP32 I/O for Nemotron by Anatol Liu (@p3achyjr) in #2279
- Drop CWD fallback in custom_ops_library resolution by Akshay Sonawane (@apsonawane) in #2267
- Redesign unified packaging pipeline by Baiju Meswani (@baijumeswani) in #2310
- Bump requests from 2.32.3 to 2.33.0 by Dependabot (@dependabot)[bot] in #2323
- [WebGPU] append WebGPUExecutionProvider to config by Prathik Rao (@prathikr) in #2326
- Add address validation feature by Akshay Sonawane (@apsonawane) in #2223
- Update prechecks in model builder by kunal-vaishnavi in #2312
- Remove onnxruntime-genai-cuda.dll from foundry package win-arm64 rid by Baiju Meswani (@baijumeswani) in #2329
- Add Tool Calling and Reasoning Token Metadata to
genai_config.jsonwith Fallback Map by Sayan Shaw (@sayanshaw24) in #2215 - Fix C# native bool marshaling by bmehta001 in #2327
- Clean up config path validation: free function in config.cpp, tests via C API by Akshay Sonawane (@apsonawane) in #2328
- Add cross-platform 1DS telemetry to the compiled library (opt-out) by bmehta001 in #2293
- Fix Apple telemetry packaging builds by bmehta001 in #2331
New Contributors
- shreyshah-microsoft made their first contribution in #2214
- Chang Liu (@cliu1003) made their first contribution in #2240
- qti-mattsinc made their first contribution in #2105
- Gianluca Mazza (@gianlucamazza) made their first contribution in #2280
- danielsongmicrosoft made their first contribution in #2275
- Tachion (@SanjayAMD) made their first contribution in #2284
- Prathik Rao (@prathikr) made their first contribution in #2318
- Anatol Liu (@p3achyjr) made their first contribution in #2279
- bmehta001 made their first contribution in #2327
Full Changelog: v0.14.0...v0.15.0