Skip to content

Releases: openjobspec/spec

v0.4.0

20 Apr 17:26

Choose a tag to compare

Added

  • Initial release

spec 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

See repository README for installation instructions.

spec v0.2.0

28 Feb 15:30

Choose a tag to compare

  • 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

23 Feb 09:47

Choose a tag to compare

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