# New Release: Ultralytics v8.4.160

**URL:** https://community.ultralytics.com/t/new-release-ultralytics-v8-4-160/2237
**Category:** Discussion
**Tags:** announcements, ultralytics-official, releases
**Created:** [September 23, 2026, 1:09pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-160/2237 "2026-09-23T13:09: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: [September 23, 2026, 1:09pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-160/2237/1 "2026-09-23T13:09:44Z")

</div>

# 🚀 Ultralytics v8.4.160 is here

**Quick overview:** This release makes dataset edits less likely to be missed by caches, reduces memory use in SAM3 prompting and TensorRT calibration, and improves training and API reliability. It does **not** introduce a new model architecture. Read the [v8.4.160 release notes](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.160) for the release overview.

## 🗂 Dataset and validation improvements

- **Edited labels now trigger a cache rescan.** Cache keys account for file size and modification time, so an in-place label change can invalidate the cache even when the file length stays the same. This benefits detection, depth, semantic, and other shared-cache users. [PR #26283](https://github.com/ultralytics/ultralytics/pull/26283) by @aswanth-07
- **Validation chooses a dataset more clearly.** When `data` is omitted, validation uses the checkpoint’s recorded dataset if available; otherwise, it warns and falls back to the task default. Depth calibration now requires `data`. [PR #26277](https://github.com/ultralytics/ultralytics/pull/26277) by @raimbekovm

Existing dataset caches will rescan once after upgrading. If an edited file retains _both_ its size and modification time, remove the affected cache manually.

## ⚡ Memory and training reliability

- **SAM3 text prompting uses less peak VRAM** by processing prompts in chunks of up to 16. [PR #26281](https://github.com/ultralytics/ultralytics/pull/26281) by @Laughing-q
- **TensorRT 11 INT8 calibration uses less host RAM** by releasing consumed batch data and normalizing in place, without changing calibration values. [PR #26275](https://github.com/ultralytics/ultralytics/pull/26275) by @amanharshx
- **Out-of-memory training retries preserve optimizer and scheduler state** when automatically reducing batch size. [PR #26284](https://github.com/ultralytics/ultralytics/pull/26284) by @Nikhi00718

## 🛠 API fixes and documentation

- CUDA-backed `Results.numpy()` now works as expected. [PR #26282](https://github.com/ultralytics/ultralytics/pull/26282) by @aswanth-07
- `non_max_suppression()` no longer mutates its input predictions. [PR #26278](https://github.com/ultralytics/ultralytics/pull/26278) by @Nikhi00718
- Repeated `safe_download` calls for single-file ZIP archives are more reliable. [PR #26273](https://github.com/ultralytics/ultralytics/pull/26273) by @Nikhi00718
- `save_one_box()` better handles list, tuple, and NumPy boxes. [PR #26279](https://github.com/ultralytics/ultralytics/pull/26279) by @MohammadHijjawi97
- `img2label_paths()` now accepts `pathlib.Path` inputs. [PR #26280](https://github.com/ultralytics/ultralytics/pull/26280) by @MohammadHijjawi97
- Task guides now give clearer guidance on validation, results, dataset formats, and training options. [PR #26271](https://github.com/ultralytics/ultralytics/pull/26271) by @raimbekovm
- A [new video](https://youtu.be/VxP9kHUwE6o) was added to the docs. [PR #26274](https://github.com/ultralytics/ultralytics/pull/26274) by @RizwanMunawar

Welcome to first-time contributor @MohammadHijjawi97! 🎉

**Give v8.4.160 a try** and let us know how it works in your workflows. For every change, see the [full changelog](https://github.com/ultralytics/ultralytics/compare/v8.4.159...v8.4.160).
