Releases: beyond10x/connectors
Release list
connectors 0.7.2
- Add
connectors inspect upgradeto report the installed CLI version, embedded catalog schema
and digest, supported credential-file formats, and hosted session-metadata version. The command
supports text, compact, JSON and YAML output, needs no configured state or running service, and
includes source-installation guidance without checking remote releases or changing files. - Keep the report independent of async runtime startup, including its internal socket creation,
while preserving normal command dispatch, embedded use and output-error handling.
Existing catalog-schema, credential-file and operation-protocol versions are preserved. The
inspection command provides information; updating the binary remains a separate step.
What's Changed
- cli: report installed compatibility facts by @b10x-bot[bot] in #23
- release: ship binary inspection in v0.7.2 by @b10x-bot[bot] in #25
Full Changelog: v0.7.1...v0.7.2
connectors 0.7.1
- Add bounded Jira issue search, project inventory and paginated comment reads; Confluence
page searches with explicit continuation; and GitLab activity, issue, merge-request,
pipeline, deployment and commit reads. Preserve stable source identities and revisions,
validate bounds before credential access, retain comment visibility metadata and omit provider
identity objects. - Keep the incremental contracts aligned across personal catalog and native hosted adapters,
including required deployment ordering when update-date filters are used. - Preserve structured rate-limit advice when incremental reads request pagination headers.
- Keep generated catalog operations callable when their provider has no optional Connection
remediation metadata, and make expired authentication recovery fail consistently. - Document complete consumer-contract checks before upgrading a source-built installation.
What's Changed
- fix: distinguish subscription OAuth failures and expired flows by @b10x-bot[bot] in #20
- fix: preserve generated service invocation through remediation preflight by @b10x-bot[bot] in #22
- release: publish bounded source reads in v0.7.1 by @b10x-bot[bot] in #24
Full Changelog: v0.7.0...v0.7.1
connectors 0.7.0
- Catalog write discovery now considers every admitting Connection, so an earlier read-only
placement cannot hide a writable one. Search and describe report required approval; invoke
still checks the explicitly selected Connection. - Default operation, Connection and event commands to the local target regardless of saved hosted
login. Use--target hostedexplicitly; incompatible local configuration flags are refused. - Run bounded operation search, describe, invoke and Connection metadata reads without a daemon
when its socket is absent. Stateful sessions, activation and event flows still require
connectors serve local; uncertain transport outcomes never trigger a fallback invocation. - Add
kubernetes.namespace.listandkubernetes.workload.listfor activated Connections,
returning admitted namespaces and Deployments with container images and desired/ready replicas. - Expose personal GitLab Connections and four source-grounded pipeline-schedule operations:
list, create, update and delete. Preserve the official request schemas, including inputs and
omitted versus null fields; mutations require the selected Connection's write admission. - Treat a consumer closing a successful output pipe as normal completion across output formats.
Protocol refusals and other output failures remain failures. - Add Operation v0alpha2 structured
rate_limitedrefusals, optional trusted retry delay and
source-grounded advisory rate metadata. Retain v1 with explicit loss of the new fields;
neither advice nor version selection resends an invocation. - Advance the canonical catalog and matching readers to schema 4 for personal OAuth declarations,
retaining schema 3 request-semantics/rate behavior and frozen schema 2 and 3 artifacts. - Add explicitly configured GitLab public PKCE and device authorization, token-info verification,
refresh and durable recovery through one dedicated OAuth store. This initial personal custody
is unsealed and development-only; private instructions use a terminal or owner-only file. - Default operations to v0alpha3 with typed
authentication_required
refusals. Trusted local setup binds remediation to the intended operation and Connection, then
stops ready for a separate explicit invocation.operation --protocol-version v2retains
explicit interoperability; no negotiation, automatic session creation or invocation replay.
Also included since the last published release (v0.6.0)
- Add bounded, read-only GitLab fetch sessions over internal TLS for the admitted default branch
and exact commit, including Git protocol v2 support and the hosted client operation. Recheck
identity, grants and project membership; bound session lifetime, depth, requests and bytes. - Reuse a bounded set of provider HTTP connections while rechecking destination policy and DNS
for every request. - Keep concurrent hosted Connect Session expiry terminal after credential verification and custody
awaits, so an expired session cannot become completed. - Keep legacy GitLab connections inactive until a verified reconnect binds current authority;
preserve their metadata and refuse recovery when a credential transaction's grant is absent
or superseded. - Refresh all twelve Cargo workspace lockfiles together with the release identity so cold runners
can fetch and verify the complete locked graphs.
What's Changed
- git: support bounded protocol v2 and reuse upstream connections by @b10x-bot[bot] in #11
- Keep legacy GitLab connections inactive without stopping the host by @b10x-bot[bot] in #12
- Fix GitLab Smart HTTP token authentication by @b10x-bot[bot] in #15
- gitlab: accept smart http preamble before git v2 discovery by @b10x-bot[bot] in #16
- Make personal CLI connections and operation workflows usable by @b10x-bot[bot] in #14
- cli: deliver governed local writes and one-shot operations by @b10x-bot[bot] in #17
- feat: govern GitLab schedules and preserve structured rate limits by @b10x-bot[bot] in #18
- auth: add personal OAuth and bound authentication recovery by @b10x-bot[bot] in #19
- chore: release connectors v0.7.0 by @b10x-bot[bot] in #21
Full Changelog: v0.6.2...v0.7.0
connectors 0.6.0
Every first-level word of the shipped binary moves, and bare connectors serve stops starting the
local server: the breaking change the preamble puts in a minor bump.
Added
- Expose the hosted Slack organization bot's app and bot tokens through the tenant-bound
administrative credential surface. A deployment can activate that bot without claiming that
personal Slack OAuth is configured; the personal flow appears only when its paired client
registration is present.
Changed
connectors --helplists eight words, not sixteen. Ten first-level commands that were five
different activities in one block are grouped:setup(init,connect,completions),
inspect(doctor,providers,auth— which wasauth status),session(login,logout)
andserve(local— which was bareserve—hostedandmcp).connection,event,
operationandadminstay where they were.- Every old path but one works for one more release.
connectors doctor,
connectors auth status,connectors serve-hosted --config …and the rest are rewritten onto
their new path before the arguments are parsed, produce the same output, and write one line to
stderr naming where they went. Clap decides the rewrite: the global-o/--outputmay stand in
front of the words or between them in any of its four spellings, and
connectors help <old word>andconnectors auth helpanswer as they did. The table that does
it,MOVEDincrates/connectors-cli/src/lib.rs, is removed in the release after this one. The
one path not carried is the next entry. connectors serveno longer starts the local server;connectors serve localdoes. This is
a break, not a deprecated path that still works: bareconnectors serve,
connectors serve --help,connectors serve -h, andconnectors servewith nothing but global
options in front of it or behind it —connectors serve -o json,connectors -o json serve—
are theservegroup, aCommands:listing as forsetup,inspectandsession, and exit 2
without serving and without a note. A script that started the server with bare
connectors servehas to sayconnectors serve localfrom this release on.serveand
serve -o jsonare one invocation, so one of them starting a server while the other listed
commands would be two commands under one name, which is the defect this release removed. Only
connectors serve --config …andconnectors serve --state-root …— the old leaf's own
options, which the group refuses andserve localdeclares — are still rewritten onto
connectors serve local, with the note.- The hosted image starts on
connectors serve hosted.README.md, the guides,Taskfile.yaml
and the design pages name the new paths, and the fence that refuses shipped text naming an old
one now reads all of them rather than Rust sources alone. - The
connectorscommand-line surface is declared iness/system/components.yaml, and the clap
tree projected from it is committed underess/generated/clap/and held against the parser on
every run (docs/design/19-the-cli-surface.md).
Removed
CLI_TOTAL_LINE_LIMIT, the cap on the thin frontend's line count in
crates/catalog-build/tests/main/architecture_fence.rs. It was raised at every one of the six
times it fired and never once moved a line out of the binary;product_cli_is_a_thin_frontend
still bounds what the frontend may link and what it may declare.
Fixed
- Page the GitLab membership scan used by both project-binding discovery and redemption. A
repository listed after the first 100 memberships no longer becomes inaccessible when a caller
opens it, while malformed or unbounded provider pagination still fails closed. - Accept a scope-omitting Claude Code refresh response only by carrying forward the scopes from the
previously verified OAuth record. Initial responses without the required inference scope remain
refused.
What's Changed
- connectors: restore delegated authority refresh by @b10x-bot[bot] in #9
Full Changelog: v0.5.11...v0.6.0
connectors 0.5.11
Fixed
- Keep delegated GitLab repository reads alive after the two-hour OAuth access token expires.
GitLab refresh responses may omitscope; Connectors now accepts that documented response shape
and continues to verify the refreshed token's exact scopes through/oauth/token/infobefore
committing the rotated access and refresh credentials. - Make the CLI credential-store test create the owner-only state root required by the runtime,
instead of depending on the hosted runner's/tmppermissions and blocking releases in CI.
What's Changed
- gitlab: accept refresh responses without scope by @timofriedlberlin in #8
Full Changelog: v0.5.10...v0.5.11
connectors 0.5.9
Added
-
Four read-only Slack operations:
slack-conversations-replies(a thread's parent and its
replies, which nothing could reach before),slack-conversations-list,slack-conversations-info
andslack-users-list. The first three are projected to a model; the workspace directory is
catalogued and not projected. -
confluence.service_api_token, the deployment-owned bearer twin of the personal Basic token. -
[catalog.usernames]in the personal configuration: a value-free home for the non-secret user
half of abasiccredential, keyed by the credential it joins.connectors connect --setwrites
it, andconnectors auth statusreports whether it is present.The section is optional and a configuration without it reads unchanged — but it is a new key,
and the configuration isdeny_unknown_fields, so a binary older than this release refuses a file
that carries one. Install before writing, not after; observed as a redconnectors doctoron
2026-09-04 when a 0.5.3 binary met a file a newer build had written.
Changed
- Both Atlassian connectors address the vendor's cloud gateway by cloud id rather than the
tenant's own site host, and Confluence's four reads moved from theapi/v2surface torest/api.
This is a correctness fix, not a preference: measured on one tenant with a service-account API
token, a project search returned HTTP 200 andtotal: 0against the site host and HTTP 200 with
40 results against the gateway, whileapi/v2answered 401. A connector pointed at the old route
reported an empty world rather than a refusal anyone could act on.siteis replaced by
cloud_idin both[[catalog]]entries. confluence-page-getnow returns the page body, because it sends the expansion that asks for it.- Both Atlassian connectors declare their service-account mechanism first, so a placement holding
both a personal and a service-account token authenticates as the service account. - The Slack user-token declaration no longer requests
im:*ormpim:*scopes; no operation names
them, andslack-conversations-listwithholds the parameter that would reach a DM.
Fixed
- A personal-local
basiccredential could not be assembled at all. The user half resolves through
the configuration port, and bothCatalogBackendconstructors built a port that could only answer
endpoint variables — so a stored Atlassian token refused withnot_granted: no stored credential satisfies this operation's declared mechanismswhileauth statusreported it as stored. - Personal-local Kubernetes served exactly one activated cluster.
cluster_connectionanswered the
first key of a map, so an operator with five authorized contexts saw one in
operation describe kubernetes.deployment.statusand gotnot_foundfrom every other — a message
about the operation for a fault in Connection selection. - A non-2xx vendor answer carried one sentence for every cause. It now names the HTTP status, and
401, 403, 404 and 429 each say what to check.
Full Changelog: v0.5.8...v0.5.9
connectors 0.5.8
Changed
- Migrate the seventy-three
docs/stories/S-*.mdrecords into the AEP planning store, so the
repository has one backlog instead of two that never named each other. Every source file keeps
its text and gains a backlink to the artifact that now carries it; nothing was deleted. - The thirty-five stories the sources call
doneare recorded as resting on an assertion rather
than an observed run, andaep artifact validatereports that count on every run.
No crate source changed in this release. The version moves because it is the artifact identity
written into every catalog document, connectors.lock and the wire User-Agent, and those move
together or not at all.
Full Changelog: v0.5.7...v0.5.8
connectors 0.5.7
Added
connectors completions <shell>prints a completion script for bash, zsh, fish, elvish or
PowerShell, generated from the same clap command tree that parses the arguments.
Fixed
- The release gate passes again.
d3707aatookintegration-gitlab's backend past its size
waiver, which failed every release run from v0.5.3 to v0.5.6 before a binary was built; the
repository-file path helpers it added now live in their own module.
Full Changelog: v0.5.6...v0.5.7
connectors 0.5.2
Added
- Carry receiver-verified agent, attempt, delegation, Grant, and Grant-revision provenance in the
admitted principal context so delegated calls cannot collapse into an owner-only identity. - Add approval-gated GitLab operations for creating an
agentide/…session branch, atomically
committing reviewed file actions, and creating or updating the session merge request. These
publication operations requireapiscope and stay out of the model-exposed tool inventory.
Full Changelog: v0.5.0...v0.5.2
connectors 0.5.1
Fixed
- Refresh every satellite workspace lockfile after the 0.5.0 dependency changes, so the release
gate and the local-identity refusal check remain reproducible under--lockedon a clean runner.
Full Changelog: v0.5.0...v0.5.1