1.17.7

(fix): Revert the smart-casing digit/word boundary behavior introduced in 1.15.5. snake_case names keep a digit run fused to the following word (conversations_v2configuration), restoring pre-1.15.5 output. The behavior will become opt-in via the new smart-casing-digit-word-boundary option in generators.yml once the generator consumes the IR version that carries the setting.

1.17.6

(fix): Endpoints now send service- and endpoint-level headers whose types are literals (e.g. Accept-Encoding: literal<"gzip">). Previously these headers were silently dropped for endpoints without a request wrapper, and service-level literal headers were never sent at all. Caller-supplied values via the request params still take precedence over the literal defaults.

1.17.5

(fix): Cap generated type filenames at 100 characters so gem build no longer fails with Gem::Package::TooLongFileName (RubyGems packages into a tar format whose header caps filenames at 100 chars). Deeply nested inline types — such as anonymous oneOf variants — could previously overflow this limit. When a name is too long it is truncated and a short deterministic hash is appended to keep it unique. This changes only the filename and its require_relative; the module/class name is unchanged, so it is non-breaking for consumers, who reference the constant rather than the file.

1.17.4

(fix): Send request bodies declared with the application/x-www-form-urlencoded content type (e.g. OAuth token endpoints) as form-urlencoded instead of JSON. A new Internal::UrlEncoded::Request encodes the body with URI.encode_www_form and sets the Content-Type: application/x-www-form-urlencoded header.

1.17.3

(fix): Expose non-literal global headers without a client default as root client constructor parameters. Headers with a declared env default to that environment variable (e.g. version: ENV.fetch("MY_API_VERSION", nil)), and the header is only sent when the value is non-nil. Previously such headers were omitted entirely and could only be sent via per-request additional_headers.

1.17.2

(fix): Serialize request bodies declared as aliases of objects through the aliased class so wire names are applied. Previously the raw params hash was sent, so properties whose Ruby name differs from the API wire name (e.g. display_name vs. displayName) were sent with the wrong key.

1.17.1

(fix): Send grant_type: "client_credentials" in the OAuth token request when the token endpoint’s grant_type property is a non-literal string. Previously the property was omitted (when optional) or surfaced as a required constructor parameter (when required), so token endpoints that require grant_type rejected the request.