pypi ultralytics 8.3.61
v8.3.61 - `ultralytics 8.3.61` Restore Python 3.8 compatibility (#18666)

one day ago

🌟 Summary

The v8.3.61 release restores compatibility with Python 3.8, refines several utility components, and makes user-facing improvements for better prediction workflows. It smooths the usability, performance, and flexibility of the Ultralytics ecosystem. 🚀💡


📊 Key Changes

  • Python 3.8 Compatibility Restored: Ensures older Python versions, including 3.8, are now supported by replacing operations incompatible with earlier versions. 🐍✅
    • Replaced | operator for dictionary merging with the Python 3.8-compatible ** method.
  • Prediction API Simplification: The Predictor and SAM2Predictor classes now output results in a consolidated object (result), replacing the previous multi-output format (masks, scores, boxes).
    • Example updates reflect this newer, simpler API. 🧰
  • CI Workflow Improvements: Adjusted triggers and settings in GitHub Actions workflows for smoother testing and CI processes.
  • Minor Bug Fixes: Addressed issues in utility functions, prediction methods, and loss calculations to improve overall reliability and prevent unexpected errors. 🛠️
  • Version Bumped to 8.3.61: Reflects these refinements in the package version.

🎯 Purpose & Impact

  • Broader Python Compatibility: Expands usability for projects running Python 3.8, accommodating users on older infrastructure without losing core functionality. 🌎
  • Simplified Model Predictions: A single-output format for Predictor and SAM2Predictor reduces user friction, improves code readability, and simplifies integration into pipelines. Especially helpful for new users! 🧩🚀
  • Improved Reliability: Minor bug fixes enhance stability, ensuring smoother performance across diverse use cases.
  • CI Stability & Testing Precision: Improvements to workflow configurations ensure better support for continuous integration and testing scenarios.

Note for Users 🤓:

If you’ve been using the Predictor or SAM2Predictor classes, make sure to update your scripts with the new result structure (e.g., use result.masks, result.boxes, etc.) instead of relying on separate outputs. This alignment will make your workflows cleaner and future-proof! 😊

What's Changed

Full Changelog: v8.3.60...v8.3.61

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.