Skip to content

Prepare the v0.3.0 release - #25

Merged
stevendborrelli merged 3 commits into
upbound:mainfrom
stevendborrelli:release-v0.3.0
Aug 30, 2026
Merged

stevendborrelli merged 3 commits into
upbound:mainfrom
stevendborrelli:release-v0.3.0

Conversation

@stevendborrelli

Copy link
Copy Markdown
Member

Description of your changes

Readies v0.3.0 for tagging. Two commits, separable:

Pin the Crossplane CLI build to a commit. The cli job checked out stevendborrelli/cli by branch. That branch is force-pushed as crossplane/cli#170 is revised — its tip moved twice during the work leading to this release — so what a release build compiled could change without anything in this repository changing. Now pinned to 0d19745, with a comment saying to bump it for new CLI changes. Goes away entirely once TypeScript project support is in a released CLI.

Prepare the v0.3.0 release. CI derives the released version from functions/network/package.json, so that is bumped, along with the lockfile and the three README references (install manifest, kubectl get sample output, and the project push --tag example).

Why 0.3.0 rather than 0.2.1

The API is unchanged — the XRD and Composition are byte-identical to v0.2.0 and rendering produces the same sixteen composed resources. But adopting the SDK's serve() fixed the entrypoint's signal handling, which had trapped only SIGINT. Kubernetes sends SIGTERM, so the function had been terminating ungracefully on every rollout. That is a change in runtime behaviour rather than a pure refactor, so a minor bump rather than a patch.

Testing

  • npm run build, lint, format:check clean; 21/21 tests pass at the new version.
  • Version bumped with npm version rather than an edit: package-lock.json contains a third "version": "0.2.0" belonging to the unrelated real-require dependency, which a find-and-replace would have corrupted. Confirmed that entry is untouched.
  • Verified no v0.2.0 references remain in tracked files.
  • .github/workflows/ci.yaml re-parsed as YAML after the pin, and the pinned SHA confirmed present on the branch.

CI on this PR is the real check on the pinned CLI commit, since it is a different tip from the one the last release built against.

Release checklist

After this merges:

I have:

🤖 Generated with Claude Code

stevendborrelli and others added 3 commits August 30, 2026 16:55
The cli job checked out stevendborrelli/cli by branch. That branch is
force-pushed as crossplane/cli#170 is revised — its tip moved twice during
the work leading to this release — so what a release build compiled could
change underneath us without anything in this repository changing.

Pin the commit instead, and say in the comment that it needs bumping to
pick up new CLI changes. This can go away entirely once the TypeScript
project support is in a released CLI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CI derives the released version from functions/network/package.json, so bump
it there, and point the README install examples at the version being
released.

0.3.0 rather than 0.2.1: the API is unchanged, but adopting the SDK's
serve() fixed the entrypoint's signal handling, which had trapped only
SIGINT. Kubernetes sends SIGTERM, so the function had been terminating
ungracefully on every rollout — a change in runtime behaviour rather than a
pure refactor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The pre-commit hook added with the dev-cluster resources only protects
whoever ran `git config core.hooksPath` — hooks are not installed by
cloning, and --no-verify bypasses them. Nothing kept credentials off main.

Add a `credentials` CI job that runs the same check over every tracked
file. To keep the two from drifting apart, the check moves out of the hook
into hack/check-credentials.sh with two modes: staged blobs for the hook,
tracked files on disk for CI. The hook is now a two-line wrapper.

Verified across both modes: a clean tree passes; providerconfig.yaml is
refused with a real key, and also with its placeholders merely removed; a
key pasted into an unrelated file is refused; and prose mentioning the ASIA
prefix, including the README's own example, does not false-positive.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@stevendborrelli
stevendborrelli merged commit 3a77998 into upbound:main Aug 30, 2026
7 checks passed
@stevendborrelli
stevendborrelli deleted the release-v0.3.0 branch August 30, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant