New Release: Ultralytics v8.3.185

Title: Ultralytics v8.3.185 – Better Rich TQDM progress bars, sturdier data loading, and smoother CI/docs

Summary
Ultralytics v8.3.185 focuses on a clearer training experience for Rich TQDM users, plus reliability improvements in data loading and streamlined CI and docs. Expect cleaner progress bars, safer dataset handling, and a more polished developer experience.

What’s new in v8.3.185

  • Progress bars (priority)
    • Rich-based TQDM bars now render consistently across terminals and notebooks: console width is set to 200 and bar width to 10 when YOLO_TQDM_RICH=true, resolving missing or truncated bars seen at width 80 in some environments.
  • Data loading reliability
    • YOLODataset now defaults to 3 image channels (RGB) when channel info isn’t provided.
    • yolo_bbox2segment() explicitly sets channels=3 to avoid missing-key errors.
  • CI improvements
    • GPU CI job switches to uv for environment management (uv pip install / uv pip list) and removes extra installs (e.g., pynvml, tensorrt, onnxruntime-gpu) for faster, cleaner runs.
  • Docs and maintenance
    • Link-check workflow updated to correctly exclude CI files.
    • SystemLogger.get_metrics() docstring clarified with accurate Python usage examples.
    • Neural Magic integration links now point to internal docs for a smoother reading experience.

Why it matters

  • Better UX for training progress
    • Rich TQDM users get consistent, readable bars across terminals, CI, and Colab. Default users are unaffected unless you enable Rich via YOLO_TQDM_RICH=true.
  • More robust workflows
    • Safer defaults prevent crashes when dataset metadata is incomplete and ensure reliable bbox-to-seg conversion.
  • Faster, simpler CI
    • Quicker, more reproducible tests with uv; note that some GPU backend tests may have reduced coverage.
  • Clearer docs
    • Easier navigation and more accurate examples help both contributors and users.

How to enable Rich progress bars

  • CLI:
    YOLO_TQDM_RICH=true yolo train data=coco8.yaml model=yolo11n.pt epochs=1
    
  • Python:
    import os
    os.environ["YOLO_TQDM_RICH"] = "true"
    from ultralytics import YOLO
    YOLO("yolo11n.pt").train(data="coco8.yaml", epochs=1)
    

New Features

  • Consistent Rich TQDM rendering with fixed console width and 10-character bar when YOLO_TQDM_RICH=true.

Improvements

  • Default YOLODataset channels set to 3 (RGB).
  • CI uses uv for faster environment setup and removes unnecessary GPU extras.
  • Documentation link checks refined; integration links updated to internal docs.
  • Clearer SystemLogger.get_metrics() docstring with correct examples.

Bug Fixes

  • Resolved missing/truncated progress bars in certain terminals/CI/Colab.
  • Prevented missing-key errors in yolo_bbox2segment() by explicitly setting channels=3.

Linked PRs and Authors

  • GPU CI with uv pip install: by @Laughing-q – see PR 21776
  • Update links.yml for Lychee v0.20.0: by @glenn-jocher – see PR 21779
  • Fix SystemLogger docstring: by @glenn-jocher – see PR 21788
  • Fix data loading in yolo_bbox2segment: by @Y-T-G – see PR 21772
  • Remove Neural Magic blog redirect on integration page: by @RizwanMunawar – see PR 21787
  • Fix TQDM Rich bars to width 10: by @glenn-jocher – see PR 21789

Useful links

  • Release: v8.3.185
  • Full changelog: compare v8.3.184…v8.3.185
  • Documentation: See the Ultralytics Docs

Try it and share feedback
Upgrade to v8.3.185 and let us know how the new Rich progress bars feel in your setup. Your feedback helps us fine-tune the experience for everyone. Thanks to the community and contributors for the continued support—this release is a direct result of your reports and PRs.

Command to upgrade

pip install -U ultralytics