pypi ultralytics 8.3.234
v8.3.234 - `ultralytics 8.3.234` Security fix: ast.literal_eval for safer evaluation of metadata strings (#22847)

6 hours ago

🌟 Summary

Ultralytics 8.3.234 is a small but important maintenance release focused on safer model metadata handling, more robust training augmentations, and smoother docs & toolingβ€”with no breaking changes for typical YOLO users. πŸš€


πŸ“Š Key Changes

  • πŸ” Safer metadata parsing in model export (current PR #22847)

    • Replaced unsafe eval with ast.literal_eval when reading string metadata (e.g. imgsz, names, kpt_shape, kpt_names, args) in torch_to_mnn inside the autobackend.
    • Marked a few remaining eval calls in cfg2task with # nosec B307 to clearly document that they are safe, controlled uses on known attributes.
  • πŸ§ͺ More robust Albumentations label handling (#22846)

    • Ensures labels["cls"] from Albumentations transforms is always stored as a 2D column array (num_boxes, 1) instead of a 1D array.
    • Prevents shape mismatch issues when training with Albumentations-based augmentations.
  • 🐍 Dependency & Python version alignment for dev installs (#22830)

    • Updated the zensical dev dependency to require Python 3.10+ (matching what the docs tooling already expects).
    • Avoids confusing dependency resolution errors when working on Ultralytics in dev mode.
  • πŸŽ₯ Improved segmentation docs with a video tutorial (#22825)

    • Replaced a static image in the object isolation with segmentation guide with an embedded YouTube tutorial.
    • Shows how to use Ultralytics YOLO segmentation + OpenCV in Python to remove backgrounds and isolate objects.
  • πŸ€– Upgraded in-docs LLM chat widget (#22832, #22845, #22861)

    • Bumped the embedded Ultralytics LLM chat script in mkdocs.yml from v0.0.8 β†’ v0.0.9 β†’ v0.1.0 β†’ v0.1.2.
    • Users browsing docs now benefit from newer chat features, fixes, and better stability.
  • ✨ JavaScript & CSS cleanups in docs UI (#22842, #22844)

    • Modernized JS: arrow functions, template literals, Number.parseInt / Number.parseFloat, Number.isNaN, and cleaner regexes.
    • Simplified CSS by removing unnecessary !important flags and clarifying language switcher and banner styles.
    • Improves maintainability and reduces subtle UI bugs in the docs.
  • πŸ”— Documentation & link updates (#22823, #22829)

    • Jetson guide: switched onnxruntime-gpu wheel install to a clean Ultralytics GitHub asset link, making commands easier to copy and more reliable.
    • Axelera integration docs: fixed external blog URLs for YOLO11 drone and traffic/ANPR use cases so they point to the correct Ultralytics blog pages.
  • πŸ”’ Version bump

    • Library version updated from 8.3.233 β†’ 8.3.234.

🎯 Purpose & Impact

  • πŸ›‘οΈ Higher security when loading/exporting models

    • Replacing eval with ast.literal_eval significantly reduces the risk of arbitrary code execution from crafted metadata strings (e.g. in exported models).
    • Ideal for users who handle models or weights from external or untrusted sources.
  • βš™οΈ More stable training with Albumentations

    • Consistent (num_boxes, 1) shape for class labels avoids hidden bugs and crashes in data pipelines.
    • Especially helpful if you rely on Albumentations-heavy augmentation for detection tasks.
  • πŸ‘¨β€πŸ’» Smoother development experience

    • Clearer Python 3.10+ requirement for zensical in dev extras means fewer dependency resolution headaches for contributors and power users working on the repo.
  • πŸ“š Better learning and onboarding

    • The new segmentation video tutorial makes it easier for newcomers and visual learners to quickly reproduce object isolation workflows in Python.
    • Updated Jetson and Axelera docs improve trust, clarity, and real-world guidance for deploying YOLO11 on edge hardware.
  • πŸ€– Improved docs assistant experience

    • The updated Ultralytics LLM chat widget on the docs site offers a smoother, more reliable in-browser assistant, without any changes needed in user code.

Overall, 8.3.234 is a safe, drop-in update: you can upgrade to benefit from better security, stability, and docs UX with no changes to your existing YOLO training or inference code. βœ…

What's Changed

Full Changelog: v8.3.233...v8.3.234

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.