π Summary
π§ v8.4.82 is mainly a stability and usability release focused on fixing YOLO26 Axelera export issues, improving classification RAM caching, and tightening several training/data handling edge cases.
π Key Changes
-
π Major fix for YOLO26 Axelera exports
- Fixed a bug where Axelera export could accidentally delete its own output files when run from the modelβs directory.
- This was the key issue behind failed exports showing errors like βoutput model too smallβ even when compilation had actually succeeded.
- The fix now uses a safer temporary compile folder and adds export serialization to avoid conflicts from shared process state.
-
π Axelera export behavior restored for
end2end=False- A temporary restriction added in the previous change was removed.
- YOLO26 Axelera exports can again work with
end2end=Falsewhere supported, avoiding unnecessary breakage in existing workflows such as Ultralytics Platform jobs.
-
π§ Classification
cache='ram're-enabled with a memory-safe design- Classification training can now use RAM caching again without the previous memory growth problem.
- Images are decoded once into a shared memory buffer instead of being copied separately into each worker.
-
π Training now fails fast when all labels are empty
- If a detection dataset has no usable labels at all, training now stops immediately with a clear error instead of just warning and failing later in confusing ways.
-
πΌοΈ Image format support cleanup
- Added proper fallback loading for
.heifimages. - Removed the invalid
.jpeg2000extension from supported image format lists.
- Added proper fallback loading for
-
π§Ή Python reliability improvements
- Fixed several mutable default argument definitions across metrics, TAL, augmentations, YOLOE, and SAM-related code.
- These bugs were subtle, but could cause shared state to leak across calls in long-running sessions.
-
π Docs and workflow polish
- Clarified
stream=Truebehavior in predict mode. - Documented
MLFLOW_KEEP_RUN_ACTIVEfor MLflow users. - Updated citations for YOLOv7, YOLOv9, YOLOv10, and YOLO12 docs.
- Simplified Slack release/CI notifications for cleaner team alerts.
- Clarified
π― Purpose & Impact
-
β More reliable Axelera exports for YOLO26
- This is the most important change in the release.
- Users exporting YOLO26 models for Axelera hardware should see far fewer mysterious export failures, especially in automated or isolated environments like the Ultralytics Platform.
-
βοΈ Safer production workflows
- The Axelera fix prevents exported models from being silently removed during cleanup.
- That means more dependable deployment pipelines and less debugging time.
-
πΎ Better memory efficiency for classification training
- Re-enabling RAM caching can improve training speed while avoiding the old worker duplication problem.
- This is especially helpful for users training classification models on larger datasets.
-
π§ͺ Earlier and clearer failure signals
- Catching all-empty labels at the start helps users fix dataset problems right away instead of encountering vague downstream errors later.
-
π· Smoother handling of real-world image files
- Better HEIF support means fewer surprises when working with photos from modern devices.
-
π οΈ Improved long-running stability
- The default-argument fixes reduce the chance of strange behavior caused by shared internal state, which matters most in notebooks, services, and repeated training/inference sessions.
Overall, v8.4.82 is less about new models and more about making existing YOLO26 export and training workflows more dependable π¦β¨
What's Changed
- Guard YOLO26 Axelera end2end exports by @glenn-jocher in #24962
- Restore Axelera end2end=false exports by @glenn-jocher in #24963
- Fix mutable default args in metrics and tal by @raimbekovm in #24631
- Fix mutable default args in augment, YOLOE, and SAM by @raimbekovm in #24630
- Restore fail-fast when training labels are all empty by @AffanBinFaisal in #24562
- Docs: document MLFLOW_KEEP_RUN_ACTIVE env var for MLflow integration by @raimbekovm in #24602
- docs: update YOLOv7, YOLOv9, YOLOv10 and YOLO12 citations by @banu4prasad in #24501
- docs: clarify stream=True behavior by @seungcle in #24657
- Drop phantom jpeg2000 extension and fix heif loader fallback by @raimbekovm in #24594
- Refactor comments in tests/init.py for clarity by @penampungdipek-creator in #24651
- Fix classification cache='ram' leak via shared memory tensor by @raimbekovm in #24670
- Simplify Slack notification messages by @glenn-jocher in #24964
- Fix Axelera export deleting its output when run from the model directory by @glenn-jocher in #24965
New Contributors
- @seungcle made their first contribution in #24657
- @penampungdipek-creator made their first contribution in #24651
Full Changelog: v8.4.81...v8.4.82