Skip to content

v2.7.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 14:59
160275f

2.7.0 (2026-10-23)

Features

  • adapters: default the symfony and psr-7 policy hooks from the shared configuration (#614) (a44de39)
  • adapters: spec-driven http client fakes for consumer-side contract testing (#617) (1ac0609)
  • cli: accept --format and --output-file on every gesso subcommand (#620) (d61d272)
  • cli: default coverage:merge and coverage:gate from gesso.php via --config (#626) (c40877d)
  • config: share configuration between phpunit and laravel (#593) (cfd51e4)
  • contract: move named contract checks to the Contract namespace behind a deprecated Fuzz alias (#608) (fd09867)
  • doctor: emit an equivalent gesso.php with --emit-config (#627) (4928950)
  • enum-drift: evaluate enum drift once per paratest run (#613) (22d66a5)
  • laravel: read route-side parity exclusions and the spec list from config (#621) (7100c9b)
  • stubs: support explicit request prefixes (#592) (0a4bb67)
  • validation: honor form encoding style, explode, and part headers (#619) (1ac648b)
  • validation: preserve body boundaries across adapters and doctor (#566) (b305a8c)

Bug Fixes

  • ci: resolve phpstan 2.3 findings and pin dev analysis tools (#600) (53a47f1)
  • config: lower-case setting values without ext-mbstring (#570) (53a728f)
  • config: normalise gesso.php enum values like the extension parameters (#609) (e127a4b)
  • docs: update locked vue and source-map-js past high advisories (#601) (35bd5d3)
  • phpunit: tolerate the sealed event facade in the pest --parallel orchestrator (#599) (8a0f745)
  • validation: decode adapter JSON bodies as objects so a nested {} is not read as [] (#561) (006aeaa)