Skip to content

Releases: codewandler/flux-connectors

flux-connectors 0.26.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 12 Aug 23:52

Completes the engine-free producer set: a host builds both connector requests (0.25) and channel handshakes (0.26) as data, with no Flux runtime dependency (C-558). See CHANGELOG.md.

flux-connectors 0.25.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 12 Aug 22:41

Engine-free plan producers: a host can compose connector requests as data without linking the Flux runtime (C-557). See CHANGELOG.md.

flux-connectors 0.24.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 12 Aug 20:31

New

  • GitHub and Anthropic connections can be authorized by signing in, not just by pasting a token.
    Like GitLab already offered, a person can now grant a GitHub or Anthropic connection with their
    own account through a standard browser sign-in, so calls are made with their own permissions. For
    Anthropic both the Console sign-in and the Claude subscription sign-in are described. The
    older arrangement — providing an access token directly — still works unchanged.

[0.23.0] — 2026-08-12

flux-connectors 0.23.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 12 Aug 14:14

Release Notes

New

  • Requests are now built from the catalogue's own documents. The library that assembles a
    connector call no longer reconstructs it by re-reading generated source code: it reads the same
    validated per-connector document the catalogue publishes, and an automated comparison proves —
    for every one of the 835 operations — that what goes on the wire is byte-for-byte identical to
    what was sent before. A new lightweight library exposes that request plan as plain data, so a
    host can inspect exactly what would be sent, with secrets always shown redacted.
  • The catalogue file is now downloadable from every release page, with its checksum beside
    it.
    You no longer need any of our tooling to obtain the full connector catalogue: fetch the
    file and its checksum from the release, verify the checksum, and read it — from any language.
    Each release's file is attached automatically and is refused, loudly, if it does not match what
    that release's own records say it should be.

flux-connectors 0.22.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 12 Aug 10:52

Release Notes

New

  • Every connector is now also published as one machine-readable document. For each provider
    there is a single validated JSON file describing everything the connector can do — every
    operation with its exact request shape, the credentials and settings an operator must supply,
    the events it can receive, and its safety annotations — readable from any language without
    installing anything of ours. Nothing you use today changes; the documents are additional, and
    the tooling that consumes them directly is on its way.
  • The whole catalogue now travels as one compact, integrity-checked file. Everything those
    per-connector documents describe is also compiled into a single file, together with a small
    reader library that serves it. A program can carry the entire catalogue with it, prove the copy
    is intact before trusting a single entry, and look up any connector or operation instantly —
    including a catalogue newer than the program itself, which is refused loudly if it is damaged
    or from an incompatible future version rather than half-read. Catalogue updates stop being tied
    to code updates; nothing you use today changes.

v0.21.0 — delegated sign-in

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 12 Aug 00:01

Delegated sign-in: a connection can now be authorized by the person using it, so calls carry their permissions rather than a shared credential's.

New

GitLab can sign a person in, instead of asking them to paste a token. A connection is authorized by the person using it, and calls are made with their own permissions. The older arrangement still works unchanged — an organisation that prefers to provide one access token for everyone can keep doing exactly that. A connection uses one of the two; both are offered, and nothing here chooses between them.

A self-managed GitLab is asked for its address once. Point a connection at your own GitLab and both its API and its sign-in pages follow that single approved address together. There is no second place to fill in, and no way for the two to end up pointing somewhere different — which matters, because the sign-in address is where an application secret is presented.

GitHub and GitLab can be browsed rather than guessed at. List the organisations a connection can reach, the repositories inside them, and on GitLab the groups and projects available to you — complete with the address you would clone from. Until now every call needed the owner, repository or project identifier supplied up front, with nothing to look them up with.

GitHub connections have a Test connection check. It reports which account the configured token acts as, so a settings page can confirm a connection works before anything depends on it.

A GitLab connection asks for the callback address your deployment serves. Registering an application gives you an id, a secret and a redirect address; all three are now collected together. Previously only a callback on the same machine could be described, so a hosted installation had nowhere to record the address it actually serves and found out only when a sign-in attempt was rejected.

