v1.1.1
roboflow/inferencev1.1.1Mar 13, 2026by PawelPeczek-Roboflow
AI Summary
Updates the Execution Engine to v1.8.0, adding control flow lineage and fixing a nested batch filtering issue.
Key Highlights
- Execution Engine v1.8.0 with control flow lineage
- Loosened compatibility check for control flow steps
- Fix for `Batch.remove_by_indices` nested batch behavior
Breaking Changes
- `Batch.remove_by_indices` nested batch fix: nested Batch elements are now recursively filtered by the same index set
New Features
- Control flow lineage
- Batch.remove_by_indices recursive filtering
Full Release Notes
# 🚀 Added ## 🌀 Execution Engine `v1.8.0` Steps gated by control flow (e.g. after a `ContinueIf` block) can now run even when they have **no data-derived lineage** — meaning they don't receive batch-oriented inputs from upstream steps. Lineage and execution dimensionality are now derived from control flow predecessor steps. Existing workflows are unaffected. * 🔀 **Control flow lineage** — The compiler now tracks lineage coming from control flow steps (e.g. branches after `ContinueIf`). When a step has no batch-oriented data inputs but is preceded by control flow steps, its execution slices and batch structure are taken from those control flow predecessors. * 🔓 **Loosened compatibility check** — Previously, steps with control flow predecessors but no data-derived lineage would fail at compile time with `ControlFlowDefinitionError`. That check is now relaxed: lineage is derived from control flow predecessors when no input data lineage exists. The strict check still runs when the step *does* have data-derived lineage. * ✨ **New step patterns** — Steps triggered only by control flow that don't consume batch data now compile and run correctly. For example, you can send email notifications or run other side-effect steps after a `ContinueIf` without wiring any data into parameters like `message_parameters` — the step will execute once per control flow branch. * 🐛 **`Batch.remove_by_indices` nested batch fix (breaking)** — When removing indices via `Batch.remove_by_indices`, nested `Batch` elements are now recursively filtered by the same index set. Previously, only the top-level batch was filtered while nested batches were left unchanged, which could cause downstream blocks to silently process `None` values or fail outright. Please review our [change log 🥼](https://inference.roboflow.com/workflows/execution_engine_changelog/) which outlines all introduced changes. **PR:** [#2106](https://github.com/roboflow/inference/pull/2106) by [@dkosowski87](https://github.com/dkosowski87) > [!WARNING] > One breaking change is included due to a bug fix in `Batch.remove_by_indices` with nested batches (see below) — impact is expected to be minimal. ## 🚧 Maintenance * fix version for exe/dmg download by @Erol444 in https://github.com/roboflow/inference/pull/2104 * Qwen3.5 Block Safety by @Matvezy in https://github.com/roboflow/inference/pull/2111 * Fix ONNX batch size limit fast path for fixed-batch models by @grzegorz-roboflow in https://github.com/roboflow/inference/pull/2112 * Redirect versionless models auth and metadata to new model registry when `USE_INFERENCE_MODELS=True` by @PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/2105 * feat: expose stream/pipeline metrics via Prometheus /metrics endpoint by @alexnorell in https://github.com/roboflow/inference/pull/2097 * Fix aliases mixup between rfdetr-xlarge and rfdetr-2xlarge by @Erol444 in https://github.com/roboflow/inference/pull/2054 * metadata on upload to dataset block by @digaobarbosa in https://github.com/roboflow/inference/pull/2064 * Qwen3 5 docs by @Erol444 in https://github.com/roboflow/inference/pull/2114 * Update execution engine version in tests to 1.8.0 by @dkosowski87 in https://github.com/roboflow/inference/pull/2115 **Full Changelog**: https://github.com/roboflow/inference/compare/v1.1.0...v1.1.1