# New Release: Ultralytics v8.4.96

**URL:** <https://community.ultralytics.com/t/new-release-ultralytics-v8-4-96/2120>\
**Category:** Discussion\
**Tags:** releases, announcements, ultralytics-official\
**Created:** [July 16, 2026, 1:35pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-96/2120 "2026-07-16T13:35:01Z")\
**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 16, 2026, 1:35pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-96/2120/1 "2026-07-16T13:35:01Z")

</div>

# 🚀 Ultralytics v8.4.96: Faster NDJSON, YOLO26 Depth Deployment, and Reliability Fixes

Ultralytics **v8.4.96** is now available! This release delivers **safer and dramatically faster NDJSON conversion** , expanded **YOLO26 Depth deployment guidance** , new **Ultralytics Platform On Premise documentation** , and a broad set of training, validation, tracking, and inference fixes. 🌟

## ✨ Highlights

### 🔐 Faster, safer NDJSON conversion

NDJSON records are now validated during the existing hash scan, eliminating an additional full-dataset pass while strengthening filesystem safety.

- Collision-free filenames are generated from stable record indexes.
- Untrusted source filenames and class names can no longer control output paths.
- Classification datasets use dense numeric class directories with hidden metadata preserving original class names.
- Reported conversion performance improves by approximately **7.8× for detection** and **6.8× for classification** compared with the reverted implementation.

