Skip to content

fix(deps): update dependency ultralytics ( 8.4.87 → 8.4.89 ) - #442

Merged
jazzlyn-bot[bot] merged 1 commit into
mainfrom
renovate/ultralytics-8.x
Jul 6, 2026
Merged

fix(deps): update dependency ultralytics ( 8.4.87 → 8.4.89 )#442
jazzlyn-bot[bot] merged 1 commit into
mainfrom
renovate/ultralytics-8.x

Conversation

@jazzlyn-bot

@jazzlyn-bot jazzlyn-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change OpenSSF
ultralytics (changelog) project.dependencies patch ==8.4.87==8.4.89 OpenSSF Scorecard

Release Notes

ultralytics/ultralytics (ultralytics)

v8.4.89: - Fix 2D grayscale NumPy array prediction on color models (#​24751)

Compare Source

🌟 Summary

Ultralytics v8.4.89 improves prediction reliability for grayscale NumPy images, adds several important edge-case fixes, and makes training, benchmarking, AI Gym, and release publishing more robust 🚀

📊 Key Changes

  • 🖼️ Fixed 2D grayscale NumPy prediction on color models by @​maxime2476

    • Raw grayscale NumPy arrays shaped like (H, W) are now expanded correctly for 3-channel color models.
    • This makes NumPy inputs behave consistently with PIL images and file paths.
    • Prevents PyTorch channel mismatch crashes during prediction.
  • 🏋️ Fixed AI Gym result alignment by @​SuperMarioYL

    • workout_count, workout_stage, and workout_angle now only report currently visible tracked people.
    • Results now stay aligned with total_tracks, avoiding stale data from people who already left the frame.
  • Improved multi-GPU training performance by @​ExtReMLapin

    • Distributed training now uses broadcast_buffers=False by default.
    • This can reduce unnecessary GPU synchronization overhead, especially on non-NVLink systems or high-resolution training.
  • 🧪 Improved benchmark usability by @​zhanghuiwan and @​raimbekovm

    • Benchmark format values are now case-insensitive, so inputs like ONNX or TensorRT work as expected.
    • Benchmark docs now include the eps argument and clarify standalone benchmark() defaults, including model="yolo26n.pt" and imgsz=160.
  • 🌍 Fixed YOLOE and YOLO-World CLI class parsing by @​ahmet-f-gumustas

    • Class names passed through the CLI now strip extra whitespace.
    • For example, classes="person, bus" now becomes ["person", "bus"] instead of ["person", " bus"].
  • 🔗 Fixed signed model URL suffix validation by @​diaz3z

    • URLs like model.pt?token=abc now pass .pt suffix checks correctly.
    • This improves compatibility with private or authenticated model downloads.
  • 📐 Fixed segment2box() for objects on the left image edge by @​bujna94

    • Segments where all x-coordinates are 0 are no longer incorrectly dropped.
    • This improves bounding box generation for objects touching the image border.
  • 🧩 Improved installation reliability by @​Nailujj

    • Excludes the known problematic opencv-python==4.13.0.90 package.
    • Helps avoid OpenCV-related crashes in environments such as Databricks.
  • 🛠️ Hardened release publishing workflow by @​glenn-jocher

    • Manual recovery runs are now safer after partial release failures.
    • Existing PyPI artifacts and release uploads are handled more gracefully.
    • Slack notifications now wait for publishing and SBOM generation to finish.

🎯 Purpose & Impact

  • More reliable inference inputs
    Users can now pass grayscale NumPy arrays directly to standard color YOLO models without manual channel conversion.

  • 🔄 More consistent behavior across input types
    NumPy, PIL, and file-based grayscale images are now normalized more consistently before prediction.

  • 🚀 Better distributed training efficiency
    Multi-GPU users may see reduced synchronization bottlenecks, especially in bandwidth-limited setups.

  • 📊 Clearer and more forgiving benchmarking
    Benchmark workflows are easier to use, with fewer avoidable errors from capitalization or undocumented defaults.

  • 🏋️ Cleaner AI Gym analytics
    Workout tracking outputs are easier to consume because per-person lists now match the people currently visible in the frame.

  • 🔐 Better support for real-world deployment workflows
    Signed URLs and managed Python environments are handled more reliably, reducing friction for cloud and enterprise users.

  • 🧪 Stronger regression coverage
    New tests protect the grayscale NumPy fix, signed URL handling, segment2box() border behavior, and CLI class parsing from future regressions.

What's Changed

New Contributors

Full Changelog: ultralytics/ultralytics@v8.4.88...v8.4.89

v8.4.88: - Cap dataloader workers for tiny datasets (#​25031)

Compare Source

🌟 Summary

Ultralytics v8.4.88 focuses on more reliable training for tiny datasets, stable NCNN export, and clearer documentation for model training concepts. 🚀

📊 Key Changes

  • Tiny dataset dataloader fix by @​glenn-jocher 🧠

    • Dataloader worker processes are now capped based on the actual number of final batches.
    • Single-batch training loaders now run in-process instead of spawning extra persistent workers.
    • Empty dataset handling now correctly relies on PyTorch DataLoader validation instead of triggering internal worker-count errors.
    • Added regression tests for tiny loaders, distributed sampling with drop_last, and empty dataset behavior.
  • Improved NCNN export stability by @​glenn-jocher 🛠️

    • PNNX is pinned to 20260526 for NCNN export and CI checks.
    • This avoids a known newer PNNX regression that could cause NCNN inference crashes.
    • NCNN remains paired with the latest available ncnn wheel.
  • Clearer training documentation for dfl by @​fcakyon 📚

    • The dfl training argument description now correctly explains Distribution Focal Loss as a bounding box localization term, not a classification feature.
    • This helps users better understand how YOLO models learn accurate box positions.
  • Knowledge distillation guide visual update by @​RizwanMunawar 🖼️

    • Added a new workflow image to the knowledge distillation documentation.
    • The image helps explain the teacher-student model training concept more intuitively.
  • Version bump 📦

    • Package version updated from 8.4.87 to 8.4.88.

🎯 Purpose & Impact

  • Better experience for small experiments and quick tests
    Users training on very small datasets should see fewer unnecessary background worker processes, lower overhead, and fewer cases where stuck workers keep CUDA resources busy.

  • More robust distributed and edge-case training behavior
    The dataloader update preserves existing drop_last behavior while improving worker handling after sampler construction, making training safer across normal, tiny, and distributed dataset setups.

  • More dependable NCNN deployment workflows 📱
    Pinning PNNX improves reliability for users exporting YOLO models, including YOLO26 models, to NCNN for lightweight or edge-device inference.

  • Clearer learning resources for all users 🌐
    Documentation updates make advanced concepts like knowledge distillation and Distribution Focal Loss easier to understand for both new users and experienced developers.

What's Changed

Full Changelog: ultralytics/ultralytics@v8.4.87...v8.4.88


Configuration

📅 Schedule: (in timezone Europe/Vienna)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

| datasource | package     | from   | to     |
| ---------- | ----------- | ------ | ------ |
| pypi       | ultralytics | 8.4.87 | 8.4.89 |
@jazzlyn-bot
jazzlyn-bot Bot merged commit 3c6f6b9 into main Jul 6, 2026
1 check passed
@jazzlyn-bot
jazzlyn-bot Bot deleted the renovate/ultralytics-8.x branch July 6, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants