Skip to content

Releases: ionos-cloud/ionosctl

v6.9.9

14 Apr 10:18
4dcf121

Choose a tag to compare

[v6.9.9] – April 2026

Added

  • Added support for dbaas postgres-v2
  • Added --wait-for-request and --timeout flags to group user remove

Changed

  • Grouped all cloudapi-v6 commands under a compute subcommand, allowing custom behaviour or global flags for the entire API as a whole. All commands are also added as hidden commands onto the root command, to prevent breaking changes.
  • Change config generation logic to allow whitelisting or blacklisting by API version, not just name (e.g. --whitelist postgresql:v2 or --blacklist postgresql:v1)

Fixed

  • Fixed typos in alb rule httprule add and group user remove.
  • Fixed flag descriptions in image delete mentioning "update".
  • Fixed: in contract get --resource-limits throw an error if invalid limit selected, and added missing flag values.
  • Improved error messages for label delete

Full Changelog: v6.9.8...v6.9.9

v6.9.8

05 Mar 13:43
009a6e4

Choose a tag to compare

[v6.9.8] – March 2026

Changed

  • Changed --filters to be case insensitive, i.e. --filters nAmE is sent as filters.name to the API.

Fixed

  • Fixed null pointer reference panic when trying to access a custom, though non-existant --config / IONOS_CONFIG_FILE path.
  • Fixed file descriptor leak, data race on URL variable, and log.Fatal crash when reading confirmation input fails during image upload.
  • Fixed image upload polling accumulating API results across retries, sometimes causing "more images found than expected" errors when uploading to multiple locations.

Full Changelog: v6.9.7...v6.9.8

v6.9.7

17 Feb 13:50
ef023dd

Choose a tag to compare

[v6.9.7] – February 2026

Added

  • Added more descriptive error/help messages for required flags when --type is used in the 'ionosctl server create' command.
  • Added '--promote-volume' (which requires '--wait-for-state') to 'ionosctl server create --type CUBE' to automatically promote an attached DAS as the server's bootVolume after creation.

Fixed

  • Fixed --wait-for-state instantly erroring out with a 404 for certain resources, instead of waiting for the resource to appear.
  • Add support for Kafka Users
  • Add Kafka version tab-completions (currently only for 3.9.0) and remove docs mentions of the removed 3.7.0 version.

Changed

  • Changed the error message to make it detailed when generating a token with an invalid format.

Fixed

  • Add missing BrokerAddresses column for Kafka Clusters

Full Changelog: v6.9.6...v6.9.7

v6.9.6

13 Jan 10:20
280aa90

Choose a tag to compare

[v6.9.6] – January 2026

Added

  • Added GPU support for server creation and gpu list/get subcommands for the 'ionosctl server' command.
  • Added GPUs column for 'ionosctl template list/get' command.
  • Added GPU information for auto-completions for the --template-id flag for the 'ionosctl template list/get' command.

Changed

  • Changed nodepool default version to be the same as the cluster version on nodepool creation.

New Contributors

Full Changelog: v6.9.5...v6.9.6

v6.9.5

18 Dec 15:21
e7e768a

Choose a tag to compare

[v6.9.5] – December 2025

Added

  • Added support for controlling SDK log level via ['-v', '-vv', '-vvv'] flags, which control IONOS_LOG_LEVEL environment variable.
  • Added support for pagination via '--limit' and '--offset'
  • Added descriptions for the following flag completions: '--location', '--user-id', '--group-id', '--ipblock-id', '--volume-id'
  • Added support for '--query' which allows querying JSON outputs with JMESPath queries.
  • Added support for all query paramters as global flags:
    • --depth, --order-by, --limit, --offset, --filter,
    • --max-results / -M has been deprecated. Setting this flag will now just set --limit accordingly.
  • Added a clearer error for 'request list' if using a too-low depth, and receiving an empty output.

Changed

  • Flag '--max-results' has been deprecated and hidden in favor of the new global flag '--limit'. Setting '--max-results' will now just set '--limit' accordingly.
    WARNING: After this change, you may now find different results when using both '--filter' and '--max-results' together, as '--max-results' was applied before filtering, while '--limit' is applied after filtering.

  • Removed the following deprecated short-hand flags, due to conflicts with '-D' for '--depth' (previously, '--depth' was either not supported, or not implemented with a shorthand here):

    • '-D' for '--destination-ip' on 'firewallrule' commands (two usages)
    • '-D' for '--datacenter-id' on 'psql' commands (two usages)
    • These flags have changed their meaning to '--depth' instead, which is now supported globally.

Fixed

  • Fixed completions for '--datacenter-id' and '--lan-id' for DBaaS Replicaset commands
  • Fixed a panic when deleting a VPN Gateway due to description being nil.
  • Allow changing authentication URL for 'login' (and 'whoami' when using a token).
  • Fixed a bug where 'Respository could not be deleted' was always printed, even on successful deletion, for 'ionosctl container-registry repository delete' command.

Full Changelog: v6.9.4...v6.9.5

v6.9.4

26 Sep 08:13

Choose a tag to compare

[v6.9.4] – September 2025

Added

  • Added missing Certificate Manager v2 API resources (provider, autocert)
  • Added tab-completion descriptions for "--template-id" for CloudAPI commands 'server', 'template'.
  • Added support for 'NicMultiQueue' parameter for servers
  • Added '-l' shorthand for '--location' for registry create

Fixed

  • Fixed missing column 'DestinationIp' for 'firewall rule' command
  • Fixed missing columns 'RAM', 'PostgresVersion', 'Cores' for 'dbaas postgres' command
  • Mirror API change 'tokens' to 'items' for 'tokens list' fixing empty output
  • Remove 'dbaas mongo template list' StorageSize column conversion to GB as the API now already returns GB values

Changed

  • Changed column 'Ram' to 'RAM' for 'server', 'template' commands for consistency. (the flag '--cols' continues to be case-insensitive)
  • Changed default RAM size to the new minimum of 4GB for 'dbaas postgres'.
  • Changed config logic to align with terraform (see #591 for details)

Full Changelog: v6.9.3...v6.9.4

v6.9.3

04 Sep 13:02
e1f0978

Choose a tag to compare

[v6.9.3] – September 2025

Fixed

  • Fixed a bug where 'ionosctl dbaas postgres cluster create' would result in a 404.

Changed

  • Under 'dbass postgres', the shorthand flags of
    "--datacenter-id" ("D"), "instances", ("I"), "backup-location" ("B"),
    "maintenance-time" ("T"), "maintenance-day" ("d"), "version" ("V"),
    "recovery-time" ("R"), "backup-id" ("b"), "db-username" ("U"), "db-password" ("P")
    have been deprecated and will be removed in a future release

  • Under 'token delete', the shorthand flag of "--all" ("A") has been deprecated and will be removed in a future release,
    while the standard shorthand for "--all" ("a") has been added.

  • Under 'token', the shorthand flags of "--current" ("C") and "--expired" ("E")
    have been deprecated and will be removed in a future release

Dependencies

  • All dependencies bumped to their latest versions

Full Changelog: v6.9.2...v6.9.3

v6.9.2

19 Aug 13:10
ab383ab

Choose a tag to compare

[v6.9.2] – August 2025

Added

  • Added support for Observability Monitoring
  • Added support for 'central' under 'ionosctl logging-service'
  • Added support for deleting all labels of all compatible resources with ionosctl label remove --all, without specifying a resource type.
  • Added missing locations for all regional APIs
  • Added support for 'de/fra/2' location

Dependencies

  • Bump all dependencies, including SDKs, to their latest versions
  • Bump minimum go version to 1.24.5

Changed

  • Rework image upload --location logic to support both short and API-style location identifiers (e.g. vit and es/vit) when resolving FTP and API endpoints, which also allows using 'de/fra/2' location.
  • Improve verbose messages for 'image upload' command.
  • Improve 'dbaas mongo cluster update' help text by @fepape-ionos.
  • Removed 'dataplatform' commands, as the Dataplatform API has been sunsetted.

Full Changelog: v6.9.1...v6.9.2

v6.9.1

25 Jul 14:06
22b3ef2

Choose a tag to compare

[v6.9.1] – July 2025

Changed

  • Changed config generation product name from 'compute' to 'cloud' for CloudAPI, though existing configurations using 'compute' key will continue to work.

Fixed

  • Fixed a bug where the fallback to IONOS_CONFIG_FILE and ~/.ionos/config was not working correctly
  • Fixed 'ionosctl mongo cluster update' sending a payload containing certain nil/empty values to the API, which would cause a 500 Internal Server Error.
  • Fixed a bug where config overrides were ignored for certain CloudAPI commands

New Contributors

Full Changelog: v6.9.0...v6.9.1

v6.9.0

21 Jul 12:14

Choose a tag to compare

[v6.9.0] – July 2025

Warning

This version introduces important changes to the config subsystem.
Legacy JSON configs (~/.ionosctl/config.json or ~/snap/…/config.json) are no longer supported and should be removed.
On first run, existing credentials will be copied over into the new YAML format, but you should run:

ionosctl config login

to regenerate a fresh config and take full advantage of the new features.
as well as

ionosctl logout --only-purge-old

to delete the old config file.

Impact and Migration Notes

  • Credentials found in any legacy config.json will be carried over.
  • Although you can continue to use the CLI as is, it is highly recommended to delete all config.json files and re-run ionosctl login to produce a YAML config with all the new features.

Added

  • Added support for the new SDK YAML config layout:

    • Generate a complete config to a file via ionosctl config login.
    • Generate an example config to stdout via ionosctl config login --example.
    • Migrate existing credentials from config.json with a one-time deprecation warning.
    • Support multiple profiles and multiple environments with per-product and per-location URL overrides in a single YAML.
    • For now, use IONOS_CURRENT_PROFILE to set the current profile, though better CLI support will be added in the future.
    • Adds fallbacks to IONOS_CONFIG_FILE (SDKs config env var) and ~/.ionos/config (SDKs config location) for config file location, if not found at flag '--config'.
  • Added --example flag to ionosctl config login:

    • Prints a sample YAML config to stdout without authenticating or writing any file.
  • Added a spinner loading animation for ionosctl config login only if generating to a file and API index polling takes more than 250ms.

  • Added filtering options to ionosctl config login:

    • --filter-version
    • --filter-visibility
    • --filter-gate
    • --whitelist / --blacklist
    • --custom-names for remapping API names in the generated config.

Changed

  • Changed authentication precedence and updated whoami to reflect:

    1. IONOS_TOKEN env var
    2. IONOS_USERNAME + IONOS_PASSWORD env vars
    3. Token in YAML config
    4. Username/password in YAML config
  • Changed ionosctl config logout to:

    • Clear credentials from the YAML.
    • Detect side-by-side config.json, prompt for deletion, and remove on confirmation.
  • Changed ionosctl config location resolution order to:

    1. --config flag
    2. IONOS_CONFIG_FILE env var
    3. SDK default (~/.ionos/config.yaml)
    • If no file exists, it still prints the --config value to avoid breaking changes.
  • Changed Certificate Manager API to /v2

  • Certificate Manager commands are now nested under certificate resource, but the old commands are still available (though hidden in the helptext) for backwards compatibility

  • Certificate Manager command api-version is now no longer available, has been hidden and deprecated, and using it will print a warning as well as a dummy value v2.0

  • Added a few friendly certificate manager aliases