# New Release: Ultralytics v8.4.23

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

</div>

# Ultralytics v8.4.23 is out 🚀

**Quick summary:** Ultralytics **v8.4.23** is a foundational release focused on a major inference-stack upgrade. The headline change is a full redesign of `AutoBackend` into a modular backend system, improving reliability, maintainability, and multi-format deployment across supported runtimes. Alongside that, this release adds a helpful pose dataset conversion improvement and several docs, CI, and usability fixes.

You can explore the full release in the [v8.4.23 release page](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.23) and review everything included in the [full changelog](https://github.com/ultralytics/ultralytics/compare/v8.4.22...v8.4.23).

## 🌟 Highlights

### 🧩 Major `AutoBackend` architecture refactor

The biggest update in v8.4.23 is [PR #23790 by @Laughing-q](https://github.com/ultralytics/ultralytics/pull/23790), with author profile [@Laughing-q](https://github.com/Laughing-q).

This change moves `AutoBackend` from a single large implementation into a new modular backend system under `ultralytics/nn/backends/`, including dedicated backend classes for:

- PyTorch
- TorchScript
- ONNX / IMX
- OpenVINO
- TensorRT
- TensorFlow / TFLite
- Paddle
- NCNN
- MNN
- RKNN
- Triton
- ExecuTorch
- Axelera
- CoreML

It also introduces a shared `BaseBackend` interface, standardizing loading, metadata handling, and inference behavior. In practice, this should make Ultralytics YOLO deployment cleaner and more consistent across formats, while making the codebase much easier to extend and maintain over time.

### 🤸 Smarter NDJSON pose conversion

With [PR #23921 by @glenn-jocher](https://github.com/ultralytics/ultralytics/pull/23921), from author [@glenn-jocher](https://github.com/glenn-jocher), NDJSON pose conversion can now automatically infer missing `kpt_shape` when possible.

That means pose dataset conversion is now more forgiving when metadata is incomplete, while still preserving strict validation for inconsistent or ambiguous keypoint annotations.

## 🔧 Improvements and Fixes

### 📚 Documentation fixes

A number of docs improvements landed in this release to make documentation more accurate and easier to use:

- Broken anchor links were fixed in [PR #23868 by @raimbekovm](https://github.com/ultralytics/ultralytics/pull/23868), author [@raimbekovm](https://github.com/raimbekovm)
- Incorrect `cfg.md` defaults for `plots` and `save` were corrected to `True` in [PR #23917 by @raimbekovm](https://github.com/ultralytics/ultralytics/pull/23917), author [@raimbekovm](https://github.com/raimbekovm)
- Outdated TensorRT INT8 “batch doubling” references were removed in [PR #23911 by @raimbekovm](https://github.com/ultralytics/ultralytics/pull/23911), author [@raimbekovm](https://github.com/raimbekovm)

### 🛠 Maintenance and CI updates

This release also includes several maintenance improvements behind the scenes:

- Docs JS dependency updates in [PR #23908 by @glenn-jocher](https://github.com/ultralytics/ultralytics/pull/23908), author [@glenn-jocher](https://github.com/glenn-jocher)
- `print()` migrated to centralized `LOGGER` in the docs reference builder in [PR #23895 by @raimbekovm](https://github.com/ultralytics/ultralytics/pull/23895), author [@raimbekovm](https://github.com/raimbekovm)
- Slack GitHub Action bumped from `v2.1.1` to `v3.0.1` in [PR #23910 by @dependabot[bot]](https://github.com/ultralytics/ultralytics/pull/23910), author [@dependabot](https://github.com/dependabot)
- Google Tag Manager added to docs templates in [PR #23776 by @matt-ultralytics](https://github.com/ultralytics/ultralytics/pull/23776), author [@matt-ultralytics](https://github.com/matt-ultralytics)
- Shape and type comment fixes in `AutoBackend` and `Tuner` in [PR #23918 by @raimbekovm](https://github.com/ultralytics/ultralytics/pull/23918), author [@raimbekovm](https://github.com/raimbekovm)

## 🎯 Why this release matters

### For deployment users 🌍

If you run models across different export formats, this release should improve consistency and reduce backend-specific surprises.

### For contributors and developers 👩‍💻

The modular backend design is a big win for long-term maintainability. It should be much easier to debug, extend, and reason about than the previous monolithic `AutoBackend`.

### For pose workflows 📦

The NDJSON pose update helps smooth out dataset conversion workflows when metadata is partially missing.

### For docs readers ✅

Several fixes improve trustworthiness and navigation, especially around config defaults and TensorRT guidance.

## 🙌 New contributor

A warm welcome to [@matt-ultralytics](https://github.com/matt-ultralytics), who made a first contribution in [PR #23776](https://github.com/ultralytics/ultralytics/pull/23776) 🎉

## ▶ Try it out

Upgrade with:

```bash
pip install -U ultralytics

```

If you’re building new projects, we recommend starting with [Ultralytics YOLO26](https://platform.ultralytics.com/ultralytics/yolo26), our latest stable and recommended model family, and you can manage datasets, training, and deployment in the [Ultralytics Platform](https://platform.ultralytics.com/).

## 💬 Feedback welcome

Please give v8.4.23 a try and let us know how it goes, especially if you’re working with exported models, backend integrations, or pose datasets. Feedback, testing, and bug reports from the community help make YOLO better for everyone.