This work was completed through [PR #25188](https://github.com/ultralytics/ultralytics/pull/25188) by [@amanharshx](https://github.com/amanharshx) and finalized without a validation prepass in [PR #25196](https://github.com/ultralytics/ultralytics/pull/25196) by [@glenn-jocher](https://github.com/glenn-jocher).

### 📏 YOLO26 Depth in Rust

Rust inference documentation now covers depth estimation with `yolo26n-depth.onnx`, including:

- Depth visualization with `--colormap` and `--depth-viz`.
- Per-pixel depth maps and valid depth ranges.
- Center-pixel depth value access.
- Updated jet and disparity visualization defaults.
- `ultralytics-inference` version `0.0.29`.

The updates arrived through [PR #25192](https://github.com/ultralytics/ultralytics/pull/25192), [PR #25193](https://github.com/ultralytics/ultralytics/pull/25193), and [PR #25195](https://github.com/ultralytics/ultralytics/pull/25195), all contributed by [@onuralpszr](https://github.com/onuralpszr).

### 🚀 New Intel deployment guide

A new guide explains how to deploy **Ultralytics YOLO26** using Intel DL Streamer, OpenVINO, GStreamer, and Docker. It includes FP32, FP16, and INT8 export workflows for Intel CPUs, GPUs, and NPUs, plus GPU/NPU inference, video output, and multi-stream processing.

Explore the implementation in [PR #25078](https://github.com/ultralytics/ultralytics/pull/25078) by first-time contributor [@tbujewsk](https://github.com/tbujewsk). 🎉

### 🏢 Expanded Platform On Premise documentation

Enterprise users can now find clearer guidance for connecting Linux, macOS, and Windows workers to the [Ultralytics Platform](https://platform.ultralytics.com). These workflows support local dataset browsing, annotation, training, and model storage while keeping image and video pixels on the customer’s computer.

The documentation was introduced in [PR #25167](https://github.com/ultralytics/ultralytics/pull/25167) and expanded in [PR #25174](https://github.com/ultralytics/ultralytics/pull/25174), both by [@glenn-jocher](https://github.com/glenn-jocher).

## 🛠 Reliability and Correctness Fixes

- `Results.update(probs=...)` now wraps probabilities in `Probs`, restoring `summary()`, `plot()`, and export functionality through [PR #25157](https://github.com/ultralytics/ultralytics/pull/25157) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- RT-DETR standalone validation now respects `single_cls` and `classes` through [PR #25158](https://github.com/ultralytics/ultralytics/pull/25158) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- Keypoints and segmentation polygons remain aligned with boxes after letterbox resizing thanks to [PR #25156](https://github.com/ultralytics/ultralytics/pull/25156) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- Classification confusion matrices no longer contain a phantom background class following [PR #25155](https://github.com/ultralytics/ultralytics/pull/25155) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- TensorBoard graph tracing now uses dataset channels through [PR #25160](https://github.com/ultralytics/ultralytics/pull/25160) by [@Laughing-q](https://github.com/Laughing-q).
- Validation compile mode is forwarded correctly to `attempt_compile` through [PR #25162](https://github.com/ultralytics/ultralytics/pull/25162) by [@Laughing-q](https://github.com/Laughing-q).
- `CopyPaste` mode is now validated explicitly through [PR #25168](https://github.com/ultralytics/ultralytics/pull/25168) by [@Laughing-q](https://github.com/Laughing-q).
- Segmentation loss no longer silently drops images when `overlap_mask=False` and instance count is below batch size, fixed in [PR #25173](https://github.com/ultralytics/ultralytics/pull/25173) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- `save_one_box()` now returns crops in the requested BGR format regardless of `save`, corrected in [PR #25172](https://github.com/ultralytics/ultralytics/pull/25172) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- FastSAM no longer overwrites the first detection when processing full-image boxes following [PR #25175](https://github.com/ultralytics/ultralytics/pull/25175) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- ECC camera-motion translation is now rescaled correctly after downscaling in `GMC` through [PR #25181](https://github.com/ultralytics/ultralytics/pull/25181) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- Trainer recovery now handles falsy `best_fitness` values and NaN branches correctly through [PR #25176](https://github.com/ultralytics/ultralytics/pull/25176) by first-time contributor [@Zenka737](https://github.com/Zenka737).
- YOLOE segmentation training no longer mixes text prompts into visual-prompt training, fixed in [PR #25178](https://github.com/ultralytics/ultralytics/pull/25178) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- CLI choice arguments now receive explicit configuration validation through [PR #25182](https://github.com/ultralytics/ultralytics/pull/25182) by [@glenn-jocher](https://github.com/glenn-jocher).
- End-to-end NMS now returns original detection indexes with `return_idxs=True`, while dead confusion-matrix code was removed in [PR #25187](https://github.com/ultralytics/ultralytics/pull/25187) by [@Zenka737](https://github.com/Zenka737).
- `polygons2masks_overlap` avoids `uint8` overflow that could drop instances beyond 128 overlaps, fixed in [PR #25185](https://github.com/ultralytics/ultralytics/pull/25185) by [@JESUSROYETH](https://github.com/JESUSROYETH).
- Python subprocess package-import handling was updated in [PR #24447](https://github.com/ultralytics/ultralytics/pull/24447) by [@raimbekovm](https://github.com/raimbekovm), with the overbuilt approach subsequently reverted in [PR #25190](https://github.com/ultralytics/ultralytics/pull/25190) by [@glenn-jocher](https://github.com/glenn-jocher).

## 📚 Documentation and Usability Improvements

- Augmentation and export argument tables were corrected in [PR #25163](https://github.com/ultralytics/ultralytics/pull/25163) by [@raimbekovm](https://github.com/raimbekovm).
- Semantic segmentation documentation now explains the `masks/` folder fallback behavior through [PR #25161](https://github.com/ultralytics/ultralytics/pull/25161) by [@raimbekovm](https://github.com/raimbekovm).
- The tracker default and object-blurring solutions table were corrected in [PR #25170](https://github.com/ultralytics/ultralytics/pull/25170) by [@raimbekovm](https://github.com/raimbekovm).
- CoreML and LiteRT mobile benchmarks now include YOLO26 Depth results through [PR #25177](https://github.com/ultralytics/ultralytics/pull/25177) by [@glenn-jocher](https://github.com/glenn-jocher).
- Platform code examples received clearer rendering and readability improvements in [PR #25179](https://github.com/ultralytics/ultralytics/pull/25179) by [@glenn-jocher](https://github.com/glenn-jocher).
- An obsolete documentation workflow badge was removed in [PR #25180](https://github.com/ultralytics/ultralytics/pull/25180) by [@glenn-jocher](https://github.com/glenn-jocher).

## 📦 Get Started

Upgrade to the latest release with:

```bash
pip install -U ultralytics

```

You can review every commit in the [v8.4.95 to v8.4.96 full changelog](https://github.com/ultralytics/ultralytics/compare/v8.4.95...v8.4.96) and find release artifacts on the [Ultralytics v8.4.96 release page](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.96).

Give **v8.4.96** a try and share your feedback, benchmarks, and issue reports with the Ultralytics community. Thank you to every contributor who helped make this release faster, safer, and more reliable! 🙌
