New Release: Ultralytics v8.4.68

Ultralytics v8.4.68 is out :rocket:

We’ve released Ultralytics v8.4.68, a practical quality update focused on better training control for semantic segmentation and stronger day-to-day reliability across training, inference, docs, and tooling.

:glowing_star: Quick Summary

The headline in v8.4.68 is semantic segmentation class weighting via cls_pw :bullseye:

This gives users training on imbalanced segmentation datasets a new way to emphasize underrepresented classes, while keeping default behavior unchanged for existing pipelines. Alongside that, this release includes several important robustness fixes, safer compatibility behavior on older PyTorch versions, a UI security fix, and documentation updates including new Ultralytics YOLO26 Windows on Snapdragon benchmarks.


New Features

:framed_picture: Semantic segmentation now supports class weights with cls_pw

The biggest addition in this release comes from PR #24843 by @Y-T-G and brings user-configurable class weighting to semantic segmentation.

Why this matters:

  • Rare classes can now receive more attention during training
  • This is especially useful for imbalanced datasets
  • It gives researchers and practitioners more control over semantic segmentation optimization

A few important details:

  • If cls_pw is not set or set to 0, behavior remains the same :white_check_mark:
  • Existing Cityscapes-specific weighting still applies automatically where appropriate
  • The new logic is based on class pixel frequency, which is better suited to dense pixel-level tasks than detection-style weighting

This means you get a meaningful new tuning option without disrupting current training workflows.

Minimal example:

from ultralytics import YOLO

model = YOLO("yolo11n-seg.pt")
model.train(data="data.yaml", task="segment", cls_pw=1.0)

If you’re starting a new project, we recommend exploring Ultralytics YOLO26 for the latest models and using the Ultralytics Platform to annotate, train, and deploy end to end.


Improvements

:brain: Better weighting logic for semantic segmentation

The same PR #24843 by @Y-T-G also improves how class weighting is computed for segmentation tasks. The new approach is designed specifically for dense prediction, helping avoid overly aggressive weighting while still boosting underrepresented classes.

:package: Detection classification loss can now use class weights too

This release also refactors class counting and weighting into reusable trainer helpers, allowing detection training to apply computed class weights directly in classification loss as part of PR #24843 by @Y-T-G.

:laptop: Windows on Snapdragon benchmark docs

PR #24834 by @ShuaiLYU adds Windows on Snapdragon QNN benchmark documentation for YOLO26n across all six tasks, helping users evaluate deployment on modern ARM and NPU-enabled systems.

:credit_card: Ultralytics Platform pricing docs update

PR #24838 by @glenn-jocher updates Ultralytics Platform GPU pricing documentation for clearer planning and usage guidance.


Bug Fixes

:ambulance: Four production reliability fixes

PR #24840 by @glenn-jocher resolves four real-world issues:

  • crashes from empty prediction batches
  • corrupt cached AMP asset loading
  • truncated downloads
  • invalid non-mapping YAML files

These are the kinds of fixes that make pipelines noticeably smoother in production.

:locked_with_key: Safer model loading on older PyTorch versions

PR #24830 by @glenn-jocher makes restricted model loading gracefully fall back on torch<2.5 instead of erroring out, improving compatibility for older environments and export workflows.

:shield: Similarity search UI security fix

PR #24828 by @orbisai0security properly escapes user query input to prevent a high-severity browser injection issue.

:file_folder: ClearML path fix

PR #24827 by @MUKILAN0608 fixes ClearML project path handling.


Docs Updates

Several documentation improvements landed in this release as well:

Together these updates make docs navigation and browsing more polished and reliable.


New Contributors :raising_hands:

A big welcome to our new contributors:

Thanks for helping improve Ultralytics for everyone :blue_heart:


Why upgrade?

v8.4.68 is a strong update if you want:

  • better semantic segmentation training on imbalanced datasets
  • more reliable handling of bad labels, masks, YAML, caches, and downloads
  • improved compatibility on older PyTorch stacks
  • cleaner docs and more deployment guidance for YOLO26

Most importantly, the new segmentation weighting is opt-in, so existing setups should continue working as expected.


Try it out

You can upgrade with:

pip install -U ultralytics

See the full release page for Ultralytics v8.4.68 or browse the full changelog from v8.4.67 to v8.4.68.

If you test the new segmentation weighting, YOLO26 deployment flows, or any of the reliability fixes, we’d love to hear how it goes. Please share feedback, results, or edge cases with the community :raising_hands: