New Release: Ultralytics v8.4.23

Ultralytics v8.4.23 is out :rocket:

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 and review everything included in the full changelog.

:glowing_star: Highlights

:puzzle_piece: Major AutoBackend architecture refactor

The biggest update in v8.4.23 is PR #23790 by @Laughing-q, with author profile @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.

:person_cartwheeling: Smarter NDJSON pose conversion

With PR #23921 by @glenn-jocher, from author @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.

:wrench: Improvements and Fixes

:books: Documentation fixes

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

:hammer_and_wrench: Maintenance and CI updates

This release also includes several maintenance improvements behind the scenes:

:bullseye: Why this release matters

For deployment users :globe_showing_europe_africa:

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

For contributors and developers :woman_technologist:

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 :package:

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

For docs readers :white_check_mark:

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

:raising_hands: New contributor

A warm welcome to @matt-ultralytics, who made a first contribution in PR #23776 :tada:

:play_button: Try it out

Upgrade with:

pip install -U ultralytics

If you’re building new projects, we recommend starting with Ultralytics YOLO26, our latest stable and recommended model family, and you can manage datasets, training, and deployment in the Ultralytics Platform.

:speech_balloon: 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.