> For the complete documentation index, see [llms.txt](https://docs.ionos.com/docker-machine-driver-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/docker-machine-driver-1/changelog.md).

# Changelog

## \[7.0.4]

### Changed

* improvement:
  * use composite requests to reduce the number of calls made

## \[7.0.3]

### Changed

* added:
  * option connect to additional lans, flag and option added in RKE1 and RKE2 UIs
  * added new cpu family options in UI
* fixed:
  * driver was trying to get server state without knowing the server ID
  * RKE2: making servers in pool1 start while the others wait to try to avoid creating multiple datacenter
  * cloudinit input was not should the old value when updating the config
* known issues:
  * multiple data centers and LANs are created in RKE2 if there are multiple machines in pool1, this is because the driver does not know which machine should go first

## \[7.0.2]

### Changed

* added:
  * option to configure rules and flowlogs on the created NAT
* changed:
  * default nat rules are not created with target subnet nil
* fixed:
  * driver was failing while trying to remove resources
  * driver was not removing the NAT gateway if it was created
  * some options on the RKE2 configuration war overriden when using edit (fixed in UI extension v0.1.1)
  * natLansToGateways did not work with edit (fixed in UI extension v0.1.1)

## \[7.0.1]

### Changed

* changed:
  * removed debug info log for `GetIP`: "Using IP x.x.x.x to connect"

## \[7.0.0]

### Changed

* renamed:
  * `user-data` to `cloud-init`
  * `user-data-b64` to `cloud-init-b64`
  * `ssh-in-user-data` to `ssh-in-cloud-init`

### Fixed

* fixed:
  * driver ip not being set if it was private
  * ipblock delete request was sent even if no ipblock existed
  * start and stop not working for CUBE servers

## \[7.0.0-rc.2]

### Changed

* fixed:
  * driver ip not being set if it was private
  * ipblock delete request was set even if no ipblock existed

## \[7.0.0-rc.1]

### Changed

* renamed:
  * `user-data` to `cloud-init`
  * `user-data-b64` to `cloud-init-b64`
  * `ssh-in-user-data` to `ssh-in-cloud-init`

## \[6.1.3]

### Added

* Added `ionoscloud-nic-dhcp` and `ionoscloud-nic-ips` which allow to change the properties of the NIC which will be created

### Fixes

* Fixed some issues regarding IP allocation when creating a NAT Gateway

### Changed

* default NIC DHCP is now set to false

## \[6.1.2]

### Added

* Added `ionoscloud-nat-id` and `ionoscloud-nat-name` which allows using a pre-configured NAT Gateway if it exists, by searching for the NAT with the given name in the given Datacenter. Setting the id will ignore the name flag
* Added `ionoscloud-create-nat` which creates a NAT if set
* Added customization options for the NAT `ionoscloud-nat-public-ips` (a list of Public IPs) and `ionoscloud-nat-lans-to-gateways` (mappings of Lans to Gateway IPs) which are optional (used in conjunction with `create-nat`)
* Added `ionoscloud-private-lan` which, if set to True, will make the default LAN be private. Note that creating a NAT required a private LAN, so either set this to true, or provide an already existing private LAN via `ionoscloud-lan-id` or `ionoscloud-lan-name`.

## Use with Rancher

```
* Download URL: https://github.com/ionos-cloud/docker-machine-driver/releases/download/v6.1.2/docker-machine-driver-6.1.2-linux-amd64.tar.gz
* Custom UI URL:  https://cdn.jsdelivr.net/gh/ionos-cloud/ui-driver-ionoscloud@main/releases/latest/component.js
* Whitelist Domains: cdn.jsdelivr.ne
```

## \[6.1.1]

### Fixed

* Fixed `failed to create server due to error: [(root).entities.volumes.items.[0].properties.sshKeys] Invalid SSH key. Maximum allowed key size is 8K (8192 characters) and it can not be empty. Given ssh key length: 0 characters`

## \[6.1.0]

### Added

* Added the [**IONOS UI Driver**](https://github.com/ionos-cloud/ui-driver-ionoscloud), for users of the Rancher docker image. To use the custom UI, use following fields when adding the driver:

  * Custom UI URL: <https://cdn.jsdelivr.net/gh/ionos-cloud/ui-driver-ionoscloud@main/releases/latest/component.js>
  * Whitelist Domains: cdn.jsdelivr.net

  We highly recommend using this UI Driver if you are using the Rancher docker image.
* Added the option to customize the SSH User that Rancher uses to connect to the Docker Host (`ionoscloud-ssh-user`). [#49](https://github.com/ionos-cloud/docker-machine-driver/pull/49)
* Added the option to select an existing LAN in which to provision the Docker Host (`ionoscloud-lan-id`). Using this option requires you to set the Datacenter ID as well (`ionoscloud-datacenter-id`). [#42](https://github.com/ionos-cloud/docker-machine-driver/pull/42)
* Added support for CUBE servers (#63)
* Added ability to select existing LAN or Datacenter by name. (#54)

### Changed

* Changed cloud-init parameter behaviour:
  * changed: `ionoscloud-user-data` parameter now takes multiline text as input.
  * added: `ionoscloud-user-data-b64` flag, which takes a b64 encoded string. This field will only be evaluated if `ionoscloud-user-data` is empty.
* Changed default image alias to ubuntu20, as currently the Docker Machine Driver only supports id-rsa ssh keys, which cannot be used to connect to ubuntu22 VMs

### Fixed

* Fixed error messages getting cut off at the newline mark
* Fixes related to user data: Cloud Config YAML was not encoded, and users would be duplicated if the ssh User wasn't root

### Known Issues

* Currently, ubuntu:22.04 (aka ubuntu:latest) is unsupported for the Rancher docker image.

## \[6.1.0-rc.2]

### Fixes

* error messages cutoff
* user data not encoded when sshUser is root

## \[6.1.0-rc.1]

### Added

* Added the [**IONOS UI Driver**](https://github.com/ionos-cloud/ui-driver-ionoscloud), for users of the Rancher docker image. To use the custom UI, use following fields when adding the driver:

  * Custom UI URL: <https://cdn.jsdelivr.net/gh/ionos-cloud/ui-driver-ionoscloud@0.1.0/releases/v0.1.0/component.js>
  * Whitelist Domains: cdn.jsdelivr.net

  We highly recommend using this UI Driver if you are using the Rancher docker image.
* Added the option to customize the SSH User that Rancher uses to connect to the Docker Host (`ionoscloud-ssh-user`). [#49](https://github.com/ionos-cloud/docker-machine-driver/pull/49)
* Added the option to select an existing LAN in which to provision the Docker Host (`ionoscloud-lan-id`). Using this option requires you to set the Datacenter ID as well (`ionoscloud-datacenter-id`). [#42](https://github.com/ionos-cloud/docker-machine-driver/pull/42)

### Changed

* Changed cloud-init parameter behaviour:
  * changed: `ionoscloud-user-data` parameter now takes multiline text as input.
  * added: `ionoscloud-user-data-b64` flag, which takes a b64 encoded string. This field will only be evaluated if `ionoscloud-user-data` is empty.

### Known Issues

* Currently, ubuntu:22.04 (aka ubuntu:latest) is unsupported for the Rancher docker image.

## \[6.0.1]

* Added: `user-data` parameter support for volumes: You can now export `IONOSCLOUD_USER_DATA` or use flag `ionoscloud-user-data` to set the volume's cloud init. Needs to be a base64 encoded string
* dependency-updates:
  * SDK Go `v6.1.3`
  * go `1.18`

## \[6.0.0]

* first release of Docker Machine Driver using SDK Go v6 🎉
* dependency-update: added SDK Go `v6.0.0`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/docker-machine-driver-1/changelog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
