Skip to content

Coflux 0.9.0

Choose a tag to compare

@github-actions github-actions released this 01 Apr 22:58

Server

Enhancements:

  • Adds authentication to worker connections and blob/log endpoints.
  • Adds support for project-level tokens and Studio authentication.
  • Introduces epochs for managing data retention.
  • Supports conditional retries on tasks.
  • Supports cancelling executions across workspaces.
  • Returns API version in the discover endpoint for client compatibility validation.
  • Automatically stops idle orchestration servers to reduce resource usage.
  • Workspaces are auto-created on first worker connection.

Fixes:

  • Fixes idempotency key handling for duplicate run submissions.
  • Fixes manifest hashing for consistent change detection.
  • Fixes result delivery for suspended executions.
  • Makes argument waiting recursive for deeply nested dependencies.

Changes:

  • Removes the bundled frontend (use Coflux Studio instead).
  • Replaces sensors and checkpoints with recurrent targets.
  • Renames 'spaces' back to 'workspaces'.
  • Removes namespaces in favour of a simplified project model.
  • Reworks ID generation for shorter, URL-friendly identifiers.

CLI

First release of the Go CLI, replacing the previous Python-based CLI.

Enhancements:

  • Rewritten in Go for faster startup and standalone distribution (no Python dependency).
  • Adds submit, runs inspect, runs result, runs rerun, runs cancel and logs commands.
  • Adds manifests inspect, manifests discover and manifests register commands.
  • Adds assets inspect, assets download and blobs get commands.
  • Adds workspaces list, workspaces create, workspaces pause and workspaces resume commands.
  • Adds tokens list, tokens create and tokens revoke commands.
  • Supports real-time log streaming with logs --follow.
  • Supports JSON output (--output json) across all commands.
  • Workers automatically create workspaces on first connection.
  • Workers gracefully handle server restarts and reconnect automatically.
  • Supports authenticated connections to the server (token-based and Studio auth).
  • Validates API version compatibility with the server.
  • Validates protocol version compatibility with language adapters.

Python Adapter

Enhancements:

  • Communicates with the new Go CLI over JSON Lines (replacing the previous all-in-one Python package).
  • Adds support for conditional retries (@task(retries=Retries(3, when=TransientError))).
  • Supports serialisation of additional types (datetime, UUID, Decimal, bytes, frozenset, etc.).
  • Spawns a fresh process for each execution, improving isolation and memory management.
  • Improved error reconstruction for remote exceptions.
  • Reports protocol version during worker handshake for compatibility validation.

Changes:

  • The coflux package is now a pure Python SDK — the CLI is a separate Go binary.
  • Replaces 'sensors' and 'checkpoints' with recurrent targets.
  • Renames 'spaces' back to 'workspaces'.