Releases: CalvinSturm/rave
Releases · CalvinSturm/rave
v0.4.0
v0.4.0
This release resets and clarifies the public rave-* crate boundaries for crates.io
and improves publishability, docs.rs compatibility, and CI reliability.
Highlights
- Clarified crate responsibilities across the workspace
- Added
rave-runtime-nvidiaas the concrete NVIDIA runtime composition crate - Kept
rave-pipelinefocused on orchestration and graph/runtime contracts - Removed app-specific functionality from published core crates
- Improved crates.io packaging hygiene and docs.rs compatibility
- Hardened CI for cross-platform build portability (Linux/OpenSSL/pkg-config/FFmpeg env
handling)
New Crate
rave-runtime-nvidia
Concrete runtime composition layer for the default NVIDIA stack:
rave-cuda(CUDA kernels / stream helpers)rave-tensorrt(TensorRT inference backend)rave-ffmpeg(container probe/demux/mux)rave-nvcodec(NVDEC/NVENC)
Exports runtime setup and wiring helpers such as:
- runtime preparation
- input resolution/probing
- decoder creation
- encoder creation
Crate Boundary / API Cleanup
rave-pipeline
- Refocused on orchestration and graph/runtime contracts
- Backend-heavy paths are feature-gated
- Temporary compatibility runtime shim removed to avoid crates.io publish dependency
cycles
rave-core
- Backend-specific ORT error conversion is now feature-gated (
ort-errors) - Dependency/API surface tightened for publishability
rave-cuda
- Removed non-core exports from public API surface
sysmodule is no longer public
docs.rs / Build Portability Improvements
Added docs.rs-safe no-default/stub build paths for native integration crates:
rave-ffmpegrave-tensorrtrave-nvcodecrave-runtime-nvidiarave-pipeline
This improves documentation builds and CI behavior in environments without full native
toolchains.
Publishing / CI Improvements
- Added per-crate
includelists for cleaner crates.io packages - Added CI checks for:
- package file listing
- docs.rs-style compatibility checks
- tag-triggered publish dry-run validation
- Marked
rave-clias non-publish (publish = false) - Fixed Linux CI environment issues involving:
- OpenSSL build dependencies
pkg-configresolution- Windows-local
.cargo/config.tomloverrides leaking into Linux builds
- Adjusted CI clippy configuration to avoid failing on non-blocking rustc warning lints
and MSRV compatibility lint noise
Breaking Changes
- Public crate boundaries and feature layout were reworked for cleaner separation
rave-pipelineno longer provides the temporaryruntimecompatibility shim- Use
rave-runtime-nvidiadirectly for concrete runtime composition helpers
- Use
Notes for Users
- Use
rave-pipelinefor generic orchestration and graph contracts - Use
rave-runtime-nvidiaalongsiderave-pipelinefor the default NVIDIA runtime
stack rave-cliremains a workspace application and is not published to crates.io
RAVE v0.2.1 - Strict Policy Hardening & Loader Reliability
RAVE v0.2.1
Highlights
This patch release hardens strict-mode guarantees, improves loader reliability on Linux/WSL, and stabilizes non-GPU CI behavior while preserving existing runtime behavior for normal profiles.
What Changed
Strict policy and validation hardening
- Centralized strict profile wiring so
production_strictbehavior is consistent across command paths. - Added policy snapshot output for
upscale,benchmark, andvalidate(additive JSON fields only). - Enforced determinism policy in strict mode: required hash paths now fail clearly when unavailable.
- Enforced strict no-host-copies capability: strict mode fails fast if host-copy auditing is disabled/unavailable.
No-host-copies and pipeline boundary auditing
- Added stage-level no-host-copies sentinel checks across decode/preprocess/inference/encode boundaries.
- Added stable audit status/reason reporting in validation output.
Config guardrails
- Added shared batch-config validation and fail-fast behavior for unsupported micro-batching.
max_batch > 1is now rejected with actionable messaging until micro-batching is implemented.
Linux/WSL loader robustness
- Included
validatein Linux ORT loader re-exec gating. - Centralized re-exec gate logic with unit tests.
- Refactored ORT provider directory resolution into testable logic with improved diagnostics.
Link/load stability for non-GPU builders
- Removed hard CUDA link-time assumptions in CLI/core/cuda paths by runtime-loading CUDA driver symbols where needed.
- Added CI-safe strict validation path on non-GPU runners using mock mode.
FFmpeg state-machine hardening
- Added deterministic permutation/property tests for BSF EAGAIN/EOF/flush-drain handling.
- Fixed clippy issues in new permutation tests.
Dependency and process hygiene
- Tightened crate boundary policy (
check_deps) by removing unused allowed edges. - Added unsafe-boundary audit checklist and opt-in sanitizer workflow.
- Restored executable bits for docs/deps check scripts used in CI.
CI/Tooling updates
- Ubuntu CI now installs required FFmpeg development packages.
- Strict validate fixture runs with
audit-no-host-copiesenabled. - Added publishing helper script and release wiring for crate version
0.2.1.
Published crates (0.2.1)
- rave-core
- rave-cuda
- rave-ffmpeg
- rave-nvcodec
- rave-tensorrt
- rave-pipeline
- rave-cli
Notes
production_strictis intentionally stricter and may fail where earlier builds tolerated degraded paths.- Non-strict/default profile behavior remains unchanged.