# supervision 0.30.2 — supervision-0.30.2 - Product: supervision (https://whatsnew.fyi/product/supervision) - Vendor: supervision - Date: 2026-09-04 - Version: 0.30.2 - Original notes: https://github.com/roboflow/supervision/releases/tag/0.30.2 - Permalink: https://whatsnew.fyi/product/supervision/releases/0.30.2 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — sv.Detections.box_area and sv.Detections.area now compute integer-coordinate box areas in float64, preventing integer overflow for large boxes - **fixed** — sv.xcycwh_to_xyxy no longer truncates coordinates for integer input arrays - **fixed** — sv.denormalize_boxes no longer truncates coordinates for integer input arrays - **fixed** — sv.InferenceSlicer now merges slice results in source order when thread_workers > 1, restoring the documented ordering guarantee - **fixed** — Versioned documentation deployment for latest no longer fails with error: version 'latest' already exists when latest exists as an alias of a released version - **fixed** — Versioned documentation builds now emit a valid /latest/search/ SearchAction URL when Mike removes the trailing slash from site_url - **fixed** — Versioned documentation banners now adjust MkDocs Material's desktop sidebar inline layout and scroll height without shifting the mobile navigation drawer - **fixed** — Versioned documentation deploys now export the version being built so the outdated-version banner reaches readers of the develop tree, and the workflow backs up the pre-rewrite gh-pages tip to a timestamped branch before committing over it - **fixed** — The canonical-backfill workflow now reports rewritten canonicals whose target page does not exist under latest/, and backfills the outdated-version banner itself into already-published archive trees #### 0.30.2: Detection numeric-correctness fixes supervision 0.30.2 fixes three silent numeric-correctness bugs in the detection utilities — integer box areas that could wrap negative on large boxes, and two coordinate converters that truncated fractional values on integer input — plus an `InferenceSlicer` determinism fix that restores its documented source-order result guarantee under multithreading. A set of versioned-docs reliability fixes rounds out the release. No breaking API changes, no new public API. ##### ✨ Spotlights / highlights ###### `sv.Detections.box_area` no longer overflows to a negative number Integer-coordinate box area now computes in `float64`. A large `int32` box (`50000 x 50000`) previously wrapped to a negative area. ```python detections = sv.Detections(xyxy=np.array([[0, 0, 50000, 50000]], dtype=np.int32)) detections.box_area # array([2.5e+09]) — was negative before the fix ``` ###### `xcycwh_to_xyxy` / `denormalize_boxes` stop truncating integer boxes Both converters wrote fractional half-extent or scaled coordinates into a copy of the integer input, silently truncating toward zero — relevant when converting quantized VLM output (e.g. boxes on a `0..1000` grid). ```python xcycwh_to_xyxy(np.array([[10, 10, 5, 5]], dtype=np.int32)) #### array([[ 7.5, 7.5, 12.5, 12.5]]) — the fractional coordinate 7.5 is no longer truncated to 7 ``` ###### `InferenceSlicer` merges results in source order under multithreading Slice results now merge in source order under `thread_workers > 1`, restoring the ordering guarantee its docstring documents. Row order — and, for tied confidences, which overlapping box survives `with_nms`/`with_nmm` — no longer varies between runs on identical input. ##### 🔄 Migration guide No breaking API changes, but three fixes above change return dtype for integer input: - `sv.Detections.box_area` / `.area` — integer `xyxy` now returns `float64` (was the input's integer dtype, which could silently overflow) - `sv.xcycwh_to_xyxy` — integer input now returns `float64` (was truncated integer output) - `sv.denormalize_boxes` — integer input now returns `float64` (was truncated integer output) If your code indexes arrays with these outputs (e.g. `image[y1:y2, x1:x2]`), a float64 result raises `TypeError: slice indices must be integers`. Cast explicitly where integer indices are required: `xcycwh_to_xyxy(boxes).astype(int)`. ##### 📝 Notable changes ###### 🔧 Fixed - `sv.Detections.box_area` (and `sv.Detections.area` for axis-aligned boxes) now computes integer-coordinate box areas in `float64`, preventing integer overflow for large boxes. (#2514) - `sv.xcycwh_to_xyxy` no longer truncates coordinates for integer input arrays. (#2515) - `sv.denormalize_boxes` no longer truncates coordinates for integer input arrays. (#2516) - `sv.InferenceSlicer` now merges slice results in source order when `thread_workers > 1`, restoring the ordering guarantee its docstring documents. (#2517) - Docs deployment for `latest` no longer fails with `error: version 'latest' already exists` when `latest` exists as an alias of a released version. (#2512, #2513) - Versioned documentation builds now emit a valid `/latest/search/` SearchAction URL when Mike removes the trailing slash from `site_url`; docs CI renders the custom theme under Mike version contexts to protect the URL, version banners, and star JSON-LD. Applies to future builds going forward. (#2529) - Versioned documentation banners now adjust MkDocs Material's desktop sidebar inline layout and scroll height without shifting the mobile navigation drawer. (#2532) - Versioned documentation deploys now export the version being built, so the outdated-version banner reaches readers of the `develop` tree; the workflow also now backs up the pre-rewrite `gh-pages` tip to a timestamped branch before committing over it. Applies to future builds going forward. (#2533) - The canonical-backfill workflow now _[Truncated at 4000 characters — full notes: https://github.com/roboflow/supervision/releases/tag/0.30.2]_