> ## Documentation Index
> Fetch the complete documentation index at: https://imsdkdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Release Notes

> What's new for QIM SDK release

export const ReleaseSelector = ({children}) => {
  const [selected, setSelected] = React.useState("GA");
  return <div>
      <div style={{
    display: "flex",
    alignItems: "center",
    gap: "1rem",
    marginBottom: "2rem",
    padding: "1rem 1.25rem",
    borderRadius: "10px",
    border: "1px solid #e2e8f0",
    backgroundColor: "#f8faff"
  }}>
        <label style={{
    fontWeight: 700,
    fontSize: "0.9rem",
    whiteSpace: "nowrap"
  }}>Select Release:</label>
        <select value={selected} onChange={e => setSelected(e.target.value)} style={{
    padding: "8px 14px",
    borderRadius: "8px",
    border: "1px solid #d1d5db",
    fontSize: "0.9rem",
    fontWeight: 600,
    cursor: "pointer",
    backgroundColor: "#fff",
    color: "#111827",
    minWidth: "240px",
    boxShadow: "0 1px 3px rgba(0,0,0,0.08)"
  }}>
          <option value="GA">QIM SDK 2.0</option>
        </select>
        <span style={{
    padding: "3px 12px",
    borderRadius: "20px",
    fontSize: "0.75rem",
    fontWeight: 700,
    backgroundColor: "#dcfce7",
    color: "#166534"
  }}>
          Latest
        </span>
      </div>
      {React.Children.map(children, child => child && child.props && child.props["data-release"] === selected ? child : null)}
    </div>;
};

