justinrainbow/json-schema
A library to validate a json schema.
6.11.0
347M downloads/mo
#186 most downloaded on composer
jsonrainbow/json-schema
What this package is like to depend on
Last release 2 days ago
21 Aug 2026
Ships fairly regularly
a new release about every 4 weeks
Some releases are documented
notes for 29 of 78 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
79 releases · first in 2012
21 releases in the last 12 months
see the full history below
Release timeline
78 releases · Jan 2012 to Aug 2026Releases
latest 60 of 79-
6.11.021 Aug 2026Release notes
Open source →Fixed
- fix: Handle null byte when validating date/time formats (#939)
- fix: Correct php-cs-fixer setup (#938)
- fix: Ignore Content-Type header parameters when checking media type (#934)
- fix: Dont use mb_detect_encoding for mb_string function calls (#924)
- Add missing ext-filter dependency (#922)
Changed
- Update README with Draft 7 badge correction and include JetBrains logo (#921)
Added
- Update composer.json authors to reflect current active maintainer (#928)
Release notes
Open source →Fixed
- fix: Handle null byte when validating date/time formats (#939)
- fix: Correct php-cs-fixer setup (#938)
- fix: Ignore Content-Type header parameters when checking media type (#934)
- fix: Dont use mb_detect_encoding for mb_string function calls (#924)
- Add missing ext-filter dependency (#922)
Changed
- Update README with Draft 7 badge correction and include JetBrains logo (#921)
Added
- Update composer.json authors to reflect current active maintainer (#928)
-
6.10.016 Jun 2026 -
6.9.005 Jun 2026Release notes
Open source →Fixed
- fix: allow "#", "?", and "?#" as valid URI references per RFC 3986 (#910)
- fix: annotate resolved schemas with dialect-aware id keyword (#912)
Added
Release notes
Open source →Fixed
- fix: allow "#", "?", and "?#" as valid URI references per RFC 3986 (#910)
- fix: annotate resolved schemas with dialect-aware id keyword (#912)
Added
-
6.8.205 May 2026 -
6.8.104 May 2026Release notes
Open source →Fixed
- Bump actions/checkout from v4 to v5 was re-applied due to PR merge issues with GitHub (#902)
Release notes
Open source →Fixed
- Bump actions/checkout from v4 to v5 was re-applied due to PR merge issues with GitHub (#902)
-
6.8.002 Apr 2026Release notes
Open source →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
vprefix from release tags and GitHub releases (#895)
Deprecated
- Deprecate
Constraint::CHECK_MODE_NONE(#896)
⚠️ Changes from version 6.8.0 were lost. Please don't use this version. Update to version 6.8.1
Release notes
Open source →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
vprefix from release tags and GitHub releases (#895)
Deprecated
- Deprecate
Constraint::CHECK_MODE_NONE(#896)
-
v6.7.215 Feb 2026Release notes
Open source →Fixed
- Fix idn_to_ascii deprecation warning by using INTL_IDNA_VARIANT_UTS46 (#887)
Release notes
Open source →Fixed
- Fix idn_to_ascii deprecation warning by using INTL_IDNA_VARIANT_UTS46 (#887)
-
v6.7.113 Feb 2026Release notes
Open source →Fixed
- Fix TypeError in pattern property validation with integer keys (#880)
-
v6.7.013 Feb 2026Release notes
Open source →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
Changed
-
6.6.419 Dec 2025 -
6.6.302 Dec 2025Release notes
Open source →Changed
- Restricted
mark-mabe/php-enumdependency to^4.4due to lower versions emitting a warning on PHP 8 (#854)
- Restricted
-
6.6.228 Nov 2025Release notes
Open source →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.107 Nov 2025Release notes
Open source →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.010 Oct 2025 -
6.5.209 Sep 2025 -
6.5.129 Aug 2025Release notes
Open source →Changed
- ci: Add PHP 8.5 to pipeline, ignoring dependencies and as experimental (#842)
-
6.5.029 Aug 2025Release notes
Open source →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.203 Jun 2025Release notes
Open source →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.104 Apr 2025 -
6.4.001 Apr 2025Release notes
Open source →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
-
6.3.118 Mar 2025 -
6.3.014 Mar 2025 -
6.2.106 Mar 2025Release notes
Open source →Fixed
- allow items: true to pass validation (#801)
Changed
- Include actual count in collection constraint errors (#797)
-
6.2.026 Feb 2025Release notes
Open source →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
-
6.1.004 Feb 2025Release notes
Open source →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=1to 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.030 Jul 2024Release notes
Open source →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
sprintfforprintf(#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-enumv2.x and v3.x. (#464) - Deprecated warning message on composer install command (#614)
- Allow
marc-mabe/php-enumv4.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-fixerrules (#688) - HTTP to HTTPS redirection breaks remote reference resolution (#709)
- Corrected several typos and code style issues
-
6.0.0-beta09 Jul 2024 pre-releaseNothing published for this version
-
5.3.404 May 2026Release notes
Open source →What's Changed
- Changes from 5.3.2 were lost in 5.3.3. This release restores the history from 5.3.2 and applies #900 again.
Full Changelog: 5.3.2...5.3.4
-
5.3.324 Mar 2026Release notes
Open source →What's Changed
- Add GitHub Actions CI for 5.x.x and fix curl_close deprecation on PHP 8+ by @DannyvdSluijs in #900
Full Changelog: 5.3.2...5.3.3
⚠️ Changes from version 5.3.2 were lost in version 5.3.3. Please don't use this version. Update to version 5.4.3
-
5.3.227 Feb 2026Release notes
Open source →What's Changed
- Fix issue when http headers are already present (#843) for 5.x.x branch by @DannyvdSluijs in #893
Full Changelog: 5.3.1...5.3.2
-
5.3.112 Dec 2025Nothing published for this version
-
5.3.006 Jul 2024Nothing published for this version
-
v5.2.1326 Sep 2023Nothing published for this version
-
5.2.1213 Apr 2022Nothing published for this version
-
5.2.1122 Jul 2021Nothing published for this version
-
5.2.1027 May 2020Nothing published for this version
-
5.2.925 Sep 2019Nothing published for this version
-
5.2.814 Jan 2019Nothing published for this version
-
5.2.714 Feb 2018Nothing published for this version
-
5.2.621 Oct 2017Nothing published for this version
-
5.2.510 Oct 2017Nothing published for this version
-
5.2.404 Oct 2017Nothing published for this version
-
5.2.3no dateNothing published for this version
-
5.2.203 Oct 2017Nothing published for this version
-
5.2.116 May 2017Nothing published for this version
-
5.2.022 Mar 2017Nothing published for this version
-
5.1.022 Feb 2017Nothing published for this version
-
5.0.015 Feb 2017Nothing published for this version
-
4.1.022 Dec 2016Nothing published for this version
-
4.0.109 Nov 2016Nothing published for this version
-
4.0.010 Oct 2016Nothing published for this version
-
3.0.126 Aug 2016Nothing published for this version
-
3.0.015 Aug 2016Nothing published for this version
-
2.0.502 Jun 2016Nothing published for this version
-
2.0.424 May 2016Nothing published for this version
-
2.0.310 May 2016Nothing published for this version
-
2.0.209 May 2016Nothing published for this version
-
2.0.128 Apr 2016Nothing published for this version
-
2.0.014 Apr 2016Nothing published for this version
-
1.6.125 Jan 2016Nothing published for this version