π Summary
This release is mainly a stability and export-quality update for Ultralytics, led by an important FastSAM fix for multiple text prompts π§ , plus clearer and stricter model export precision handling, better YOLO26 coverage, and several reliability improvements across platforms and integrations π
π Key Changes
-
π οΈ FastSAM multiple text prompts no longer crash
- Fixed a
ValueErrorinFastSAMPredictor.prompt()when users passed more than one text prompt. - This especially affected common cases where some small masks were filtered out before prompt matching.
- The fix vectorizes the index remapping, so lists like
["a photo of a dog", "a photo of a person"]now work as documented.
- Fixed a
-
π¦ Export precision behavior is now clearer and stricter
- Export logic was cleaned up to use
quantize=consistently instead of relying on olderhalf=True/int8=Trueinternal state. - Unsupported precision requests now fail clearly instead of silently changing to something else.
- Examples:
- CoreML FP32 stays FP32 when requested
- CPU TorchScript FP16 now raises a clear error instead of quietly falling back
- Format-specific precision support is better documented
- Export logic was cleaned up to use
-
π Export docs got a major accuracy upgrade
- Many integration docs were updated to explain exactly which precisions each format supports, including:
- CoreML
- TorchScript
- OpenVINO
- MNN
- RKNN
- TensorFlow formats
- ExecuTorch
- Sony IMX500
- This makes deployment choices easier and reduces trial-and-error.
- Many integration docs were updated to explain exactly which precisions each format supports, including:
-
π€ YOLO26 became the main export smoke-test model in more places
- Export smoke tests were updated from YOLO11 to YOLO26 for several formats.
- This helps ensure the latest recommended model family is tested more directly in CI and export workflows.
-
𧬠Embedding behavior is more intuitive
model.embed()andmodel.predict()now behave better when used back-to-back.- After extracting embeddings, a normal
model.predict()call returns standardResultsagain instead of unexpectedly staying in embedding mode.
-
β‘ Faster, safer imports for standard YOLO use
- SAM/SAM3-related imports were made lazier, so normal Ultralytics imports wonβt eagerly load optional
torchvisionpieces. - This fixes startup issues like missing
torchvision::nmsin environments that donβt need SAM at all.
- SAM/SAM3-related imports were made lazier, so normal Ultralytics imports wonβt eagerly load optional
-
πͺ Windows ONNXRuntime C++ example handles non-ASCII paths better
- The ONNXRuntime C++ model loader now uses a Windows-safe filesystem path conversion.
- This improves compatibility for model files stored in folders with UTF-8 or non-English characters.
-
π§© Axelera export reliability improved
- Added a
numpy<=2.3.5pin to avoid broken YOLO26 attention-graph exports. - Export output validation was tightened so suspiciously tiny models fail loudly instead of being reported as successful.
- Added a
-
π Hailo documentation was clarified
- The docs now more clearly explain that Hailo HEF is currently a manual ONNX-to-HEF workflow, not yet a direct
model.export(format="hailo")target. - Notes were expanded around YOLO11, YOLO26, supported tasks, and Hailo hardware/SDK differences.
- The docs now more clearly explain that Hailo HEF is currently a manual ONNX-to-HEF workflow, not yet a direct
π― Purpose & Impact
-
β FastSAM is more usable for natural-language prompting
- Users working with multiple text prompts can now rely on FastSAM without random crashes.
- This is the most user-visible fix in the release and especially helpful for prompt-based segmentation workflows.
-
π Exports are more trustworthy
- If you request a precision the target format cannot actually support, Ultralytics now tells you immediately.
- This prevents hidden precision mismatches that could lead to confusing model size, speed, or accuracy results.
-
π YOLO26 deployment confidence improves
- Since YOLO26 is the latest stable and recommended Ultralytics model, broader smoke-test coverage means better confidence when exporting it to different runtimes and hardware.
-
π Prediction and embedding workflows feel less surprising
- Developers switching between feature extraction and normal inference should hit fewer gotchas.
-
π§― Fewer environment-related failures
- Lazy SAM imports reduce import-time breakage in setups that only need standard YOLO tasks.
- Windows path fixes and stricter export validation also reduce frustrating edge-case failures.
-
π Better guidance for non-experts and deployers
- The docs now do a better job of explaining what each export target really supports, helping users choose the right deployment format without guesswork.
Overall, v8.4.81 is a polish-and-reliability release β¨: it fixes an important FastSAM bug, makes export precision behavior much safer, and strengthens YOLO26 deployment readiness across the stack.
What's Changed
- Fix export precision handling and docs by @glenn-jocher in #24950
- Fix Sentry bugs 2026-06-27 by @glenn-jocher in #24949
- Remove internal half int8 export state by @glenn-jocher in #24951
- Fix ONNXRuntime C++ model path on Windows by @glenn-jocher in #24953
- Avoid bare alls variable in Hailo docs by @glenn-jocher in #24954
- Update Hailo docs compatibility notes by @glenn-jocher in #24955
- Pin Axelera numpy and remove redundant export tests by @glenn-jocher in #24947
- Update export smoke models to YOLO26 by @glenn-jocher in #24957
- Fix embed state reset for predictions by @glenn-jocher in #24958
- Fix YOLO26 Axelera export output path by @glenn-jocher in #24956
- Reduce slow CI Jetson TensorRT coverage by @glenn-jocher in #24959
- Fix
ValueErrorin FastSAMprompt()with multiple text prompts by @ahmet-f-gumustas in #24952
Full Changelog: v8.4.80...v8.4.81