Skip to content

Releases: openjobspec/ojs-rust-sdk

v0.4.1

24 Apr 00:11

Choose a tag to compare

  • fix(recorder): implement real UTC timestamps without chrono dependency

v0.4.0

20 Apr 17:26

Choose a tag to compare

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
  • Transport trait 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

09 Mar 20:16

Choose a tag to compare

v0.3.0

See the full release notes for details across all Open Job Spec projects.

Installation

cargo add openjobspec@0.3.0

ojs-rust-sdk v0.2.0

28 Feb 15:29

Choose a tag to compare

  • 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

23 Feb 09:49

Choose a tag to compare

ojs (Rust) v0.1.0

The official Rust SDK for Open Job Spec.

Features

  • Async-first — Built on tokio for high-performance async I/O
  • Type-safe — Strong typing with serde serialization/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)