Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Json Schema Laravel Package

justinrainbow/json-schema

Validate JSON data against JSON Schema in PHP. Supports draft-3, draft-4, draft-6, and draft-7 with $ref resolution and detailed validation errors. Install via Composer and validate decoded JSON objects against local or remote schemas.

View on GitHub
Deep Wiki
Context7
6.8.0

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

Fixed

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

Fixed

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

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

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

Changed

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

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

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

Added

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

Fixed

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

Changed

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

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

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

Fixed

  • Fix support for 32bits PHP (#817)
6.4.0

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

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

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)
6.2.1

Fixed

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

Changed

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

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<T> type where applicable (#779)
  • Fixed some PHPStan errors (#781)
  • Cleanup redundant checks (#796)
6.1.0

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

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
Changed
  • replace icecave/parity with custom deep comparator (#803)
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport