# New Release: Ultralytics v8.4.9

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

</div>

# 🚀 Ultralytics v8.4.9 is out!

**Quick overview:** Ultralytics **v8.4.9** improves **segmentation CopyPaste augmentation reliability** (especially for **grayscale / hyperspectral-style single‑channel inputs** ) and strengthens the broader training/export ecosystem with better **ExecuTorch + Torch** support 🧩⚙

If you’re building with **Ultralytics YOLO** or deploying via the **Ultralytics Platform** , this release focuses on smoother training runs, fewer augmentation edge-cases, and less deployment friction.

* * *

## 🌟 New Features & Highlights

### 🧪 Segmentation CopyPaste augmentation reliability (priority)

A key fix in `ultralytics/data/augment.py` makes CopyPaste masks more robust by:

- Building the contour mask as a **2D (H×W) array** (instead of matching the full image tensor shape)
- Drawing contours onto a **single-channel mask** using value `1` (instead of `(1, 1, 1)`), avoiding channel mismatches

This helps prevent mask shape/channel bugs that can break—or silently degrade—CopyPaste-based segmentation training, especially on **single-channel** imagery 📷✅

* * *

## 📦 Improvements

### 🧹 `ul://...` NDJSON datasets now always refresh

When using Ultralytics-hosted datasets via `ul://...`, `.ndjson` metadata now **always re-downloads** instead of potentially reusing a stale cached file—reducing “why didn’t my dataset update?” confusion 🔄⬇

### ⚙ ExecuTorch support improvements (Torch 2.10+ friendliness)

- Removes the `<2.10` PyTorch upper bound (Windows still excludes `torch==2.4.0`) 🔓
- Centralizes install checks via `check_executorch_requirements()` to reduce platform-specific failures 🧩

### ⚡ Training + compile coverage

- CUDA tests now train with `compile=True`, improving regression coverage
- Stride calculation is simplified for more predictable behavior 🧠🔥

### 📚 Docs refresh

Export docs video updated to a more relevant **YOLO26 export/deployment** tutorial 🎥  
(For new projects, **YOLO26** is the recommended model generation—smaller, faster, more accurate than YOLO11, and end-to-end across all tasks.)

* * *

## 🐛 Bug Fixes

- 🧩 CopyPaste mask handling fixes for single-channel / hyperspectral-style workflows
- ⚡ Better safeguards around `compile=True` training paths to catch issues earlier

* * *

## 🔢 What’s Changed (PRs)

Thanks to the community (and Ultralytics team) for the contributions! 🙌

- Always redownload NDJSON datasets — by [@glenn-jocher](https://github.com/glenn-jocher) in [PR #23458](https://github.com/ultralytics/ultralytics/pull/23458)
- ExecuTorch: support Torch 2.10 + remove `torch<2.10` pin — by [@onuralpszr](https://github.com/onuralpszr) in [PR #23344](https://github.com/ultralytics/ultralytics/pull/23344)
- Add missing type hints to `checks.py` and `dist.py` — by [@ahmet-f-gumustas](https://github.com/ahmet-f-gumustas) in [PR #23485](https://github.com/ultralytics/ultralytics/pull/23485)
- Docs: add updated export video — by [@RizwanMunawar](https://github.com/RizwanMunawar) in [PR #23463](https://github.com/ultralytics/ultralytics/pull/23463)
- Fix training with `compile` — by [@Y-T-G](https://github.com/Y-T-G) in [PR #23479](https://github.com/ultralytics/ultralytics/pull/23479)
- Refactor: simplify ExecuTorch requirement checks — by [@onuralpszr](https://github.com/onuralpszr) in [PR #23475](https://github.com/ultralytics/ultralytics/pull/23475)
- Hyperspectral CopyPaste augmentation improvements — by [@Y-T-G](https://github.com/Y-T-G) in [PR #23471](https://github.com/ultralytics/ultralytics/pull/23471)

You can review the release details in the [v8.4.9 GitHub release notes](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.9) and browse the [full changelog from v8.4.8 → v8.4.9](https://github.com/ultralytics/ultralytics/compare/v8.4.8...v8.4.9).

* * *

## ✅ Try it now

Update with:

```bash
pip install -U ultralytics

```

Then run a quick sanity check:

```python
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.predict("https://ultralytics.com/images/bus.jpg")

```

* * *

## 💬 Feedback welcome

If you hit any edge cases (especially around **segmentation CopyPaste** , **single-channel inputs** , or **ExecuTorch exports** ), please share details—minimal repros help a lot. Your feedback keeps the release quality high for everyone in the YOLO community 🧠🚀
