v1.3.0
π Added
π¦Ύ RF-DETR Keypoints β pose estimation joins the RF-DETR family
The big one this release: thanks to @sergii-bond, RF-DETR now supports keypoint detection alongside the existing detection head β a single model architecture across detection and pose. Thanks to the contribution (#2401, #2416) you can pull a fine-tuned RF-DETR keypoints model and run it through the standard inference + workflows path with no extra plumbing.
𧬠YOLO26 Semantic Segmentation β fine-tuned models + binary head
Following YOLO26's earlier landing, @leeclemnet rounded out the segmentation story this release: fine-tuned YOLO26 sem-seg models are now first-class in inference (#2407, #2419).
π₯ New Workflows blocks
| Block | Type Slug | What it does |
|---|---|---|
| current_time/v1.py | roboflow_core/current_time@v1 |
Inject the current wall-clock time into the workflow graph as a typed step output |
| Vision Events (local mode) | enterprise | Run the Vision Events block in an in-process event-store mode instead of round-tripping through Roboflow infra |
roboflow_core/current_time@v1β by @patricknihranz in #2410. Drop it before any block that needs a timestamp (audit trails, time-windowed aggregations, freshness gates) without writing a custom block.- Vision Events block β local event-store mode (ENT-1192) β by @rvirani1 in #2402. Useful for on-prem and isolated-network deployments where the central event sink isn't reachable.
π§° Workflow block improvements
A theme this release: a handful of existing blocks gained selector inputs so you can drive their parameters from upstream step outputs instead of hard-coding at the block level.
- GLM-OCR β accepts a selector for
task_type(@nathan-marraccini, #2409). Switch OCR mode dynamically based on prior workflow signals. - Qwen3.5-VL β accepts selectors for
promptandsystem_prompt(@nathan-marraccini, #2408). Compose prompts from prior steps without an intermediate Python block. - NumberInRange operator is now exposed in the Workflow Builder UI (@patricknihranz, #2229) β previously only reachable by hand-editing the YAML.
π Other additions
- Gemini 2.5 native object-detection format is now parsed by
vlm_as_detector, so you can route Gemini 2.5 outputs through the same downstream blocks as any other detector (@dkosowski87, #2400). - Volume support added by @nkuneman in #2413 β see the PR for the mount conventions.
roboflow/inference-server-experimentalimage published (@grzegorz-roboflow, #2406) β an opt-in track for early bits before they hit the main image.
π Security β please review your deployment
This release ships security enhancements for local deployments (#2417 by @PawelPeczek-Roboflow) and, alongside it, a new dedicated documentation page that walks through how to harden a self-hosted Inference server:
π inference.roboflow.com/install/security
Important
If you run Inference outside of localhost β in a container, on a shared host, on a private network, or anywhere reachable beyond a single developer machine β please take a few minutes to read the new guide. You own the security posture of your deployment. A default-configured server is adjusted to work in development-friendly mode and should not be deployed as is in production grade environments, due to exposing unauthenticated endpoints and ability to run Custom Python Blocks in Workflows Execution Engine.
The guide covers, in short:
- Restrict network access β bind to localhost, keep on a private network, or place behind a firewall. Never expose the inference port directly to the public internet without authentication and TLS.
- Enforce authentication β use
WORKSPACES_WHITELISTED_FOR_LOCAL_DEPLOYMENTto require valid API keys, or place your own auth layer (OAuth, mTLS) in front. - Enable TLS β terminate HTTPS at a reverse proxy or set
ENABLE_HTTPS=trueon the server itself. - Disable custom Python execution β set
ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS=falseunless you specifically need it.
If you have a public-facing or multi-tenant deployment, these are not optional. The new docs page is the canonical reference going forward.
π§ Fixed
- Core models β forward
countinference/service_secretwhen downloading weights by @iurisilvio in #2398 β keeps usage attribution and gated-weights flows working when models are pulled at runtime. - Batch processing fix by @digaobarbosa in #2411.
- Workflows / Data Aggregator β corrected
values_differenceaggregation by @madhavcodez in #2388. First-time contribution β thank you! - Graceful fallback on ephemeral cache failure by @dkosowski87 in #2387 β the cache layer no longer takes the whole request down when its store is unavailable.
- Server-side TTL on model-monitoring zset writes by @bigbitbus in #2390 β model-monitoring entries now expire on the cache server even if a client never cleans up.
π§ Maintenance
- Bump
inferenceto 1.2.13 by @dkosowski87 in #2396. - Update dependencies to fix main by @PawelPeczek-Roboflow in #2415.
- CI: concurrency cancellation on PR-triggered test workflows by @bigbitbus in #2392 β newer pushes to a PR cancel stale CI runs.
- Updated runtime-compatibility docs by @rafel-roboflow in #2391.
- Docs build sets
LOAD_ENTERPRISE_BLOCKS=TRUEby @rvirani1 in #2386 β enterprise blocks now show up in the rendered docs.
π New contributors
A warm welcome to two first-time contributors landing in this release:
- @nkuneman β Volume support (#2413)
- @madhavcodez β
values_differenceaggregation fix in Data Aggregator (#2388)
Full Changelog: v1.2.13...v1.3.0