<ReleaseSelector>
  <div data-release="GA" style={{ textAlign: "left" }}>
    ## QIM SDK Release Notes

    ### Build AI and Multimedia Applications Faster with QIM SDK

    <div style={{ padding: "1.5rem 1.75rem", borderRadius: "10px", border: "1px solid #e2e8f0", backgroundColor: "#f8faff", color: "#111827", lineHeight: "1.7", textAlign: "left" }}>
      <p style={{ marginTop: 0, marginBottom: "1rem", color: "#111827" }}>QIM SDK simplifies the journey from <strong style={{ color: "#111827" }}>idea to production</strong>—without requiring developers to be GStreamer experts.</p>

      <p style={{ marginBottom: 0, color: "#111827" }}>This release introduces a more consistent and accessible development experience across the application lifecycle. Whether you are building your first AI application, developing a high-performance C++ solution, or designing an advanced multi-stream AI pipeline, QIM SDK provides the tools and flexibility needed to move faster.</p>
    </div>

    ### Release Highlights

    <table style={{ width: "100%", tableLayout: "fixed", borderCollapse: "collapse" }}>
      <thead>
        <tr>
          <th style={{ width: "20%", padding: "8px", border: "1px solid #e2e8f0", wordWrap: "break-word", textAlign: "center", verticalAlign: "middle" }}>Build</th>
          <th style={{ width: "20%", padding: "8px", border: "1px solid #e2e8f0", wordWrap: "break-word", textAlign: "center", verticalAlign: "middle" }}>Accelerate</th>
          <th style={{ width: "20%", padding: "8px", border: "1px solid #e2e8f0", wordWrap: "break-word", textAlign: "center", verticalAlign: "middle" }}>Customize</th>
          <th style={{ width: "20%", padding: "8px", border: "1px solid #e2e8f0", wordWrap: "break-word", textAlign: "center", verticalAlign: "middle" }}>Deploy</th>
          <th style={{ width: "20%", padding: "8px", border: "1px solid #e2e8f0", wordWrap: "break-word", textAlign: "center", verticalAlign: "middle" }}>Expand</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td style={{ padding: "8px", border: "1px solid #e2e8f0", fontWeight: 700, fontSize: "0.85rem", wordWrap: "break-word", textAlign: "center", verticalAlign: "top" }}>Python and C++ App Builders</td>
          <td style={{ padding: "8px", border: "1px solid #e2e8f0", fontWeight: 700, fontSize: "0.85rem", wordWrap: "break-word", textAlign: "center", verticalAlign: "top" }}>AI Coding Skills</td>
          <td style={{ padding: "8px", border: "1px solid #e2e8f0", fontWeight: 700, fontSize: "0.85rem", wordWrap: "break-word", textAlign: "center", verticalAlign: "top" }}>AI Pre/Post-Processing Hooks</td>
          <td style={{ padding: "8px", border: "1px solid #e2e8f0", fontWeight: 700, fontSize: "0.85rem", wordWrap: "break-word", textAlign: "center", verticalAlign: "top" }}>Containerized Docker Delivery</td>
          <td style={{ padding: "8px", border: "1px solid #e2e8f0", fontWeight: 700, fontSize: "0.85rem", wordWrap: "break-word", textAlign: "center", verticalAlign: "top" }}>Expanded ML Pipeline Capabilities</td>
        </tr>
      </tbody>
    </table>

    ...and other improvements across ML Bin capabilities, video analytics, and core pipeline plugins, covered below. Together, these enhancements help developers focus on application logic rather than the complexities of pipeline construction and deployment—while retaining control over **pipeline behavior, performance, and deployment**.

    > **From Python prototypes to production-ready C++ applications, QIM SDK delivers a simpler, faster, and more consistent approach to AI and multimedia development.**

    ***

    ## New Features

    ### Python App Builder

    A brand-new Python SDK enables developers to build full-featured AI and multimedia applications using familiar Python workflows. It follows the same core concepts as the C++ App Builder, combining Python's productivity with native-class performance so developers can focus on business and AI logic while production-grade multimedia pipelines run underneath.

    #### Designed for Python Developers

    * YAML-driven pipeline creation.
    * Intuitive Python APIs.
    * Zero-copy tensor access to AI model inputs and outputs.
    * Built-in ML Bin wrappers.
    * Seamless integration with popular Python libraries.
    * Faster prototyping and iteration cycles.

    See the full [Python App Builder guide](app-builder/python-quickstart) for the complete API reference and walkthroughs.

    ***

    ### C++ App Builder

    A brand-new, object-oriented C++ SDK, alongside GStreamer, for building high-performance AI and multimedia applications. It gives C++ developers a clean, strongly-typed pipeline API with zero-copy tensor access to AI model inputs and outputs.

    #### Designed for C++ Developers

    * Built-in ML Bin wrappers.
    * Native APIs for custom AI pre-processing and post-processing.
    * YAML-driven pipeline creation, simplifying deployment, portability, and configuration management.

    > Whether you build in Python or C++, the QIM SDK abstracts away GStreamer's complexity — no hand-written caps required. Both App Builders offer consistent high-level abstractions for pipelines, elements, sources, and sinks, simplified lifecycle management, stream filtering and routing, direct access to AI and multimedia components, and structured logging and diagnostics.

    See the full [C++ App Builder guide](app-builder/cpp-quickstart) for the complete API reference and walkthroughs.

    ***

    ### Customize AI Pre/Post-Processing Without Custom Plugins

    Implement model-specific AI logic without creating custom plugins. Previously, customizing AI pre-processing or post-processing meant writing, building, and loading a custom GStreamer plugin. Now, that same logic can live directly in your application code — as callbacks in C/C++ or Python, whether you're using raw GStreamer or either App Builder — using signals exposed by the ML pre/post-processing plugins, with no plugin to build or load.

    #### Benefits

    * Callback access to tensors, metadata, frame geometry, and inference outputs — including detections, classifications, poses, segmentation maps, and depth maps.
    * Faster model integration.
    * Reduced development complexity.
    * Freedom to implement proprietary AI algorithms without exposing them in a shared plugin.
    * Full compatibility with QIM SDK's visualization, metadata, tracking, and analytics components — downstream plugins consume the results exactly as if a built-in module had produced them.
    * No modifications required to QIM SDK internals.
    * Backward compatibility with existing applications.

    ***

    ### QIM SDK Docker

    QIM SDK in a Docker container means the full Qualcomm multimedia and AI software stack is delivered as containerized build and deploy images instead of being manually installed directly on a host or target system — reproducible and secure by default. In practice, a build container compiles and assembles all required components, including cross-compiled artifacts for Qualcomm ARM64 targets. The build then produces a deploy container that contains only the runtime pieces needed on the device.

    #### Key Benefits

    * **Reproducible, versioned builds:** Consistent toolchains and package versions across developers and CI, with predictable, rollback-friendly deployments.
    * **Build and runtime separation:** A self-contained build image produces a lean deploy image with only runtime essentials — no eSDK or host platform content required.
    * **Secure-by-default runtime:** Runs as a non-root user, with explicit CDI-based hardware passthrough for GPU, camera, and media devices.
    * **Broad platform support:** Debian Trixie base with GStreamer 1.26, validated across QLI 2.x, Ubuntu Server/Desktop, and QCS615, QCS6490, IQ8, and IQ9 targets.

    See the full [QIM SDK Docker guide](advanced/docker) for build and deployment instructions.

    ***

    ### Build Applications Using AI Coding Agents

    QIM SDK now includes AI Coding Skills that give coding agents — such as Claude Code, Cursor, Codex, and other AI development assistants — the QIM SDK-specific knowledge to generate complete Python, C++, or GStreamer applications directly from natural-language pipeline descriptions.

    #### Benefits

    * Accelerate prototyping and experimentation.
    * Automatically generate applications across:
      * Python App Builder
      * C++ App Builder
      * GStreamer pipelines

    See the full [AI Coding Agent guide](app-builder-coding-agent) for setup and usage details.

    ***

    ## Expanded ML Bin Capabilities

    ML Bins continue to simplify AI deployment by combining pre-processing, inference, and post-processing into a single pipeline component.

    | ML Bin | Runtime |
    | - | - |
    | `qtimlvideotflitebin` | LiteRT / TensorFlow Lite |
    | `qtimlvideoqnnbin` | Qualcomm QNN |
    | `qtimlvideosnpebin` | SNPE |

    ### New Capabilities

    * Segmentation and depth estimation metadata support.
    * End-to-end metadata propagation from inference through post-processing and across the pipeline.
    * Metadata muxing support.
    * Visualization overlay integration.

    ### Enhanced AI Pipeline Support

    * Simplified deployment with consistent AI processing and metadata handling across all three ML Bin runtimes — TensorFlow Lite, QNN, and SNPE.
    * Works the same way whether you're building with the Python/C++ App Builders or customizing AI workflows directly in application code.

    ***

    ## Video Analytics Enhancements

    ### Auto-Framing Support

    New intelligent auto-framing capabilities automatically adjust camera views to keep subjects optimally framed.

    #### Features

    * Built-in stabilization.
    * Multiple movement strategies.
    * Pluggable algorithm framework.
    * Advanced filtering and smoothing controls.

    ***

    ### Object ROI Merge

    A new Object ROI Merge capability consolidates overlapping person detections into a unified region of interest.

    #### Benefits

    * Reduced duplicate detections.
    * Improved tracking consistency.
    * Cleaner metadata generation.
    * Better accuracy for multi-stage AI pipelines.

    ***

    ## Core Enhancements / Improvements

    This release also includes several targeted improvements to the ML pre/post-processing and compositing plugins:

    * **qtimlvconverter — additional tensor layouts:** Added support for the **HWC** and **CHW** (single-image, no batch dimension) and **NDCHW** (planar temporal) tensor layouts, alongside the existing NHWC, NCHW, and NDHWC. The layout is detected automatically from the tensor shape. See [Preprocessing](qimsdk-overview/preprocessing) and the [Image/Video Tensor Characteristics](plugin-reference/qtimlvconverter#image/video-tensor-characteristics).
    * **External pre/post-processing signals:** A new `process` signal on [qtimlvconverter](plugin-reference/qtimlvconverter) and `process-*` signals on [qtimlpostprocess](plugin-reference/qtimlpostprocess) let applications handle frame-to-tensor conversion and inference output parsing directly in C/C++ or Python, without writing a loadable module — and `process` is the only way to convert tensors whose shape matches none of the supported layouts. See [External preprocessing](qimsdk-overview/preprocessing#external-preprocessing) and [External postprocessing](qimsdk-overview/postprocessing#external-postprocessing).
    * **qtimlpostprocess — automatic image mask resolution negotiation:** [qtimlvconverter](plugin-reference/qtimlvconverter) now propagates the model input tensor resolution downstream via a custom event, which [qtimlpostprocess](plugin-reference/qtimlpostprocess) uses to automatically negotiate the image mask resolution. Hardcoded `format`/`width`/`height` caps filters after `qtimlpostprocess` are no longer required in most pipelines — only `RGBA`/`RGBx` need to be specified if a fixed format is desired.
    * **ROI-aware image mask output:** In image mask (video) output mode, `qtimlpostprocess` now attaches an `ImageRegion` ROI meta reflecting the valid region based on the input source aspect ratio (populating only the pixels that contain real data), and [qtivcomposer](plugin-reference/qtivcomposer) automatically uses that ROI as the blit source instead of the full frame.

    ***

    ## Comprehensive Developer Documentation

    QIM SDK's documentation experience has been completely redesigned to support developers at every stage of their journey — from **Getting Started guides** and **AI pipeline tutorials and solution blueprints** to **30+ reference applications**, with full GitHub integration from concepts through to source code.

    ### Documentation Highlights

    * Production and commercial deployment guidance.
    * Comprehensive API documentation for GStreamer, Python, and C++.
    * Detailed plugin reference guides.
    * Multi-stream design patterns.
    * Multi-stage and daisy-chain AI blueprints.
    * AI Coding Skills integration guides.
    * End-to-end blogs and tutorials.

    ### Fully Integrated with GitHub

    Each guide links directly into the QIM SDK source repositories, so developers can jump from a concept or API reference straight to the matching implementation example without leaving the docs — moving quickly from learning to prototyping to production deployment in one unified experience.

    ***

    ## Why This Release Matters

    This release transforms QIM SDK from a GStreamer-centric toolkit into a developer-first application platform for AI and multimedia workloads. Developers can now:

    * Build applications in Python, C++, or GStreamer.
    * Generate applications using AI Coding Agents.
    * Customize AI workflows through application code.
    * Deploy advanced AI pipelines with minimal boilerplate.
    * Ship AI and multimedia applications via reproducible, versioned Docker containers.
    * Access comprehensive documentation, blueprints, and reference applications to accelerate development.

    The end result: faster development, lower learning curve, and greater flexibility for building production-grade AI and multimedia solutions on Qualcomm platforms.
  </div>
</ReleaseSelector>
