Skip to content

Releases: studio-design/openapi-contract-testing

v0.9.0

05 Mar 03:49
9b1de60

Choose a tag to compare

What's Changed

New Features

  • Console output mode (console_output parameter) — Control the format of coverage output in the console with three modes: default (grouped by spec), summary (coverage percentage only), and none (suppress output) (#30)

Maintenance

  • Update actions/checkout to v6 (#28)

v0.8.0

22 Feb 20:54
9b36db5

Choose a tag to compare

What's New

Features

  • maxErrors parameter — Limit the number of validation errors reported by OpenApiResponseValidator (#26)
  • Laravel integration — Added max_errors config option and support for string values from environment variables

Bug Fixes

  • Handle string max_errors values from environment variables in Laravel config

Documentation

  • Added maxErrors parameter documentation to README

v0.7.0

21 Feb 15:00
4404bd0

Choose a tag to compare

What's Changed

Features

  • Content negotiation supportOpenApiResponseValidator::validate() now accepts an optional responseContentType parameter. When provided, non-JSON content types (e.g., text/html, application/xml) are verified for spec presence only, while JSON-compatible types proceed to full schema validation. The Laravel trait passes the response Content-Type automatically. (#23)

Bug Fixes

  • Non-JSON content types no longer fail validation — When a spec defines non-JSON content types and no responseContentType is provided, validation now skips body validation and succeeds instead of returning an error. (#21)
  • matchedPath preserved on failureOpenApiValidationResult::failure() now includes the matched path, ensuring coverage is still tracked even when body validation fails.

Documentation

  • Updated README with content negotiation feature, responseContentType parameter usage examples, and API Reference. (#24)

Full Changelog: v0.6.0...v0.7.0

v0.6.0

21 Feb 13:30

Choose a tag to compare

What's Changed

  • Support JSON-compatible content typesapplication/problem+json, application/vnd.api+json など +json structured syntax suffix (RFC 6838) を持つ Content-Type に対応。マッチングは case-insensitive。
  • README 更新 — Features セクションに JSON-compatible content type サポートを明記。

Full Changelog: v0.5.2...v0.6.0

v0.5.2

21 Feb 03:25
4c45dd3

Choose a tag to compare

What's Changed

Bug Fixes

  • Check Content-Type before parsing response as JSON (#16)
    • Prevent JSON parse errors when API returns non-JSON responses (e.g., HTML error pages)
    • Improved error messages and edge case handling

Maintenance

  • Add Renovate configuration for automated dependency updates (#17)

Full Changelog: v0.5.1...v0.5.2

v0.5.1

20 Feb 05:28
b273182

Choose a tag to compare

What's Changed

Documentation

  • Update README Laravel integration section for config-based default spec (#14)
    • Add vendor:publish command and config file explanation
    • Simplify basic example (no openApiSpec() override needed with config)
    • Add per-class override example for using a different spec

Full Changelog: v0.5.0...v0.5.1

v0.5.0

20 Feb 04:23
5face67

Choose a tag to compare

What's Changed

New Features

  • Config-based default spec for Laravel — Added OpenApiContractTestingServiceProvider and config file (openapi-contract-testing.default_spec) so the default spec name can be set via Laravel config instead of overriding openApiSpec() in every test class (#13)

Bug Fixes

  • Address PR review feedback for config-based default spec (#13)

Tests

  • Add tests for config-based default openApiSpec() behavior

Full Changelog: v0.4.0...v0.5.0

v0.4.0

19 Feb 16:49
1178952

Choose a tag to compare

Breaking Changes

  • Replace openApiSpec property with abstract method — The $openApiSpec property on the ValidatesOpenApiSchema trait has been replaced with an abstract openApiSpec(): string method. Update your test classes to define this method instead of setting the property. (#11)

Bug Fixes

  • Prevent crash on empty body responsesassertResponseMatchesOpenApiSchema() no longer crashes when the response body is empty. (#10)
  • Guard against empty string from openApiSpec() — Added validation to prevent misconfiguration when openApiSpec() returns an empty string. (#11)

Documentation

  • Add --dereferenced flag to Redocly CLI bundle command in README. (#12)

v0.3.0

19 Feb 11:17
1e69714

Choose a tag to compare

What's Changed

Breaking Changes

  • Package renamed: wadakatu/openapi-contract-testingstudio-design/openapi-contract-testing
  • Namespace renamed: Wadakatu\OpenApiContractTestingStudio\OpenApiContractTesting

New Features

  • Add CI-friendly Markdown output to OpenApiCoverageExtension (#4)
    • New output_file parameter to write Markdown coverage report to a file
    • Automatic GITHUB_STEP_SUMMARY integration when running in GitHub Actions
    • New MarkdownCoverageRenderer class for Markdown report generation

Migration

Update composer.json:

composer remove wadakatu/openapi-contract-testing
composer require --dev studio-design/openapi-contract-testing

Update namespace references in your code:

-use Wadakatu\OpenApiContractTesting\...;
+use Studio\OpenApiContractTesting\...;

Full Changelog: v0.2.0...v0.3.0

v0.2.0

19 Feb 05:15

Choose a tag to compare

What's Changed

New Features

  • Add PHP 8.4 and PHPUnit 13 support (#3, #2)
    • phpunit/phpunit constraint now accepts ^13.0
    • CI matrix expanded with PHP 8.4 + PHPUnit 11 / 12 / 13 combinations

Bug Fixes

  • Remove incompatible PHP 8.2 / PHPUnit 12 combination from CI matrix (#1)

Docs

  • Add CLAUDE.md for Claude Code project guidance

Full Changelog: v0.1.0...v0.2.0