connectors 0.2.1
No product change: crates/, providers/, specs/ and catalog/ are byte-identical to 0.2.0
apart from the generator string every artifact carries. This release is CI, tooling and the
security baseline. The version moved anyway because the version is the artifact identity — there
is no way to ship a generator that says 0.2.1 without cutting one.
Added
.github/workflows/release.yml— the first CI in this repository. Pushing av*tag runs the
full repository gate, the history-wide secret scan and thelocal-identityrelease refusal, then
buildsconnectorsfor four targets (x86_64 and aarch64 Linux, x86_64 and aarch64 macOS) and
publishes a GitHub release with the archives, aSHA256SUMSfile, and the notes read from this
file's section for that version.- No Windows target, and the reason is recorded.
connectorsdoes not compile for
x86_64-pc-windows-msvc:connectors-configopens files withO_NOFOLLOWand compares the
effective uid to the owner,connector-secretsbinds custody to Unix file modes, and the personal
posture serves on a Unix socket. Supporting Windows means deciding what owner-bound credential
custody means in terms of ACLs, which is an architecture question rather than a build flag. - The tag and
[workspace.package] versionmust agree, and each built binary must report the tagged
version from--version, or the run fails before an asset is uploaded. The version is the artifact
identity written into every catalog document'sgenerator, so a disagreement would ship binaries
that misreport themselves.
Changed
scripts/gate.shgains--list-workspaces,--workspace <path>and--final. No argument still
runs everything, unchanged. The flags exist so CI can shard the gate one workspace per runner: the
eleven workspaces do not share atarget/directory and need about 39 GB between them, which no
hosted runner has. CI reads the workspace list from this script rather than keeping a second copy
that would drift.scripts/check-local-identity-refused.shnow holds the release workflow to the same rule it
already held the Dockerfile to: no Cargo feature is selected for a build that ships. The image was
the only such build when that guard was written; a tag now attaches archives for four targets.- History was rewritten to remove a former brand from commit authorship, messages, paths and
blobs across all 254 commits, and again to remove a named individual's work address from the one
commit that carried it. Verified both times by the rewrittenHEADtree being byte-identical to
the original — every substitution had to be a no-op there, and was. Every clone predating
2026-08-25is incompatible and must be re-cloned. .gitleaksignoreregenerated twice as a consequence: a fingerprint names a commit, so a rewrite
invalidates every entry whose commit it touched. All 87 findings were reclassified from scratch
rather than carried over by count.scripts/check-secrets.shhad been failing since4520cf47
and now exits 0.scripts/vendor-babelforce-specs.shno longer writes out the address it exists to scrub. The
script already declined to name two AWS account ids for that reason; the rule now applies to a
person's name too.- AGENTS.md gains what this cycle taught: that the gate does not fit on one machine, that an offline
check still needs a populated registry, what a version cut actually rewrites, why the published
targets are Unix only, and how to rewrite history and rebaseline the secret scan without
measuring it circularly.
Full Changelog: v0.2.0...v0.2.1