# New Release: Ultralytics v8.4.31

**URL:** <https://community.ultralytics.com/t/new-release-ultralytics-v8-4-31/1905>\
**Category:** Discussion\
**Tags:** ultralytics-official, releases, announcements\
**Created:** [March 29, 2026, 1:24pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-31/1905 "2026-03-29T13:24:46Z")\
**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:** [March 29, 2026, 1:24pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-31/1905/1 "2026-03-29T13:24:46Z")

</div>

# Ultralytics v8.4.31 is out 🎉

A new Ultralytics YOLO release, `v8.4.31`, is now available with a strong focus on reliability, export correctness, and smoother deployment workflows. The headline fix is **INT8 export calibration for non-square image sizes** , alongside training stability improvements, cleaner exporter internals, and better docs for dataset conversion, deployment, and YOLO26 training 🚀

If you work with **rectangular inputs** , edge deployment, Apple Silicon, or multi-scale training, this is a great update to pick up.

## 🌟 Quick Summary

- ✅ **Fixed INT8 calibration for non-square `imgsz`** like `640,480`
- 🚀 Improved export reliability across **OpenVINO, TFLite, TensorRT engine, and IMX**
- 🍎 Better memory handling on **Apple Silicon / MPS**
- 📦 Smarter **auto-batch estimation** when `multi_scale=True`
- 🧩 Major internal **export refactor** for maintainability
- 📚 New guides for **COCO-to-YOLO conversion** and **YOLO26 training**
- 🎥 Clearer Ultralytics Platform docs for **video inference on dedicated endpoints**

You can explore the release in the [v8.4.31 release page](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.31) or review everything in the [full changelog](https://github.com/ultralytics/ultralytics/compare/v8.4.30...v8.4.31).

## 🔥 Main Update

### INT8 calibration now works correctly with non-square `imgsz`

The biggest change in `v8.4.31` comes from [PR #24028](https://github.com/ultralytics/ultralytics/pull/24028) by [@Y-T-G](https://github.com/Y-T-G) 🎯

This fixes INT8 export calibration for **rectangular image sizes** such as `imgsz=640,480`, which previously could lead to calibration mismatches or export issues. The update ensures calibration uses the correct effective size and preserves rectangular preprocessing behavior correctly.

This benefits multiple export targets, including:

- OpenVINO
- TFLite
- TensorRT engine
- IMX

For users deploying YOLO models to edge and production environments, this should bring a noticeable boost in confidence and consistency ✅

## 🆕 Improvements

### Export system refactor for easier future maintenance

A large internal cleanup landed in [PR #23914](https://github.com/ultralytics/ultralytics/pull/23914) by [@onuralpszr](https://github.com/onuralpszr) 🧩

The exporter logic was split from one large implementation into per-format utility modules such as `torchscript`, `openvino`, `coreml`, `ncnn`, `mnn`, `paddle`, `rknn`, and `axelera`.

There are no major user-facing CLI changes here, but this is an important architectural improvement that should make future exporter fixes and features faster, safer, and easier to maintain.

### Apple Silicon training and validation stability

Training and validation on MPS devices got a stability boost in [PR #24038](https://github.com/ultralytics/ultralytics/pull/24038) by [@Y-T-G](https://github.com/Y-T-G) 🍎

This update clears MPS memory more aggressively to help reduce leak-related out-of-memory issues on Apple Silicon systems.

### Better auto-batch with multi-scale training

Auto-batch estimation now accounts for the larger effective image sizes introduced by `multi_scale`, thanks to [PR #24051](https://github.com/ultralytics/ultralytics/pull/24051) by [@glenn-jocher](https://github.com/glenn-jocher) 📦

This should make automatic batch sizing more realistic and more stable for multi-scale training workflows.

## 📚 Documentation and Usability Updates

### New COCO-to-YOLO conversion guide

A new dataset conversion guide arrived in [PR #23930](https://github.com/ultralytics/ultralytics/pull/23930) by [@raimbekovm](https://github.com/raimbekovm) 📘

If you’re preparing custom datasets, this should make COCO-to-YOLO conversion much easier to follow.

### New YOLO26 training recipe guide

A new guide for training YOLO26 was added in [PR #23949](https://github.com/ultralytics/ultralytics/pull/23949) by [@raimbekovm](https://github.com/raimbekovm) 🚀

For new projects, YOLO26 remains the recommended Ultralytics model family, offering smaller, faster, and more accurate models than YOLO11 across detect, segment, classify, pose, and OBB tasks.

### Clearer video inference docs for Ultralytics Platform

Video inference support on dedicated endpoints is now documented more clearly in [PR #24029](https://github.com/ultralytics/ultralytics/pull/24029) by [@t-hakobyan](https://github.com/t-hakobyan) 🎥

If you’re building deployment workflows, the [Ultralytics Platform](https://platform.ultralytics.com) continues to be the simplest way to annotate datasets, train, deploy, and monitor YOLO models.

## 🛠 Bug Fixes and Infra Updates

### Dataset conversion validation tightened

[PR #24031](https://github.com/ultralytics/ultralytics/pull/24031) by [@glenn-jocher](https://github.com/glenn-jocher) improves NDJSON-to-YAML validation by expecting a `val` split for non-classification conversions instead of allowing `test` as a substitute.

### EdgeTPU install improvement

[PR #24032](https://github.com/ultralytics/ultralytics/pull/24032) by [@Laughing-q](https://github.com/Laughing-q) adds the `--no-tty` flag for `edgetpu_compiler` installation, which helps in non-interactive environments.

### CI and environment robustness

A few infrastructure upgrades also landed:

- [PR #24034](https://github.com/ultralytics/ultralytics/pull/24034) by [@dependabot[bot]](https://docs.github.com/en/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-dependabot-security-updates) bumps Codecov Action from 5 to 6
- [PR #24035](https://github.com/ultralytics/ultralytics/pull/24035) by [@lakshanthad](https://github.com/lakshanthad) adds PyTorch 2.11.0 slow-test coverage
- [PR #24049](https://github.com/ultralytics/ultralytics/pull/24049) by [@glenn-jocher](https://github.com/glenn-jocher) migrates CI to `ubuntu-latest`

### Platform embed card polish

[PR #24048](https://github.com/ultralytics/ultralytics/pull/24048) by [@Y-T-G](https://github.com/Y-T-G) syncs the Platform embed card theme for a more consistent experience.

## 💡 Why this release matters

`v8.4.31` is primarily about making YOLO workflows more dependable:

- **Exporting INT8 models with rectangular inputs** is now much more robust
- **Edge deployment workflows** should behave more consistently across key runtimes
- **Apple Silicon users** should see fewer MPS memory-related interruptions
- **Multi-scale training** gets more accurate auto-batch sizing
- **Docs and guides** continue to improve onboarding for both new and advanced users

## ▶ Try it out

Update with:

```bash
pip install -U ultralytics

```

And if you want to test the main export fix, a command like this is now handled correctly for INT8 rectangular calibration:

```bash
yolo export model=yolo26n.pt format=openvino int8=True imgsz=640,480

```

## 🙌 Feedback welcome

Please give `v8.4.31` a try and let us know how it works for your training, export, and deployment workflows. Feedback, regression reports, and edge-case testing are especially helpful as we continue improving YOLO and the Ultralytics Platform.

Thanks to all contributors who made this release possible 💙
