Ultralytics v8.3.234 Release – Safer, Smoother, More Robust
Ultralytics v8.3.234 is a focused maintenance release that improves model metadata safety, Albumentations training robustness, and the docs & tooling experience. No breaking changes and fully safe to drop into existing YOLO workflows. ![]()
If you are using YOLO11 or other Ultralytics YOLO models today, you can upgrade confidently and benefit from better security, stability, and documentation UX.
Summary
Safer handling of model metadata in exports using ast.literal_eval
More robust Albumentations label shapes for training pipelines
Cleaner dev experience with Python 3.10+ alignment
New segmentation video tutorial for object isolation
Upgraded in-docs LLM assistant for a smoother docs experience
JavaScript and CSS cleanups improving docs UI maintainability
You can review the full release entry in the Ultralytics GitHub v8.3.234 release notes.
New & Notable
Safer model metadata parsing
Model export paths now use ast.literal_eval instead of eval when parsing string metadata such as imgsz, names, kpt_shape, kpt_names, and args in torch_to_mnn inside the autobackend. This greatly reduces the risk of executing arbitrary code from crafted metadata in exported models.
- Implemented in Security fix:
ast.literal_evalfor safer evaluation of metadata strings by @onuralpszr
A few remaining eval calls in cfg2task are now explicitly marked with # nosec B307 to document that they are controlled and safe for known attributes.
More robust Albumentations label handling
Albumentations-based pipelines can now rely on consistent label shapes:
labels["cls"]is always reshaped to a 2D column array(num_boxes, 1)- This prevents subtle shape mismatch issues during training when chaining transforms
Implemented in fix: reshape class labels in Albumentations transform by @onuralpszr.
Docs, Tutorials & UI Enhancements
New segmentation video tutorial
The object isolation with segmentation guide now includes a step‑by‑step YouTube tutorial showing how to:
- Use Ultralytics YOLO segmentation + OpenCV in Python
- Remove backgrounds and isolate objects from images
Added in Add segmentation video tutorial to docs by @RizwanMunawar.
A minimal example for segmentation-based object isolation might look like:
from ultralytics import YOLO
import cv2
model = YOLO("yolo11n-seg.pt") # example segmentation model
results = model("image.jpg")
for r in results:
for mask in r.masks.data:
# Convert mask tensor to uint8 image
m = (mask.cpu().numpy() * 255).astype("uint8")
# Apply mask to original image as needed
Upgraded in-docs LLM chat widget
The embedded Ultralytics chat widget used in the docs has been upgraded through several versions to improve:
- Stability and responsiveness
- Feature set for in‑browser assistance
This was done across:
- Update to v0.0.9/js/chat.min.js by @glenn-jocher
- Update to chat.js v0.1.0 by @glenn-jocher
- Update to @v0.1.2/js/chat.min.js by @glenn-jocher
No user‑side configuration changes are required; you will simply get a better helper when browsing docs.
JavaScript & CSS cleanups
Docs UI scripts and styles received a round of cleanup to improve maintainability and reduce subtle bugs:
- Modernized JavaScript with arrow functions, template literals,
Number.parseInt,Number.parseFloat, andNumber.isNaN - Cleaned CSS by removing excessive
!importantand clarifying key UI components
These changes landed in:
Documentation & link updates
A few docs have been updated to provide more reliable commands and accurate external links:
- Jetson deployment guide now pulls the
onnxruntime-gpuwheel directly from a Ultralytics GitHub asset, simplifying copy‑paste and avoiding outdated links, as part of Changeonnxruntime-gpudownload from Ultralytics assets by @lakshanthad - Axelera integration docs now link to the correct Ultralytics blog posts for YOLO11 drone and traffic/ANPR use cases in Fix links in docs by @glenn-jocher
Developer Experience & Tooling
Python 3.10+ alignment for dev installs
The zensical dev dependency now explicitly requires Python 3.10 or higher, aligning with what the docs tooling already expects. This helps avoid confusing dependency resolution errors when you work on Ultralytics in dev mode.
- Implemented in fix: update zensical dependency to require Python 3.10 or higher by @onuralpszr
If you contribute to Ultralytics or develop locally, a typical setup remains:
pip install -e ".[dev]"
Just ensure you are on Python 3.10+.
Version Bump
The library version was updated from 8.3.233 to 8.3.234, captured in:
You can compare all changes in the full diff using the GitHub v8.3.233 → v8.3.234 comparison view.
Why Upgrade?
Stronger safety when loading and exporting models, especially if you work with external or untrusted weights
More stable training when using Albumentations-heavy pipelines
Clearer dev environment requirements and smoother contributor experience
Better learning resources, particularly around segmentation and deployment on edge hardware
Improved docs assistant, giving you a more helpful in-browser companion
All of this comes without changing your existing YOLO training or inference code.
How to Try It
Upgrade to the latest Ultralytics release:
pip install -U ultralytics
Then run a quick check with your usual command, for example:
yolo detect predict model=yolo11n.pt source=path/to/images
or for segmentation:
yolo segment predict model=yolo11n-seg.pt source=path/to/images
Feedback & Discussion
The Ultralytics team and community would love to hear how v8.3.234 works for you:
- Did the safer metadata parsing help with any exported models?
- Are Albumentations pipelines running smoother?
- Any suggestions for the docs, tutorials, or tooling?
Please share your thoughts, questions, or issues in this thread or open an issue or discussion in the Ultralytics GitHub repository. Your feedback directly shapes future YOLO and Ultralytics releases. ![]()