Skip to content

Releases: bitroot/coflux

Coflux 0.11.1

16 May 22:28
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Server

Fixes:

  • Fixes a path traversal vulnerability in the blob endpoint.

CLI

No changes.

Python Adapter

No changes.

Coflux 0.11.0

18 Apr 16:31
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Server

Enhancements:

  • Adds support for tasks requesting structured inputs from users.
  • Adds a generalised select operation for waiting for results, with support for specifying multiple handles, and optional cancellation of the other items.

CLI

Enhancements:

  • Adds --drain-timeout flag to worker (default: 2 minutes) for gracefully draining in-flight executions on shutdown or reload. A second signal aborts the drain early; a third forces exit.
  • Adds inputs list, inputs inspect, inputs respond and inputs dismiss commands for managing input requests from the CLI.

Python Adapter

Enhancements:

  • Adds cf.Prompt and cf.Input for requesting structured input from users mid-execution (with optional Pydantic model for typed responses, per-run memoisation, and requires tags for routing).
  • Adds cf.select for waiting on the first of multiple handles (executions and/or inputs) to resolve, with optional cancellation of the rest.
  • Adds cf.cancel (and .cancel() on handles) for atomic cancellation of executions and inputs.
  • Supports async def functions in @task and @workflow decorators.
  • Adds fluent with_* methods to Target for overriding decorator options at a call site.

Changes:

  • Wait-expiry from cf.suspense(timeout=...) now raises the standard TimeoutError; ExecutionTimeout is reserved for executions exceeding their configured timeout.

Coflux 0.10.0

12 Apr 16:27
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Server

Enhancements:

  • Adds support for storing metrics and their definitions.
  • Adds support for execution timeouts on tasks and workflows.
  • Adds suspend flag to get_result for non-suspending result polling.
  • Adds experimental Kubernetes launcher for launching workers as Kubernetes jobs.
  • Adds support for run-level memoisation (memo on workflows sets default for all steps).
  • Adds accepts tags on pools/workers, restricting which executions can be assigned.
  • Workflow requires tags now apply to the entire run (merged with step-level tags).
  • Adds support for disabling and re-enabling pools (disabled pools drain workers).
  • Prevents concurrent executions of the same step; re-running cancels in-progress execution.
  • Recurrent targets now only recur when the result is None.
  • Adds support for exporting and importing pool configurations.
  • Adds support for overriding workflow options (requires, memo, delay, retries) at submission time.
  • Adds support for specifying project via header (in addition to subdomain/server config).
  • Tracks total execution count on sessions and workers.
  • Updates modules topic to track in-progress workflow runs.

CLI

Enhancements:

  • Updates server command to set default project ("default"), and improve Docker lifecycle handling.
  • Updates worker command to infer adapter (to avoid running setup).
  • Adds --type kubernetes support for pools create and pools update.
  • Adds pools disable and pools enable commands.
  • Adds pools export and pools import commands.
  • Adds --accepts flag for pool commands.
  • Adds --requires, --memo/--no-memo, --delay, and --retries flags to submit.

Python Adapter

Enhancements:

  • Adds support for writing metrics, and writing progress.
  • Adds timeout parameter to @task and @workflow decorators.
  • Adds ExecutionCancelled and ExecutionTimeout exceptions.
  • Adds .poll() method to Execution for checking execution results without blocking (or suspending).
  • Adds memo parameter to @task, @workflow, and @stub decorators.
  • Adds requires parameter to @task and @workflow decorators.

Coflux 0.9.1

02 Apr 10:42
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Server

No changes.

CLI

Enhancements:

  • Updates server command to set default project ("default"), and improve Docker lifecycle handling.
  • Updates worker command to infer adapter (to avoid running setup).

Python Adapter

No changes.

Coflux 0.9.0

01 Apr 22:58

Choose a tag to compare

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'.

CLI (0.8.1)

07 Feb 20:11
80eba6a

Choose a tag to compare

Set up tests (#120)

* Set up tests

* Remove unused adapter import

* Fix adapter Actions workflow

* Combine CLI/server Actions workflows, and add test job

Server (0.8.1)

17 Jan 11:44
99ba9f7

Choose a tag to compare

Release 0.8.1 (#107)

* Update changelogs

* Update versions

* Remove unused config files

* Update changelogs

Python client (0.8.1)

17 Jan 11:43
99ba9f7

Choose a tag to compare

Server (0.8.0)

20 Jun 12:02
1004c23

Choose a tag to compare

Release 0.8 (#91)

* Update documentation for assets

* Update suspense docs

* Version Python client

* Version server

* Add renames to changelogs

Python client (0.8.0)

20 Jun 12:01
1004c23

Choose a tag to compare