New Release: Ultralytics v8.4.90

:rocket: 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 :tada:

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. :package:


:glowing_star: Highlights

:books: 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:

  • Bottleneck
  • C3
  • C2f
  • C3k2
  • SPPF
  • C2PSA
  • DFL
  • 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 :raising_hands:


:bullseye: 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 :white_check_mark:


:puzzle_piece: Segmentation Fixes

Empty mask inputs are now handled safely

Segmentation utilities now correctly support valid empty inputs with zero detections.

Updated utilities include:

  • process_mask
  • process_mask_native
  • scale_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 :hammer_and_wrench:


:spouting_whale: 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 :whale:


:robot: 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 :handshake:


:broom: 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 :muted_speaker:


:test_tube: 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 :test_tube:


:link: 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 :blue_book:


:clipboard: Full PR List

  • :muted_speaker: Silence safe load fallback warning by @glenn-jocher in PR #25033
  • :robot: Add AGENTS.md agent guidance with CLAUDE.md symlink by @glenn-jocher in PR #25035
  • :books: Lead AGENTS.md with repository overview by @glenn-jocher in PR #25036
  • :bullseye: Fix ByteTrack second association ignoring low-confidence detections with fuse_score=True by @JESUSROYETH in PR #25034
  • :puzzle_piece: Fix process_mask, process_mask_native, and scale_masks on empty zero-detection inputs by @JESUSROYETH in PR #25032
  • :test_tube: Pin NumPy <2 for torch 2.3.0 / torchvision 0.18.0 SlowTests shard by @onuralpszr in PR #25037
  • :link: Update links to renamed solution pages by @miles-deans-ultralytics in PR #25039
  • :spouting_whale: Replace legacy --gpus examples with CDI device requests across docs and Dockerfiles by @glenn-jocher in PR #25040
  • :books: Add YOLO architecture explained guide by @raimbekovm in PR #24970

:white_check_mark: Try it now

Upgrade with:

pip install -U ultralytics

Then try your favorite workflow:

yolo predict model=yolo11n.pt source=image.jpg

:raising_hands: 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 :rocket: