v1.2.0

alibaba/MNNv1.2.0Mar 27, 2026by PawelPeczek-Roboflow

AI Summary

A major release switching the default inference engine to `inference-models`, introducing new trackers, and adding GLM-OCR support to Workflows.

Key Highlights

  • Switched to `inference-models` as the default `inference` engine.
  • Added Roboflow trackers (ByteTrack, SORT, OC-SORT) to Workflows.
  • Added GLM-OCR model coverage to Workflows.
  • Added structured Event Write block to Enterprise plugins.

Breaking Changes

  • Switched default inference engine to `inference-models` (opt-out available via `USE_INFERENCE_MODELS=False`)
  • Updated recommended installation flow for `inference-gpu` (requires CUDA toolkit)
  • Cache management behavior changed (requires Cache Watchdog configuration)

New Features

  • Default inference-models engine
  • ByteTrack, SORT, and OC-SORT trackers
  • GLM-OCR support
  • Structured Event Write block
  • Community plugins documentation page
  • In-process LRU cache for metadata

Full Release Notes

# 🚀 Added

## 🚗 Switched to `inference-models` as default `inference` engine

As announced at the beginning of the `1.x.y` release series, we've been working to make `inference-models` the default engine — and it's now live. The old inference backend remains available in **opt-out** mode.

Along with this change (and related updates to `torch` handling), we've updated the recommended installation flow for the `inference-gpu` Python package. Install `torch` and `torchvision` first — selecting the variant and CUDA index that matches your environment — then install `inference-gpu`:
```bash
pip install --index-url https://download.pytorch.org/whl/cu128 torch torchvision  # adjust CUDA version as needed
pip install inference-gpu
```

Additionally, since `inference-models` depends on `pycuda`, you'll need CUDA installed with the development toolkit (including headers required to build `pycuda`). Follow the appropriate installation guide for your platform:

- [Linux CUDA Installation Guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/)
- [Windows CUDA Installation Guide](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/)

> [!TIP]
> To continue using the old `inference` backend, set the environment variable `USE_INFERENCE_MODELS=False`.

> [!IMPORTANT]
> `inference-models` manages its cache differently from the old backend. To enable automatic model eviction in long-running containers, activate the **Cache Watchdog** — it monitors disk usage and removes files when storage exceeds the configured threshold.
>
> Set `MAX_INFERENCE_MODELS_CACHE_SIZE_MB` to enable it. You can also control how often it runs with `INFERENCE_MODELS_CACHE_WATCHDOG_INTERVAL_MINUTES`. We recommend enabling this only if there's a risk of running out of disk space on your server.

## 🛤️ `trackers` 🤝 Workflows
The new Roboflow open-source library - [trackers](https://github.com/roboflow/trackers) just got onboarded to workflows.

Thanks to @leeclemnet (https://github.com/roboflow/inference/pull/2130) we have three new blocks:

New Block | Type Slug | Algorithm
-- | -- | --
bytetrack/v1.py | roboflow_core/trackers_bytetrack@v1 | ByteTrack
sort/v1.py | roboflow_core/trackers_sort@v1 | SORT
ocsort/v1.py | roboflow_core/trackers_ocsort@v1 | OC-SORT


<img width="1618" height="1232" alt="trackers" src="https://github.com/user-attachments/assets/dc3eeaad-c60f-4f11-82a2-434617765fbf" />

## 🔥 New Workflows blocks

* GLM-OCR model now has Workflows coverage - after adding the model to `inference-models` last week, @Erol444 this week made a contribution to Workflows 💪 
* @jeku46 in https://github.com/roboflow/inference/pull/2171 added structured Event Write block to the pool of Enterprise plugins

## Workflows Community plugins

Check out our new documentation page - with [Workflows Community plugins](https://inference.roboflow.com/workflows/community_plugins) highlighting community work around Workflows ecosystem.

<div align="center">
<img width="70%" alt="image" src="https://github.com/user-attachments/assets/3ed9e0ef-6d17-42ad-a29f-c0bfb3d86004" />
</div>


# 🔧 Fixed
* Add in-process LRU cache for model metadata lookups by @hansent in https://github.com/roboflow/inference/pull/2142
* Pin OTel packages to fix CPU Docker build resolution by @hansent in https://github.com/roboflow/inference/pull/2146
* Fix CI by letting tests regarding inference-gpu installation to run on machine which actually have required system libraries by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2147
* Add ability to restrict max input resolution for rfdetr model by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2145
* Fix/ci after switch to inference models by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2149
* [CS-146] Fix issue with multi-label classification adapter returning wrong values by @dkosowski87 in https://github.com/roboflow/inference/pull/2157
* Fix issue with non-exsiting test asset image by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2168
* Fix/clean webrtc worker shutdown on arm by @grzegorz-roboflow in https://github.com/roboflow/inference/pull/2169
* Fix keypoints stored as object-dtype arrays breaking supervision indexing by @grzegorz-roboflow in https://github.com/roboflow/inference/pull/2170
* Add orjson serialization to outputs by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2165
* Add change making Roboflow Weights Provider (in inference-models) to respect license server proxy by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2172


# 🚧 Maintenance
* Add OpenTelemetry tracing and metrics by @hansent in https://github.com/roboflow/inference/pull/2141
* Add change to make inference-models default backend by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2144
* Add special handling for local API key by @yeldarby in https://github.com/roboflow/inference/pull/2153
* Bump inference-models version and clarify docs regarding installation by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2162
* Add community plugins page by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2163
* Cut a release by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2175
* Move batch processing docs to docs.roboflow.com by @Erol444 in https://github.com/roboflow/inference/pull/2167
* Allow keypoints in velocity block by @grzegorz-roboflow in https://github.com/roboflow/inference/pull/2155
* Add detailed OTel inference sub-spans and X-Trace-Id response header by @hansent in https://github.com/roboflow/inference/pull/2148
* Do not send usage from modal only when webrtc connection could not have been established by @grzegorz-roboflow in https://github.com/roboflow/inference/pull/2173
* Add change to add job name to batch processing jobs by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2143

**Full Changelog**: https://github.com/roboflow/inference/compare/v1.1.2...v1.2.0