0.47.8
(fix): A request body declared application/x-www-form-urlencoded is now form-encoded
instead of being sent as a JSON document under an application/json header. Those
endpoints went through execute_request, whose .json() both serializes to JSON and
stamps the header, so neither the bytes nor the content type matched the declaration.
0.47.7
(fix): A JSON request body declared under a media type other than application/json - a
vendor type, or application/merge-patch+json - is now sent under that type instead
of application/json. execute_request calls reqwest’s .json(), which stamps
application/json over whatever the endpoint declared, so those endpoints now take a
variant that sets the header and serializes the body identically. Emitted only when an
endpoint declares such a type, so an SDK that never does is unchanged.
0.47.6
(fix): An array query parameter declared style: form with explode: false is now sent as
one comma-joined value instead of a repeated key. The IR has always carried explode
and the Rust generator read it nowhere, so every array went out exploded regardless of
what the endpoint declared. An empty array still produces no parameter.
0.47.5
(fix): Basic auth credentials are now sent. An API whose only security scheme is basic auth
generated a client that applied NO credential at all: the client-wide auth path
applied an API key and a bearer token but had no basic branch, username and
password sat unread on the config, and the one Authorization header in the
generated client was gated on config.token, which such an API never sets. Only
per-endpoint auth routing handled basic auth.
0.47.4
(fix): A string field sent alongside a file in a multipart body is now written verbatim
instead of being JSON-serialized first. serde_json::to_string wrapped it in quotes
and those quotes reached the server as part of the value, so a 13-character caption
arrived as 15. Structured parts (objects, arrays, maps) still go as JSON; numbers and
booleans were never affected.
0.47.3
(fix): A raw-bytes request body is now sent under the content type the endpoint declares
instead of always application/octet-stream. The IR has always carried it on the
bytes body, and the C#, Python and TypeScript generators already stamped it; Rust
hard-coded the header in execute_bytes_request. An endpoint that declares no
content type still sends application/octet-stream.