Skip to content

Releases: studio-design/openapi-contract-testing

v1.7.0

18 May 12:23
5565215

Choose a tag to compare

1.7.0 (2026-05-18)

Features

  • schema: warn when dependentSchemas / dependentRequired is encountered (#243) (8ea767e)
  • symfony: add OpenApiAssertions trait for HttpFoundation contract testing (#245) (cccc57d)

Bug Fixes

  • adapters: align adapter JSON content-type detection with ContentTypeMatcher (#253) (61a8299)
  • adapters: type-check literal JSON null / scalar request & response bodies (#247) (f7de459)
  • validation: guard response validation against malformed content and response specs (#257) (18b0a98)
  • validation: guard spec traversal against malformed structural nodes (#259) (#260) (f25c0bb)
  • validation: surface a skip for non-JSON content types that declare a schema (#254) (#255) (44169d4)

v1.6.0

13 May 07:50
39678df

Choose a tag to compare

1.6.0 (2026-05-13)

Features

  • extension: add default_testsuite_as_full to neutralize partial-run for defaultTestSuite-resolved selection (#237) (ce72f9e)

v1.5.0

13 May 06:48
1a89e95

Choose a tag to compare

1.5.0 (2026-05-13)

Features

  • coverage: add HTML output for self-contained coverage reports (#209) (7e0186d)
  • coverage: add JSON output for machine-readable coverage reports (#208) (d219843)
  • coverage: add JUnit XML output for CI dashboard integration (#207) (5649f73)
  • pest: implement toMatchOpenApiResponseSchema / toMatchOpenApiRequestSchema (#193) (7f295f7)
  • pest: scaffold pest plugin entrypoint (#188) (25d1fd8)
  • strict_required: walk nested objects and array elements when collecting always-present keys (#231) (bbb9001)
  • strict-required: aggregate paratest worker observations via sidecar envelope v2 (#230) (4caef4a)
  • validator: add strict_required mode for detecting schema under-description (#225) (82b315f)
  • validator: add strict_required_per_call mode for per-call drift detection (#232) (efaa869)

Bug Fixes

  • extension: skip persistent coverage outputs on partial PHPUnit runs (#222) (04e532d)
  • ref-resolver: preserve $ref keys inside opaque-data fields (#220) (3acc6e1)
  • request: coerce empty array body to stdClass when schema accepts object (#218) (e599b7d)
  • schema-converter: preserve sibling items as additionalItems when lowering prefixItems (#213) (17cc7ee)
  • schema-converter: recurse into if/then/else, patternProperties, propertyNames, contains, dependentSchemas (#215) (bbd35f7)

v1.4.0

11 May 02:51
11fc959

Choose a tag to compare

1.4.0 (2026-05-11)

Features

  • phpunit: add AssertsNoEnumDrift trait for PHPUnit-aware enum drift assertions (#186) (655ef1a)

Reverts

  • ci(release-please): use GitHub App token to trigger required checks (#183) (#184) (0bf8fe5)

v1.3.0

08 May 14:21
5bcc094

Choose a tag to compare

1.3.0 (2026-05-08)

v1.2.0

08 May 09:44
557b3ca

Choose a tag to compare

1.2.0 (2026-05-08)

Features

  • schema: resolve #[BoundToOpenApiEnum] from optional enum_spec_base_path (#171) (d0bc6fd)

Bug Fixes

  • coverage: blank line between endpoint heading and response table (#176) (f2a9710), closes #174

v1.1.0

07 May 14:30
5564825

Choose a tag to compare

1.1.0 (2026-05-07)

Features

  • extension: opt-in auto-discovery of #[BoundToOpenApiEnum] enums (#168) (95e34a9)
  • schema: enum drift detection between OpenAPI spec and bound PHP enums (#166) (7910f09)

v1.0.0

01 May 14:45

Choose a tag to compare

Full Changelog: v0.19.0...v1.0.0

v0.19.0

01 May 11:59

Choose a tag to compare

What's Changed

Other

  • fix(validator): cascade dedup walks across array boundaries (#161) by @wadakatu in #162

Full Changelog: v0.18.0...v0.19.0

v0.18.0

01 May 10:32

Choose a tag to compare

What's Changed

Other

  • fix(validator): strip cascading additionalProperties pseudo-error (#159) by @wadakatu in #160

Full Changelog: v0.17.0...v0.18.0