Skip to content

Latest commit

 

History

History
247 lines (204 loc) · 15.7 KB

File metadata and controls

247 lines (204 loc) · 15.7 KB

CHANGELOG

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[6.8.0] - 2026-04-02

Added

  • Bump actions/checkout from v4 to v5 (#902)
  • Update readme for draft 7 (#899)
  • ci: Add Copilot setup steps (#892)

Fixed

  • Fix shell injection in update-changelog workflow for PR titles with backticks (#897)
  • Remove v prefix from release tags and GitHub releases (#895)

Deprecated

  • Deprecate Constraint::CHECK_MODE_NONE (#896)

[6.7.2] - 2026-02-15

Fixed

  • Fix idn_to_ascii deprecation warning by using INTL_IDNA_VARIANT_UTS46 (#887)

[6.7.1] - 2026-02-13

Fixed

  • Fix TypeError in pattern property validation with integer keys (#880)

[6.7.0] - 2026-02-13

Fixed

  • Enforce RFC 1035 hostname label length limits in draft 3/4 (#878)
  • UriRetriever: Include actual media type in InvalidSchemaMediaTypeException message (#872)
  • docs: Correct trailing spaces in Markdown (#873)

Added

  • Feat: Add Draft-07 support (#847)
  • Automate changelog updates on PR merge (#874)

Changed

  • Add automated release workflow with changelog integration (#879)
  • Fix welcome workflow permission errors from forked PRs (#875)

[6.6.4] - 2025-12-19

Changed

  • ci: Run workflows against 5.x.x branches (#859)

Fixed

  • UriValidator: Allow file:/ and file:/// (#856)
  • Fix .php-cs-fixer.dist.php export-ignore (#861)

[6.6.3] - 2025-12-02

Changed

  • Restricted mark-mabe/php-enum dependency to ^4.4 due to lower versions emitting a warning on PHP 8 (#854)

[6.6.2] - 2025-11-28

Changed

  • Move PHP 8.5 to default add PHP 8.6 as experimental (#852)

Fixed

  • Allow underscore and tilde in URI hostnames as per RFC 3986 (#853)

[6.6.1] - 2025-11-07

Changed

  • Rename master to main (#848)

Fixed

  • Don't skip ref expanding for property called enum when child of property called properties (#851)

[6.6.0] - 2025-10-10

Added

  • Add lint check for class autoloading PSR compliance (#845)
  • add implementation for strict fully validating using draft-06 schema (#843)

[6.5.2] - 2025-09-09

Fixed

  • Fix issue when http headers are already present (#843)

[6.5.1] - 2025-08-29

Changed

  • ci: Add PHP 8.5 to pipeline, ignoring dependencies and as experimental (#842)

[6.5.0] - 2025-08-29

Changed

  • Update test case to current (PHP) standards (#831)
  • Upgrade test suite to use generators (#834)
  • update to latest json schema test suite (#821)

Fixed

  • Fix PHP 8.5 $http_response_header deprecation (#840)

[6.4.2] - 2025-06-03

Fixed

  • Fix objects are non-unique despite key order (#819)
  • Id's not being resolved and id property affects sibling ref which it should not do (#828)

Changed

  • Added extra breaking change to UPDATE-6.0.md regarding BaseConstraint::addError signature change (#823)
  • Update constraint class to PHP 7.2 language level (#824)
  • Update base constraint class to PHP 7.2 language level (#826)

Added

  • Introduce 32 bits CI workflow on latest php version (#825)

[6.4.1] - 2025-04-04

Fixed

  • Fix support for 32bits PHP (#817)

[6.4.0] - 2025-04-01

Added

  • Run PHPStan using the lowest and highest php version (#811)

Fixed

  • Use parallel-lint and cs2pr for improved feedback on linting errors (#812)
  • Array with number values with mathematical equality are considered valid (#813)

Changed

  • Correct PHPStan findings in validator (#808)
  • Add cs2pr handling for php-cs-fixer; avoid doing composer install (#814)
  • prepare PHP 8.5 in CI (#815)

[6.3.1] - 2025-03-18

Fixed

  • ensure numeric issues in const are correctly evaluated (#805)
  • fix 6.3.0 regression with comparison of null values during validation (#806)

[6.3.0] - 2025-03-14

Fixed

  • only check minProperties or maxProperties on objects (#802)
  • replace filter_var for uri and uri-reference to userland code to be RFC 3986 compliant (#800)
  • avoid duplicate workflow runs (#804)

Changed

  • replace icecave/parity with custom deep comparator (#803)

[6.2.1] - 2025-03-06

Fixed

  • allow items: true to pass validation (#801)

Changed

  • Include actual count in collection constraint errors (#797)

[6.2.0] - 2025-02-26

Added

  • Welcome first time contributors (#782)

Fixed

  • Add required permissions for welcome action (#789)
  • Upgrade php cs fixer to latest (#783)
  • Create deep copy before checking each sub schema in oneOf (#791)
  • Create deep copy before checking each sub schema in anyOf (#792)
  • Correctly set the schema ID when passing it as assoc array (#794)
  • Create deep copy before checking each sub schema in oneOf when only check_mode_apply_defaults is set (#795)
  • Additional property casted into int when actually is numeric string (#784)

Changed

  • Used PHPStan's int-mask-of type where applicable (#779)
  • Fixed some PHPStan errors (#781)
  • Cleanup redundant checks (#796)

[6.1.0] - 2025-02-04

Added

  • Add return types in the test suite (#748)
  • Add test case for validating array of strings with objects (#704)
  • Add contributing information, contributor recognition and security information (#771)

Fixed

  • Correct misconfigured mocks in JsonSchema\Tests\Uri\UriRetrieverTest (#741)
  • Fix pugx badges in README (#742)
  • Add missing property in UriResolverTest (#743)
  • Correct casing of paths used in tests (#745)
  • Resolve deprecations of optional parameter (#752)
  • Fix wrong combined paths when traversing upward, fixes #557 (#652)
  • Correct PHPStan baseline (#764)
  • Correct spacing issue in README.md (#763)
  • Format attribute: do not validate data instances that aren't the instance type to validate (#773)

Changed

  • Bump to minimum PHP 7.2 (#746)
  • Replace traditional syntax array with short syntax array (#747)
  • Increase phpstan level to 8 with baseline to swallow existing errors (#673)
  • Add ext-json to composer.json to ensure JSON extension available (#759)
  • Add visibility modifiers to class constants (#757)
  • Include PHP 8.4 in workflow (#765)
  • Add strict_types=1 to all classes in ./src (#758)
  • Raise minimum level of marc-mabe/php-enum (#766)
  • Cleanup test from @param annotations (#768)
  • Remove obsolete PHP 7.1 version check (#772)

[6.0.0] - 2024-07-30

Added

  • Add URI translation, package:// URI scheme & bundle spec schemas (#362)
  • Add quiet option (#382)
  • Add option to disable validation of "format" constraint (#383)
  • Add more unit tests (#366)
  • Reset errors prior to validation (#386)
  • Allow the schema to be an associative array (#389)
  • Enable FILTER_FLAG_EMAIL_UNICODE for email format if present (#398)
  • Add enum wrapper (#375)
  • Add option to validate the schema (#357)
  • Add support for "const" (#507)
  • Added note about supported Draft versions (#620)
  • Add linting GH action

Changed

  • Centralize errors (#364)
  • Revert "An email is a string, not much else." (#373)
  • Improvements to type coercion (#384)
  • Don't add a file:// prefix to URI that already have a scheme (#455)
  • Enhancement: Normalize composer.json (#505)
  • Correct echo sprintf for printf (#634)
  • Streamline validation of Regex (#650)
  • Streamline validation of patternProperties Regex (#653)
  • Switch to GH Actions (#670)
  • Updated PHPStan
  • Remove unwanted whitespace (#700)
  • Bump to v4 versions of GitHub actions (#722)
  • Update references to jsonrainbow (#725)

Deprecated

  • Mark check() and coerce() as deprecated (#476)

Removed

  • Remove stale files from #357 (obviated by #362) (#400)
  • Remove unnecessary fallbacks when args accept null
  • Removed unused variable in UndefinedConstraint (#698)
  • Remove dead block of code (#710)

Fixed

  • Add use line for InvalidArgumentException (#370)
  • Add use line for InvalidArgumentException & adjust scope (#372)
  • Add provided schema under a dummy / internal URI (fixes #376) (#378)
  • Don't throw exceptions until after checking anyOf / oneOf (#394)
  • Fix infinite recursion on some schemas when setting defaults (#359) (#365)
  • Fix autoload to work properly with composer dependencies (#401)
  • Ignore $ref siblings & abort on infinite-loop references (#437)
  • Don't cast multipleOf to be an integer for the error message (#471)
  • Strict Enum/Const Object Checking (#518)
  • Return original value when no cast (#535)
  • Allow marc-mabe/php-enum v2.x and v3.x. (#464)
  • Deprecated warning message on composer install command (#614)
  • Allow marc-mabe/php-enum v4.x (#629)
  • Fixed method convertJsonPointerIntoPropertyPath in wrong class (#655)
  • Fix type validation failing for "any" and false-y type wording (#686)
  • Correct code style
  • Fix: Clean up .gitattributes (#687)
  • Fix: Order friendsofphp/php-cs-fixer rules (#688)
  • HTTP to HTTPS redirection breaks remote reference resolution (#709)
  • Corrected several typos and code style issues