Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
".": "0.19.2",
".": "0.20.0",
"packages/streamlib-moq": "0.1.6",
"packages/streamlib-webrtc": "0.1.1"
}
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## [0.20.0](https://github.com/tatolab/streamlib/compare/v0.19.2...v0.20.0) (2026-09-11)


### ⚠ BREAKING CHANGES

* **engine:** `ProcessorDescriptor::config_schema` and `with_config_schema` take a JSON Schema document rather than a name; the `#[processor(config_schema = "…")]` attribute key and the `ConfigDescriptor` derive are deleted; a processor declaring no config refuses a configuration instead of discarding it.

### Features

* **engine:** the descriptor carries the config type's derived JSON Schema ([#2224](https://github.com/tatolab/streamlib/issues/2224)) ([51fafdd](https://github.com/tatolab/streamlib/commit/51fafdd65307720a8d490daa36fad8674aea46e5))

## [0.19.2](https://github.com/tatolab/streamlib/compare/v0.19.1...v0.19.2) (2026-09-08)


Expand Down
36 changes: 18 additions & 18 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ members = [
]

[workspace.package]
version = "0.19.2"
version = "0.20.0"
edition = "2024"
rust-version = "1.88"
authors = ["Jonathan Fontanez <fontanezj1@gmail.com>"]
Expand Down
6 changes: 3 additions & 3 deletions adapters/streamlib-adapter-cpu-readback/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ name = "streamlib_adapter_cpu_readback"
path = "src/lib.rs"

[dependencies]
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.19.2" }
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.20.0" }
thiserror.workspace = true
tracing.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.19.2" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.20.0" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.20.0" }
vulkanalia.workspace = true
libc.workspace = true
serde = { workspace = true }
Expand Down
6 changes: 3 additions & 3 deletions adapters/streamlib-adapter-cuda/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ cuda = ["dep:cudarc"]
# spec's `#[repr(C)]` types, and off-Linux consumers (the wheel's CPU
# capsule path) need exactly it.
dlpark.workspace = true
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.19.2" }
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.20.0" }
thiserror.workspace = true
tracing.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.19.2" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.20.0" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.20.0" }
vulkanalia.workspace = true
libc.workspace = true
cudarc = { workspace = true, optional = true }
Expand Down
6 changes: 3 additions & 3 deletions adapters/streamlib-adapter-opengl/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ name = "streamlib_adapter_opengl"
path = "src/lib.rs"

[dependencies]
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.19.2" }
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.20.0" }
parking_lot = "0.12"
thiserror.workspace = true
tracing.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.19.2" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.20.0" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.20.0" }
khronos-egl = { version = "6.0", features = ["dynamic"] }
gl = "0.14"
libc.workspace = true
Expand Down
10 changes: 5 additions & 5 deletions adapters/streamlib-adapter-skia/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ name = "streamlib_adapter_skia"
path = "src/lib.rs"

[dependencies]
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.19.2" }
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.20.0" }
thiserror.workspace = true
tracing.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
streamlib-adapter-vulkan = { path = "../streamlib-adapter-vulkan", version = "0.19.2" }
streamlib-adapter-opengl = { path = "../streamlib-adapter-opengl", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.19.2" }
streamlib-adapter-vulkan = { path = "../streamlib-adapter-vulkan", version = "0.20.0" }
streamlib-adapter-opengl = { path = "../streamlib-adapter-opengl", version = "0.20.0" }
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.20.0" }
vulkanalia.workspace = true
skia-safe = { workspace = true }
# vkGetInstanceProcAddr lives on vulkanalia's private StaticCommands;
Expand All @@ -36,7 +36,7 @@ libloading = "0.8"
# live under regular `[dependencies]` rather than `[dev-dependencies]`
# because Cargo's `[[bin]]` targets don't see dev-deps. Same shape as
# `streamlib-adapter-opengl/Cargo.toml`.
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.19.2" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.20.0" }
serde = { workspace = true }
serde_json.workspace = true
libc.workspace = true
Expand Down
6 changes: 3 additions & 3 deletions adapters/streamlib-adapter-vulkan/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ name = "streamlib_adapter_vulkan"
path = "src/lib.rs"

[dependencies]
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.19.2" }
streamlib-surface-adapter = { path = "../streamlib-surface-adapter", version = "0.20.0" }
thiserror.workspace = true
tracing.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.19.2" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../../runtime/streamlib-consumer-rhi", version = "0.20.0" }
streamlib-surface-client = { path = "../../runtime/streamlib-surface-client", version = "0.20.0" }
vulkanalia.workspace = true
libc.workspace = true
serde = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions packages/test-fixtures/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ crate-type = ["rlib"]

[dependencies]
# Engine substrate — runtime context and processor traits.
streamlib = { path = "../../sdk/streamlib-sdk", version = "0.19.2" }
streamlib = { path = "../../sdk/streamlib-sdk", version = "0.20.0" }

# Procedural macros — `#[streamlib::sdk::processor("...")]` reads the
# crate's own `streamlib.yaml` at `CARGO_MANIFEST_DIR`.
streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.19.2" }
streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.20.0" }


# Serialization (config dataclass ships as serde-derived).
Expand Down
6 changes: 3 additions & 3 deletions runtime/streamlib-api-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ name = "generate_openapi"
path = "src/bin/generate_openapi.rs"

