Releases: openjobspec/ojs-rust-sdk
Releases · openjobspec/ojs-rust-sdk
v0.4.1
v0.4.0
Added
- Client with builder pattern for enqueuing, cancelling, and retrieving jobs
- Batch enqueue support for atomic multi-job submission
- Worker with concurrent job processing and graceful shutdown
- Tower-inspired async middleware chain (logging, tracing, metrics)
- Workflow primitives:
chain(sequential),group(parallel),batch(fan-out/fan-in) - Queue management: list, pause, resume, stats
- Dead letter job operations: list, retry, discard
- Cron job registration and management
- Health check and server manifest endpoints
- Retry policy configuration with backoff strategies
- Unique/deduplication job policies
- Custom HTTP headers and auth token support
Transporttrait abstraction for testability- URL encoding for path segments and query parameters
- Wiremock-based integration test suite
- GitHub Actions CI workflow (fmt, clippy, test, doc)
ojs-rust-sdk v0.3.0
v0.3.0
See the full release notes for details across all Open Job Spec projects.
Installation
cargo add openjobspec@0.3.0ojs-rust-sdk v0.2.0
- chore: bump version to 0.2.0
- refactor: simplify worker poll loop logic
- feat: add batch enqueue support
- perf: reduce allocation in job deserialization path
- test: add integration tests for batch enqueue operations
- refactor: simplify client builder pattern with defaults
- fix: resolve lifetime annotation in async worker trait
- feat: add tokio task metrics for worker pool monitoring
- fix: handle timeout in worker polling loop
- feat: add retry backoff configuration
- refactor: simplify worker polling loop
- chore: update serde dependency
- docs: update README with async examples
- feat: add custom deserializer for job args
What's Changed
See the full release notes: https://github.com/openjobspec/openjobspec/blob/main/RELEASE_NOTES_v0.2.0.md
v0.1.0 — Initial Rust SDK Release
ojs (Rust) v0.1.0
The official Rust SDK for Open Job Spec.
Features
- Async-first — Built on
tokiofor high-performance async I/O - Type-safe — Strong typing with
serdeserialization/deserialization - Typed handlers — Generic
register_typed::<T>()for compile-time arg safety - Middleware — Tower-inspired middleware chain for cross-cutting concerns (logging, tracing, metrics, OpenTelemetry)
- Workflows — Chain, Group, and Batch workflow primitives
- Builder pattern — Ergonomic client and worker configuration
- Full OJS compliance — Implements OJS v1.0 specification
Installation
[dependencies]
ojs = "0.1"
tokio = { version = "1", features = ["full"] }Requirements
- Rust 1.75+ (MSRV)