Ultralytics v8.4.68 is out 
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.
Quick Summary
The headline in v8.4.68 is semantic segmentation class weighting via cls_pw ![]()
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
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_pwis not set or set to0, behavior remains the same
- 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
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.
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.
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.
Ultralytics Platform pricing docs update
PR #24838 by @glenn-jocher updates Ultralytics Platform GPU pricing documentation for clearer planning and usage guidance.
Bug Fixes
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.
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.
Similarity search UI security fix
PR #24828 by @orbisai0security properly escapes user query input to prevent a high-severity browser injection issue.
ClearML path fix
PR #24827 by @MUKILAN0608 fixes ClearML project path handling.
Docs Updates
Several documentation improvements landed in this release as well:
- PR #24836 by @glenn-jocher fixes broken docs link checks
- PR #24839 by @glenn-jocher cleans up docs metadata and URL issues
- PR #24837 by @RizwanMunawar adds a new docs video resource
Together these updates make docs navigation and browsing more polished and reliable.
New Contributors 
A big welcome to our new contributors:
Thanks for helping improve Ultralytics for everyone ![]()
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 ![]()