Skip to content

v2.4.0

Latest

Choose a tag to compare

@adamwg adamwg released this 24 Jun 19:15
· 15 commits to main since this release
Immutable release. Only release title and notes can be modified.
ef9b974

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 generate converts a claim to a composite resource, as Crossplane would do internally when a claim is applied to a cluster. #13
    • crossplane xr patch applies defaults from an XRD to an input XR, as the apiserver would do when an XR is applied to a cluster. #61
    • crossplane xpkg get-crds downloads package dependencies based on a crossplane.yaml file or package resource and writes their CRDs to files. #26
  • Command Updates
    • crossplane project init now allows a repository to be specified. #105
    • crossplane resource validate now has YAML and JSON output formats. #66
    • crossplane xpkg push now allows OCI manifest annotations to be specified with the --oci-annotation flag. #11
    • crossplane composition render now supports repeating the --required-resources and --extra-resources flags. #107
    • Commands that interact with a cluster (e.g., crossplane resource trace and crossplane xpkg install) now support impersonation with the --as, --as-group, and --as-uid flags. #114
  • Developer Experience Updates
    • Projects can now include pre-built functions specified in the crossplane-project.yaml file, allowing functions to be built using any language, tool, or framework. #24
    • Projects can now specify a subset of languages for which schemas should be generated in the crossplane-project.yaml file. #24

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 generate by @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 --xrd by @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 convert by @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 init by @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 #114
  • chore(deps): update renovatebot/github-action action to v46.1.16 (main) by @crossplane-renovate[bot] in #139
  • fix(deps): update module github.com/crossplane/function-sdk-go to v0.7.1 (main) by @crossplane-renovate[bot] in #140
  • deps: Update crossplane dependencies to v2.3.3 by @adamwg in #138

New Contributors

Full Changelog: v2.3.0...v2.4.0