A connection can say whose permissions a credential carries. Credentials that act as the integration itself are now distinguishable from credentials that act on behalf of a specific person. Where that has not been reviewed yet it says so plainly rather than guessing, so nothing is quietly treated as more or less privileged than it is.

A credential can declare that the way it is obtained is weak. A deployment can then refuse that method by property rather than by name, and refusing is the default.

Action needed

If you build against the credential or configuration data directly, three additions need handling. Credentials now describe whose permissions they carry and how they are obtained, and configuration fields can name additional services they apply to. Code that lists every possible credential type, or constructs these entries by hand, needs updating. Reading the data is unaffected.


Catalogue: 835 operations across 55 connectors and 67 services, 1110 committed artifacts.

Engineering detail, including the reasoning behind each decision, is in CHANGELOG.md.

flux-connectors v0.20.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 04 Aug 16:09

Release Notes

Action needed

  • Stop every process using the old local credential store before upgrading. The new release
    prevents two current processes from writing one store, but older processes do not participate in
    that protection. Quiesce every 0.19.1 process before the first 0.20 open: an already-open legacy
    process can rewrite its cached v1 image and erase v2 recovery state. Once a transaction migrates
    the file, a newly started 0.19.1 process safely refuses its newer format.

New

  • Hosts can recover credential changes coordinated with their own metadata after a crash. One
    complete credential update can be prepared invisibly, committed atomically or abandoned without
    resurrection. Explicit generation retirement keeps recovery history bounded, and the durable
    local store rejects a second writer for its lifetime.

Fixed

  • Dependency examples and documentation links now point to the published packages. Copying an
    installation snippet or following API documentation no longer lands on an unrelated or missing
    package name.

flux-connectors v0.19.1

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 04 Aug 04:42

Release Notes

  • Durable local credentials now work on Windows as well as Linux and macOS.
  • New state is restricted to the current operating-system user. Existing unsafe ownership, permissions, DACLs, symlinks, reparse points, and wrong object types are refused without silent repair.
  • Paths directly beneath shared directories such as /tmp now direct operators to a private child or per-user state root; they never recommend narrowing the shared directory itself.
  • The portable store preserves bounded reads and writes, atomic whole-file replacement, and all-or-nothing multi-credential batches across restart.

flux-connectors v0.19.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 04 Aug 00:28
381097b

Release Notes

  • Connection forms can now be generated from complete connector declarations, including settings, help, validation, defaults, credentials, and the declared test-connection operation.
  • GitLab connections can use an operator-approved self-managed HTTPS origin while gitlab.com remains the zero-configuration default.
  • Action needed: public catalogue JSON now uses schema 3 and exposes the complete OAuth declaration; direct Rust configuration-field construction must provide its closed approval policy.

flux-connectors v0.18.0

Choose a tag to compare

@timofriedlberlin timofriedlberlin released this 03 Aug 11:41

Release Notes

Improved

  • Hosts can keep several connections to the same integration separate. They can enumerate a
    tenant's connection addresses, select one stable instance for both credentials and configuration,
    and move a connection's secrets as one atomic change. A secret backend that cannot guarantee the
    operation refuses it instead of leaving a partial migration.

  • Operation consequences are more precise. Connectors can now declare semantic effects such as
    moving money independently of the host resource they touch. Stripe capture and refund declare a
    money effect, and capture is now correctly treated as destructive for grant and confirmation
    policy.

  • The roadmap now has one home for every integration. Rich systems such as Docker, Kubernetes,
    SQL, and Prometheus will move to connectors that can run locally or through Exchange. This release
    changes the plan, not the integrations available today.

Fixed

  • Query values are encoded without changing their meaning. Explicit false and 0 values are
    preserved and scalar values cannot reshape a request URL. Operations whose vendors require an
    undeclared collection encoding stay out of the catalogue until that wire format can be expressed
    safely.