pypi ultralytics 8.4.69
v8.4.69 - Allow safe load of checkpoints with `getattr` (#24852)

9 hours ago

🌟 Summary

Ultralytics v8.4.69 is a small but important reliability update 🔒 that improves safe checkpoint loading, especially for some YOLO11 and YOLOv8 segmentation, pose, OBB, and classification models.

📊 Key Changes

  • 🔐 Safe loading now supports certain getattr references inside checkpoints

    • Some model checkpoints store internal references using getattr, which were previously blocked when safe loading was enabled.
    • This update allows those checkpoints to load correctly without turning off the safety mechanism.
  • 🤖 Fixes safe loading for several model types

    • Affects checkpoints used by:
      • YOLO11 segmentation
      • YOLO11 classification
      • YOLO11 pose
      • YOLO11 OBB
      • Similar affected YOLOv8 checkpoint variants
  • 🧩 Added restricted support for enum-based references

    • The safe loader now understands certain enum values used in saved checkpoints, such as interpolation settings.
  • 🛡️ Still keeps the load process restricted

    • Instead of broadly allowing any getattr use, the change adds a limited internal handler that only permits approved cases.
    • This helps preserve security while improving compatibility.
  • 📦 Version bump

    • Package version updated from 8.4.68 to 8.4.69.

🎯 Purpose & Impact

  • Fewer loading/export errors with safe mode enabled

    • Users working with ULTRALYTICS_SAFE_LOAD=1 should now be able to load and export affected checkpoints more smoothly.
  • 🔒 Better security without losing usability

    • The goal is to keep safe loading strict, while avoiding unnecessary failures for legitimate Ultralytics model files.
  • 🚀 Improves deployment and export workflows

    • This is especially helpful for users exporting models in secure or controlled environments, where safe loading is preferred or required.
  • 👥 Good quality-of-life fix for everyday users

    • If you use pretrained segmentation, pose, OBB, or classification checkpoints, this update can reduce friction without changing your training or inference workflow.
  • 📌 Low-risk, high-value release

    • There are no major new model architectures or training features here; this release is mainly a stability and compatibility fix with practical impact.

If helpful, I can also provide a one-paragraph changelog version or a more technical developer-focused summary.

What's Changed

  • Allow safe load of checkpoints with getattr by @Y-T-G in #24852

Full Changelog: v8.4.68...v8.4.69

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.