Skip to content

v1.2.8

Choose a tag to compare

@PawelPeczek-Roboflow PawelPeczek-Roboflow released this 13 May 16:15
· 90 commits to main since this release
9c90e4c

⚠️ Deprecated

🚫 Gaze (L2CS-Net / MediaPipe) detection

Gaze detection — the roboflow_core/gaze@v1 workflow block, the POST /gaze/gaze_detection HTTP route, and the InferenceHTTPClient.detect_gazes() / detect_gazes_async() SDK helpers — has been deprecated in this release. Calling any of these now raises a new FeatureDeprecatedError that surfaces as HTTP 410 Gone with error_type: "FeatureDeprecatedError".

The Gaze pipeline was built on top of MediaPipe, which has dropped support for parts of the hardware matrix Roboflow ships against (notably some Linux/aarch64 and Jetson configurations no longer have compatible wheels), and a transitive protobuf CVE2026-0994 meant we could no longer carry the dependency alongside the rest of the inference stack.

# Old (still loads, returns 410 at execute time):
from inference_sdk import InferenceHTTPClient
client = InferenceHTTPClient(api_url="...", api_key="...")
client.detect_gazes(inference_input="image.jpg")
# → raises inference_sdk.http.errors.FeatureDeprecatedError

Important

The last release supporting Gaze is v1.2.7. If you currently rely on Gaze detection locally — pin to inference==1.2.7 (or the matching Docker image tag) as a short-term bridge while you plan ahead, keeping in mind that vulnerability exists in the build.

Note

The POST /gaze/gaze_detection route remains registered as a 410-Gone stub through end of Q2 2026 so existing client integrations get a structured error rather than a 404. Set CORE_MODEL_GAZE_ENABLED=False to disable it immediately.

If Gaze is important to your workflow and you'd like to discuss bringing it back paired with a different face detector, reach out at support@roboflow.com — we're happy to chat.

PR: #2334


💪 Added

🖼️ Image Stack workflow block

A new Image Stack workflow block lets you accumulate frames across executions — useful for building temporal pipelines, sliding-window inference, or any flow that needs to reason over a buffer of recent images rather than a single frame.

PR: #2307

🤖 OpenAI-compatible LLM block for custom endpoints

A new workflow block that lets you point at any OpenAI-compatible HTTP endpoint — your own self-hosted vLLM/Ollama/LM Studio deployment, a private gateway, or a third-party provider that mirrors the OpenAI API. Combined with the extra_body follow-up, you can also pass provider-specific extensions (reasoning effort, sampling tweaks, custom routing flags) through to the upstream call.

PRs: #2309, #2313

🔐 Opt-in HTTPS for the inference server

The HTTP server now supports terminating TLS directly via SSL environment variables — no reverse proxy required for simple self-hosted setups. Off by default; opt in by setting the relevant SSL env vars.

PR: #2308


🔒 Security & Hardening

  • 🚫 Block legacy fine-tuned SAM3 loads — tighten the SAM3 model loading boundary so legacy fine-tuned artefacts that no longer match the supported package shape are rejected up front. #2278
  • 📦 OpenTelemetry stack bumped to 1.41.x / 0.62b1 to clear a transitive protobuf CVE and unlock alignment with the newer inference-models release. #2335
  • 🛡️ Additional security fixes across the stack. #2336

🚧 Maintenance


👋 New Contributors

Full Changelog: v1.2.7...v1.2.8