Releases: openjobspec/spec
Releases · openjobspec/spec
v0.4.0
spec v0.3.0
v0.3.0
See the full release notes for details across all Open Job Spec projects.
Installation
See repository README for installation instructions.
spec v0.2.0
- docs: clarify MUST requirements for state transitions
- docs: add sequence diagrams for job lifecycle
- docs: clarify MUST requirements for job ID generation
- refactor: reorganize extension specification sections
- docs: clarify MUST requirements for state transitions
- docs: add rationale for UUIDv7 job ID requirement
- style: normalize RFC 2119 keyword usage
- docs: update wire format examples for batch operations
- docs: add rationale for UUIDv7 job ID requirement
- docs: add workflow state diagram
- docs: clarify retry backoff algorithm specification
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 Specification Release
Open Job Spec v0.1.0
The first release of the Open Job Spec (OJS) — a universal, language-agnostic standard for background job processing.
What's included
- Core Specification (Layer 1) — Abstract data model with required/optional attributes, 8-state job lifecycle (
scheduled → available → pending → active → completed/retryable/cancelled/discarded), type system, and extension framework - JSON Wire Format (Layer 2) — JSON serialization rules, attribute mapping, and batch encoding
- Protobuf Wire Format (Layer 2) — Binary serialization, Protobuf schema design, and type mapping
- HTTP Protocol Binding (Layer 3) — HTTP method mapping, headers, status codes, and content types
- gRPC Protocol Binding (Layer 3) — Protobuf service definition, streaming, and error codes
- AMQP Protocol Binding (Layer 3) — RabbitMQ/AMQP 0-9-1 queue mapping, exchange topology, and retry via DLX
Extensions
- Retries — Exponential, linear, and constant backoff with jitter
- Scheduling — Cron expressions with timezone support
- Workflows — Chain (sequential), Group (parallel), Batch (parallel with callbacks)
- Unique Jobs — Deduplication with configurable conflict resolution
- Events — Lifecycle event emission and streaming
- Middleware — Composable middleware chain with
next()pattern
Design Principles
- Vendor-neutral envelope format inspired by CloudEvents
- RFC 2119 normative language throughout
- UUIDv7 job IDs, RFC 3339 UTC timestamps
- Staged RFC process (Stage 0–3) for spec changes