1.39.0
(fix): Pagination now works when the next cursor, the items, or the has-next-page flag is nested inside the
response (e.g. $response.pagination.nextToken). The pager used to read only the last field name
from the top-level response (response.next_token), which raised NoMethodError. It now follows
the full path (response.pagination.next_token).
(feat): Generated wire tests now cover every example of an endpoint instead of only the first, including
autogenerated error examples (one per error) for endpoints without a user-specified error example.
Error tests assert the typed error raised for the status code (assert_raises) along with its status
code and body. Each test’s X-Test-Id header selects a dedicated WireMock mapping that serves that
example’s response, success mappings use the endpoint’s declared status code, and the test client
disables retries. Set wireTestsFallbackToAutoGeneratedErrorExamples: false to leave out the
autogenerated error examples.
1.38.2
(fix): Models no longer keep an unknown JSON key as an extra field when it matches a declared field
case-insensitively (e.g. VALUE next to value). Previously the extra key was re-emitted after the
declared field, so a case-insensitive, last-wins JSON decoder downstream (such as Go’s encoding/json)
read the extra key’s value instead of the declared field’s. Non-colliding unknown keys are still
preserved and re-emitted. XML-encoded models are unchanged, since XML attribute names are case-sensitive.