# ultralytics v8.4.138 — v8.4.138 - Fix legacy checkpoint and YOLO-World loading (#26032) - Product: ultralytics (https://whatsnew.fyi/product/ultralytics) - Vendor: ultralytics - Date: 2026-09-01 - Version: v8.4.138 - Original notes: https://github.com/ultralytics/ultralytics/releases/tag/v8.4.138 - Permalink: https://whatsnew.fyi/product/ultralytics/releases/v8.4.138 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Restore compatibility with legacy checkpoints created before v8.4.95 by recognizing loss and assignment classes stored in detection, classification, pose, segmentation, rotated-box, and keypoint components - **fixed** — Fix YOLO-World model and checkpoint loading issues - **fixed** — Prevent MuSGD optimizer crash with channels_last layout by replacing incompatible tensor flattening with a layout-safe operation - **fixed** — Prevent DDP failures when a mini-batch contains no assigned targets - **fixed** — Ensure detection, pose, OBB, and related model branches remain connected to the training graph when there are no positive samples - **fixed** — Correct multi-dataset tuning to preserve dataset names and iteration order across distributed workers - **fixed** — Record failed datasets with zero metrics instead of incomplete results in tuning histories - **changed** — Optimize SAM, SAM2, and SAM3 image embeddings to compute in inference mode, reducing memory overhead during repeated inference - **changed** — Move classification inference preprocessing to the inference device and perform in batches to reduce CPU overhead and improve throughput - **changed** — Cap BoT-SORT global motion compensation corner detection at 400 points instead of 1,000 to reduce optical-flow computation - **changed** — Document that quantize parameter may select or request different runtime precisions depending on export format ##### 🌟 Summary **Ultralytics v8.4.138** is a stability-focused release that restores compatibility with older checkpoints, fixes YOLO-World loading, and improves training, inference, tracking, tuning, and documentation reliability. 🛠️ ##### 📊 Key Changes - **Legacy checkpoint loading fixed** 🎯 Restricted checkpoint loading now recognizes loss and assignment classes stored in checkpoints created before **8.4.95**, including detection, classification, pose, segmentation, rotated-box, and keypoint-related components. - **YOLO-World loading fixed** 🌍 Corrects package loading issues affecting YOLO-World models and related checkpoints. - **MuSGD with `channels_last` no longer crashes** ⚡ Replaces an incompatible tensor flattening operation with a layout-safe one, allowing CUDA training with the MuSGD optimizer and automatic `channels_last` support to run correctly. - **SAM feature extraction optimized** 🧠 SAM, SAM2, and SAM3 image embeddings are computed in inference mode, preventing unnecessary autograd graphs from being retained and reducing memory overhead during repeated inference. - **Distributed training made more robust** 🔧 - Prevents DDP failures when a mini-batch contains no assigned targets. - Ensures detection, pose, OBB, and related model branches remain connected to the training graph even when there are no positive samples. - **Tuning results corrected** 📈 Multi-dataset tuning now preserves dataset names and iteration order across distributed workers. Failed datasets are recorded with zero metrics instead of incomplete results, keeping tuning histories and fitness plots consistent. - **Classification inference preprocessing improved** 🚀 More preprocessing work is moved to the inference device and performed in batches, which can reduce CPU overhead and improve classification throughput. - **BoT-SORT tracking made faster** 🏃 Global motion compensation now caps corner detection at 400 points instead of 1,000, reducing optical-flow computation while retaining sufficient information for motion estimation. - **Precision and quantization documentation clarified** 📚 Documentation now explains that `quantize` may select or request different runtime precisions depending on the export format. This avoids implying that every backend supports the same FP16, FP32, or INT8 behavior. - **Documentation quality updates** ✨ Markdown tables were consistently formatted, the OBB navigation label was cleaned up, the TrackZone video was updated, and the YOLO26 CPU speed comparison now clearly identifies its YOLO26n-versus-YOLO11n ONNX baseline and hardware. ##### 🎯 Purpose & Impact - **More users can load existing models without retraining**, especially those using checkpoints created with older Ultralytics versions. ✅ - **YOLO-World workflows become more dependable** for users loading supported models and checkpoints. - **Platform and cloud GPU training jobs are less likely to fail**, particularly MuSGD runs using CUDA and `channels_last`. - **Distributed training and hyperparameter tuning produce more trustworthy results**, even with empty-target batches or failed datasets. - **SAM inference can use less memory**, which is helpful for long-running applications and repeated image embedding extraction. - **Tracking pipelines may run with lower latency**, especially in applications where BoT-SORT global motion compensation is a significant cost. - **Users should review the updated quantization guidance** before assuming that `quantize=16` or `quantize=32` produces the same computation precision across PyTorch, ONNX, OpenVINO, NCNN, MNN, Triton, and other backends. 🔍 ##### What's Changed * Optimize SAM image feature extraction by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/26011 * Remove inconsistent `OBB Dataset` in the docs navigation bar by @Laughing-q in https://github.com/ultralytics/ultralytics/pull/26019 * Align Markdown tables inside MkDocs tab _[Truncated at 4000 characters — full notes: https://github.com/ultralytics/ultralytics/releases/tag/v8.4.138]_