Published August 7, 2026 | Version v8.4.116

Ultralytics YOLO

  • 1. Ultralytics

Description

๐ŸŒŸ Summary

๐Ÿš€ v8.4.116 improves installation reliability, expands YOLOE and Platform workflows, strengthens tracking and export support, and refreshes YOLO26 documentation.

๐Ÿ“Š Key Changes

  • ๐Ÿ”ง OpenCV compatibility fix โ€” current PR #25702 by @Y-T-G

    • Raises the minimum opencv-python version from 4.6.0 to 4.7.0.
    • Keeps the exclusion for 4.13.0.90, which is affected by a FIPS self-test crash.
    • Removes an outdated ONNX DNN backend requirement check.
    • This aligns the dependency with cv2.imdecodemulti, which Ultralytics uses internally.
  • ๐Ÿง  Reusable YOLOE prompt embeddings

    • Adds save_prompt_embeddings() and load_prompt_embeddings() for storing text or visual prompt configurations in NPZ files.
    • Profiles are validated against the source YOLOE model and can be reused before exporting to formats such as ONNX, OpenVINO, TensorRT, CoreML, LiteRT, and RKNN.
    • Exported models remain standard single-input models and do not require the NPZ file at runtime.
  • ๐Ÿ“š Improved model guidance

    • Reworks the model index into a task-and-mode comparison table.
    • Positions YOLO26 as the recommended model for new projects, with YOLO11 as a mature production alternative.
    • Clarifies support for YOLO12, OBB, SAM models, YOLOE, YOLO-World, RT-DETR, and other model families.
    • Adds a YOLO26 custom-dataset training video and highlights monocular depth estimation.
  • ๐ŸŽฏ Broader and safer tracking support

    • Documents and supports OBB tracking alongside detection, segmentation, and pose.
    • Rejects unsupported semantic and depth tracking tasks with a clear error before processing begins.
    • Skips unnecessary camera-motion compensation work when gmc_method: none.
    • Keeps OC-SORT observation history bounded on all track lifecycle paths.
  • ๐Ÿ“ฆ More efficient model export

    • Streams ONNX and QNN calibration data instead of retaining all transformed images in memory.
    • Reduces calibration memory usage substantially for large datasets.
    • Updates anchor creation to use CoreML-friendly tensor operations, improving dynamic CoreML export compatibility.
  • ๐Ÿงช Depth and segmentation fixes

    • Excludes ground-truth depth values outside the configured valid range during calibration, keeping calibration consistent with validation metrics.
    • Fixes FP16 segmentation with class-agnostic NMS.
    • Preserves YOLOE one-to-one classifier weights during linear probing, preventing a severe accuracy drop.
    • Makes pose activation-map gradients compatible with autograd and torch.compile.
  • ๐Ÿ–ผ๏ธ Visualization and analytics improvements

    • Restores percentage labels in analytics pie charts.
    • Speeds up semantic-mask overlay rendering by replacing repeated full-image scans with a palette lookup.
  • โ˜๏ธ Expanded Ultralytics Platform workflows

    • Adds documented custom metadata support for datasets, images, projects, and models.
    • Supports nested metadata, metadata search, NDJSON image metadata, and Dataset Ingest API uploads.
    • Refreshes Platform integration screenshots and documents native Platform support for YOLOv8 and YOLOv5.
    • Refactors Platform callbacks to load only where needed, reducing unnecessary imports in prediction, validation, and export paths.
  • ๐Ÿ›ก๏ธ Reliability and infrastructure

    • Makes downloads atomic, preventing concurrent test or application processes from reading partially written files.
    • Updates CI runner images to Node.js 24 for compatibility with newer tooling.
    • Refreshes OpenVINO benchmark data across Intel CPUs and NPUs.
    • Improves documentation deployment detection when configuration defaults change.

๐ŸŽฏ Purpose & Impact

  • โœ… Fewer installation failures: Users relying on OpenCV image decoding now receive a compatible version automatically.
  • ๐Ÿš€ Simpler YOLOE deployment: Prompt configurations can be prepared once and reused across multiple export targets.
  • ๐Ÿ’พ Lower memory usage: Large ONNX and QNN calibration jobs are more practical, especially on limited-memory systems.
  • ๐ŸŽฅ More capable tracking: OBB tracking is now clearly supported, while unsupported tasks fail with actionable messages instead of obscure runtime errors.
  • ๐Ÿ“ˆ Better model fine-tuning: YOLOE linear probing and depth calibration now preserve pretrained performance more reliably.
  • ๐Ÿงฉ Improved deployment compatibility: Dynamic CoreML exports and FP16 segmentation workflows are more robust.
  • ๐Ÿ” Better Platform organization: Custom metadata helps teams track provenance, review status, equipment, projects, and deployment context.
  • ๐Ÿ“– Clearer onboarding: The refreshed model documentation makes it easier to choose the right Ultralytics model and understand its supported modes.

What's Changed

  • Fix analytics pie chart percentage labels by @rudrakumar07 in https://github.com/ultralytics/ultralytics/pull/25600
  • Prevent concurrent download cache corruption by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25612
  • Fix dynamic CoreML anchor export by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25619
  • Refactor Ultralytics Platform integration by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25622
  • Fix FP16 end-to-end segmentation with class-agnostic NMS by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25613
  • Preserve YOLOE one-to-one classifiers during linear probing by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/25607
  • Name the PyPI version check step by @MGPOCKY in https://github.com/ultralytics/ultralytics/pull/25606
  • Stream ONNX and QNN calibration data by @amanharshx in https://github.com/ultralytics/ultralytics/pull/25617
  • Exclude out-of-range ground truth from depth calibration by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25614
  • Build semantic overlays in a single pass by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25585
  • Add reusable YOLOE prompt embedding profiles by @zgh2022 in https://github.com/ultralytics/ultralytics/pull/25572
  • Remove stale reproduce command from Chinese depth notes by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25624
  • Refresh Platform integration screenshots by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25627
  • Update openvino 2026.2.1 benchmarks with Intel 155H, 258V and 358H systems by @lakshanthad in https://github.com/ultralytics/ultralytics/pull/25360
  • Docs: Update "What is Ultralytics Platform?" section (include YOLOv8 & YOLOv5) by @sergiuwaxmann in https://github.com/ultralytics/ultralytics/pull/25641
  • Add https://youtu.be/7lZa3Yi2kbo to docs by @RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/25642
  • Update docs landing new banner to depth estimation by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25645
  • docs: Update depth estimation tip to specify monocular depth estimation by @onuralpszr in https://github.com/ultralytics/ultralytics/pull/25649
  • Bump eviden-actions/clean-self-hosted-runner from 1 to 1.4.34 in /.github/workflows by @dependabot[bot] in https://github.com/ultralytics/ultralytics/pull/25651
  • Include OBB in the tracking task summaries by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25661
  • Skip the GMC warp when a tracker sets gmc_method: none by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25636
  • Bound the OC-SORT observation history on every recording path by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25638
  • Refuse semantic and depth tracking instead of crashing by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25665
  • Upgrade CI runner images to Node 24 by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25673
  • Bump eviden-actions/clean-self-hosted-runner from v1.4.34 to v1.4.35 in /.github/workflows by @UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/25680
  • Reorder the models nav and replace the index list with a task and mode chooser by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25659
  • Document image upload metadata by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25697
  • Deploy docs when ultralytics/cfg/default.yaml changes by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25663
  • Fix pose activation map gradients by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25694
  • Document custom metadata for platform resources by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25700
  • Raise minimum opencv-python to 4.7.0 by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/25702

New Contributors

  • @MGPOCKY made their first contribution in https://github.com/ultralytics/ultralytics/pull/25606

Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.4.115...v8.4.116

Notes

If you use this software, please cite it using the metadata from this file.

Files

ultralytics/ultralytics-v8.4.116.zip

Files (3.4 MB)

Name Size Download all
md5:fb49f6b93f44d0c7d25fac0c8f201494
3.4 MB Preview Download

Additional details

Related works