[dependencies]
streamlib = { path = "../../sdk/streamlib-sdk", version = "0.19.2" }
streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.19.2" }
streamlib = { path = "../../sdk/streamlib-sdk", version = "0.20.0" }
streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.20.0" }

tower-http = { version = "0.6", features = ["trace"] }
futures-util = "0.3"
Expand Down Expand Up @@ -58,7 +58,7 @@ percent-encoding = "2.3"
# Enables the engine's `test-support` in-memory `TapSubscription` constructor
# for the MCP/REST tap-tool tests. A dev-dep feature: active for tests, absent
# from the production `cargo build` dependency graph.
streamlib = { path = "../../sdk/streamlib-sdk", version = "0.19.2", features = ["test-support"] }
streamlib = { path = "../../sdk/streamlib-sdk", version = "0.20.0", features = ["test-support"] }
tempfile = "3"
tower = {version = "0.5", features = ["util"]}
serial_test = "3.2"
Expand Down
2 changes: 1 addition & 1 deletion runtime/streamlib-consumer-rhi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ thiserror.workspace = true
tracing.workspace = true

[target.'cfg(target_os = "linux")'.dependencies]
streamlib-surface-client = { path = "../streamlib-surface-client", version = "0.19.2" }
streamlib-surface-client = { path = "../streamlib-surface-client", version = "0.20.0" }
vulkanalia.workspace = true
libc.workspace = true

Expand Down
16 changes: 8 additions & 8 deletions runtime/streamlib-engine/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ clear_bitstream_buffers_on_create = []

[dependencies]
# Processor schema types (shared with macros for code generation)
streamlib-processor-schema = { path = "../../sdk/streamlib-processor-schema", version = "0.19.2", features = ["utoipa"] }
streamlib-processor-schema = { path = "../../sdk/streamlib-processor-schema", version = "0.20.0", features = ["utoipa"] }

# Canonical Error / Result / PortDirection, shared with the plugin-SDK so
# plugin cdylibs author against them without linking the engine. The engine
# re-exports them at `core::error`.
streamlib-error = { path = "../../sdk/streamlib-error", version = "0.19.2" }
streamlib-error = { path = "../../sdk/streamlib-error", version = "0.20.0" }

# Procedural macros
streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.19.2" }
streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.20.0" }

# Plugin ABI wire-protocol header. Dep direction reversed in #877:
# streamlib-plugin-abi no longer depends on streamlib (the SDK), so the
Expand All @@ -62,15 +62,15 @@ streamlib-macros = { path = "../../sdk/streamlib-macros", version = "0.19.2" }
# `STREAMLIB_ABI_VERSION` from this crate directly.

# Shared iceoryx2 payload types (for cross-process IPC)
streamlib-ipc-types = { path = "../streamlib-ipc-types", version = "0.19.2" }
streamlib-ipc-types = { path = "../streamlib-ipc-types", version = "0.20.0" }

# Consumer-side carve-out — owns the format primitives
# (TextureFormat / TextureUsages / PixelFormat), the trait machinery
# (VulkanRhiDevice, DevicePrivilege, *Like, ConsumerMarker), the
# Consumer* RHI types (Linux), and a slim ConsumerRhiError. streamlib
# re-exports the primitives so existing in-tree call sites (e.g.
# `crate::core::rhi::TextureFormat`) keep working unchanged.
streamlib-consumer-rhi = { path = "../streamlib-consumer-rhi", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../streamlib-consumer-rhi", version = "0.20.0" }

# Core dependencies (always included)
thiserror.workspace = true
Expand Down Expand Up @@ -159,7 +159,7 @@ raw-window-handle = "0.6" # Raw window handle types for Vulkan surface creation
# privileged syscall on the requesting thread's behalf.
zbus = "5"
# Wire-format helpers for the per-runtime surface-sharing socket
streamlib-surface-client = { path = "../streamlib-surface-client", version = "0.19.2" }
streamlib-surface-client = { path = "../streamlib-surface-client", version = "0.20.0" }
# The extern "C" panic net (run_host_extern_c) every host_services callback
# routes through.
# Consumer-side carve-out — defines the trait machinery
Expand All @@ -168,7 +168,7 @@ streamlib-surface-client = { path = "../streamlib-surface-client", version = "0.
# host side. streamlib re-exports for in-tree consumers; subprocess
# cdylibs depend on it directly so the FullAccess capability boundary
# is enforced by the type system.
streamlib-consumer-rhi = { path = "../streamlib-consumer-rhi", version = "0.19.2" }
streamlib-consumer-rhi = { path = "../streamlib-consumer-rhi", version = "0.20.0" }

[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.9"
Expand Down Expand Up @@ -203,7 +203,7 @@ trybuild = "1.0.121"
# `testing::SubprocessCrashHarness` — drives a real subprocess crash against
# the surface-share service. Tests only: the engine's library code carries no
# surface-adapter types.
streamlib-surface-adapter = { path = "../../adapters/streamlib-surface-adapter", version = "0.19.2" }
streamlib-surface-adapter = { path = "../../adapters/streamlib-surface-adapter", version = "0.20.0" }

[[bench]]
name = "logging"
Expand Down
Loading