Skip to content

v1.3.0

Choose a tag to compare

@PawelPeczek-Roboflow PawelPeczek-Roboflow released this 05 Jun 18:48
· 24 commits to main since this release
815c4eb

πŸš€ 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).

image

πŸ”₯ 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 prompt and system_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-experimental image 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_DEPLOYMENT to 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=true on the server itself.
  • Disable custom Python execution β€” set ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS=false unless 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_secret when 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_difference aggregation 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

πŸ‘‹ New contributors

A warm welcome to two first-time contributors landing in this release:


Full Changelog: v1.2.13...v1.3.0