pypi / ultralytics
ultralytics
What changed in ultralytics 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
1 breaking1 performance7 behavior and defaults15 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initultralytics 824 changes
Breaking changes 1
Positive matching, conflict resolution, and confidence targets now consider keypoint OKS alongside box overlap; ground truths with no visible keypoints still use box overlap alone. Enabled by default and limited to YOLO26-pose.
Performance 1
Results are written into a preallocated output stack, avoiding extra full-size copies and repeated GPU-to-CPU synchronization.
Behavior and default changes 7
Existing dataset caches are rescanned using the updated label checks.
Dataset hashing now supports filenames with non-UTF-8 characters.
JetPack detection now includes JetPack 7.2.
Compatibility checks cover newer PyTorch and Torchvision releases.
URLs without extensions that return images are treated as single images.
Stream manifests are recognized regardless of extension capitalization, making stream data-source handling more robust.
Dataset lookup accepts .yml files as well as .yaml files.
Fixes and other changes 15
Label verification now rejects boxes with negative dimensions while preserving coordinate tolerance and allowing zero-size boxes, catching invalid labels before validation plotting.
Linux drive discovery reports each block device once, avoiding duplicate entries caused by bind mounts.
Label files are named using the detector’s prediction output path, keeping labels matched to images with the same filename stem.
Depth maps for one-row, one-column, and 1×1 images retain their expected two-dimensional shape.
GPU metrics report the GPUs used by the training run rather than unrelated GPUs on the same machine.
.txt and .csv prediction-source lists work regardless of filename capitalization.
Tracked object angles stay consistent between frames instead of unexpectedly flipping.
Guidance clarifies TensorRT 11 DLA limitations.
Dataset discovery now prioritizes .yaml files before .yml files, preventing unrelated YAML files from breaking dataset loading.
Multiline text rendering is less likely to crash with Pillow 13.
Tracking camera-motion compensation updates box sizes and oriented-box angles appropriately, reducing geometry errors that could accumulate in tracks.
Unlabeled DOTA background images are skipped during data handling.
Conversion handles non-ASCII cache paths more reliably.
Returns an empty list instead of failing when there are no boxes or oriented boxes.
Validation text labels use split-relative image paths so images with the same filename in different folders are not merged into one label file.