Skip to navigation

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.