Description
Introduction
As mentioned in #658 (comment) I was going to do some triage on the issues and pull requests. Since early february I've been going through the majority of them and have a pretty good overview of what can be done. And some reporters even stepped up and updated their issue/PR or closed them.
This list below includes all open issues at least and some of the pull requests. Given the amount of actionable items already I didn't feel right to also include all pull request at this point as well.
Below you can find groups and suggested actions which should help with cleaning up the repo and get back to a manageable state. Since I don't have any permissions on this report this issue needs the help of @erayd or other maintainers (or my permissions should be elevated to do so.) Withing the groups the issues/pull request have been ordered from oldest to newest.
Issues from Ghost users
These issue once have been reported but the user account since the report has been deleted so there won't be any feedback from the original reports ever. I would suggest closing these issues.
- i ran 'composer require justinrainbow/json-schema' command in ubuntu - nothing happened #519
- How to include the library in code #554
- Coercion to array does not work #571
Issues & Pull requests that can be closed
These issues have either been answered, chased after or are clearly outdated. My advice would be to close these with a friendly message indicating that if people believe this was incorrectly closed reopening them is a valid option
- Using jsonpath in refResolver... #279
- Documentation: Following the readme does not work #311
- Structure validation error. #324
- Object within object possible? #343
- Could you support incasesensitive pattern matching? #352
- (How) can i combine FormatValidation and CHECK_MODE_COERCE_TYPES #445
- Seeing validation issues since pulling latest dev-master #467
- Custom function #493
- Issues with Zoopla's schema #499
- It don't validate minimum constratint with oneOf definition for integer or number types #503
- Const & enum deep comparison is not strictly typed #517
- An error occurred while verifying the array #525
- Can't resolve some definitions #530
- Response validation with circular $ref definition causes infinite loop #531
- internal://provided-schema/ should be ignored by URI retriever #538
- Possible solution for nullable support #551
- Type casting results in PHP error exception when object type is given #561
- Meida-Type : clean media type from unused data #565
- icecave/parity dependency concern #570
- Warning: array_key_exists() expects parameter 2 to be array, boolean given #576
- Update to version 5.0 from version 1.6 #586
- get property when validate path or header - justinrainbow-json-schema #627
- Not finding branch dev-master #628
- Can't validate array of items with anyOf #647
- JsonSchema\Exception\ResourceNotFoundException #674
- Custom error messages #677
- Exception Error: "Maximum function nesting level of '256' reached, aborting!" #679
Issues & Pull requests that should be kept
These issues seem valid and are worth spending time on with the goal of making a improvement to the library. Behind the issues you can find one or more suggested labels in order to make its state clear to all readers.
- UriResolver doesn't handle Windows directory separators #258 labels: Windows support & Bug
- "additionalItems" should not be honored if "items" is an object. #333 labels: Accepting PR
- CONTRIBUTORS document #391 labels: Accepting PR
- [DX] include actual count in collection constraint errors #501 labels: Accepting PR
- failure to validate regex schema format containing '/' character #508 labels: Accepting PR & Bug
- ErrorException: StringConstraint.php:42 -- preg_match(): Unknown modifier 'r' #526 labels: Accepting PR & Bug
- Relative paths resolving to unit test, not the schema #557:** Accepting PR
- display violation elements #578 labels: Accepting PR
- Enable localization of error messages #579 labels: Accepting PR
- Access subschema from error context? #622 labels: Accepting PR
- TypeConstraint: validateType fails with stringable objects. #645 labels: Accepting PR
- Fix ObjectIterator for PHP8 #682 labels: Adjustment needed
- URI schemas incorrectly validated with FILTER_VALIDATE_URL #685 labels: Accepting PR
Issues & Pull requests closed due to chasing reporters
I've been actively asking for feedback on issues and pull requests and some reporters have been so kind to close their issues something even with proper feedback. No action is required, just wanted to list them here in order to have a complete overview.
- Custom error message #239
- Plugin-System for Validation of formats? #266
- False passes with file loaded schemas. #340
- DateTime doesn't validates correct? #348
- How to use the library without installing with composer? #504
- Array of items doesn't expand, and so validation check is wrong. #514
- JSON Hyper-Schema #522
- Custom coercion to types. #524
- Getting fragments from SchemaStorage by path #534
- Extendable format constraints? #539
- Mime type for schema issues #540
- A few policy questions #569
- Add If-Then-Else schema validation. #581
- Update the JSON Schema Test Suite to version 2.0.0 #582
- PHP math bug & integer coercion #588
- Change Language for errors message #623
- fix typo #641
- Fix php warning, docblocks, and peephole optimizations #659
- Add codesniffer; fix phpcs errors wrt PSR12 #660
- Add phpstan; "Baseline generated with 259 errors." #661
- Show line numbers #680
- Why do we support higher version json-schema? #699
- Fatal error: Uncaught Error: Class 'Opis\Uri\Uri' not found #713
Issues that need a more in depth triage
These issues seem more complex and/or have an extensive comment history which makes it challanging to do a basic triage and make a advise on what to do with them. For now I would keep them and in due time take them one at a time and deep dive into the issue and determine what to do.
- Separated files are not validated correctly #396
- \JsonSchema\Constraints\BaseConstraint::arrayToObjectRecursive() doesn't convert empty arrays to objects #407
- SchemaStorage::addSchema() should call BaseConsstraint::arrayToObjectRecursive() on the provide schemas #408
- Default values don't get applied to objects inside of an array #417
- Custom error message inside JSON Schema. #444
- Validations with Callback or Iterator #497
- It don't validate minimum constratint with oneOf definition for integer or number types #503
- CHECK_MODE_APPLY_DEFAULTS uses defaults from first "oneOf"|"anyOf" option rather than the one that validates #510
- "Array value found, but an array is required" #523
- v6.0.0 Release #527
- Should validate without passing schema to method validate #541
- NOT ENUM can unexpectedly fail when "CHECK_MODE_EXCEPTIONS" is set #552
- bug: nested defaults will not be applied #632
- bug: anyOf / oneOf with objects and default values #711
- bug: type order in 'allOf' has an impact #712
Issues reported by @erayd
These are reported by the most active maintainer and are seemingly very valuable. These should also be labelled accordingly.
- Type validation conflict between draft-03 and later versions #374 labels: Accepting PR
- Document the public API #392 labels: Accepting PR
- Add support for draft-06 #395 labels: Accepting PR
- "enum" does not work within "items" #426 labels: Accepting PR
- php-cs-fixer is not properly pinned #598 labels: Accepting PR
These should be closed in my opinion, see those tickets for my reasoning