1.17.0

(feat): Add support for auto-generating an idempotency-key request header. This is now driven entirely by the IR (SdkConfig.idempotencyKeyGeneration), resolved once by the CLI from the auto-generate-idempotency-key generator config key, so the header name and the set of eligible HTTP methods are read identically across every generator. When enabled, the generated SDK attaches the configured header (defaulting to Idempotency-Key) on the configured methods (defaulting to POST and PUT) with a freshly generated UUIDv4 (SecureRandom.uuid) at request time. For endpoints that declare a matching idempotency header the caller-supplied value wins and the generated UUID is only the fallback. When the IR does not enable the feature, generated output is unchanged.

(chore): Upgrade the generator to consume IR v67.

1.16.0

(feat): Add support for server URL variables (e.g. region/edge routing). Server variables defined on the API’s environments are now exposed as optional string keyword arguments on the client initializer and interpolated into the base URL(s) when provided, falling back to each variable’s default. Reserved option names are de-collided by prefixing with server_url_ (e.g. a variable named environment is exposed as server_url_environment).

1.15.5

(fix): Fix smart-casing snake_case names dropping the word boundary after a number. Sub-client accessors and methods like ConversationsV2Configuration now generate conversations_v2_configuration instead of conversations_v2configuration.

1.15.4

(fix): Decompress gzip and deflate encoded response bodies when the Accept-Encoding header is set explicitly on the request. Net::HTTP disables its transparent response decoding as soon as the caller sets an Accept-Encoding header, so responses to requests with a spec-defined Accept-Encoding: gzip header were previously returned as raw gzip bytes.

1.15.3

(fix): Fix reference.md endpoint titles to show path parameters in keyword-argument form (e.g. fetch_store(store_id:) instead of fetch_store(store_id)). Generated Ruby methods only accept keyword arguments, so the previous positional-looking titles were misleading.