Skip to content

Conversation

@jooola
Copy link
Member

@jooola jooola commented Oct 7, 2025

Add support for the new DNS API.

The DNS API is currently in beta.

See the DNS API beta changelog for more details.

Add support for the new [DNS API](https://docs.hetzner.cloud/reference/cloud#dns).

The DNS API is currently in **beta**.

See the [DNS API beta changelog](https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta) for more details.
@codecov
Copy link

codecov bot commented Oct 7, 2025

Codecov Report

❌ Patch coverage is 90.73634% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.82%. Comparing base (4b3ac8c) to head (e133c26).
⚠️ Report is 46 commits behind head on main.

Files with missing lines Patch % Lines
hcloud/zones/client.py 86.85% 33 Missing ⚠️
hcloud/zones/domain.py 96.31% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #568      +/-   ##
==========================================
- Coverage   96.54%   95.82%   -0.72%     
==========================================
  Files          64       67       +3     
  Lines        2980     3401     +421     
==========================================
+ Hits         2877     3259     +382     
- Misses        103      142      +39     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jooola jooola merged commit fe49a67 into main Oct 7, 2025
10 checks passed
@jooola jooola deleted the dns branch October 7, 2025 08:15
jooola pushed a commit that referenced this pull request Oct 7, 2025
<!-- section-start changelog -->
### DNS API Beta

This release adds support for the new [DNS
API](https://docs.hetzner.cloud/reference/cloud#dns).

The DNS API is currently in **beta**, which will likely end on 10
November 2025. After the beta ended, it will no longer be possible to
create new zones in the old DNS system. See the [DNS Beta
FAQ](https://docs.hetzner.com/networking/dns/faq/beta) for more details.

Future minor releases of this project may include breaking changes for
features that are related to the DNS API.

See the [DNS API Beta
changelog](https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta) for
more details.

**Examples**

```py
resp = client.zones.create(
    name="example.com",
    mode="primary",
    labels={"key": "value"},
    rrsets=[
        ZoneRRSet(
            name="@",
            type="A",
            records=[
                ZoneRecord(value="201.180.75.2", comment="server1")
            ],
        )
    ],
)

resp.action.wait_until_finished()
zone = resp.zone
```

### Features

- add new `ip_range` param to load balancer `attach_to_network` (#562)
- add new `ip_range` param to server `attach_to_network` (#561)
- support the new DNS API (#568)

### Bug Fixes

- source_ips property is optional in firewall rule (#567)

<!-- 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
### DNS API Beta

This release adds support for the new [DNS
API](https://docs.hetzner.cloud/reference/cloud#dns).

The DNS API is currently in **beta**, which will likely end on 10
November 2025. After the beta ended, it will no longer be possible to
create new zones in the old DNS system. See the [DNS Beta
FAQ](https://docs.hetzner.com/networking/dns/faq/beta) for more details.

Future minor releases of this project may include breaking changes for
features that are related to the DNS API.

See the [DNS API Beta
changelog](https://docs.hetzner.cloud/changelog#2025-10-07-dns-beta) for
more details.

**Examples**

```py
resp = client.zones.create(
    name="example.com",
    mode="primary",
    labels={"key": "value"},
    rrsets=[
        ZoneRRSet(
            name="@",
            type="A",
            records=[
                ZoneRecord(value="201.180.75.2", comment="server1")
            ],
        )
    ],
)

resp.action.wait_until_finished()
zone = resp.zone
```
~~~~

### Suffix / End

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

~~~~rp-suffix
~~~~

</details>

Co-authored-by: Hetzner Cloud Bot <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants