Skip to content

Releases: hetznercloud/hcloud-go

v2.13.1

09 Aug 13:06
5a84dd9
Compare
Choose a tag to compare

2.13.1 (2024-08-09)

Bug Fixes

  • invalid_input API errors may not return details (#507) (ca78af2)

v1.59.1

09 Aug 13:06
f531ce8
Compare
Choose a tag to compare

1.59.1 (2024-08-09)

Bug Fixes

  • invalid_input API errors may not return details (bfa3803)

v2.13.0

06 Aug 08:05
60c5428
Compare
Choose a tag to compare

2.13.0 (2024-08-06)

Features

  • network: add new network zone ap-southeast (#501) (a79a06b)

Bug Fixes

v1.59.0

06 Aug 08:09
be7345b
Compare
Choose a tag to compare

1.59.0 (2024-08-06)

Features

  • network: add new network zone ap-southeast (#502) (0104ec0)

v2.12.0

25 Jul 11:13
482aee2
Compare
Choose a tag to compare

2.12.0 (2024-07-25)

API Changes for Traffic Prices and Server Type Included Traffic

There will be a breaking change in the API regarding Traffic Prices and Server Type Included Traffic on 2024-08-05. This release marks the affected fields as Deprecated. Please check if this affects any of your code and switch to the replacement fields where necessary.

You can learn more about this change in our changelog.

Upgrading

Server Type Included Traffic

If you were using the field hcloud.ServerType.IncludedTraffic, you can now get the information through hcloud.ServerType.Pricings:

func main() {
// previous
includedTraffic := serverType.IncludedTraffic

    // now
    locationOfInterest := "fsn1"
    var includedTraffic uint64
    for _, price := range serverType.Pricings {
        if price.Location.Name == locationOfInterest {
            includedTraffic = price.IncludedTraffic
            break
        }
    }
}
Traffic Prices

If you were using the field hcloud.Pricing.Traffic, you can now get the information through hcloud.Pricing.ServerTypes or hcloud.Pricing.LoadBalancerTypes:

func main() {
// previous
trafficPrice := pricing.Traffic

    // now
    serverTypeOfInterest := "cx22"
    locationOfInterest := "fsn1"

    var trafficPrice hcloud.Price
    for _, serverTypePricings := range pricing.ServerTypes {
        if serverTypePricings.ServerType.Name == serverTypeOfInterest {
            for _, price := range serverTypePricings {
               if price.Location.Name == locationOfInterest {
                   trafficPrice = price.PerTBTraffic
                   break
               }
            }
        }
    }
}

Features

  • add jitter in the client default retry exponential backoff (#492) (6205076)
  • add new WithPollOpts client option (#493) (2c1a2d6)
  • allow checking multiple errors codes in IsError (#491) (af59ab8)
  • load-balancer-type: new traffic price fields (94e0f44)
  • pricing: mark traffic field as deprecated (94e0f44)
  • server-type: mark included traffic field as deprecated (94e0f44)
  • server-type: new traffic price fields (94e0f44)

v1.58.0

25 Jul 11:35
108237d
Compare
Choose a tag to compare

1.58.0 (2024-07-25)

API Changes for Traffic Prices and Server Type Included Traffic

There will be a breaking change in the API regarding Traffic Prices and Server Type Included Traffic on 2024-08-05. This release marks the affected fields as Deprecated. Please check if this affects any of your code and switch to the replacement fields where necessary.

You can learn more about this change in our changelog.

Upgrading

Server Type Included Traffic

If you were using the field hcloud.ServerType.IncludedTraffic, you can now get the information through hcloud.ServerType.Pricings:

func main() {
// previous
includedTraffic := serverType.IncludedTraffic

    // now
    locationOfInterest := "fsn1"
    var includedTraffic uint64
    for _, price := range serverType.Pricings {
        if price.Location.Name == locationOfInterest {
            includedTraffic = price.IncludedTraffic
            break
        }
    }
}
Traffic Prices

If you were using the field hcloud.Pricing.Traffic, you can now get the information through hcloud.Pricing.ServerTypes or hcloud.Pricing.LoadBalancerTypes:

func main() {
// previous
trafficPrice := pricing.Traffic

    // now
    serverTypeOfInterest := "cx22"
    locationOfInterest := "fsn1"

    var trafficPrice hcloud.Price
    for _, serverTypePricings := range pricing.ServerTypes {
        if serverTypePricings.ServerType.Name == serverTypeOfInterest {
            for _, price := range serverTypePricings {
               if price.Location.Name == locationOfInterest {
                   trafficPrice = price.PerTBTraffic
                   break
               }
            }
        }
    }
}

Features

  • load-balancer-type: new traffic price fields (90c3110)
  • pricing: mark traffic field as deprecated (90c3110)
  • server-type: mark included traffic field as deprecated (90c3110)
  • server-type: new traffic price fields (90c3110)

v2.11.0

23 Jul 09:18
cf9fdaf
Compare
Choose a tag to compare

2.11.0 (2024-07-23)

Features

  • add truncated exponential backoff with full jitter (#459) (fd1f46c)
  • allow configuring retry options (#488) (2db9575)
  • exp: add sliceutil package (#489) (f4ad6bc)
  • exp: rename *utils package to *util (#487) (19da475)
  • respect cancelled contexts during retry sleep (#470) (756f605)
  • retry requests when the api gateway errors (#470) (756f605)
  • retry requests when the network timed out (#470) (756f605)
  • retry requests when the rate limit was reached (#470) (756f605)

Bug Fixes

v2.10.2

26 Jun 12:39
96d4226
Compare
Choose a tag to compare

2.10.2 (2024-06-26)

Bug Fixes

  • exp: allow request path matching in the want function (#475) (267879b)

v2.10.1

25 Jun 13:36
7ac80d7
Compare
Choose a tag to compare

2.10.1 (2024-06-25)

Bug Fixes

  • exp: configure response headers before sending them (#473) (07d4a35)

v2.10.0

25 Jun 07:42
baf8806
Compare
Choose a tag to compare

2.10.0 (2024-06-25)

Features

Bug Fixes

  • nil check against the embedded http.Response (#469) (46e489a)