Ultralytics v8.4.138: Stronger Compatibility, Stability, and Performance
Ultralytics v8.4.138 is now available!
This stability-focused release restores compatibility with legacy checkpoints, fixes YOLO-World loading, strengthens distributed training and tuning, reduces SAM memory overhead, and improves classification inference and BoT-SORT tracking.
Key Fixes
- Legacy checkpoints and YOLO-World: Older checkpoints created before
8.4.95can load correctly again, with support restored for stored loss and assignment classes across detection, classification, pose, segmentation, OBB, and keypoint workflows. YOLO-World package and checkpoint loading issues are also resolved in PR #26032 by @glenn-jocher. - MuSGD with
channels_last: Non-contiguous gradients now use a layout-safe reshape operation, preventing CUDA training crashes in PR #26013 by @synml. - Empty-target DDP batches: Detection, pose, OBB, and related branches remain connected to the training graph when no positive targets are assigned, preventing unused-gradient failures in PR #26012 by @JESUSROYETH.
- Failed tuning datasets: Failed datasets are now recorded with zero metrics, keeping tuning histories and fitness plots complete and consistent in PR #26028 by @glenn-jocher.
Performance Improvements
- Lower-memory SAM inference: SAM, SAM2, and SAM3 image embeddings are now computed in inference mode, avoiding unnecessary autograd graph retention during repeated feature extraction in PR #26011 by @glenn-jocher.
- Faster classification preprocessing: More batched preprocessing work now runs directly on the inference device, reducing CPU overhead and potentially improving throughput in PR #26023 by @JESUSROYETH.
- Faster BoT-SORT motion compensation: Corner detection is capped at 400 points instead of 1,000, reducing optical-flow computation while retaining sufficient motion information in PR #26008 by @JESUSROYETH.
Training and Tuning Reliability
- Multi-dataset distributed tuning now preserves dataset names and iteration order across workers, producing correctly labeled fitness results in PR #26024 by @glenn-jocher.
- Redundant regression scaffolding was removed to simplify maintenance in PR #26029 by @glenn-jocher.
Documentation Updates
- Export documentation now clarifies how
quantizeselects or requests precision across different formats and runtimes in PR #26022 by @raimbekovm. - The YOLO26n versus YOLO11n ONNX baseline and hardware behind the reported 43% CPU speed figure are now clearly identified in PR #26025 by @raimbekovm.
- Markdown tables inside MkDocs tabs and admonitions received consistent formatting in PR #26020 by @Laughing-q.
- The inconsistent
OBB Datasetnavigation label was removed in PR #26019 by @Laughing-q. - The TrackZone documentation video was updated in PR #26005 by @RizwanMunawar.
Try v8.4.138
Upgrade to the latest release with:
pip install -U ultralytics
Review the Ultralytics v8.4.138 release or explore the complete comparison with v8.4.137 for every change.
Please try the release and share your feedback, especially if you use legacy checkpoints, YOLO-World, distributed training, MuSGD, SAM, tuning, classification, or BoT-SORT. Thanks to every contributor and the wider YOLO community for helping make Ultralytics YOLO more dependable! ![]()