# New Release: Ultralytics v8.4.113

**URL:** <https://community.ultralytics.com/t/new-release-ultralytics-v8-4-113/2149>\
**Category:** Discussion\
**Tags:** announcements, ultralytics-official, releases\
**Created:** [July 31, 2026, 1:34pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-113/2149 "2026-07-31T13:34:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![glenn-jocher](https://sea1.discourse-cdn.com/flex001/user_avatar/community.ultralytics.com/glenn-jocher/32/83_2.png) [@glenn-jocher](https://community.ultralytics.com/u/glenn-jocher)\
**Post date:** [July 31, 2026, 1:34pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-113/2149/1 "2026-07-31T13:34:44Z")

</div>

# 🚀 Ultralytics v8.4.113: Dragonwing QNN Export, Class Activation Heatmaps, and Stronger Edge Deployment

Ultralytics **v8.4.113** expands Qualcomm QNN deployment to Dragonwing IQ-8275 devices, introduces clearer class activation heatmaps, improves RKNN and quantized exports, and delivers broad reliability, performance, and documentation updates.

Explore the complete release on the [Ultralytics v8.4.113 release page](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.113) and read on for the highlights. ✨

## 🌟 New Features

### Qualcomm Dragonwing IQ-8275 QNN export

QNN export now supports `iq-8275` and `qcs8275` targets using Qualcomm SoC model 82:

```python
model.export(format="qnn", name="iq-8275")

```

The update centralizes supported QNN target mappings, documents Snapdragon and Dragonwing compatibility, and enables Linux x86-64 export testing with `onnxruntime-qnn==2.4.0`.

Deployment still requires a compatible Qualcomm or Yocto BSP plus matching target-side QNN, FastRPC, DSP firmware, and driver components.

This work was contributed by [@glenn-jocher](https://github.com/glenn-jocher) through [PR #25558](https://github.com/ultralytics/ultralytics/pull/25558), simplifying deployment to Dragonwing IQ-8275 hardware.

### Class activation heatmaps for prediction 🔥

Prediction visualization now produces a useful LayerCAM-style class activation heatmap instead of multiple raw feature-map files.

The new output:

- Saves one heatmap per input
- Highlights regions influencing predicted class scores
- Respects confidence and class filters
- Supports PyTorch models
- Reduces visualization output clutter

The feature was introduced by [@Y-T-G](https://github.com/Y-T-G) in [PR #25548](https://github.com/ultralytics/ultralytics/pull/25548), making `visualize=True` significantly easier to interpret.

## 📦 Export and Edge Deployment Improvements

### Stronger RKNN and quantized exports

RKNN INT8 export now normalizes detection and pose coordinates to preserve class-score precision, then restores coordinates during inference. Additional compatibility work improves ONNX handling, temporary graph cleanup, and support for current `rknn-toolkit2` dependencies.

- [@JESUSROYETH](https://github.com/JESUSROYETH) fixed all-zero class scores in RKNN INT8 exports through [PR #25524](https://github.com/ultralytics/ultralytics/pull/25524), improving quantized inference reliability.
- [@lakshanthad](https://github.com/lakshanthad) pinned compatible RKNN package versions in [PR #25529](https://github.com/ultralytics/ultralytics/pull/25529), including the required `setuptools<82` constraint.
- [@zgh2022](https://github.com/zgh2022) fixed prompt-free YOLOE-26 RKNN export crashes in [PR #25536](https://github.com/ultralytics/ultralytics/pull/25536), covering detection and segmentation workflows.
- [@glenn-jocher](https://github.com/glenn-jocher) addressed Docker CI failures and export warnings in [PR #25525](https://github.com/ultralytics/ultralytics/pull/25525), strengthening export validation.

### More accurate attention FLOPs reporting 📊

THOP profiling now counts functional attention matrix multiplications in YOLO12 area-attention blocks. Models using area attention are also measured at the requested image size instead of extrapolating from a small stride-sized input.

[@glenn-jocher](https://github.com/glenn-jocher) implemented this correction in [PR #25545](https://github.com/ultralytics/ultralytics/pull/25545), producing more representative GFLOPs estimates for attention-heavy models.

## ⚡ Performance and Stability

- [@raimbekovm](https://github.com/raimbekovm) vectorized Deep OC-SORT global motion compensation and removed a redundant mean copy in [PR #25534](https://github.com/ultralytics/ultralytics/pull/25534), reducing unnecessary computation.
- [@JESUSROYETH](https://github.com/JESUSROYETH) corrected ECC global motion compensation warping against the first frame in [PR #25555](https://github.com/ultralytics/ultralytics/pull/25555), improving tracking consistency.
- [@JESUSROYETH](https://github.com/JESUSROYETH) changed segmentation-mask plotting to process row bands in [PR #25554](https://github.com/ultralytics/ultralytics/pull/25554), lowering temporary memory use and plotting time.
- [@JESUSROYETH](https://github.com/JESUSROYETH) preserved accumulated heatmap overlays when frames temporarily contain no tracks in [PR #25556](https://github.com/ultralytics/ultralytics/pull/25556), preventing visual resets.
- [@raimbekovm](https://github.com/raimbekovm) kept stream readers alive after grayscale frame-read failures in [PR #24709](https://github.com/ultralytics/ultralytics/pull/24709), avoiding reader termination and inference crashes.
- [@raimbekovm](https://github.com/raimbekovm) made mixed-text ordering stable across processes and distributed workers in [PR #25540](https://github.com/ultralytics/ultralytics/pull/25540), improving reproducibility.
- [@raimbekovm](https://github.com/raimbekovm) retained profiler samples when runtime variance reaches zero in [PR #25513](https://github.com/ultralytics/ultralytics/pull/25513), making profiling more robust.
- [@raimbekovm](https://github.com/raimbekovm) replaced rather than accumulated logging stream handlers in [PR #25541](https://github.com/ultralytics/ultralytics/pull/25541), preventing duplicate handlers across repeated calls.

## 🛠 Training and Model Fixes

- [@fcakyon](https://github.com/fcakyon) fixed MuSGD head grouping for custom backbone and head layouts in [PR #25532](https://github.com/ultralytics/ultralytics/pull/25532), improving custom architecture support.
- [@songjiahao-wq](https://github.com/songjiahao-wq) corrected MuSGD batching for higher-rank parameters in [PR #25317](https://github.com/ultralytics/ultralytics/pull/25317), preventing incorrect optimizer handling.
- [@Zenka737](https://github.com/Zenka737) fixed pose-loss selection for end-to-end models with non-Pose26 heads in [PR #25261](https://github.com/ultralytics/ultralytics/pull/25261), ensuring the appropriate loss is used.
- [@rudrakumar07](https://github.com/rudrakumar07) prevented `C2PSA` division-by-zero failures when its channel count is below 64 in [PR #25517](https://github.com/ultralytics/ultralytics/pull/25517), supporting smaller configurations safely.

## 📚 Documentation and Consistency

Task and mode ordering is now standardized across code, documentation, compatibility tables, and the Ultralytics Platform. Supported-task tables also report model-family capabilities more accurately.

- [@glenn-jocher](https://github.com/glenn-jocher) consolidated export task tables and corrected unverified claims in [PR #25523](https://github.com/ultralytics/ultralytics/pull/25523), improving export guidance.
- [@glenn-jocher](https://github.com/glenn-jocher) restored the shared supported-tasks macro and removed unused model-name sets in [PR #25550](https://github.com/ultralytics/ultralytics/pull/25550), simplifying maintenance.
- [@glenn-jocher](https://github.com/glenn-jocher) added model-family-specific supported-task rendering in [PR #25551](https://github.com/ultralytics/ultralytics/pull/25551), making compatibility information more precise.
- [@glenn-jocher](https://github.com/glenn-jocher) established one canonical task and mode order throughout the project in [PR #25552](https://github.com/ultralytics/ultralytics/pull/25552), improving consistency.
- [@raimbekovm](https://github.com/raimbekovm) fixed supported-task table rendering in [PR #25544](https://github.com/ultralytics/ultralytics/pull/25544), restoring correct documentation output.
- [@raimbekovm](https://github.com/raimbekovm) corrected declared outputs across fourteen docstring examples in [PR #25543](https://github.com/ultralytics/ultralytics/pull/25543), improving doctest accuracy.
- [@raimbekovm](https://github.com/raimbekovm) fixed a dangling `chi2inv95` reference in the Kalman gating-distance docstring through [PR #25516](https://github.com/ultralytics/ultralytics/pull/25516), removing an invalid reference.
- [@raimbekovm](https://github.com/raimbekovm) added `imgsz` to SAM `pre_transform` examples in [PR #25512](https://github.com/ultralytics/ultralytics/pull/25512), making the examples complete.
- [@raimbekovm](https://github.com/raimbekovm) removed unmatchable printed output from Kalman filter examples in [PR #25533](https://github.com/ultralytics/ultralytics/pull/25533), improving doctest reliability.
- [@raimbekovm](https://github.com/raimbekovm) clarified emoji-helper behavior in an error-message docstring in [PR #25538](https://github.com/ultralytics/ultralytics/pull/25538), improving API documentation.
- [@rudrakumar07](https://github.com/rudrakumar07) corrected missing wording in the `Probs` description through [PR #25522](https://github.com/ultralytics/ultralytics/pull/25522), improving readability.
- [@gizembm](https://github.com/gizembm) clarified IoA terminology in the Copy-Paste augmentation documentation in [PR #25528](https://github.com/ultralytics/ultralytics/pull/25528), making augmentation behavior easier to understand.

## 🔄 YouTube Stream Dependency Evaluation

[@ambitious-octopus](https://github.com/ambitious-octopus) initially replaced `pytube` and `pafy` with `yt-dlp` in [PR #16336](https://github.com/ultralytics/ultralytics/pull/16336). That change was subsequently reverted by [@glenn-jocher](https://github.com/glenn-jocher) in [PR #25546](https://github.com/ultralytics/ultralytics/pull/25546), so the release retains the previous YouTube stream behavior.

## 🙌 New Contributors

A warm welcome to two first-time contributors:

- [@songjiahao-wq](https://github.com/songjiahao-wq) made their first contribution with the MuSGD higher-rank parameter fix in [PR #25317](https://github.com/ultralytics/ultralytics/pull/25317).
- [@zgh2022](https://github.com/zgh2022) made their first contribution with the YOLOE-26 prompt-free RKNN export fix in [PR #25536](https://github.com/ultralytics/ultralytics/pull/25536).

Thank you to the entire YOLO community and every contributor who helped make this release possible! 💙

## 🚀 Try v8.4.113

Upgrade to the latest release:

```bash
pip install -U ultralytics

```

Please try the new QNN target, class activation heatmaps, export improvements, and runtime fixes in your workflows. Share your results and feedback with the community, especially for Qualcomm Dragonwing and RKNN deployments.

For every commit included since the previous version, review the [full v8.4.112 to v8.4.113 changelog](https://github.com/ultralytics/ultralytics/compare/v8.4.112...v8.4.113) on GitHub.
