Changelog
The vpctl command-line tool release history, including new features, fixes, and breaking changes.
Read time 4 minutesLast updated 11 hours ago
This changelog records vpctl release notes from an operator's perspective: new commands, new flags, behavior changes, and breaking changes. This changelog doesn't include internal refactors.
[0.9.0] - 2026-04-24
Added
- flag: saves generated values to a file (default:
secret generate --persist [path]) and auto-loads it on subsequent runs so values are reused without regeneration.secrets.import.yaml - support in the secret schema: auto-generates a self-signed CA certificate (RSA 4096-bit, 10-year validity period) when no value is provided, so you don't need to manually supply a CA certificate for non-interactive generation.
keyType: ca-cert - Alphanumeric-only validation for generated password fields, to prevent special characters, for example, ,
@, from breaking connection strings. This applies to both auto-generated and user-provided values. Set!in the secret schema to opt out for fields that are not used in connection strings.alphanumeric: false - manifest setting (
deployment.helmChartModeor"local", defaults to"remote"): choose between local charts from the release package or remote OCI charts. Existing manifests without this field continue using local charts."local" - subcommand to sync OCI Helm charts between registries (mirrors remote charts for air-gapped deployments).
vpctl artifact sync charts - Remote chart support across the and
release generatepaths, including multi-source ArgoCDrelease deploy --format helmgeneration (OCI chart source + Git values reference).Application - Image and chart references in rendered output are rewritten to your target registry during generation (air-gapped deployments).
Fixed
- now re-prompts on invalid input in interactive mode instead of aborting the entire session.
secret generate - export now correctly base64-encodes fields with
secret generate(e.g. licenses), so reimporting preserves the original values instead of corrupting them.encoding: "base64" - interactive input for
secret generatefields (licenses) now uses a multi-line reader, so pasted multiline base64 content works correctly.encoding: "base64"
Changed
- now writes a
secret generate --use-defaultsplaceholder for required fields with no default and no auto-generate option, instead of stopping execution. A warning is logged for each such field so you know to replace them before deploying.TBD - Sync recap now lists the specific images and artifacts that failed instead of only showing a count.
[0.8.0] - 2026-03-17
Added
- support in
oras_artifactsfor tracking OCI artifact versions alongside Docker images.versions.yaml - subcommand for syncing Docker images between registries.
vpctl artifact sync images - subcommand for syncing ORAS artifacts between registries.
vpctl artifact sync oras - subcommand: verifies registry authentication by syncing one Docker image and one ORAS artifact, and provides troubleshooting hints if the command fails
vpctl artifact sync preflight
Changed
- Breaking: renamed to
vpctl image sync/vpctl artifact sync images. Update any CI scripts that invoke the old command.vpctl artifact sync oras - Breaking: Manifest field renamed to
imageSync. Update yourartifactSync.manifest.yaml - Breaking: flag removed from
--skip-login. Authenticate to source and target registries withartifact sync imagesbefore running the sync.docker login
[0.7.0] - 2026-03-13
Added
- command to interactively create a new
vpctl manifest init(replacesmanifest.yaml).vpctl release init - command to validate an existing manifest against the embedded CUE schema.
vpctl manifest validate - command to display the CUE schema and export it for standalone
vpctl manifest schemavalidation.cue vet - Manifest validation errors are now more precise: schema constraints, defaults, and cross-field rules are defined in CUE and embedded in the binary. now validates manifests automatically during loading.
LoadManifest - manifest configuration for X509 client certificate authentication.
authentication.x509 - field on the RustFS infrastructure component to size the log volume PVC independently of data storage.
logStorage - manifest field to control the maximum number of concurrent transformation workflows in Argo Workflows (default: 20).
configuration.transformations.parallelism - field in the secret schema to enforce exact value length validation.
exactLength
Deprecated
- is deprecated; use
vpctl release initinstead.vpctl manifest init
Removed
- Breaking: manifest section (
configuration.licensingandFlexLM) removed. Parallelism is now controlled bysdkLicenses.configuration.transformations.parallelism
[0.6.0] - 2026-03-03
Added
- Version compatibility check: and
release generatenow verify that vpctl satisfies the minimum version required by the release package (secret generate). The command blocks execution and displays a clear upgrade message when vpctl is too old. Usecompatibility.yamlto bypass. Dev builds and RC versions are handled gracefully.--skip-version-check - flag: processes multiple images in parallel using a worker pool (default: 1 = sequential).
image sync --concurrency
Fixed
- no longer prints an irrelevant manifest-not-found warning.
vpctl version
[0.5.0] - 2026-02-23
Added
- manifest section with sizing profiles (
infrastructure,small,medium) and per-component resource overrides for MongoDB, PostgreSQL, RabbitMQ, object storage, and Elasticsearch.large - flag: checks if each image already exists on the target registry (via
image sync --skip-existing) and skips it, to avoid redundant pull an push cycles.docker manifest inspect - flag: removes local images (
image sync --cleanup) after each successful push, to free disk space on CI runners and local machines.docker rmi
[0.4.0]
Added
- manifest section to enable or disable Loki + Alloy log collection.
monitoring.logCollection - manifest section for ArgoCD deployment defaults (
deployment.argocd,repoURL,pathPrefix,destinationServer). CLI flags take precedence over manifest values when you provide both.targetRevision
Changed
- Breaking: Manifest field renamed to
docker.images.sourceRepository.imageSync.sourceRepository
[0.3.1]
Added
- Service mesh configuration in the manifest.
Changed
- Traefik configuration moved under the manifest section.
ingress
[0.3.0]
Added
- ArgoCD app-of-apps chart generation support ().
release generate --format argocd - command to initialize a new manifest file.
release init - command to uninstall a release.
release uninstall - RSA private key generation in the secret schema.
- flag on
--name,image sync, andrelease generateto filter to a single chart or image.release deploy - flag on
--dry-runandrelease deploy.image sync - Default storage class configuration for Kubernetes storage in the manifest.
- Network configuration in the manifest.
Changed
- now extracts to
release pullby default. Use./extracted-releaseto skip extraction; use--skip-extractto specify a custom extraction directory. Replaces the previous--extract-dirflag.--extract - Breaking: and
release deploynow execute by default. Useimage syncto preview commands. Previously they printed commands without executing.--dry-run - is now a no-op when the target registry is unset or equals the source registry (
image sync).uccmpprivatecloud.azurecr.io - Traefik configuration simplified to set up a service with annotations.
LoadBalancer
[0.2.0]
No customer-facing changes. (Internal updates to the secret-template format.)[0.1.0]
Added
- Initial release of the vpctl CLI tool.
- Application management commands: download, generate, and deploy.
- Manifest file support with automatic discovery, searched upward from CWD.
- Secret management commands: generate.
- Configuration management commands: view, set, and delete.
- command.
version