New Release: Ultralytics v8.3.124

Ultralytics v8.3.124 Release: Unified Python Config for Vision AI :rocket:

:glowing_star: Summary

We’re excited to announce Ultralytics v8.3.124!
This release brings a unified, Python-based configuration system, streamlining the way you set up and customize your Vision AI solutions. Expect a cleaner codebase, faster startup, easier customization, and improved documentation—plus some thoughtful tweaks to default behaviors!


:package: New Features

Unified SolutionConfig for All Solution Modules

All Ultralytics solution modules (object counting, tracking, analytics, etc.) now use the new SolutionConfig Python dataclass for configuration.

  • No more scattered YAMLs or default dicts—configure everything in one Python class!
  • Makes it much easier to set up, adjust, and maintain your solutions.

See PR by @RizwanMunawar – Create @dataclass SolutionConfig and remove solutions.yaml

Cleaner Codebase

  • Legacy config files removed: The old solutions.yaml and related legacy code are now gone, reducing complexity and potential for bugs.

:rocket: Improvements

  • Enhanced Documentation
    Our documentation has been updated with details on the new Python configuration system and improved usage instructions—making it easier for everyone to get started.

  • More Practical Default Regions for Tracking
    Default region settings are now tuned for a 640Ă—360 image resolution, making object tracking more accurate out of the box.
    See PR by @RizwanMunawar – Update region to 640×360 image resolution

  • Smarter Imports = Faster Startup
    Heavy dependencies like requests, psutil, and thop are now imported only when needed, making the initial package load faster and your experience smoother.
    See PR by @Y-T-G

  • Minor Logic Tweaks
    Fine-tuned default parameter values and improved argument handling for greater reliability in solution modules.

  • Contributor Recognition
    New contributors are now acknowledged in the documentation, celebrating the collaboration that drives Ultralytics forward.


:bullseye: Purpose & Impact

  • Easier customization: All settings in one place for less confusion and fewer errors.
  • Cleaner code, fewer bugs: Reduced legacy code and consistent patterns mean less to debug and easier extensions.
  • Better performance: With scoped imports, you’ll notice faster package startup.
  • Improved user experience: Enhanced defaults and documentation ensure you get great results right away.

:memo: What’s Changed

Full Changelog: See the diff between v8.3.123 and v8.3.124

Release URL: Ultralytics v8.3.124 Release Notes


:speaking_head: Get Involved!

We encourage you to update to v8.3.124, try out the new configuration system, and explore the improvements.
Your feedback is invaluable—please share your experiences, ideas, and any issues you encounter. Together, we keep making Ultralytics better for the whole community!

Thank you to everyone who contributed to this release! :rocket:
If you have questions or want to discuss, drop your thoughts below.