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!
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.
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.
Related PR: Restore Python 3.8 compatibility by @glenn-jocher
2. Prediction API Simplification
- The
Predictor
andSAM2Predictor
classes now return results as a consolidatedresult
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.
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.
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.
What to Do Next
-
Update Your Scripts:
- Switch to the new single
result
output for predictors. Use properties likeresult.masks
,result.boxes
, etc., instead of expecting multiple outputs.
- Switch to the new single
-
Try the New Version:
- Update your environment with the latest release via
pip install ultralytics --upgrade
.
- Update your environment with the latest release via
-
Provide Feedback:
- Share your thoughts and experiences in the GitHub Discussions or report any issues you encounter.
Learn More
What’s Changed
- Fix broken examples in SAM Predictor docstrings by @Y-T-G in PR #18665
- Restore Python 3.8 compatibility by @glenn-jocher in PR #18666
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.