diff --git a/docs/workflows/workload_introspection.md b/docs/workflows/workload_introspection.md index d21cde4e52..f4a8d62ca1 100644 --- a/docs/workflows/workload_introspection.md +++ b/docs/workflows/workload_introspection.md @@ -573,7 +573,7 @@ The complete response below shows the result with `USE_INFERENCE_MODELS=False` o ```json { "type": "workflow_introspection_v1", - "execution_engine_version": "1.16.1", + "execution_engine_version": "1.17.0", "nodes": [ {"type": "graph_node_v1", "id": "$inputs.image", "kind": "input"}, {"type": "graph_node_v1", "id": "$steps.detection", "kind": "step"}, diff --git a/inference_model_manager/pyproject.toml b/inference_model_manager/pyproject.toml index 9d6e4fa289..e792a44124 100644 --- a/inference_model_manager/pyproject.toml +++ b/inference_model_manager/pyproject.toml @@ -5,7 +5,7 @@ description = "Model lifecycle management: load, unload, evict, and dispatch inf readme = "README.md" requires-python = ">=3.10,<3.14" dependencies = [ - "inference-models>=0.39.5rc2,<1.0", + "inference-models>=0.39.5,<1.0", "numpy", "imagecodecs", "filelock", diff --git a/inference_server/pyproject.toml b/inference_server/pyproject.toml index c3bbe9b884..d00031ad83 100644 --- a/inference_server/pyproject.toml +++ b/inference_server/pyproject.toml @@ -32,9 +32,9 @@ onnx-cu118 = ["inference-model-manager[onnx-cu118]"] onnx-cu12 = ["inference-model-manager[onnx-cu12]"] onnx-jp6-cu126 = ["inference-model-manager[onnx-jp6-cu126]"] trt10-runtime = ["inference-model-manager[trt10-runtime]"] -workflows = ["roboflow-workflows>=0.2.11rc1"] -streams = ["streamvision[webrtc,workflows]>=0.1.2rc3"] -enterprise = ["roboflow-workflows[enterprise]>=0.2.11rc1"] +workflows = ["roboflow-workflows>=0.2.13"] +streams = ["streamvision[webrtc,workflows]>=0.1.3"] +enterprise = ["roboflow-workflows[enterprise]>=0.2.13"] redis = ["redis~=5.0.0"] otel = [ "opentelemetry-api~=1.41.1", diff --git a/requirements/requirements.streamvision.txt b/requirements/requirements.streamvision.txt index 13d15667b9..28bab143f8 100644 --- a/requirements/requirements.streamvision.txt +++ b/requirements/requirements.streamvision.txt @@ -1,2 +1,2 @@ # keep in sync with stream_vision/pyproject.toml version -streamvision[webrtc,workflows]==0.1.3rc1 +streamvision[webrtc,workflows]==0.1.3 diff --git a/requirements/requirements.workflows.txt b/requirements/requirements.workflows.txt index 6c28b2c037..b68270d471 100644 --- a/requirements/requirements.workflows.txt +++ b/requirements/requirements.workflows.txt @@ -1,2 +1,2 @@ # keep in sync with workflows/pyproject.toml version -roboflow-workflows[enterprise]==0.2.13rc1 +roboflow-workflows[enterprise]==0.2.13 diff --git a/stream_vision/CHANGELOG.md b/stream_vision/CHANGELOG.md index 373abe162a..cf52a39741 100644 --- a/stream_vision/CHANGELOG.md +++ b/stream_vision/CHANGELOG.md @@ -4,13 +4,17 @@ This is the canonical changelog for the `streamvision` package. ## Unreleased -## `0.1.3rc1` +## `0.1.3` ### Changed -- The `workflows` extra requires `roboflow-workflows>=0.2.13rc1` instead of +- The `workflows` extra requires `roboflow-workflows>=0.2.13` instead of `>=0.2.11rc1`, providing the execution-engine cleanup used below. +### Documentation + +- Clarify `max_fps` behavior: video files retain every frame and wait by default; streams drop intermediate frames. `ENABLE_FRAME_DROP_ON_VIDEO_FILE_RATE_LIMITING=True` enables frame dropping for files, and the Inference CLI sets this flag automatically. + ### Fixed - Joining a workflow `InferencePipeline` (after end of stream, `terminate()` or an inference error) now closes the workflow's blocks through `ExecutionEngine.close()`, after the workflow thread pools are shut down. Blocks with background connections, such as the OPC UA Reader, MQTT Reader and Kafka Consumer, no longer keep their threads and broker or server sessions while a stopped pipeline object is still referenced. With a `roboflow-workflows` that has no `ExecutionEngine.close()`, nothing changes. diff --git a/stream_vision/pyproject.toml b/stream_vision/pyproject.toml index c1c5748a34..772684263f 100644 --- a/stream_vision/pyproject.toml +++ b/stream_vision/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "streamvision" -version = "0.1.3rc1" +version = "0.1.3" description = "Video sources, InferencePipeline and the stream manager for Roboflow Inference" readme = "README.md" license = {file = "LICENSE"} @@ -23,7 +23,7 @@ webrtc = [ ] workflows = [ "aiohttp~=3.14.4", - "roboflow-workflows>=0.2.13rc1", + "roboflow-workflows>=0.2.13", "torch>=2.0.1,<3.0.0", ] nvdec = [ diff --git a/stream_vision/uv.lock b/stream_vision/uv.lock index 56f7b3d0c5..7721c3d861 100644 --- a/stream_vision/uv.lock +++ b/stream_vision/uv.lock @@ -4065,7 +4065,7 @@ wheels = [ [[package]] name = "roboflow-workflows" -version = "0.2.13rc1" +version = "0.2.13" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -4111,9 +4111,9 @@ dependencies = [ { name = "zxing-cpp", version = "2.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, { name = "zxing-cpp", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/59/45/c446eadcbbb70eedf4ab8ace40196348fa623cfc0364e50b9c59d154b1a0/roboflow_workflows-0.2.13rc1.tar.gz", hash = "sha256:e6e91d9a72ca41cf29cc9c4c0f375d65d88303f3999727a92a952253ac0ff568", size = 5423456, upload-time = "2026-10-23T13:30:40.264Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/e2/32e2dd9c61e6e3e6ee83208ca4edb2a2ea02938d9de672a70ce298f128cf/roboflow_workflows-0.2.13.tar.gz", hash = "sha256:85df22f37c93c8a567b3c92fe9b9dbe17177ed6feace90cc90677cbacd367e2b", size = 5422109, upload-time = "2026-10-23T18:11:42.115Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/68/cc8b328b0b2d950d80aec10a77a0b84b3eb01f07c4231f9ae4f23de7a2d2/roboflow_workflows-0.2.13rc1-py3-none-any.whl", hash = "sha256:2f2fbfcef41aa15fd8c0c897f01baa5990360dc69ebfe0897689e7d40017159e", size = 6528241, upload-time = "2026-10-23T13:30:38.391Z" }, + { url = "https://files.pythonhosted.org/packages/d0/73/fcfb5cf47747e6d6c0f03c65672767aabb126765b3d07217545fd21d4ea8/roboflow_workflows-0.2.13-py3-none-any.whl", hash = "sha256:fd586137973afb3163ac3afd0ae1208110f96cc93390c545c997313ee86066ba", size = 6528205, upload-time = "2026-10-23T18:11:40.011Z" }, ] [[package]] @@ -4518,7 +4518,7 @@ wheels = [ [[package]] name = "streamvision" -version = "0.1.3rc1" +version = "0.1.3" source = { editable = "." } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, @@ -4571,7 +4571,7 @@ requires-dist = [ { name = "pytest-timeout", marker = "extra == 'test'", specifier = ">=2.2.0" }, { name = "requests", marker = "extra == 'webrtc'", specifier = ">=2.33.0,<3.0.0" }, { name = "requests-mock", marker = "extra == 'test'", specifier = "~=1.12.1" }, - { name = "roboflow-workflows", marker = "extra == 'workflows'", specifier = ">=0.2.13rc1" }, + { name = "roboflow-workflows", marker = "extra == 'workflows'", specifier = ">=0.2.13" }, { name = "supervision", specifier = ">=0.30.6,<0.31.0" }, { name = "tomli", marker = "python_full_version < '3.11' and extra == 'test'", specifier = ">=2.0.0" }, { name = "torch", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvdec') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvdec')", specifier = ">=2.0.1,<3.0.0" }, diff --git a/workflows/CHANGELOG.md b/workflows/CHANGELOG.md index 2224bca4d0..7303f3418d 100644 --- a/workflows/CHANGELOG.md +++ b/workflows/CHANGELOG.md @@ -16,6 +16,10 @@ for contributor and maintainer responsibilities. ## Unreleased +## `0.2.13` + +Bundled execution engine: `1.17.0`. + ### Changed - Require the stable `inference-models>=0.39.5` and `inference-sdk>=1.8.1` diff --git a/workflows/pyproject.toml b/workflows/pyproject.toml index 445ff73047..6a5d2f2c18 100644 --- a/workflows/pyproject.toml +++ b/workflows/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "roboflow-workflows" -version = "0.2.13rc1" +version = "0.2.13" description = "Roboflow Workflows execution engine and block library" readme = "README.md" license = {file = "LICENSE"} diff --git a/workflows/uv.lock b/workflows/uv.lock index 26d1ade3e7..9dd02cb5d9 100644 --- a/workflows/uv.lock +++ b/workflows/uv.lock @@ -4077,7 +4077,7 @@ wheels = [ [[package]] name = "roboflow-workflows" -version = "0.2.13rc1" +version = "0.2.13" source = { editable = "." } dependencies = [ { name = "aiohttp" },