π Summary
v8.4.67 is a small but meaningful release focused on safer model loading π, plus an important TT100K dataset label fix π£οΈ and a batch of documentation/link cleanups π.
π Key Changes
-
π New opt-in safe model loading via
ULTRALYTICS_SAFE_LOAD(@glenn-jocher, PR #24829)- Ultralytics added a new environment flag,
ULTRALYTICS_SAFE_LOAD=true, that enables a safer way to load model checkpoints. - When enabled, checkpoint loading uses PyTorchβs newer
weights_only=Truebehavior and only rebuilds known Ultralytics and PyTorch model classes from an automatically generated allow-list. - This replaces the older unused
SafeUnpicklerapproach. - Important: this is off by default, so existing workflows keep working as before.
- Ultralytics added a new environment flag,
-
π£οΈ TT100K dataset class list corrected to the official 221-category set (@glenn-jocher, PR #24718)
- The
TT100K.yamldataset config had duplicated and incorrect class names. - That caused some class IDs to silently lose labels during conversion, even though training still proceeded.
- The release now aligns TT100K with the official upstream category list, including missing real classes.
- The
-
π Rust inference docs updated to
ultralytics-inference 0.0.21(@onuralpszr, PR #24825)- Documentation examples now point to the latest Rust inference crate version.
-
π Many documentation links were refreshed and corrected (@glenn-jocher, PR #24824 and #24817)
- Updated links across integrations, datasets, examples, and guides.
- Includes a fix for the CoreML NMS glossary link and many canonical URL updates.
π― Purpose & Impact
-
π Safer checkpoint loading for security-conscious users
- The new opt-in safe loading mode helps reduce risk when loading model files by allowing only recognized model components.
- This is especially useful for teams working in stricter environments or aligning with newer PyTorch defaults.
- Because it is optional, users with custom or forked architectures are not disrupted.
-
β»οΈ Better future compatibility with PyTorch
- PyTorch 2.6+ is moving toward
weights_onlyloading by default. - This update helps Ultralytics stay aligned with that direction while preserving backward compatibility today.
- PyTorch 2.6+ is moving toward
-
π« Less chance of silent dataset errors
- The TT100K fix is a big quality improvement for anyone training on that traffic-sign dataset.
- Previously, some categories could effectively receive no labels without an obvious crash.
- Now, dataset conversion and training should be much more trustworthy π―
-
π§° Minimal disruption for most users
- No major model architecture changes were introduced in this tag.
- Standard loading behavior remains unchanged unless you explicitly enable safe loading.
- Most other changes are documentation polish, so the release is low-risk and practical β
-
π Clearer onboarding and fewer broken docs
- Updated links and version references make tutorials and integration guides easier to follow, especially for newer users.
If you want, I can also provide a one-paragraph release note version or a developer-focused summary of v8.4.67.
What's Changed
- Fix CoreML NMS glossary link by @glenn-jocher in #24817
- Fix TT100K class names to match the official 221-category list by @glenn-jocher in #24718
- chore: update ultralytics-inference version to 0.0.21 in documentation by @onuralpszr in #24825
- Update redirected docs links by @glenn-jocher in #24824
- Add opt-in weights_only model loading via ULTRALYTICS_SAFE_LOAD by @glenn-jocher in #24829
Full Changelog: v8.4.66...v8.4.67