Ultralytics v8.4.90 is here!
Ultralytics v8.4.90 is now available, bringing a major new YOLO Architecture Explained guide, improved tracking reliability, stronger segmentation edge-case handling, updated Docker GPU guidance, and cleaner contributor workflows ![]()
This release helps users better understand the evolution from YOLOv3 through YOLO26, improves real-world tracking stability, and makes segmentation and container workflows more robust.
Read the full release on GitHub in the Ultralytics v8.4.90 release notes. ![]()
Highlights
New YOLO Architecture Explained guide
This release adds a detailed new guide explaining the evolution of Ultralytics YOLO architectures from YOLOv3 β YOLOv5 β YOLOv8 β YOLO11 β YOLO26.
The guide covers key architecture components across the backbone, neck, and detection head, including:
BottleneckC3C2fC3k2SPPFC2PSADFL- Anchor-free detection
- YOLO26βs NMS-free and DFL-free design
It also includes stage-level Mermaid diagrams, model inspection details, and links to relevant YAML configs and module definitions.
Contributed by @raimbekovm in PR #24970 ![]()
Tracking Improvements
More reliable ByteTrack and FastTrack recovery
BYTETracker and FastTracker now better preserve track IDs when detections briefly drop in confidence.
This fixes second-stage association when fuse_score=True, ensuring low-confidence detections can correctly recover existing tracks using IoU-only matching, matching ByteTrackβs intended behavior.
Contributed by @JESUSROYETH in PR #25034 ![]()
Segmentation Fixes
Empty mask inputs are now handled safely
Segmentation utilities now correctly support valid empty inputs with zero detections.
Updated utilities include:
process_maskprocess_mask_nativescale_masks
These functions now return correctly shaped empty tensors instead of crashing, improving robustness for exported models and frame-by-frame inference workflows.
Contributed by @JESUSROYETH in PR #25032 ![]()
Docker and GPU Updates
Modern CDI GPU device requests
Docker GPU examples have been updated from legacy flags such as --runtime=nvidia --gpus all to modern CDI-style device requests like:
--device nvidia.com/gpu=all
This update improves guidance across Dockerfiles, quickstarts, Triton docs, DGX Spark docs, and YOLOv5 Docker documentation.
The docs now also clarify that CDI requires Docker >= 28.2.0 and NVIDIA Container Toolkit >= 1.18, while still noting legacy flags for older systems.
Contributed by @glenn-jocher in PR #25040 ![]()
Contributor Workflow Updates
New AI-agent contributor guidance
This release adds AGENTS.md with repository overview, engineering principles, development commands, PR workflow expectations, and architecture notes.
A CLAUDE.md symlink was also added for Claude Code compatibility, helping AI coding tools and contributors work more consistently in the Ultralytics repository.
Contributed by @glenn-jocher in PR #25035 and PR #25036 ![]()
User Experience Improvements
Cleaner safe-load behavior
An unnecessary warning was removed when restricted model loading is unavailable on older PyTorch versions. This reduces log noise without changing model loading behavior.
Contributed by @glenn-jocher in PR #25033 ![]()
CI Stability
NumPy pin for legacy PyTorch slow tests
NumPy is now pinned to <2 for the PyTorch 2.3.0 / torchvision 0.18.0 slow-test shard to avoid a known ColorJitter hue overflow issue.
Contributed by @onuralpszr in PR #25037 ![]()
Documentation Cleanup
Updated solution links
Renamed Ultralytics solutions URLs were updated from older ai-in-* paths to newer computer-vision-in-* paths.
Contributed by @miles-deans-ultralytics in PR #25039 ![]()
Full PR List
Silence safe load fallback warning by @glenn-jocher in PR #25033
Add AGENTS.mdagent guidance withCLAUDE.mdsymlink by @glenn-jocher in PR #25035
Lead AGENTS.mdwith repository overview by @glenn-jocher in PR #25036
Fix ByteTrack second association ignoring low-confidence detections with fuse_score=Trueby @JESUSROYETH in PR #25034
Fix process_mask,process_mask_native, andscale_maskson empty zero-detection inputs by @JESUSROYETH in PR #25032
Pin NumPy <2for torch2.3.0/ torchvision0.18.0SlowTests shard by @onuralpszr in PR #25037
Update links to renamed solution pages by @miles-deans-ultralytics in PR #25039
Replace legacy --gpusexamples with CDI device requests across docs and Dockerfiles by @glenn-jocher in PR #25040
Add YOLO architecture explained guide by @raimbekovm in PR #24970
Try it now
Upgrade with:
pip install -U ultralytics
Then try your favorite workflow:
yolo predict model=yolo11n.pt source=image.jpg
Thanks to the community
Huge thanks to all contributors and the YOLO community for testing, reporting issues, improving documentation, and helping make Ultralytics better with every release.
You can review every change in the full v8.4.89 to v8.4.90 changelog. Please upgrade, try the new release, and share feedback in Discussions or Issues ![]()