Driftwatch

Hetzner / Hetzner Cloud API /

Breaking

Response field deprecated removed

What changed

Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.

Affects GET /images.

Who is affected

Code that reads GET /images (images[].deprecated).

Before and after

WhereBeforeAfter
GET /images · images[].deprecatedpresentabsent
GET /load_balancer_types · load_balancer_types[].deprecatedpresentabsent
GET /images/{id} · image.deprecatedpresentabsent
PUT /images/{id} · image.deprecatedpresentabsent
GET /load_balancer_types/{id} · load_balancer_type.deprecatedpresentabsent
GET /load_balancers · load_balancers[].load_balancer_type.deprecatedpresentabsent
POST /load_balancers · load_balancer.load_balancer_type.deprecatedpresentabsent
GET /load_balancers/{id} · load_balancer.load_balancer_type.deprecatedpresentabsent
PUT /load_balancers/{id} · load_balancer.load_balancer_type.deprecatedpresentabsent
GET /server_types · server_types[].deprecatedpresentabsent
GET /server_types/{id} · server_type.deprecatedpresentabsent
GET /servers · servers[].image.deprecatedpresentabsent
GET /servers · servers[].server_type.deprecatedpresentabsent
POST /servers · server.image.deprecatedpresentabsent
POST /servers · server.server_type.deprecatedpresentabsent
GET /servers/{id} · server.image.deprecatedpresentabsent
GET /servers/{id} · server.server_type.deprecatedpresentabsent
PUT /servers/{id} · server.image.deprecatedpresentabsent
PUT /servers/{id} · server.server_type.deprecatedpresentabsent
POST /servers/{id}/actions/create_image · image.deprecatedpresentabsent

Code that breaks

// response.images[0].deprecated is now undefined
const deprecated = response.images[0].deprecated;

Based on Hetzner’s published API specification. How severity is decided.