Releases: crossplane/cli
v2.4.0
The v2.4.0 release is the first Crossplane CLI release that does not correspond to a Crossplane core release. It is compatible with the currently supported minor versions of Crossplane core: v2.3, v2.2, v2.1, and v1.20. It includes a number of incremental features and improvements along with many bug fixes.
🚨 Installation Note
Since this release does not correspond to a Crossplane core release, it will not be uploaded to releases.crossplane.io. Its artifacts are available only from cli.crossplane.io. The install.sh script will install it from the correct location.
🎉 Highlights
- New Commands
crossplane xr generateconverts a claim to a composite resource, as Crossplane would do internally when a claim is applied to a cluster. #13crossplane xr patchapplies defaults from an XRD to an input XR, as the apiserver would do when an XR is applied to a cluster. #61crossplane xpkg get-crdsdownloads package dependencies based on acrossplane.yamlfile or package resource and writes their CRDs to files. #26
- Command Updates
crossplane project initnow allows a repository to be specified. #105crossplane resource validatenow has YAML and JSON output formats. #66crossplane xpkg pushnow allows OCI manifest annotations to be specified with the--oci-annotationflag. #11crossplane composition rendernow supports repeating the--required-resourcesand--extra-resourcesflags. #107- Commands that interact with a cluster (e.g.,
crossplane resource traceandcrossplane xpkg install) now support impersonation with the--as,--as-group, and--as-uidflags. #114
- Developer Experience Updates
What's Changed
- Update dependencies and renovate for v2.3.0 release (main) by @adamwg in #19
- ci: Remove image promotion steps by @adamwg in #22
- build: Use the shared crossplane cachix cache in nix.sh by @adamwg in #17
- Add the LICENSE file by @adamwg in #27
- chore(deps): update module github.com/containerd/containerd to v1.7.32 [security] (main) by @crossplane-renovate[bot] in #34
- chore(deps): update module github.com/sigstore/cosign/v2 to v2.6.2 [security] (main) by @crossplane-renovate[bot] in #35
- chore(deps): update module golang.org/x/crypto to v0.52.0 [security] (main) by @crossplane-renovate[bot] in #36
- Improve generation of reference docs by @adamwg in #30
- chore(deps): update module golang.org/x/net to v0.55.0 [security] (main) by @crossplane-renovate[bot] in #37
- chore(deps): update actions/create-github-app-token digest to fee1f7d (main) by @crossplane-renovate[bot] in #52
- Update CONTRIBUTING.md and add install instructions to README.md by @adamwg in #49
- Add the install.sh script and upload it to S3 by @adamwg in #54
- docs: Enclose the CLI version number in backticks by @adamwg in #55
- fix(docs): compile the bqRE once at package level by @tampakrap in #57
- chore(deps): update actions/stale digest to eb5cf3a (main) by @crossplane-renovate[bot] in #58
- feat(xr): Convert a Claim to XR via
crossplane xr generateby @tampakrap in #13 - chore(deps): pin dependencies (main) by @crossplane-renovate[bot] in #51
- chore(deps): update cachix/install-nix-action digest to 8aa0397 (main) by @crossplane-renovate[bot] in #60
- fix(deps): update module github.com/go-git/go-git/v5 to v5.19.1 [security] (main) by @crossplane-renovate[bot] in #40
- render: Sync render.proto with c/c and wire XRD through by @jcogilvie in #74
- Fix Python schema generation for fields named int or bool by @negz in #64
- chore(deps): update actions/checkout digest to df4cb1c (main) by @crossplane-renovate[bot] in #76
- chore(deps): update codecov/codecov-action digest to 75cd116 (main) by @crossplane-renovate[bot] in #77
- chore(deps): update github/codeql-action digest to 8aad20d (main) by @crossplane-renovate[bot] in #80
- chore(deps): update mheap/require-checklist-action digest to 9c8100a (main) by @crossplane-renovate[bot] in #81
- Support pre-built function runtimes and per-language schema generation by @negz in #24
- render: Clean up unused code and duplicate consts by @adamwg in #83
- render: Replace condition timestamps and sort resources to stabilize output by @adamwg in #82
- feat(render): capture stderr and handle pipeline-fatal exit code in both engines by @jcogilvie in #91
- chore(deps): update actions/checkout action to v6.0.3 (main) by @crossplane-renovate[bot] in #84
- chore(deps): update vale-cli/vale-action action to v2.1.2 (main) by @crossplane-renovate[bot] in #85
- feat(xr): Introduce
xr patch --xrdby @tampakrap in #61 - Update the CLI docs path by @adamwg in #99
- fix(xr): add missing import, caused by merge of outdated base tree by @tampakrap in #103
- ci: Update the CLI reference documentation on every merge by @adamwg in #106
- feat(validate): structured results and --output json|yaml flag by @jcogilvie in #66
- function: Add missing dependencies to the Go function template by @adamwg in #109
- xrd: Opportunistically infer integer types when generating from an XR by @adamwg in #108
- feat: add xpkg get-crds subcommand by @fernandezcuesta in #26
- Drop the scale subresource before building OpenAPI for schema generation by @negz in #119
- ci: Re-use exising docs PRs and sign off on commits by @adamwg in #120
- ci: Make cli-docs-bot the author of docs update commits by @adamwg in #121
- xrd: Handle v2 XRDs in
crossplane xrd convertby @adamwg in #122 - fix(render): do not overwrite function docker network if set, start crossplane-container in same network by @nkzk in #65
- chore(deps): update codecov/codecov-action digest to 0fb7174 (main) by @crossplane-renovate[bot] in #101
- chore(deps): update korthout/backport-action action to v4.5.2 (main) by @crossplane-renovate[bot] in #102
- Expose host-native CLI binary as the default flake package by @negz in #126
- chore(deps): pin dependencies (main) by @crossplane-renovate[bot] in #128
- chore(deps): update renovatebot/github-action action to v46.1.15 (main) by @crossplane-renovate[bot] in #129
- Decompress function runtime tarballs once when loading by @negz in #127
- fix: loaded XRD must honor the composite schema by @fernandezcuesta in #123
- schemas: Prime oapi-codegen's global state to make capitalization consistent by @adamwg in #130
- Add repository option to
crossplane project initby @bobh66 in #105 - feat(xpkg): add --annotation flag to xpkg build and xpkg push by @chaitanyapantheor in #11
- fix(render): support repeating --required-resources and --extra-resources by @chaitanyapantheor in #107
- fix(deps): update module github.com/alecthomas/kong to v1.15.0 (main) by @crossplane-renovate[bot] in #133
- chore(deps): update module github.com/containerd/containerd to v1.7.33 [security] (main) by @crossplane-renovate[bot] in #132
- fix(deps): update module github.com/oapi-codegen/oapi-codegen/v2 to v2.7.1 (main) by @crossplane-renovate[bot] in #88
- fix(deps): update module github.com/kubernetes-sigs/kro to v0.9.2 (main) by @crossplane-renovate[bot] in #87
- fix(deps): update module github.com/google/go-containerregistry to v0.21.7 (main) by @crossplane-renovate[bot] in #86
- feat: add --as/--as-group/--as-uid impersonation flags by @mikeshootzz in https://github.com/crosspla...
v2.3.3
The v2.3.3 release is a patch release that fixes bugs in several commands and updates dependencies.
What's Changed
- [Backport release-2.3] function: Add missing dependencies to the Go function template by @github-actions[bot] in #111
- [Backport release-2.3] xrd: Opportunistically infer integer types when generating from an XR by @github-actions[bot] in #112
- [Backport release-2.3] fix: loaded XRD must honor the composite schema by @github-actions[bot] in #135
- chore(deps): update module github.com/containerd/containerd to v1.7.33 [security] (release-2.3) by @crossplane-renovate[bot] in #134
- deps: Bump crossplane dependencies to v2.3.3 by @adamwg in #136
Full Changelog: v2.3.2...v2.3.3
v2.3.2
The v2.3.2 release is a patch release that fixes regressions in the Crossplane CLI's render commands that were introduced in the v2.3.0 release. It also includes security updates to various dependencies.
What's Changed
- chore(deps): update module github.com/containerd/containerd to v1.7.32 [security] (release-2.3) by @crossplane-renovate[bot] in #41
- chore(deps): update module github.com/sigstore/cosign/v2 to v2.6.2 [security] (release-2.3) by @crossplane-renovate[bot] in #42
- chore(deps): update module golang.org/x/net to v0.55.0 [security] (release-2.3) by @crossplane-renovate[bot] in #43
- [Backport release-2.3] Improve generation of reference docs by @github-actions[bot] in #48
- fix(deps): update module github.com/go-git/go-billy/v5 to v5.9.0 [security] (release-2.3) by @crossplane-renovate[bot] in #44
- [Backport release-2.3] docs: Enclose the CLI version number in backticks by @github-actions[bot] in #56
- fix(deps): update module github.com/go-git/go-git/v5 to v5.19.1 [security] (release-2.3) by @crossplane-renovate[bot] in #45
- [Backport release-2.3] render: Sync render.proto with c/c and wire XRD through by @github-actions[bot] in #78
- Bump crossplane dependencies to v2.3.2 (release-2.3) by @adamwg in #94
- [Backport release-2.3] render: Replace condition timestamps and sort resources to stabilize output by @github-actions[bot] in #92
- Backport #91 to release-2.3 by @adamwg in #95
Full Changelog: v2.3.1...v2.3.2
v2.3.1
The v2.3.1 release is a patch release that updates the CLI's Crossplane dependencies to the latest v2.3.1 version. There are no other bug fixes and no behavioral changes in this release compared to v2.3.0.
What's Changed
- [Backport release-2.3] ci: Remove image promotion steps by @github-actions[bot] in #23
- deps: Bump Crossplane deps to v2.3.1 by @adamwg in #33
- [Backport release-2.3] Add the LICENSE file by @github-actions[bot] in #28
New Contributors
- @github-actions[bot] made their first contribution in #23
Full Changelog: v2.3.0...v2.3.1
v2.3.0
The v2.3.0 release is the first release of the Crossplane CLI from the new https://github.com/crossplane/cli repository. It includes two major changes compared to the v2.2 release series: a reorganization of the command tree and the introduction of new developer experience commands.
🚨 Notable and Breaking Changes
- Commands have been re-organized into a noun-first tree. #3
- Alpha and beta commands that previously lived in the
crossplane alphaandcrossplane betatrees have moved into the main tree, but are decorated with help text indicating their maturity. Alpha commands are hidden from help by default and can be enabled viacrossplane config set. #3
| Old Command | New Command | Notes |
|---|---|---|
crossplane alpha render op |
crossplane operation render |
Hidden by default (alpha). |
crossplane alpha render xr |
crossplane composition render |
|
crossplane beta convert composition-environment |
crossplane composition convert composition-environment |
|
crossplane beta top |
crossplane cluster top |
|
crossplane beta trace |
crossplane resource trace |
|
crossplane beta validate |
crossplane resource validate |
|
crossplane render |
crossplane composition render |
crossplane render continues to work as an alias. |
🎉 Highlights
- Developer Experience: A new set of commands provides developer-friendly tooling for building platforms on top of Crossplane, centered on the concept of a control plane project. The project is a development artifact combining configuration (XRDs, compositions, operations) and code (functions) that can be built into a set of Crossplane packages for installation into a cluster. See crossplane/crossplane#6840 and the related design document for details, and #10 for implementation.
- Better Help: Help text is now formatted using markdown, allowing for more extensive and readable help in the CLI as well as auto-generation of the reference documentation for docs.crossplane.io. See #14.
What's Changed
- Existing CLI codebase moved from crossplane/crossplane to this repository, with the command renamed from
cmd/cranktocmd/crossplane. - Reorganize the command tree and introduce config by @adamwg in #3
- Update go to 1.26 by @adamwg in #4
- Use function protobufs from function-sdk-go by @adamwg in #5
- fix(config): Fix flag parsing with space-separated value by @tampakrap in #6
- feat(xrd): Add new subcommand
crossplane xrd convertby @tampakrap in #12 - Format detailed help using markdown and auto-generate reference docs by @adamwg in #14
- Introduce an initial set of DevEx features by @adamwg in #10
- Update dependencies and renovate for v2.3.0 release (release-2.3) by @adamwg in #20
Full Changelog: https://github.com/crossplane/cli/commits/v2.3.0