Skip to content

Tags: hetznercloud/hcloud-python

Tags

v2.20.0

Toggle v2.20.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.20.0 (#651)

<!-- section-start changelog -->
### Load Balancer HTTP Services now support `timeout_idle`

HTTP Services now support the field `timeout_idle`, which controls the
time a HTTP connection is allowed to idle before it is being dropped.

See the
[changelog](https://docs.hetzner.cloud/changelog#2026-04-30-load-balancers-http-idle-timeout-can-now-be-configured)
for more information.

### Features

- **load-balancer**: support `timeout_idle` http service field (#649)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
### Load Balancer HTTP Services now support `timeout_idle`

HTTP Services now support the field `timeout_idle`, which controls the
time a HTTP connection is allowed to idle before it is being dropped.

See the
[changelog](https://docs.hetzner.cloud/changelog#2026-04-30-load-balancers-http-idle-timeout-can-now-be-configured)
for more information.
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.19.0

Toggle v2.19.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.19.0 (#648)

### Primary IPs `assignee_type` behavior change

In the create Primary IP call, the `assignee_type` argument is now only
send when the `assignee_id` argument is set. The `assignee_type`
argument will stop defaulting to `server` in the near future, consider
explicitly setting this argument when needed.

As of 1 August 2026, the behavior of the Primary IP `assignee_type`
property will change, and will return `unassigned` when the Primary IP
is not assigned (when `assignee_id` is `null`). The goal is to
eventually assign Primary IPs to other resource types, not only to
`server`.

See the
[changelog](https://docs.hetzner.cloud/changelog#2026-04-27-primary-ips-will-return-unassigned)
for more details.

In addition, the Primary IP request body `assignee_type` property of the
operation [`POST
/v1/primary_ips`](https://docs.hetzner.cloud/reference/cloud#tag/primary-ips/create_primary_ip)
is now optional. Primary IPs created without `assignee_type` return
`server` until 1 August 2026, after this date, its value will be
`unassigned`.

See the
[changelog](https://docs.hetzner.cloud/changelog#2026-04-27-primary-ips-make-assignee_type-optional)
for more details.

### Features

- **primary-ip**: `assignee_type` behavior changed when creating a
primary ip (#647)

v2.18.0

Toggle v2.18.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.18.0 (#646)

<!-- section-start changelog -->
### Available and recommended Server Types have been moved

`Datacenter.server_types` has been deprecated in favor of the new
`ServerType.locations[].available` and
`ServerType.locations[].recommended` properties.

See the
[changelog](https://docs.hetzner.cloud/changelog#2026-04-01-datacenter-deprecations)
for more details.

### Features

- **datacenter, server_type**: move available and recommended to
server_type (#645)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
### Available and recommended Server Types have been moved

`Datacenter.server_types` has been deprecated in favor of the new
`ServerType.locations[].available` and
`ServerType.locations[].recommended` properties.

See the
[changelog](https://docs.hetzner.cloud/changelog#2026-04-01-datacenter-deprecations)
for more details.
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.17.1

Toggle v2.17.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.17.1 (#640)

<!-- section-start changelog -->
### Bug Fixes

- missing `__api_properties__` on LoadBalancerService (#639)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.17.0

Toggle v2.17.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.17.0 (#634)

<!-- section-start changelog -->
### Features

- parse nested load balancer `label_selector` targets (#633)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.16.0

Toggle v2.16.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.16.0 (#628)

<!-- section-start changelog -->
### Storage Boxes support is now generally available

The experimental phase for Storage Boxes is over, and Storage Boxes
support is now generally available.

### Features

- **servers**: allow setting user_data for rebuild (#627)
- Storage Box support no longer experimental (#626)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
### Storage Boxes support is now generally available

The experimental phase for Storage Boxes is over, and Storage Boxes
support is now generally available.
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.15.0

Toggle v2.15.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.15.0 (#622)

<!-- section-start changelog -->
### Features

- add name to Storage Box Subaccount (#621)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.14.0

Toggle v2.14.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.14.0 (#618)

<!-- section-start changelog -->
### Features

- retry requests when the api returns a `timeout` error (#617)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.13.0

Toggle v2.13.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.13.0 (#610)

<!-- section-start changelog -->
### Features

- add per primary ip actions list operations (#608)
- deprecate datacenter in `primary ips` and `servers` (#609)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

~~~~rp-prefix
~~~~

### Suffix / End

This will be added to the end of the release notes.

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>

v2.12.0

Toggle v2.12.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release v2.12.0 (#599)

### Storage Box API Experimental

This release adds support for the [Storage Box
API](https://docs.hetzner.cloud/reference/hetzner#storage-boxes).

The Storage Box integration will be introduced as an **experimental**
feature. This experimental phase is expected to last at least until **12
January 2026**. During this period, upcoming minor releases of the
project may include breaking changes to features related to Storage
Boxes.

This release includes all changes from the recent [Storage Box API
changelog](https://docs.hetzner.cloud/changelog#2025-10-21-storage-box-api-update)
entry.

#### Examples

```python
response = client.storage_boxes.create(
    name="string",
    location=Location(name="fsn1"),
    storage_box_type=StorageBoxType(name="bx11"),
    labels={
        "environment": "prod",
        "example.com/my": "label",
        "just-a-key": "",
    },
    password="my-password",
    access_settings=StorageBoxAccessSettings(
        reachable_externally=False,
        samba_enabled=False,
        ssh_enabled=False,
        webdav_enabled=False,
        zfs_enabled=False,
    ),
    ssh_keys=[SSHKey(public_key="ssh-rsa AAAjjk76kgf...Xt")],
)

response.action.wait_until_finished()

storage_box = response.storage_box
```

### Features

- add update rrset records action to zone client (#597)
- add support for Storage Boxes (#524)