Releases: hetznercloud/hcloud-python
v2.11.1
v2.11.0
DNS API is now generally available
The DNS API is now generally available, as well as support for features in this project that are related to the DNS API.
To migrate existing zones to the new DNS API, see the DNS migration guide.
See the changelog for more details.
Features
- DNS support is now generally available (#581)
v2.10.0
v2.9.0
v2.8.0
DNS API Beta
This release adds support for the new DNS API.
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 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 for more details.
Examples
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.zoneFeatures
- add new
ip_rangeparam to load balancerattach_to_network(#562) - add new
ip_rangeparam to serverattach_to_network(#561) - support the new DNS API (#568)
Bug Fixes
- source_ips property is optional in firewall rule (#567)
v2.7.0
Server Types now depend on Locations.
-
We added a new
locationsproperty to the Server Types resource. The new property defines a list of supported Locations and additional per Locations details such as deprecations information. -
We deprecated the
deprecationproperty from the Server Types resource. The property will gradually be phased out as per Locations deprecations are being announced. Please use the new per Locations deprecation information instead.
See our changelog for more details.
Upgrading
# Before
def validate_server_type(server_type: ServerType):
if server_type.deprecation is not None:
raise ValueError(f"server type {server_type.name} is deprecated")# After
def validate_server_type(server_type: ServerType, location: Location):
found = [o for o in server_type.locations if location.name == o.location.name]
if not found:
raise ValueError(
f"server type {server_type.name} is not supported in location {location.name}"
)
server_type_location = found[0]
if server_type_location.deprecation is not None:
raise ValueError(
f"server type {server_type.name} is deprecated in location {location.name}"
)Features
- per location server types (#558)