Ultralytics v8.3.248 is out! 

TL;DR: v8.3.248 makes auto-installation much more reliable by ensuring uv pip install targets the currently running Python interpreter (plus a few small quality-of-life improvements). ![]()
New Features / Key Changes

Auto-install now targets the active interpreter explicitly
check_requirements() now runs uv pip install with --python {sys.executable} so packages install into the right environment (venv/conda/system), even in tricky setups (e.g., CI or missing VIRTUAL_ENV).
This change comes from PR #23118 by @glenn-jocher.
Also removed: the previous fallback retry using uv pip install --system, which could accidentally install into system Python.
Improvements

IMX export: more robust imxconv-pt discovery
The IMX export workflow now looks for imxconv-pt in the current Python environment’s bin/ directory first (venv-friendly), then falls back to PATH.
If it’s missing, it fails fast with a clear hint: pip install imx500-converter[pt].
Bug Fixes / Cleanup
Cleaner plotting code comment
Removed an incorrect TODO in plot_images that implied a required box-format conversion might be unnecessary—less confusion for contributors.
From PR #23114 by @raimbekovm.
Docker Quality-of-Life
Quieter container logs
Docker images now set TORCH_CPP_LOG_LEVEL=ERROR to suppress noisy PyTorch NNPACK warnings in containers.
Upgrade / Try it now
pip install -U ultralytics
Then run a quick sanity check:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.predict("https://ultralytics.com/images/bus.jpg")
Release links
You can review the full release details in the Ultralytics v8.3.248 release page, and explore everything that changed in the full changelog comparison.
Feedback welcome!
If you hit anything unexpected (especially around auto-installs in venv/conda/CI), please drop details here or open an issue in the repo—repro steps + your environment info help a lot. ![]()