Repository navigation
v0.0.56 - `ultralytics-inference 0.0.56` Shape right-to-left and complex-script labels in native and web, with up to 2.3x faster label drawing (#604)
Latest🌟 Summary
Version 0.0.56 makes detection labels work much better across languages, especially Arabic, Persian, Urdu, and Hebrew, while improving label rendering efficiency and refining browser inference behavior.
📊 Key Changes
- 🌍 Right-to-left and complex-script labels: Native annotations now shape and order text correctly, including joined Arabic letters, Hebrew marks, and ligatures. Browser annotations also display right-to-left text consistently across Chrome, Firefox, and Safari.
- ⚡ More efficient label drawing: Native rendering reuses glyphs within a frame, reducing repeated work and delivering up to 2.3× faster label drawing on busy frames. The benefit varies with the number and type of labels.
- 🧭 More reliable browser inference: LiteRT enables threading only when the browser supports relaxed SIMD and the page is cross-origin isolated. Web predictions can also leave confidence and IoU thresholds unset to use Rust’s defaults.
- 🧹 Shared inference helpers: Default image selection, stride rounding, and keypoint clipping are consolidated across paths, reducing duplicated logic.
- 🛠️ Build and maintenance updates: CUDA preprocessing linting now runs on hosted CI, CUDA and OpenVINO documentation is refreshed, and the
zipdependency is updated.
🎯 Purpose & Impact
- 🗣️ Users with multilingual class names get more readable, correctly ordered annotations in native and browser workflows.
- 🚀 Applications that draw many labels may spend less time rendering them; the speedup is most relevant on busier frames.
- 🌐 Browser users get more compatible LiteRT initialization, while JavaScript callers can rely on built-in threshold defaults.
- 🔧 Developers benefit from more consistent shared code and broader CI lint coverage, helping catch issues earlier.
What's Changed
- build(deps): Bump zip from 9.0.5 to 9.1.3 by @dependabot[bot] in #600
- Remove clippy allow attributes that no build needs anymore by @onuralpszr in #601
- Lint cuda-preprocess on the hosted runner and fix stale CUDA and DGX docs by @onuralpszr in #602
- Share the stride rounding, keypoint clipping and default images helpers and fix stale doc comments by @onuralpszr in #603
- Enable LiteRT threads only when the browser supports relaxed SIMD by @onuralpszr in #605
- Remove unused web getters, keep threshold defaults in Rust and match the native label text color by @onuralpszr in #606
ultralytics-inference 0.0.56Shape right-to-left and complex-script labels in native and web, with up to 2.3x faster label drawing by @onuralpszr in #604
Full Changelog: v0.0.55...v0.0.56