New Release: Ultralytics v8.3.61

:rocket: Ultralytics v8.3.61 Release Announcement!

We are thrilled to announce the release of Ultralytics v8.3.61! This update focuses on improving Python compatibility, streamlining prediction workflows, enhancing the reliability of utility components, and refining CI processes for better testing precision. Let’s dive into the details below!


:star2: Summary

The v8.3.61 release restores compatibility with Python 3.8, refines prediction outputs, and brings smoother usability and integration to the Ultralytics ecosystem. Whether you’re using older Python versions or the latest tools, this release is packed with enhancements to make your experience even better.


:bar_chart: Key Changes

1. Python 3.8 Compatibility Restored

  • Older Python versions (including 3.8) are now fully supported!
  • The | operator for dictionary merging was replaced with the more universal Python 3.8 syntax using ** for improved compatibility. :snake:

:pushpin: Related PR: Restore Python 3.8 compatibility by @glenn-jocher


2. Prediction API Simplification

  • The Predictor and SAM2Predictor classes now return results as a consolidated result object, replacing the previous multi-output format (masks, scores, boxes).
  • This change makes code more readable, less error-prone, and easier to integrate into workflows.

Example Adjustment: Access outputs via result.masks, result.scores, result.boxes, etc.

:pushpin: Related PR: Fix broken examples in SAM Predictor docstrings by @Y-T-G.


3. CI Workflow Improvements

  • GitHub Actions workflow triggers have been fine-tuned to ensure smoother automated testing and CI processes.

4. Minor Bug Fixes

  • Various bugs in utility functions, prediction methods, and loss calculations have been squashed to improve stability and reliability.

:dart: Purpose & Impact

Broader Python Compatibility

Expands usability for users running older Python environments (like Python 3.8), offering flexibility without compromising core functionality.

Simplified Model Predictions

The new single-output format for predictions makes it easier for users to build and maintain workflows. Especially beneficial for newcomers integrating Ultralytics into their pipelines!

Improved Reliability

Fixed bugs enhance stability for users across diverse environments, ensuring a consistently smooth operation.

CI/Testing Precision

Improved configurations for CI workflows result in more reliable testing and deployment pipelines.


:raising_hand_man: What to Do Next

  1. Update Your Scripts:

    • Switch to the new single result output for predictors. Use properties like result.masks, result.boxes, etc., instead of expecting multiple outputs.
  2. Try the New Version:

    • Update your environment with the latest release via pip install ultralytics --upgrade.
  3. Provide Feedback:

    • Share your thoughts and experiences in the GitHub Discussions or report any issues you encounter.

:globe_with_meridians: Learn More

What’s Changed

Full Changelog: v8.3.60…v8.3.61

Release Details

Release URL: Ultralytics v8.3.61 Release


Thank you for being an incredible part of the Ultralytics community! Your feedback and support drive these improvements. Give the new version a try, and let us know how it works for you. :rocket::clap: