# 0.11.0 ## Release Information - OS & Framework support - Tested with the following configurations: > > > - Non-Gen AI: > > > > > > > > > - Frameworks: ONNX, TFLite, Pytorch > > - Host Platforms: Linux-x86\_64 (Ubuntu 22.04, Ubuntu 24.04), Linux-aarch64 (Ubuntu 24.04, Python 3.12), Windows-x86\_64 (10+), Windows-arm64 (10+) > > - Target Platforms: Linux-x86\_64 (Ubuntu 22.04, Ubuntu 24.04), Linux-aarch64 (Ubuntu 24.04), Windows-arm64 (10+), Android-arm64, QNX > - Gen AI: > > > > > > > > > - Frameworks: ONNX, GGUF > > - Host Platforms: Linux-x86\_64 (Ubuntu 22.04, Ubuntu 24.04) > > - Target Platforms: Android-arm64, Linux-aarch64 - QAIRT SDK - Tested with version (2.46.0, 2.47.0, 2.48.0, 2.49.0 (Default)) Note For QAIRT SDK, other supported SDK versions can be listed using `qairt-vm fetch --list`. ## Highlights - Default QAIRT SDK updated to 2.49.0. - Minimum supported QAIRT SDK updated to 2.46.0. - New features in QAIRT Dev Python APIs (compatible with QAIRT SDK 2.49.0+, unless noted otherwise) > > > - Compiler > > > > > > > > > - `qairt.compile` can now produce a model that can be saved as a DLC by setting > > `CompileConfig.module_format="dlc"`, letting a single `compile()`/`CompiledModel` > > workflow emit either a raw context binary or a DLC container without a separate > > conversion step. > > - `CompileConfig.enable_backend_trace` generates backend operation mapping artifacts > > alongside the compiled output, embedding the mapping directly into the DLC when > > `module_format="dlc"` and the installed SDK supports it. > - Gen AI Builder > > > > > > > > > - `sliding_context_length` is now propagated through the Gen AI Builder for > > sliding-window-attention (SWA) models, rewriting the SWA KV cache and attention mask via > > `qairt.optimizer.onnx.change_sliding_context_length`. Defaults to > > `ceil(sliding_window / 256) * 256` when unset, and raises `RuntimeError` if set on a > > non-SWA model. > > - The residual-Add heuristic used to locate layer split boundaries when splitting a model > > is now configurable through Gen AI Builder via `split.layer_boundary_name_regex`. > > - Embedding-related APIs are consolidated behind a single `GenAIBuilderHTP.embeddings` > > facade (`(source, mode)` pair, typed via the new `EmbeddingMode` enum), replacing the > > previous separate `.embedding`/`attach_model_for_embedding`/`.prepare_embedding_lut` > > entry points with one consistent interface. > > - `GenAIBuilderFactory` now supports Qwen3.5 and Qwen3.5 MoE checkpoints via dedicated > > `Qwen3_5BuilderHTP`/`Qwen3_5MoeBuilderHTP` builders, with `precision_compensation` > > enabled by default. > > - `ImageT2TExecutor` now accepts a standard image file (JPEG, PNG, WEBP) in addition to > > a pre-processed `.raw` file, automatically preprocessing it through the vision > > encoder’s processor. > - Pipeline > > > > > > > > > - The `quantization_opt` stage now supports evaluation (`can_evaluate = True`), so > > `pipe.evaluate()` can be called immediately after pre-quantization optimization runs, > > without first advancing to the `quantization` stage. > > - [Preview] The pipeline now supports **speculative decoding** via the new Eaglet > > draft-model architecture, validated with Qwen3-4B (see [Eaglet](https://docs.qualcomm.com/doc/80-87189-2/topic/eaglet.html#pipeline-eaglet)). > > - Pipeline recipes can register custom stages from a `.py` file via the top-level > > `custom_stage` field and the new `register_stage_plugin()` — no separate Python > > registration call needed. > > - Pipeline recipes now support repeating the same stage type via list-format `stages:` > > YAML (e.g. `model_loader` → re-authoring → `model_loader_1`), auto-wired and > > disambiguated by instance key. > > - `QuantizationStage` supports an opt-in `TestVectorConfig` that records matched > > floating-point/quantized tensor pairs (`fp_.pkl`/`qt_.pkl`) for downstream > > QuantSim validation (see [Test Vector Generation](https://docs.qualcomm.com/doc/80-87189-2/topic/pipeline_configuration.html#pipeline-test-vectors)). ## Resolved Issues > > > - Fixed Gen AI Builder SCL (sliding context length) variant generation raising on SWA models > whose `sliding_window` was already >= the minimum context length (e.g. Phi-3.5-mini with > `sliding_window=262144` and `context_length=4096`). `_scl_variants` now short-circuits to > `[None]` in this case instead of attempting an invalid variant sweep. > - Fixed `LLMPipeline.generate()` returning a plain string for stages upstream of > `genai_builder` (e.g. `model_loader`, `quantization`) instead of the documented > `TextGenerationResult`, breaking callers that expect `result.print()` / `result.generated_text` > regardless of which stage the pipeline was advanced to. > - Fixed `transposed_key_cache` and other QC-specific flags not round-tripping through > `to_dict()` for reauthored Llama/Phi3/Qwen3/Qwen3.5 configs, by giving `QcConfigMixin` its > own `to_dict()` override and reordering the config base classes so the mixin takes precedence. ## Deprecation Notices > > > - The `OnnxModel` interface (`OnnxModel.load()`, `OnnxModel.split()`, > `OnnxModel.mha2sha_v2()`), deprecated in 0.10.0, has now been removed. Use `GraphContext` > together with the simple optimizer APIs (`convert_mha_to_sha`, `split_llm`, `adapt_moe`) > instead. To be removed in 0.12.0: > > > - `GenAIConfig.allow_async_init` and `GenAIConfig.enable_graph_switching` are deprecated. Set > these through `EngineConfig.htp.allow_async_init` and `EngineConfig.htp.enable_graph_switching` > and pass the `EngineConfig` to `get_executor()` / `T2TExecutor` instead. > - `GenAIExecutor` (`qairt.gen_ai_api.executors.gen_ai_executor`) is deprecated and has been > renamed to `GenAIExecutable` (`qairt.gen_ai_api.executors.gen_ai_executable`). Update imports > to the new module. ## Known Issues > > > - Gen AI Builder is temporarily unsupported on Windows-arm64. Use Linux-x86\_64 as the host platform > for Gen AI workflows. > - Windows on ARM64 is not functional. This is a known issue (AISW-188015). > - Models with batch size greater than 1 > > > > > > > > > - A discrepancy exists between the qnn-net-run CLI and the Python API regarding data preparation > > for batch sizes greater than 1. While the CLI automatically groups individual tensor paths from > > an input list into a batch, the Python API requires inputs to be pre-batched (concatenated into > > a single raw file) prior to execution Last Published: Oct 05, 2026 [Previous Topic Resolved Issues](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/0_10_1.md) [Next Topic 0.12.0](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/0_12_0.md)