New Release: Ultralytics v8.4.155

:rocket: Ultralytics v8.4.155: Safer Caches, Stronger Exports, Better Device Support

Ultralytics YOLO v8.4.155 is here with safer dataset caching, stricter training validation, improved export and inference reliability, and better YOLO26 compatibility across Apple MPS and Windows OpenVINO. :glowing_star:

Explore the v8.4.155 release on GitHub for the official release details.

:glowing_star: New Features

  • Daily GitLab repository mirroring: A new scheduled workflow mirrors public Ultralytics repositories—including branches, tags, Git LFS objects, metadata, and avatars—to GitLab.
  • Expanded Platform SDK documentation: The documentation now recommends ultralytics-platform>=0.1.45 and explains synchronization of training metrics, checkpoints, arguments, and host information with the Ultralytics Platform.
  • Updated heatmaps guide: The documentation now includes an updated YOLO26 heatmaps tutorial.

:shield: Dataset and Training Reliability

Fresh label scans after dataset changes

The primary release change prevents stale labels.cache files from being reused after meaningful data.yaml edits. Cache validation now accounts for:

  • Number of classes
  • Keypoint configuration
  • Detection versus pose tasks
  • Single-class mode

Changes to these settings now trigger a fresh label scan, helping detect incompatibilities before they become confusing loss or indexing errors.

Implemented in PR #26207 by @cainiao33.

Invalid epoch values fail early

Configurations using epochs=0 or negative values now raise a clear validation error rather than silently training for 100 epochs or generating invalid outputs.

Implemented in PR #26208 by @cainiao33.

:laptop: Device and Backend Improvements

  • Apple MPS: YOLO26 pose training now uses float32 RLE pose-loss weights, resolving device type issues on Apple hardware.
  • Windows OpenVINO: CPU inference explicitly requests FP32 precision, avoiding reduced-precision kernel failures on affected systems.
  • MNN: Pixel-coordinate boxes are no longer incorrectly clamped to [0, 1], preventing collapsed detections.
  • LiteRT: Conversion now explicitly places models in evaluation mode.
  • OBB export: Angle data is passed directly during decoding, removing unnecessary model attributes and reducing export warnings.
  • PyTorch DDP: Buffer synchronization now uses the appropriate option for newer PyTorch versions while preserving existing behavior.

:high_voltage: Performance and Environment Control

  • Faster font checks: Matplotlib’s cached font list is used before rescanning system fonts, significantly reducing startup overhead on systems such as macOS.
  • More predictable dependency management: Setting YOLO_AUTOINSTALL=False now also blocks automatic apt installations and Edge TPU compiler setup. Missing dependencies instead produce warnings or actionable errors—ideal for CI, containers, and production environments.

:wrench: Pull Requests

:package: Try It Today

Upgrade to the latest release with:

pip install -U ultralytics

You can review every change in the complete v8.4.154 to v8.4.155 changelog before updating.

Give v8.4.155 a try in your training, validation, export, and inference workflows, and share your feedback with the Ultralytics community. Happy building! :tada: