ultralytics
Ultralytics YOLO ๐ for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
Description
<div align="center"> <p> <a href="https://platform.ultralytics.com/?utm_source=github&utm_medium=referral&utm_campaign=platform_launch&utm_content=banner&utm_term=ultralytics_github" target="_blank"> <img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/banner-yolov8.png" alt="Ultralytics YOLO banner"></a> </p> [ไธญๆ](https://docs.ultralytics.com/zh/) | [ํ๊ตญ์ด](https://docs.ultralytics.com/ko/) | [ๆฅๆฌ่ช](https://docs.ultralytics.com/ja/) | [ะ ัััะบะธะน](https://docs.ultralytics.com/ru/) | [Deutsch](https://docs.ultralytics.com/de/) | [Franรงais](https://docs.ultralytics.com/fr/) | [Espaรฑol](https://docs.ultralytics.com/es) | [Portuguรชs](https://docs.ultralytics.com/pt/) | [Tรผrkรงe](https://docs.ultralytics.com/tr/) | [Tiแบฟng Viแปt](https://docs.ultralytics.com/vi/) | [ุงูุนุฑุจูุฉ](https://docs.ultralytics.com/ar/) <br> <div> <a href="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml"><img src="https://github.com/ultralytics/ultralytics/actions/workflows/ci.yml/badge.svg" alt="Ultralytics CI"></a> <a href="https://clickpy.clickhouse.com/dashboard/ultralytics"><img src="https://static.pepy.tech/badge/ultralytics" alt="Ultralytics Downloads"></a> <a href="https://discord.com/invite/ultralytics"><img alt="Ultralytics Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a> <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a> <a href="https://www.reddit.com/r/ultralytics/"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a> <br> <a href="https://console.paperspace.com/github/ultralytics/ultralytics"><img src="https://assets.paperspace.io/img/gradient-badge.svg" alt="Run Ultralytics on Gradient"></a> <a href="https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open Ultralytics In Colab"></a> <a href="https://www.kaggle.com/models/ultralytics/yolo26"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open Ultralytics In Kaggle"></a> <a href="https://mybinder.org/v2/gh/ultralytics/ultralytics/HEAD?labpath=examples%2Ftutorial.ipynb"><img src="https://mybinder.org/badge_logo.svg" alt="Open Ultralytics In Binder"></a> </div> </div> <br> [Ultralytics](https://www.ultralytics.com/) creates cutting-edge, state-of-the-art (SOTA) [YOLO models](https://www.ultralytics.com/yolo) built on years of foundational research in computer vision and AI. Constantly updated for performance and flexibility, our models are **fast**, **accurate**, and **easy to use**. They excel at [object detection](https://docs.ultralytics.com/tasks/detect/), [tracking](https://docs.ultralytics.com/modes/track/), [instance segmentation](https://docs.ultralytics.com/tasks/segment/), [image classification](https://docs.ultralytics.com/tasks/classify/), and [pose estimation](https://docs.ultralytics.com/tasks/pose/) tasks. Find detailed documentation in the [Ultralytics Docs](https://docs.ultralytics.com/). Get support via [GitHub Issues](https://github.com/ultralytics/ultralytics/issues/new/choose). Join discussions on [Discord](https://discord.com/invite/ultralytics), [Reddit](https://www.reddit.com/r/ultralytics/), and the [Ultralytics Community Forums](https://community.ultralytics.com/)! Request an Enterprise License for commercial use at [Ultralytics Licensing](https://www.ultralytics.com/license). <a href="https://platform.ultralytics.com/ultralytics/yolo26" target="_blank"> <img width="100%" src="https://raw.githubusercontent.com/ultralytics/assets/refs/heads/main/yolo/performance-comparison.png" alt="YOLO26 performance plots"> </a> <div align="center"> <a href="https://github.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="2%" alt="Ultralytics GitHub"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space"> <a href="https://www.linkedin.com/company/ultralytics/"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="2%" alt="Ultralytics LinkedIn"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space"> <a href="https://twitter.com/ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="2%" alt="Ultralytics Twitter"></a> <img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space"> <a href="https://www.youtube.com/ultralytics?sub_confirmation=1"><img s
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| v8.4.188 | ## ๐ Summary Release **8.4.188** improves QNN exports for Android, removes an unnecessary operation from non-LiteRT depth exports, and updates the LiteRT export toolchain. ## ๐ Key Changes - **Fixes Android QNN model loading:** QNN exports now keep input and output quantization inside the QNN context. This avoids an `io_name_overrides` attribute that newer QNN export tools can add but Androidโs built-in QNN Execution Provider cannot read. - **Speeds up depth exports outside LiteRT:** The expo | High | 10/24/2026 |
| v8.4.185 | ## ๐ Summary This release primarily fixes MNN loading on newer Linux systems, while improving ONNX deployment options, export reliability, and several training and inference workflows. ## ๐ Key Changes - **MNN on newer Linux:** The headline change addresses an import failure on glibc 2.41+ systems, including Ubuntu 25.04/26.04 and Debian 13. Ultralytics now clears an unused executable-stack flag in affected MNN x86_64 modules before importing them, allowing MNN export and inference to work. - | High | 10/24/2026 |
| v8.4.184 | ## ๐ Summary A reliability-focused release with an important TIFF-reading fix, plus improvements to segmentation prompts, model loading, validation, integrations, and Platform workflowsโwithout introducing a new model architecture. ## ๐ Key Changes - **Multi-page TIFF handling (PR #26842):** By default, grayscale TIFF scans now load as their first page instead of incorrectly combining pages into image channels. Only `cv2.IMREAD_UNCHANGED` stacks same-size pages, preserving the option for mult | High | 10/22/2026 |
| v8.4.182 | ## ๐ Summary YOLO 8.4.182 strengthens dataset label checks to catch invalid bounding boxes before they break validation plotting, and improves Linux drive reporting. ## ๐ Key Changes - **Rejects negative box widths and heights:** Label verification now flags boxes with negative dimensions, while preserving the existing coordinate tolerance and allowing zero-size boxes. - **Refreshes dataset caches:** The cache version is bumped so existing dataset caches are rescanned using the updated checks | High | 10/18/2026 |
| v8.4.178 | ## ๐ Summary Release **v8.4.178** makes Platform training links more reliable and brings a broad set of fixes for model validation, tracking, exports, data loading, and training integrations. It also adds a cross-domain benchmark resource and expands Platform documentation. ## ๐ Key Changes - **Reliable Platform training links (PR #26699):** Training now prints the model URL returned by the server, which knows the final owner, project, and model name. This avoids broken links when those detai | High | 10/16/2026 |
| v8.4.177 | ## ๐ Summary **Ultralytics 8.4.177 makes SAM prompts work consistently across image directories and video frames, alongside fixes that improve export reliability, training resumes, and prediction inputs.** ## ๐ Key Changes - **SAM prompts now persist across a source:** Prompts supplied for a directory or video are applied to every image or frame, rather than just the first. Prompt coordinates are also scaled without changing caller-owned NumPy arrays or tensors. - **More reliable model export | High | 10/13/2026 |
| v8.4.176 | ## ๐ Summary YOLO 8.4.176 makes YOLO-World checkpoints much smaller after setting custom classes, while improving reliability across validation, fine-tuning, segmentation, tracking, and model deployment. ## ๐ Key Changes - **YOLO-World checkpoints are dramatically smaller:** Setting classes no longer caches the CLIP text encoder by default. For `yolov8s-worldv2.pt`, a saved checkpoint shrank from **328.5 MB to 25.8 MB**, with identical predictions after reload. Caching remains available when | High | 10/12/2026 |
| v8.4.175 | ## ๐ Summary **v8.4.175 focuses on making training, validation, inference, and deployment more reliable across existing Ultralytics modelsโwithout introducing a new model architecture.** The headline fix prevents classification images from appearing in both training and validation splits after a split ratio changes. ## ๐ Key Changes - **๐๏ธ Safer classification splits (current PR):** When an image is reassigned after changing the train/validation ratio, its old split copy is removed. Nested c | High | 10/9/2026 |
| v8.4.174 | ## ๐ Summary Release **8.4.174** fixes AutoBatchโs backward-pass profiling for YOLO26 and speeds up prediction summaries, alongside improvements to exports, inference, tracking, and data handling. ## ๐ Key Changes - **AutoBatch profiling โ the main change:** The profiler now finds tensors inside nested model outputs, so backward profiling works with YOLO26 detection heads and other task heads. Prediction summaries also avoid unnecessary tensor conversions, making their logs faster. - **More r | High | 10/6/2026 |
| v8.4.173 | ## ๐ Summary Version **8.4.173** adds native AMD Xilinx export for **Versal AI Edge Series Gen 2 NPUs**, opening a new path to deploy Ultralytics models on AMD edge hardware. ## ๐ Key Changes - ๐ **New `xilinx` export format** โ Export models through AMD Quark to a quantized ONNX model and Vitis AI configuration. The format also accepts `vitis`, `vitisai`, and `versal` as aliases. - ๐ง **Mixed-precision deployment** โ Most of the model is quantized to INT8, while the head is kept in floating | High | 10/4/2026 |
| v8.4.172 | ## ๐ Summary **v8.4.172 makes oriented-box cropping work as expected and improves reliability across model training, export, dataset handling, and deployment.** ## ๐ Key Changes - **Rotation-aligned OBB crops:** `save_crop=True` and `ObjectCropper` now save crops upright and aligned to each oriented bounding box. Areas extending beyond the image are filled with black. - **Model correctness fixes:** AIFI positional embeddings now match non-square feature maps, and RT-DETR computes matching cos | High | 10/3/2026 |
| v8.4.171 | ## ๐ Summary **v8.4.171 adds end-to-end AMD GPU support for Ultralytics workflows, alongside fixes to dataset handling, model export, and several task-specific behaviors.** ## ๐ Key Changes - **AMD ROCm and MIGraphX support (PR #24137):** Train and run native PyTorch models on supported AMD GPUs with ROCm, and run exported ONNX models using the MIGraphX execution provider. Provider selection is automatic on supported systems, with CPU fallback if MIGraphX is unavailable. - **AMD deployment op | High | 10/1/2026 |
| v8.4.167 | ## ๐ Summary **Ultralytics 8.4.167 reduces repeated downloads and storage for Platform dataset versions by reusing unchanged, content-addressed assets.** No model architecture or training behavior changes are included. ## ๐ Key Changes - โป๏ธ **Reuses Platform dataset assets:** Images and depth files with matching content-addressed URLs can be hard-linked from a shared cache, so new dataset versions donโt need to download duplicate files. - ๐ก๏ธ **Protects shared files:** Downloads are written t | High | 9/30/2026 |
| v8.4.165 | ## ๐ Summary **v8.4.165 improves package compatibility, export and inference reliability, and dataset handling, with several targeted fixes for model outputs and vision workflows.** ## ๐ Key Changes - ๐ฆ **Cleaner Python wheel installation (current PR #26408):** Test files are no longer installed as a top-level `tests` package, avoiding conflicts with other projects. Tests remain in the source distribution so Conda builds can still run them. - ๐ **More reliable exports and inference:** ONNX | High | 9/28/2026 |
| v8.4.164 | ## ๐ Summary **v8.4.164 makes FLOPs reporting more efficient and improves export, video inference, dataset validation, and reliabilityโwithout changing model architectures or predictions.** ## ๐ Key Changes - **Faster FLOPs counting (PR #26373):** Delegates FLOPs estimation to THOP 2.2.0, which supports attention operations and profiles at smaller strides. This replaces full-size profiling for attention-based models such as YOLO11, YOLO12, and YOLO26, as well as RT-DETR. The PR depends on `ul | High | 9/27/2026 |
| v8.4.163 | ## ๐ Summary YOLO models can now be exported to Apple Core AI format from x86_64 Linux, making Linux servers and CI environments useful for preparing models for Apple devices. ## ๐ Key Changes - ๐ **Core AI export on Linux:** Export `.aimodel` files on x86_64 Linux as well as Apple silicon Macs running macOS 26 or later. The exported models target iOS 27 and macOS 27; **running them still requires Apple hardware**. - ๐ง **Updated Core AI compatibility:** Supports `coreai-torch` 0.4.3, which | High | 9/25/2026 |
| v8.4.161 | ## ๐ Summary **Ultralytics 8.4.161 is a reliability and usability release:** it fixes several training, inference, plotting, and upload bugs, while improving dataset handling and clarifying export and Platform documentation. ## ๐ Key Changes - ๐ ๏ธ **Fixed six package issues in PR #26301**, the releaseโs main change: - RT-DETR decoder tensors now move correctly between devices, helping prevent validation or prediction device-mismatch errors. - Resuming older Adam/AdamW checkpoints now pres | High | 9/23/2026 |
| v8.4.160 | ## ๐ Summary **Ultralytics 8.4.160 makes dataset edits less likely to go unnoticed and improves memory use, training reliability, and everyday API behaviorโwithout introducing a new model architecture.** ## ๐ Key Changes - **Dataset cache invalidation (PR #26283):** Cache keys now account for each fileโs size and modification time, so editing a label in placeโsuch as changing its class without changing its lengthโtriggers a rescan. Detection, depth, semantic, and other shared-cache users bene | High | 9/22/2026 |
| v8.4.158 | ## ๐ Summary **Ultralytics 8.4.158 improves YOLO26 training reliability, model export compatibility, data handling, inference backends, and Ultralytics Platform workflows.** ๐ ## ๐ Key Changes - **๐ Mosaic augmentation now stays closed after OOM recovery** - Fixed a training issue where automatic batch-size reduction rebuilt the dataloader and unintentionally re-enabled Mosaic augmentation. - The trainer now re-arms the mosaic-closing logic after rebuilding the pipeline, ensuring the | High | 9/21/2026 |
| v8.4.157 | ## ๐ Summary **Ultralytics v8.4.157 makes TensorRT inference fasterโup to 20% for FP16 and INT8 enginesโwhile improving YOLOE prompt-free support, Apple Silicon performance, validation reliability, and training stability. ๐** ## ๐ Key Changes - **โก Faster TensorRT engines (PR #26223, @Y-T-G)** - Calibrates FP16 conversion with a real image instead of random noise, allowing more layers to safely run in FP16. - Rewrites SiLU activations into a TensorRT-fusable form, reducing memory-bound | High | 9/20/2026 |
| v8.4.156 | ## ๐ Summary **v8.4.156 improves remote NDJSON dataset reliability and makes INT8 TensorRT exports faster while preserving accuracy.** ๐ ## ๐ Key Changes - **๐ Reliable remote NDJSON conversion โ PR #26242 by @cainiao33** - Refreshes the remote NDJSON manifest inside the existing conversion lock, preventing stale dataset manifests from being silently reused. - Uses a private temporary download directory so similarly named manifests from different URLs cannot overwrite one another. - | High | 9/19/2026 |
| v8.4.155 | ## ๐ Summary **Ultralytics 8.4.155 improves dataset-cache safety, export reliability, training validation, and platform compatibilityโhelping YOLO26 workflows fail less often and provide clearer feedback.** ๐ ## ๐ Key Changes - **๐งน Prevented stale `labels.cache` reuse after dataset configuration changes** *(PR #26207, the primary release change)* Dataset cache validation now includes important scan settings such as: - Number of classes - Keypoint configuration - Detection versus | High | 9/17/2026 |
| v8.4.154 | ## ๐ Summary **v8.4.154 improves CoreML export and inference reliability, restores accurate RT-DETR INT8 deployment, reduces training overhead, and strengthens dataset and Platform workflows.** ๐ ## ๐ Key Changes - **๐ ๏ธ CoreML dynamic export fixed โ PR #26199** - YOLO detection, segmentation, pose, and OBB models can now export with `dynamic=True` without triggering a `coremltools` `arange` conversion error. - Static CoreML models now correctly process batches of multiple images inste | High | 9/16/2026 |
| v8.4.153 | ## ๐ Summary **Ultralytics 8.4.153** delivers a critical SAM3 initialization fix, improves validation reliability, clarifies INT8 export behavior, and expands Ultralytics Platform documentation and annotation capabilities. ๐ ## ๐ Key Changes - **๐ ๏ธ Fixed SAM3 `compile=False` handling โ PR #26189 by @glenn-jocher** - Converts the predictor option correctly before passing it to the SAM3 builder: - `False` disables compilation. - `True` enables the default compilation mode. - E | High | 9/15/2026 |
| v8.4.152 | ## ๐ Summary **v8.4.152 improves system monitoring by adding cached NVIDIA driver and driver-supported CUDA version information to `SystemLogger`.** ## ๐ Key Changes - ๐ฅ๏ธ Added top-level `driver_version` and `cuda_version` fields to system metrics collected on NVIDIA-enabled systems. - โก Version information is queried once when `SystemLogger` starts, avoiding repeated NVML calls during metric collection. - ๐ก๏ธ GPU utilization monitoring continues to work even when version information is un | High | 9/14/2026 |
| v8.4.150 | ## ๐ Summary **v8.4.150 improves secure checkpoint loading, restores compatibility with fused YOLOE models, and adds performance and documentation updates across Ultralytics.** ๐ ## ๐ Key Changes - **โก Faster restricted checkpoint loading โ PR #26155 by @glenn-jocher** - Resolves only the model classes actually referenced by a checkpoint instead of importing and scanning every supported model module. - Preserves existing trusted namespaces, aliases, registration locks, and allow-list b | High | 9/12/2026 |
| v8.4.143 | ## ๐ Summary **v8.4.143 introduces INT8 quantization-aware training for YOLO26, improves deployment and evaluation workflows, and delivers a broad documentation and integration refresh.** ๐ ## ๐ Key Changes - **๐ง INT8 quantization-aware training (QAT) โ PR #26083** - Adds support for `quantize=8` during `train` mode. - Fine-tunes pretrained weights while simulating INT8 quantization, allowing the model to adapt before deployment rather than being quantized only after training. - Sto | High | 9/7/2026 |
| v8.4.127 | ## ๐ Summary ๐ **v8.4.127 makes exported YOLO models reliably load with the correct task and model family, while improving deployment stability, training recovery, and dataset documentation.** ## ๐ Key Changes - **Correct task detection for exported models across all 20 formats** by @artest08 - Model loading now reads the task and architecture information embedded in export metadata instead of guessing from the filename or directory path. - Fixes segmentation exports being loaded as de | High | 8/23/2026 |
| v8.4.117 | ## ๐ Summary **v8.4.117 improves augmentation correctness, model reliability, deployment safety, and documentation across Ultralytics YOLO and YOLO26.** ๐ ## ๐ Key Changes - ๐งฉ **Albumentations now handles spatial transforms by type** - PR #25633 replaces the fragile hardcoded transform-name list with recursive type detection, so wrapped transforms such as `OneOf` correctly update annotations. - Spatial augmentations now carry **bounding boxes, polygons, masks, depth maps, and keypoint | High | 8/9/2026 |
| v8.4.108 | ## ๐ Summary ๐ ๏ธ **v8.4.108 improves MuSGD stability, inference and tracking efficiency, analytics quality, ONNX compatibility, and documentation usabilityโwithout changing model accuracy or architecture.** ## ๐ Key Changes - **Fixed a MuSGD training crash** by @Y-T-G: - MuSGD now applies its Muon-style update only to supported **2D linear weights and 4D convolution filters**. - LayerScale gains, normalization weights, biases, and other parameters use the existing SGD update path. - P | High | 7/27/2026 |
| v8.4.96 | ## ๐ Summary **Ultralytics v8.4.96** strengthens NDJSON dataset security and dramatically improves conversion speed, while adding YOLO26 depth deployment guidance, On Premise Platform documentation, and numerous reliability fixes. ๐ ## ๐ Key Changes - **๐ Faster and safer NDJSON conversion** - Reverts the previous overbuilt validation approach and validates records during the existing hash scan. - Generates collision-free filenames from stable record indexes instead of trusting potent | High | 7/15/2026 |
| v8.4.86 | ## ๐ Summary Ultralytics `v8.4.86` fixes a CUDA device selection regression that could interrupt training when using nonzero GPU indices, restoring reliable multi-GPU workflows. ๐ ## ๐ Key Changes - **Fixed CUDA device re-selection after remapping** ๐ ๏ธ Resolved an issue where training with a command like `device=3` could fail later during validation or final evaluation after `CUDA_VISIBLE_DEVICES` remapped that GPU to `cuda:0`. - **Restored expected behavior for remapped GPUs** ๐ | High | 7/2/2026 |
| v8.4.75 | ## ๐ Summary Ultralytics `v8.4.75` delivers an important CoreML reliability and speed fix for macOS ๐โก: CoreML models now run on Appleโs Neural Engine by default instead of using a setting that could crash Python processes on Mac hosts. ## ๐ Key Changes - ๐ **Major CoreML backend fix for macOS** - The CoreML backend now loads models with `ComputeUnit.CPU_AND_NE` instead of the previous default behavior. - This avoids a known macOS `coremltools` issue where `ComputeUnit.ALL` or GPU-enabl | High | 6/21/2026 |
| v8.4.67 | ## ๐ Summary v8.4.67 is a **small but meaningful release** focused on **safer model loading** ๐, plus an important **TT100K dataset label fix** ๐ฃ๏ธ and a batch of documentation/link cleanups ๐. ## ๐ Key Changes - ๐ **New opt-in safe model loading via `ULTRALYTICS_SAFE_LOAD`** (@glenn-jocher, PR #24829) - Ultralytics added a new environment flag, `ULTRALYTICS_SAFE_LOAD=true`, that enables a safer way to load model checkpoints. - When enabled, checkpoint loading uses PyTorchโs newer `wei | High | 6/14/2026 |
| v8.4.61 | ## ๐ Summary v8.4.61 is mainly a **stability and export reliability release** ๐ ๏ธ, led by an important fix for **INT8 ONNX export failures** and another fix for **read-only `onnx2tf` patching**, with additional improvements to CI, export testing, docs accuracy, and platform documentation. ## ๐ Key Changes - ๐จ **Fixed INT8 ONNX export crashes on small calibration datasets** in PR **#24721** by @glenn-jocher - Previously, exporting an INT8 ONNX model could fail if the calibration dataset h | High | 6/7/2026 |
| v8.4.60 | ## ๐ Summary Ultralytics `v8.4.60` is mainly about **adding ONNX INT8 export** ๐, making it easier to create **smaller, faster deployment models** with built-in calibration support, while also including a few helpful export, training, and documentation fixes. ## ๐ Key Changes - ๐ **Major new feature: ONNX `int8=True` export** - You can now export models like **YOLO26** to **INT8 ONNX** using ONNX Runtime static quantization. - This uses the same familiar export flow as other INT8 format | High | 6/1/2026 |
| v8.4.56 | ## ๐ Summary Ultralytics `v8.4.56` improves **QNN export reliability** by fixing compatibility with newer `onnxruntime-qnn` packages, especially on **Linux x86-64**. ๐ ## ๐ Key Changes - **Fixed QNN export for built-in provider wheels** ๐ง Ultralytics now detects whether `onnxruntime-qnn` already includes `QNNExecutionProvider` internally, instead of always trying to register it as a separate plugin. - **Avoids export failures on some Linux setups** ๐ง This prevents a known failure | High | 5/27/2026 |
| v8.4.53 | ## ๐ Summary Ultralytics `v8.4.53` mainly improves **training reliability on NVIDIA GPUs** by automatically recovering from more CUDA memory-related failures, while also polishing **semantic segmentation stability**, **documentation clarity**, and **CI robustness** ๐ ## ๐ Key Changes - **Smarter GPU memory recovery during training** ๐ง โก The biggest change in this release, from PR #24569 by @glenn-jocher, expands the existing auto-retry logic for large-batch GPU training. - Previously | High | 5/22/2026 |
| v8.4.51 | ## ๐ Summary Ultralytics `v8.4.51` focuses mainly on **better training traceability and clearer deployment/docs updates** ๐ฆ๐, with the most important change adding the **Git commit message** to training metadata so models are easier to track, reproduce, and audit. ## ๐ Key Changes - **Training metadata now includes the Git commit message** ๐งพ The headline update from @glenn-jocher adds the current commit subject into: - saved checkpoints as `git.message` - Platform training environm | High | 5/15/2026 |
| v8.4.50 | ## ๐ Summary Ultralytics 8.4.50 is mainly a deployment-focused release ๐, led by a new **DeepX export and inference integration** that makes it easier to run YOLO models on **DeepX NPU edge hardware**, along with a few quality-of-life fixes for **tuning reliability**, **mixed-precision model fusion**, and **RT-DETR documentation**. ## ๐ Key Changes - **New DeepX export support added** ๐ง โก You can now export Ultralytics models directly with `format="deepx"` as part of the normal export wo | High | 5/13/2026 |
| v8.4.48 | ## ๐ Summary Ultralytics `v8.4.48` is a **stability-focused release** that mainly improves training reliability on Ultralytics Platform and makes failure cases much clearer, with supporting fixes for benchmarking and reporting. ๐ ๏ธโ ## ๐ Key Changes - **(Top priority) Platform training edge-case fixes** from PR #24431 by @glenn-jocher: - Added guards for **empty semantic-mask batches** to prevent crashes in segmentation workflows. ๐ญ - Added safe handling for **empty RLE keypoint masks** | High | 5/8/2026 |
| v8.4.47 | ## ๐ Summary Ultralytics **v8.4.47** is a reliability-focused release that fixes a key CLI bug for heatmap colormaps ๐จ, while also improving RT-DETR post-processing, remote checkpoint loading, Edge TPU export behavior, and several stability edge cases across loaders and I/O โ . ## ๐ Key Changes - **๐ฅ Most important (current PR #24219 by @raimbekovm): CLI colormap parsing fixed for Solutions Heatmap** - Commands like `colormap=cv2.COLORMAP_INFERNO` now work as documented. - Previously, th | High | 5/6/2026 |
| v8.4.46 | ## ๐ Summary Ultralytics **v8.4.46** is a stability-focused release that primarily fixes a key **multi-scale training edge case** ๐ง, while also improving export reliability, hardware support clarity, and documentation quality across YOLO workflows. ## ๐ Key Changes - **๐จ Priority fix (PR #24394 by @glenn-jocher): Multi-scale training minimum size clamp** - Multi-scale random resizing now enforces a **safe lower bound** of at least one model stride. - Added a **regression test** to preve | High | 5/1/2026 |
| v8.4.42 | ## ๐ Summary Ultralytics `v8.4.42` focuses on **more reliable training under GPU memory pressure** ๐ง ๐ช, plus several **stability, security, export, and documentation improvements** that make YOLO workflows smoother for both developers and end users. ## ๐ Key Changes - **Top priority (current PR #24360 by @glenn-jocher): Better OOM recovery during training** ๐ - When CUDA runs out of memory in early training, temporary tensors (`batch`, `loss`, `preds`) and trainer loss state are now exp | High | 4/27/2026 |
| 8.4.41 | Imported from PyPI (8.4.41) | Low | 4/21/2026 |
| v8.4.41 | ## ๐ Summary Ultralytics `v8.4.41` focuses on a **key SAM3 video tracking quality fix** (fewer ghost IDs) plus a **data pipeline reliability improvement for NDJSON datasets**, with a large refresh of docs and Ultralytics Platform guidance ๐โจ ## ๐ Key Changes - ๐ฏ **Major tracking fix (current PR, #24249 by @Y-T-G):** - SAM3 tracking now enables **masklet confirmation filtering** by default to reduce false positive โghostโ object IDs. - Tracker keep-alive settings were tightened (`init_tr | High | 4/21/2026 |
| v8.4.41 | ## ๐ Summary Ultralytics `v8.4.41` focuses on a **key SAM3 video tracking quality fix** (fewer ghost IDs) plus a **data pipeline reliability improvement for NDJSON datasets**, with a large refresh of docs and Ultralytics Platform guidance ๐โจ ## ๐ Key Changes - ๐ฏ **Major tracking fix (current PR, #24249 by @Y-T-G):** - SAM3 tracking now enables **masklet confirmation filtering** by default to reduce false positive โghostโ object IDs. - Tracker keep-alive settings were tightened (`init_tr | High | 4/21/2026 |
| v8.4.41 | ## ๐ Summary Ultralytics `v8.4.41` focuses on a **key SAM3 video tracking quality fix** (fewer ghost IDs) plus a **data pipeline reliability improvement for NDJSON datasets**, with a large refresh of docs and Ultralytics Platform guidance ๐โจ ## ๐ Key Changes - ๐ฏ **Major tracking fix (current PR, #24249 by @Y-T-G):** - SAM3 tracking now enables **masklet confirmation filtering** by default to reduce false positive โghostโ object IDs. - Tracker keep-alive settings were tightened (`init_tr | High | 4/21/2026 |
| v8.4.41 | ## ๐ Summary Ultralytics `v8.4.41` focuses on a **key SAM3 video tracking quality fix** (fewer ghost IDs) plus a **data pipeline reliability improvement for NDJSON datasets**, with a large refresh of docs and Ultralytics Platform guidance ๐โจ ## ๐ Key Changes - ๐ฏ **Major tracking fix (current PR, #24249 by @Y-T-G):** - SAM3 tracking now enables **masklet confirmation filtering** by default to reduce false positive โghostโ object IDs. - Tracker keep-alive settings were tightened (`init_tr | High | 4/21/2026 |
| v8.4.41 | ## ๐ Summary Ultralytics `v8.4.41` focuses on a **key SAM3 video tracking quality fix** (fewer ghost IDs) plus a **data pipeline reliability improvement for NDJSON datasets**, with a large refresh of docs and Ultralytics Platform guidance ๐โจ ## ๐ Key Changes - ๐ฏ **Major tracking fix (current PR, #24249 by @Y-T-G):** - SAM3 tracking now enables **masklet confirmation filtering** by default to reduce false positive โghostโ object IDs. - Tracker keep-alive settings were tightened (`init_tr | High | 4/21/2026 |
| v8.4.40 | ## ๐ Summary Ultralytics `v8.4.40` introduces **per-image precision/recall/F1 tracking during validation** (led by PR #24089 from @Laughing-q), making it much easier to see exactly which images your model handles well or poorly. ๐๐ผ๏ธ ## ๐ Key Changes - **New per-image validation metrics** added to results: - `precision`, `recall`, `f1`, `tp`, `fp`, `fn` for each image. - Exposed via `metrics.box.image_metrics` (and also for `seg` and `pose` where applicable). โ - **Detection validation p | High | 4/20/2026 |
| v8.4.39 | ## ๐ Summary Ultralytics **v8.4.39** is a quality-and-usability release focused on clearer run naming (`exp-2`), better CLI coverage for Solutions, safer rotated-box training behavior, and broad documentation/platform clarity improvements. ๐ ## ๐ Key Changes - **(Most important) Dashed run path increments are now default** via PR #24193 by @glenn-jocher โ - `increment_path()` now creates names like `exp-2` and `results-2.txt` (instead of `exp2`, `results2.txt`). - Added regression test | High | 4/18/2026 |
| v8.4.38 | ## ๐ Summary Ultralytics **v8.4.38** is a stability-focused release that mainly improves **model export reliability and consistency** across many deployment formats, with additional fixes for training, tracking, and SAM3 behavior. ๐ ## ๐ Key Changes - **Top priority (PR #24120 by @Laughing-q): Unified standalone export behavior** across CoreML, ONNX, OpenVINO, TensorFlow, TorchScript, ExecuTorch, Axelera, RKNN, IMX, NCNN, MNN, and Paddle. ๐ฆ - CoreML now uses the modelโs real input name (i | High | 4/16/2026 |
| v8.4.37 | ## ๐ Summary Ultralytics `v8.4.37` is a **quality + workflow-focused release**: the tag PR itself is a version bump, while the main substance is improved hyperparameter tuning (now NDJSON-based for multi-dataset runs), better handling of class imbalance, stronger training reliability, and clearer docs/UI guidance. ๐ ## ๐ Key Changes > [!WARNING] > The mAP calculation has been revised in this release. Reported mAP may be slightly lower than in previous Ultralytics versions, but now mor | Medium | 4/10/2026 |
| v8.4.36 | ## ๐ Summary Ultralytics `v8.4.36` is a **stability-focused release** that fixes an important training regression for checkpoint-based workflows (especially Ultralytics Platform/HUB usage), plus several documentation clarifications for Platform, Explorer, and Jetson guides. โ ## ๐ Key Changes - ๐ง **Critical training fix in `Model.train()` (PR #24167 by @glenn-jocher)** - Restores checkpoint-backed model seeding so if a `.pt` model is already loaded, training reuses that loaded model dire | Medium | 4/8/2026 |
| v8.4.35 | ## ๐ Summary Ultralytics `v8.4.35` is a **stability-focused release** that makes training recovery smarter, dataset caching safer, and inference/runtime behavior more reliableโespecially when runs hit NaNs or dataset metadata is inconsistent. ๐๐ก๏ธ ## ๐ Key Changes - **NaN training recovery improved (most important, PR #24154 by @glenn-jocher)** ๐ - Training now recovers from `last_good.pt` instead of retrying a potentially corrupted `last.pt`. - Checkpoint saves are now skipped if EMA | Medium | 4/7/2026 |
| v8.4.34 | ## ๐ Summary Ultralytics `v8.4.34` is a **tuning and stability-focused release** ๐, led by a major new feature: **multi-dataset hyperparameter tuning** in one run, plus several important reliability fixes and broad YOLO26 documentation updates. ## ๐ Key Changes - **๐ง Major feature (PR #24067 by @Laughing-q): Multi-dataset hyperparameter tuning** - `model.tune()` now accepts `data` as either a single dataset or a list. - During each tuning iteration, training runs across each dataset, th | Medium | 4/6/2026 |
| v8.4.33 | ## ๐ Summary Ultralytics **v8.4.33** focuses on a key training reliability fix for end-to-end YOLO workflows, plus improvements to Ray Tune flexibility and CoreML export stability ๐ ## ๐ Key Changes - **๐ง Major fix (current PR #24074 by @Laughing-q): Resume-training for end-to-end models now restores loss state correctly** - Updated `resume_training()` to properly reinitialize and sync the modelโs loss criterion when loading checkpoints. - Restores internal loss update counters so one-t | Medium | 3/31/2026 |
| v8.4.32 | ## ๐ Summary v8.4.32 is mainly an **Axelera AI export expansion release** ๐โit significantly improves how Ultralytics models (including more tasks) are exported and deployed on Axelera hardware, with supporting docs and usability updates across the Ultralytics ecosystem. ## ๐ Key Changes - **Major (Current PR #23844): Axelera export pipeline refactor and expansion** ๐ง โ๏ธ - Axelera export logic was moved out of the main exporter into a dedicated utility module: `ultralytics/utils/export/a | Medium | 3/30/2026 |
| v8.4.31 | ## ๐ Summary Ultralytics `v8.4.31` is a reliability-focused release that mainly fixes **INT8 export calibration for non-square image sizes** (the headline change), while also improving training stability, export maintainability, and documentation for deployment and dataset workflows ๐ ## ๐ Key Changes - **๐ฅ Main update (PR #24028 by @Y-T-G): INT8 calibration now works correctly with non-square `imgsz`** - Fixes export calibration for commands like `imgsz=640,480` with `int8`. - Affects | Medium | 3/28/2026 |
| v8.4.30 | ## ๐ Summary Ultralytics **v8.4.30** is a focused stability release that fixes and hardens **training resume** behavior, making interrupted training runs much more reliable ๐โ . ## ๐ Key Changes - **Main update (PR #24027 by @glenn-jocher):** Refactored resume logic in `trainer.py` to correctly restore training arguments from `last.pt` earlier in the resume flow. - **Better checkpoint arg handling:** Resume now loads checkpoint config immediately and rebuilds runtime args from it more consi | Medium | 3/26/2026 |
| v8.4.29 | ## ๐ Summary Ultralytics `v8.4.29` is mainly a **training reliability release** ๐งโit makes `resume=True` much safer and clearer, while also adding a helpful new COCO JSON training guide and small CI/docs/test maintenance updates. ## ๐ Key Changes - **Major (current PR #24021 by @glenn-jocher): safer training resume flow** ๐โ - `resume=True` now only resumes if the checkpoint truly contains resumable training state (like epoch + optimizer state). - If the loaded file is just a model we | Medium | 3/26/2026 |
| v8.4.28 | ## ๐ Summary Ultralytics **v8.4.28** improves training reliability on small datasets by making autobatch smarter, while also strengthening network robustness, backend efficiency, and docs/test stability. ๐ ## ๐ Key Changes - **(Most important) Autobatch now respects dataset size** ๐ฆ From PR #24020 by @glenn-jocher: automatic batch-size selection is now capped to the number of training images. - Added `dataset_size` through `Trainer.auto_batch()`, `check_train_batch_size()`, and `autob | Medium | 3/26/2026 |
| v8.4.27 | ## ๐ Summary Ultralytics `v8.4.27` focuses on **more reliable Ultralytics Platform training control** (especially cancellation handling) โ , plus several stability fixes for data conversion, postprocessing alignment, Paddle compatibility, and Docker runtime updates ๐. ## ๐ Key Changes - **๐ด Priority update (PR #24008 by @glenn-jocher): Improved Platform training integration** - Added a new sanitizer to clean callback payloads before sending them to the Ultralytics Platform. - Non-JSON-sa | Medium | 3/25/2026 |
| v8.4.26 | ## ๐ Summary **v8.4.26 focuses on reliability and usability improvements**: smarter Platform dataset handling (auto-validation split for NDJSON), more robust Platform URL resolution, and an important FP16 SAM inference crash fixโplus CI and docs polish. ๐ ## ๐ Key Changes - **โ Platform NDJSON auto-split (PR #23990, @glenn-jocher)** If a dataset has a `train` split but no `val`/`test`, Ultralytics now automatically creates a small validation split from training data instead of failing im | Medium | 3/23/2026 |
| v8.4.25 | ## ๐ Summary (single-line synopsis) Ultralytics `v8.4.25` mainly restores **TensorFlow.js export** for most users โ , while also improving training speed paths, visualization behavior, box alignment accuracy, CI reliability, and YOLO26/platform documentation clarity ๐๐. ## ๐ Key Changes - **(Top priority) TF.js export restored for supported systems** ๐ง From PR #23985 by @glenn-jocher: - Added dependency pin `ydf<0.13.0` (non-ARM64) to avoid a TensorFlow/protobuf conflict. - Removed | Medium | 3/23/2026 |
| v8.4.24 | ## ๐ Summary **Ultralytics `v8.4.24` improves training reliability and clarity on Ultralytics Platform ๐ฏ, while also aligning tuning defaults and docs with YOLO26 best practices ๐.** ## ๐ Key Changes - **(Most important) Better Platform training error surfacing** ๐ ๏ธ - Platform callback error handling now shows the **actual server-side error message** when available (instead of generic HTTP text). - If a Platform training session fails to register, users now get a clearer message: | Low | 3/19/2026 |
| v8.4.23 | ## ๐ Summary Ultralytics **v8.4.23** is mainly a big under-the-hood inference upgrade ๐: `AutoBackend` was fully redesigned into modular backend classes, making multi-format model deployment cleaner, easier to maintain, and more reliable across platforms. ## ๐ Key Changes - **Major architecture refactor (PR #23790 by @Laughing-q) ๐งฉ** - `AutoBackend` moved from one large file to a **modular backend system** (`ultralytics/nn/backends/`). - Added dedicated backend classes for many runtimes | Low | 3/16/2026 |
| v8.4.22 | ## ๐ Summary Ultralytics **v8.4.22** focuses on better hardware support and reliability, led by a key new feature: **basic Huawei Ascend NPU device support** in `select_device` ๐. ## ๐ Key Changes - **๐ฅ Major (Current PR #23902 by @GiantAxeWhy): Huawei Ascend NPU parsing added** - You can now use `device=npu` or `device=npu:0` in Ultralytics. - Added checks for `torch_npu` installation and NPU availability. - Validates NPU index and gives clearer errors for invalid inputs. - Explici | Low | 3/14/2026 |
| v8.4.21 | ## ๐ Summary Ultralytics **v8.4.21** improves reliability for **Rockchip RKNN exports** (main change) and also adds better tuning isolation, expanded C++ pose example support, and clearer YOLO26 optimizer guidance. ๐ ## ๐ Key Changes - **โ Main priority (PR #23806 by @Laughing-q): RKNN export path fix** - RKNN filename generation was refactored to use safer path handling (`Path(...).stem`) instead of fragile string replacement. - Export output naming is now cleaner and more consistent, e | Low | 3/5/2026 |
| v8.4.20 | ## ๐ Summary Ultralytics `v8.4.20` is a stability-and-usability release focused on cleaner hyperparameter tuning, more reliable deployment/export workflows, and improved docs for both YOLO models and the Ultralytics Platform ๐ ## ๐ Key Changes - **(Most important) Ray Tune cleanup in current PR #23772** ๐งน - Removed hardcoded `tuner_callbacks` and dropped built-in W&B callback wiring from `RunConfig` in tuning. - Version bumped from `8.4.19` โ `8.4.20`. - **RKNN export reliability imp | Low | 3/5/2026 |
| v8.4.19 | ## ๐ Summary (single-line synopsis) Ultralytics `v8.4.19` focuses on **much more reliable Ultralytics Platform training sync** (especially model tracking via `model_id`), plus a few quality improvements for SAM outputs, lightweight model stability, and clearer YOLO26 end-to-end docs ๐ ## ๐ Key Changes - **๐ด Most important (current PR #23761 by @glenn-jocher): Platform training `model_id` fix** - Training callbacks now **consistently pass `model_id`** during model uploads and training even | Low | 2/28/2026 |
| v8.4.18 | ## ๐ Summary Ultralytics `v8.4.18` is a reliability-focused release that improves downloads and dependency installs, while also adding stronger ExecuTorch export support (including Pose) for smoother edge/mobile deployment ๐. ## ๐ Key Changes - **๐ง Priority fix (current PR): `safe_download()` now handles URLs with spaces** by encoding spaces as `%20` (PR #23736 by @glenn-jocher). - Prevents broken downloads from links like file paths or hosted assets containing spaces. - **๐ฑ Major export | Low | 2/26/2026 |
| v8.4.17 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.17** makes NDJSON dataset conversions *resplit-friendly*โreusing existing images, cleaning stale labels, and avoiding unnecessary downloads for faster iteration ๐๐ฆ ## ๐ Key Changes - **NDJSON dataset re-split support (priority change)** โป๏ธ๐งน - Detects when the dataset output folder already exists and **reuses previously downloaded images** when you change `train/val/test` splits. - For non-classification tasks (detect/segment/po | Low | 2/25/2026 |
| v8.4.16 | ## ๐ Summary (single-line synopsis) Ultralytics **8.4.16** mainly improves **Windows โ Linux/macOS `.pt` model portability** by fixing `pathlib` pickle issues, with a small docs update for **HEIC/HEIF** image support ๐งฉ๐พ๐ธ ## ๐ Key Changes - ๐ช๐ฅ๏ธ **Cross-platform `.pt` loading fix (PR #23725 by @glenn-jocher):** - Updated `torch_safe_load()` to **remap `pathlib.WindowsPath` โ `pathlib.PosixPath`** during unpickling, preventing common load failures when models are created on one OS and loa | Low | 2/24/2026 |
| v8.4.15 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.15** improves real-world image ingestion (adds **HEIC/HEIF + HEIF** support with lazy decoding + better EXIF handling) and includes several quality fixes for metrics, exports, and docs ๐ผ๏ธโ๏ธโ ## ๐ Key Changes - **HEIC/HEIF image support (priority change)** ๐ผ๏ธ๐ฑ - Added `ultralytics.utils.patches.image_open` and **monkey-patched `PIL.Image.open`** to lazily enable HEIC/HEIF decoding via **`pi-heif` only when needed** (i.e., on first d | Low | 2/24/2026 |
| v8.4.14 | ## ๐ Summary (single-line synopsis) Ultralytics 8.4.14 adds **Ultralytics Platform โCancel trainingโ support** so you can stop runs quickly *and still keep/upload partial results* โ๏ธ๐ค ## ๐ Key Changes - **Platform-driven training cancellation (priority change)** ๐ - Detects cancellation **even before training starts** (during session registration) and prevents wasted startup time. - Checks for cancellation at **epoch end** via a send-and-check response flow, then sets `trainer.stop=Tr | Low | 2/10/2026 |
| v8.4.13 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.13** makes training more resilient by **automatically recovering from CUDA out-of-memory (OOM) errors** during the first epoch by retrying with a smaller batch size ๐๐ง ๐ฅ ## ๐ Key Changes - **Auto-retry on CUDA OOM during training (major change)** ๐ฅ๐ ๏ธ - If a CUDA OOM happens in the **first epoch on single-GPU**, Ultralytics will retry up to **3 times**, **halving the batch size each time** (down to 1). - Training pipeline is re | Low | 2/8/2026 |
| v8.4.12 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.12** streamlines **YOLOE-26** class/text-prompt handling to avoid redundant updates, while improving multispectral (grayscale) training reliability and multi-GPU auto-selection ๐ง โก๏ธ๐ฅ๏ธ ## ๐ Key Changes (major updates) - **YOLOE-26: Skip redundant `set_classes()` when prompts already match** ๐ง โก๏ธ - Adds a guard in `ultralytics/models/yolo/model.py` to **avoid re-running `set_classes()`** if `model.names` already matches the requested ` | Low | 2/5/2026 |
| v8.4.11 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.11** makes **Ultralytics Platform training uploads far more reliable** by adding **retryable model uploads + metrics posting**, plus a new reusable upload helper and docs ๐๐ถ ## ๐ Key Changes - **Robust Platform upload + metrics retries (PR #23538 by @glenn-jocher)** ๐ - Added a new utility: `ultralytics/utils/uploads.py` with `safe_upload()` that supports **retries, timeouts, and optional progress bars** โณ๐ฆ - Platform callback net | Low | 2/3/2026 |
| v8.4.10 | ## ๐ Summary (single-line synopsis) Ultralytics `8.4.10` improves **YOLOE-26** out-of-the-box predictions by defaulting to **class-agnostic NMS**, plus several export, OpenVINO, HUB, SAM, and docs reliability upgrades ๐๐ง ## ๐ Key Changes - ๐ง **YOLOE-26 inference default change (most important):** YOLOE predictions now default to `agnostic_nms=True`, reducing overlapping duplicate boxes across different classes (set in `ultralytics/models/yolo/model.py`). - ๐ฆ **Version bump:** `8.4.9` โ `8 | Low | 2/2/2026 |
| v8.4.9 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.9** improves **segmentation CopyPaste augmentation reliability** (especially for **grayscale/hyperspectral-style single-channel inputs**) and strengthens the broader export/training ecosystem with better ExecuTorch + Torch support ๐๐งฉ ## ๐ Key Changes - ๐งช **(Priority) Segmentation CopyPaste mask fix** in `ultralytics/data/augment.py`: - Builds the contour mask as a **2D (HรW) array** instead of matching the full image tensor shape. | Low | 1/29/2026 |
| v8.4.8 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.8** makes **end-to-end (NMS-free) YOLO26/YOLOv10 inference actually honor `max_det` and `agnostic_nms`**, giving you predictable control over how many detections you get and how classes are handled โ ๐ ## ๐ Key Changes - **End2end now supports `max_det` + `agnostic_nms` (PR #23396 by @Y-T-G)** ๐๏ธ - Adds a safe `set_head_attr(**kwargs)` helper to set head/last-layer attributes like `end2end`, `max_det`, `agnostic_nms` ๐งฉ - When `e | Low | 1/27/2026 |
| v8.4.7 | ## ๐ Summary Ultralytics **v8.4.7** adds **AVIF training support** and a new **COCO12-Formats** mini-dataset to continuously verify that *all supported image types* load correctly end-to-end (especially in CI) ๐งช๐ผ๏ธ ## ๐ Key Changes - **AVIF is now a supported training image format** โ ๐ท - `IMG_FORMATS` expanded to include **`avif`** - **More robust image decoding for modern formats** ๐ก๏ธ - Adds a **Pillow-based fallback image reader** (`_imread_pil`) for cases where **OpenCV canโt de | Low | 1/21/2026 |
| v8.4.6 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.6** is a reliability-focused release that fixes a **multi-GPU DDP training crash** and improves **Ultralytics HUB/Platform dataset URI handling**, plus several documentation upgrades ๐๐ ๏ธ ## ๐ Key Changes - **โ Fixed DDP multi-GPU training crash (PR #23301 by @pfabreu)** - Added missing `PosixPath` import to the generated temporary DDP training script (`ultralytics/utils/dist.py`). - Prevents `NameError: name 'PosixPath' is not d | Low | 1/18/2026 |
| v8.4.5 | ## ๐ Summary (single-line synopsis) Ultralytics **8.4.5** makes **2D pose `Results.summary()` safer and more compatible** by correctly handling keypoints **with or without visibility flags** ๐งโโ๏ธโ ## ๐ Key Changes - ๐งฉ **Pose Results summary now supports keypoints missing visibility**: `Results.summary()` checks `kpt.has_visible` and only outputs `"visible"` when it exists (otherwise returns just `"x"` and `"y"`), preventing crashes in mixed keypoint formats. - ๐ **Version bump**: `8.4.4` โ | Low | 1/17/2026 |
| v8.4.4 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.4** refines **MuSGD training behavior** (better scaling for short vs. long runs) and includes several quality-of-life fixes for **exports, segmentation outputs, logging, and filesystem side effects** ๐๐ง ## ๐ Key Changes - ๐ง **MuSGD optimizer scaling update (PR #23279 by @Laughing-q)** MuSGD scale factors are now chosen more appropriately based on total training iterations: - **> 10,000 iterations:** `(muon=0.1, sgd=1.0)` - **โค | Low | 1/16/2026 |
| v8.4.3 | ## ๐ Summary (single-line synopsis) Ultralytics `v8.4.3` boosts **Ultralytics Platform NDJSON dataset downloads/conversion speed** ๐, improves **training metric correctness** ๐ง , and refreshes defaults/docs around **YOLO26** ๐. ## ๐ Key Changes - ๐ **Faster NDJSON โ YOLO dataset conversion (Ultralytics Platform data) โ PR #23257 by @glenn-jocher** - Lazy-loads `aiohttp` only when NDJSON conversion is used (faster startup, fewer unnecessary deps) ๐ฆ - Simplifies async image download cod | Low | 1/15/2026 |
| v8.4.2 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.2** mainly fixes **Ultralytics Platform (`ul://` / NDJSON) classification training** by converting datasets into the correct on-disk layout and validating them properly, plus a few quality-of-life and docs/CI tweaks ๐ ๏ธโ ## ๐ Key Changes - **(Most important) Platform Classification Training Fix (PR #23217, @glenn-jocher)** ๐งฉ๐ท๏ธ - NDJSON conversion now detects `task == "classify"` and creates an **ImageNet-style folder layout**: `{spl | Low | 1/15/2026 |
| v8.4.1 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.4.1** brings back **NCNN export + inference on ARM64** (Apple Silicon/ARM servers/edge devices) ๐ฑโ๏ธ, plus stability fixes for pose/seg training ๐ ๏ธ and a big docs/benchmarks cleanup ๐โจ. ## ๐ Key Changes - **โ NCNN on ARM64 is re-enabled** (current PR #23211 by @lakshanthad) ๐ฑ - Removed ARM64 โhard stopโ errors for: - **NCNN export** (`ultralytics/engine/exporter.py`) - **NCNN inference** (`ultralytics/nn/autobackend.py`) | Low | 1/14/2026 |
| v8.4.0 | ## ๐ Summary **Ultralytics YOLO26 has arrived.** Re-engineered from the ground up by @glenn-jocher, @Laughing-q, and the Ultralytics YOLO team, YOLO26 is purpose-built for edge and low-power environments. This release introduces a streamlined, **native end-to-end NMS-free architecture**, delivering faster, lighter, and more accessible deployment across all platforms.  Ultralytics 8.3.253 adds **explicit Vulkan GPU device selection for NCNN inference** (plus safer PaddlePaddle/NCNN dependency handling) to improve cross-vendor GPU acceleration and reliability โก๐ฅ๏ธ๐ ๏ธ ## ๐ Key Changes - **NCNN + Vulkan device targeting (main feature) โก** - You can now pass a device string like `device="vulkan:0"` or `device="vulkan:1"` to **choose which Vulkan-capable GPU** NCNN uses (helpful on AMD/Intel/non-NVIDIA systems and multi-GPU | Low | 1/13/2026 |
| v8.3.252 | ## ๐ Summary v8.3.252 polishes Ultralytics console output by fixing a `tqdm` progress-bar issue that could print โ100% completeโ twice โ ๐ ## ๐ Key Changes - ๐งน **Fix duplicated final progress-bar render (PR #23158)**: adds a safeguard in `ultralytics/utils/tqdm.py` to *skip* the final โcompleteโ redraw if `100%` was already printed. - ๐ง **Export reliability improvement**: resets cached export input shape (`m.shape = None`) in `ultralytics/engine/exporter.py` to avoid stale shapes when expor | Low | 1/10/2026 |
| v8.3.251 | ## ๐ Summary (single-line synopsis) v8.3.251 improves training/integration reliability by initializing Trainer callbacks earlier (so Ultralytics HUB/Platform sees the original `data` input like `ul://...`) while also polishing profiling accuracy, tuning stability, and device/dataset/docs support ๐งฉ๐ ## ๐ Key Changes - **Earlier Trainer callback initialization (PR #23155, @glenn-jocher)** ๐ง - `on_pretrain_routine_start` now runs **before** dataset resolution (`get_dataset()`), keeping th | Low | 1/10/2026 |
| v8.3.250 | ## ๐ Summary (single-line synopsis) Ultralytics v8.3.250 adds **out-of-the-box support for the TT100K traffic sign dataset** ๐ฆโplus smoother Ultralytics HUB dataset handling, better run directory behavior, and a few quality/build/docs fixes ๐ ๏ธ๐ ## ๐ Key Changes - **๐ฆ New TT100K dataset integration (PR #22892 by @PrashantDixit0)** - Adds `ultralytics/cfg/datasets/TT100K.yaml` with **221 classes** and full dataset metadata. - Includes an **auto download + conversion pipeline** that | Low | 1/8/2026 |
| v8.3.249 | ## ๐ Summary (single-line synopsis) Ultralytics 8.3.249 adds an official **NVIDIA ARM64 Docker image** for running **YOLO11 on JetPack 7 / ARM64 GPUs** (plus a few usability + contributor/docs improvements) ๐๐ณ ## ๐ Key Changes - ๐ณ **New Docker image for NVIDIA ARM64 (JetPack 7 / ARM64 GPUs)** - Added `docker/Dockerfile-nvidia-arm64` based on NVIDIAโs PyTorch NGC image (`nvcr.io/nvidia/pytorch:25.10-py3`) - CI now builds & publishes **`ultralytics/ultralytics:latest-nvidia-arm64`** - | Low | 1/7/2026 |
| v8.3.248 | ## ๐ Summary (single-line synopsis) Ultralytics `v8.3.248` makes auto-installation more reliable by ensuring `uv pip install` installs into the *currently running Python environment* (plus a couple of small quality-of-life fixes) ๐งฐโ ## ๐ Key Changes - **Auto-install now targets the active interpreter explicitly (PR #23118)** ๐งช๐ฏ - `check_requirements()` runs `uv pip install` with `--python {sys.executable}` so installs go to the right environment (venv/conda/system). - **Removed** the | Low | 1/4/2026 |
| v8.3.247 | ## ๐ Summary (single-line synopsis) Ray Tune + Weights & Biases (W&B) tuning runs now get **unique, trial-specific names** in Ultralytics 8.3.247, making hyperparameter sweeps much easier to track ๐งช๐ ## ๐ Key Changes - **(Priority / Current PR #23084)** Ray Tune trials logged to W&B no longer all show up as **`train`** ๐ท๏ธ - Saves the original run name before it gets removed from training args - Uses Ray Tuneโs `trial_id` to append a unique suffix - Naming format: **`{base_name} | Low | 1/3/2026 |
| v8.3.246 | ## ๐ Summary (single-line synopsis) Ultralytics **v8.3.246** upgrades training reporting for **Ultralytics HUB** by uploading **rich, interactive plot data + class names** at the end of training, making results easier to explore and understand ๐๐ท๏ธโจ ## ๐ Key Changes - **(Priority) Rich plot-data upload on train completion** ๐งฉ๐ค At `on_train_end()`, Ultralytics now **collects plots from both the trainer and validator** and sends them with the final `"training_complete"` event (e.g., **co | Low | 1/2/2026 |
