Ultralytics v8.3.228 is live 
Quick summary: This release makes CLIP/MobileCLIP tokenization safer by default with a new truncate option to prevent crashes on long prompts, improves tqdm progress-bar readability for slow loops, upgrades the docs chat/search experience, polishes augmentation docs, and increases ARM CI reliability. ![]()
Highlights
- Safer CLIP/MobileCLIP tokenization with
truncate=Trueby default to avoid RuntimeError on long prompts. - Clearer tqdm output on slow iterations using seconds-per-iteration formatting (e.g., 1.5s/it).
- Faster, unified Ultralytics Docs chat + search with theme sync and keyboard shortcut (Cmd/Ctrl + K).
- Augmentation docs now include the
augmentationsargument for custom Albumentations pipelines, plus a small typo fix. - Cleaner Raspberry Pi CI runners for more reliable ARM builds.
New Features and Improvements
- CLIP/MobileCLIP tokenization now handles overlength text gracefully by default, while still allowing strict validation with
truncate=Falsefor debugging and exact checks. - Progress updates are easier to interpret on slower hardware or large models, thanks to smarter tqdm rate formatting.
- Documentation UX is improved with a native chat widget, theme syncing, a keyboard shortcut for instant access, and a header search button.
- Augmentation docs cover custom
augmentationsin the macro table, enabling advanced Albumentations pipelines across detect/segment/pose/obb tasks. - Self-hosted ARM CI runners are cleaned pre-build to reduce flakiness and speed up contributor feedback loops.
Whatβs Changed (PRs and authors)
- Introduced the native Ultralytics Chat widget in the docs in PR #22639 by glenn-jocher.
- Documented the
augmentationsargument for custom Albumentations pipelines in PR #22615 by onuralpszr. - Corrected an HSV saturation typo in augmentation docs in PR #22645 by picsalex.
- Removed the chat.js API URL from
extra.jsin PR #22648 by glenn-jocher. - Updated
mkdocs.ymlto the latest chat.js configuration in PR #22652 by glenn-jocher. - Improved tqdm rate format readability for slow iterations in PR #22660 by fcakyon.
- Cleaned self-hosted GitHub runners before initial run to reduce flakiness in PR #22654 by lakshanthad.
- Fixed CLIP token truncation with a safe default
truncate=Truein PR #22650 by h13-0.
You can review the complete diff by browsing the compare view in the v8.3.227 β v8.3.228 changelog and read the full notes on the v8.3.228 release page.
Example: Safe vs strict tokenization
from ultralytics.nn.text_model import CLIP, MobileCLIPTS
clip_model = CLIP(size="ViT-B/32", device="cpu")
safe_tokens = clip_model.tokenize("a very long caption ...", truncate=True) # default: avoids errors
strict_tokens = clip_model.tokenize("a very long caption ...", truncate=False) # strict mode: may raise on overflow
mobileclip = MobileCLIPTS(device="cpu")
tokens = mobileclip.tokenize(["caption 1", "caption 2"]) # safely truncated by default
Upgrade and try it
- Update with
pip install -U ultralytics. - Reminder: YOLO11 is our latest stable and recommended model across detection, segmentation, pose, classification, and OBB.
Weβd love your feedback
Tell us how the new tokenization defaults and progress-bar readability feel in your workflows, and share suggestions or issues in Ultralytics Discussions. Your feedback helps the community and the team keep improving.