Ultralytics v8.3.238 is out!
v8.3.238 is a refinement-heavy release focused on making SAM3 concept/video segmentation more robust, faster to work with, and easier to install, while also improving export stability (TFLite/ONNX) plus CI + docs polish. ![]()
![]()
![]()
If you want the full details, jump into the v8.3.238 release page and the full changelog comparison.
New Features & Highlights (SAM3-heavy release)
SAM3 architecture refactors
- Shared helper for SAM3 neck feature generation (
sam_forward_feature_levels) to reduce duplication and unify multi-scale features + positional encodings. - VL combiner + neck now reuse this helper across SAM3 and optional SAM2 paths.
- SAM3 image/video predictors now share backbone feature prep logic with SAM2 (
_prepare_backbone_features) for more consistent multi-prompt batching.
SAM3 stability & correctness
- Batching cache bug fixed:
SAM3SemanticPredictorno longer corrupts cached backbone features when querying the same image with different prompt batch sizes (great for “encode once, query many times” workflows). - Apple Silicon (MPS) reliability: attention path enforces contiguous tensors and simplifies dtype conversions.
- Tokenizer deps auto-check/install prompt for semantic/text workflows (
ftfy,regex,iopath) to avoid surpriseModuleNotFoundErrorcrashes. - Cleaner docstrings + docs aligned to the public API import path:
from ultralytics.models.sam import ...
SAM3 video API & docs improvements
- Docs now show the simplified import path:
from ultralytics.models.sam import SAM3VideoSemanticPredictor - Clarified SAM3 sizing/specs and noted SAM3 is fully available since
v8.3.237.
Export & Deployment Improvements
- ONNX FP16 guardrails: FP16 conversion now only runs when
--half+--format=onnx+device=cpuare all true (prevents cross-format export surprises). - TFLite dtype mismatch fix when using
half=Truewithnms=True. - MNN export safety: skip slow tests if
torch<1.10and assert minimum torch version to prevent runtime crashes. - Clarified
onnxpin notes (onnx>=1.12.0,<=1.19.1) until tooling catches up.
CI / Tooling / Infra
- CI Summary now depends on SlowTests, and Slack alerts trigger on SlowTests failures too (better signal on real regressions).
- Docker runner image improvements (
apt-get update,libicu-dev, cleanup). - GitHub Actions artifact uploader bumped
actions/upload-artifactv5 → v6 (Node 24 runtime).
Examples & UX Polish
.gitignorenow allowsexamples/**/requirements.txtfor demo-specific deps.- RT-DETR ONNXRuntime example improvements (safer downloads, validation, optional NMS filter, fixed COCO YAML URL).
- Interactive tracking UI safer defaults (e.g.
save_video=False).
What’s Changed (PRs + Authors)
- SAM3 Docs update by @glenn-jocher in PR #22932
- Minor docs improvements by @pderrenger in PR #22934
- Auto-install SAM3 tokenizer dependencies by @fcakyon in PR #22935
- Update import path for
SAM3VideoSemanticPredictorby @RizwanMunawar in PR #22945 - Add YouTube link to docs by @RizwanMunawar in PR #22931
- Use FP32 ONNX model for TFLite export by @Y-T-G in PR #22949
- Fix TFLite export dtype mismatch with
half=Trueandnms=Trueby @glenn-jocher in PR #22946 - Minor fixes by @glenn-jocher in PR #22943
- Fix SAM3SemanticPredictor feature cache mutation when batching prompts by @NeilLint in PR #22948
- Bump
actions/upload-artifactfrom 5 to 6 by @dependabot[bot] in PR #22952 - Refactor SAM backbone output and remove duplication by @Laughing-q in PR #22953
- Fix SAM3 inference with MPS by @Y-T-G in PR #22956
- Update SAM-3 docs and nav by @kayselmecnun in PR #22933
ultralytics 8.3.238Refactor SAM3 forward convolutions by @glenn-jocher in PR #22942
New contributors
- @NeilLint first contribution in PR #22948
- @kayselmecnun first contribution in PR #22933
Try it now
pip install -U ultralytics
If you hit any issues (especially around SAM3, MPS, or export), please share repro steps in a GitHub issue—feedback helps us keep improving for everyone. ![]()