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. ![]()
Explore the v8.4.155 release on GitHub for the official release details.
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.45and 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.
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.
Device and Backend Improvements
- Apple MPS: YOLO26 pose training now uses
float32RLE 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.
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=Falsenow also blocks automaticaptinstallations and Edge TPU compiler setup. Missing dependencies instead produce warnings or actionable errors—ideal for CI, containers, and production environments.
Pull Requests
- PR #26203 adds the updated heatmaps tutorial video, contributed by @RizwanMunawar.
- PR #26206 adds daily GitLab mirrors and fixes Windows OpenVINO inference, contributed by @glenn-jocher.
- PR #26215 resolves OBB, DDP, and LiteRT warnings at their source, contributed by @glenn-jocher.
- PR #26216 accelerates font discovery using Matplotlib’s cache, contributed by @raimbekovm.
- PR #26212 fixes YOLO26 pose training on Apple MPS, contributed by @raimbekovm.
- PR #26205 documents Platform SDK training callbacks and raises the minimum SDK version, contributed by @raimbekovm.
- PR #26204 corrects bounding-box handling in MNN inference examples, contributed by @raimbekovm.
- PR #26208 rejects invalid epoch values during configuration validation, contributed by @cainiao33.
- PR #26214 extends
YOLO_AUTOINSTALLcontrol toaptand Edge TPU installation paths, contributed by @Y-T-G. - PR #26207 prevents stale label-cache reuse after semantic dataset configuration changes, contributed by @cainiao33.
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! ![]()