Skip to content

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

Choose a tag to compare

@github-actions github-actions released this 03 Nov 16:02
· 16 commits to main since this release
eb55d93

🌟 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 zip dependency 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.56 Shape 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