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 Normalizer Laravel Package

ergebnis/json-normalizer

Normalize JSON documents with composable normalizers. Includes generic and vendor-specific normalizers for formatting, indentation, schema-based ordering, JSON encoding, chaining, callbacks, and controlling final newlines. Install via Composer and apply a Normalizer to produce consistent JSON output...

View on GitHub
Deep Wiki
Context7
`4.9.0`

For a full diff see [4.8.0...4.9.0][4.8.0...4.9.0].

Changed

  • Adjusted SchemaNormalizer to allow pruning empty sections when the schema declares them as not required ([#1053]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to correctly use dev- prefixes and -dev suffixes ([#1055]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to normalize and (if necessary) combine version constraints refering to extensions ([#1185]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to normalize version constraints that are combined with * to * ([#1186]), by [@fredden]
`4.8.0`

For a full diff see [4.7.0...4.8.0][4.7.0...4.8.0].

Changed

  • Allowed installation of justinrainbow/json-schema:^6.0.0 ([#1198]), by [@tacman]
`4.7.0`

For a full diff see [4.6.0...4.7.0][4.6.0...4.7.0].

Added

  • Added support for PHP 8.4 ([#1195]), by [@localheinz]
`4.6.0`

For a full diff see [4.5.0...4.6.0][4.5.0...4.6.0].

Changed

  • Adjusted Vendor\Composer\VersionConstraintNormalizer to replace x and X wildcards with * ([#1052]), by [@fredden]
  • Allowed installation on PHP 8.4 ([#1171]), by [@localheinz]
`4.5.0`

For a full diff see [4.4.1...4.5.0][4.4.1...4.5.0].

Changed

  • Required ergebnis/json:^1.2.0 ([#1073]), by [@localheinz]
  • Required ergebnis/json-printer:^3.5.0 ([#1074]), by [@localheinz]
  • Required ergebnis/json-pointer:^3.4.0 ([#1075]), by [@localheinz]
  • Required ergebnis/json-schema-validator:^4.2.0 ([#1076]), by [@localheinz]
  • Added support for PHP 8.3 ([#1077]), by [@localheinz]
  • Added support for PHP 7.4 ([#1079]), by [@localheinz]
`4.4.1`

For a full diff see [4.4.0...4.4.1][4.4.0...4.4.1].

Fixed

  • Stopped sorting an item in repositories when it disables packagist ([#1039]), by [@localheinz]
`4.4.0`

For a full diff see [4.3.0...4.4.0][4.3.0...4.4.0].

Changed

  • Started removing v prefixes from version constraints ([#1027]), by [@fredden]
  • Started sorting items in the exclude and only properties of items listed in the repositories section ([#1001]), by [@fredden]
`4.3.0`

For a full diff see [4.2.0...4.3.0][4.2.0...4.3.0].

Changed

  • Sort allow-plugins and preferred-install as sensibly as is feasible ([#980]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to remove overlapping individual versions too ([#982]), by [@fredden]
  • Added support for PHP 8.3 ([#988]), by [@localheinz]
  • Required ergebnis/json-printer:^3.4.0 ([#989]), by [@dependabot]
  • Required ergebnis/json:^1.1.0 ([#991]), by [@dependabot]
  • Required ergebnis/json-schema-validator:^4.1.0 ([#992]), by [@dependabot]
`4.2.0`

For a full diff see [4.1.0...4.2.0][4.1.0...4.2.0].

Changed

  • Dropped support for PHP 8.0 ([#917]), by [@localheinz]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to prefer tilde operators (~) over wildcard operators (*), and caret operators (^) over tilde operators (~) ([#756]), by [@fredden]
`4.10.1`

For a full diff see [4.10.0...4.10.1][4.10.0...4.10.1].

Fixed

`4.10.0`

For a full diff see [4.9.0...4.10.0][4.9.0...4.10.0].

Changed

  • Allowed installation on PHP 8.5 ([#1225]), by [@localheinz]
`4.1.0`

For a full diff see [4.0.2...4.1.0][4.0.2...4.1.0].

Changed

  • Adjusted Vendor\Composer\VersionConstraintNormalizer to remove extra spaces in inline aliases ([#889]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to remove useless inline aliases ([#889]), by [@fredden]

Fixed

  • Adjusted SchemaNormalizer to account for objects with string and integer-like properties ([#868]), by [@alexis-saransig-lullabot] and [@fredden]
  • Adjusted SchemaNormalizer to account for objects where schema describes additional properties ([#873]), by [@fredden] and [@localheinz]
`4.0.2`

For a full diff see [4.0.1...4.0.2][4.0.1...4.0.2].

Fixed

  • Adjusted Vendor\Composer\VersionConstraintNormalizer to sort versions naturally ([#863]), by [@localheinz]
`4.0.1`

For a full diff see [4.0.0...4.0.1][4.0.0...4.0.1].

Fixed

  • Adjusted Vendor\Composer\ComposerJsonNormalizer to stop sorting repositories ([#858]), by [@localheinz]
  • Reverted inlining Vendor\Composer\BinNormalizer ([#860]), by [@localheinz]
  • Partially reverted removal of Vendor\Composer\ConfigHashNormalizer to ensure config is sorted by ket ([#861]), by [@localheinz]
`4.0.0`

For a full diff see [3.0.0...4.0.0][3.0.0...4.0.0].

Added

Changed

  • Dropped support for PHP 7.4 ([#757]), by [@localheinz]
  • Required ergebnis/json-schema-validator:^4.0.0 ([#771]), by [@localheinz]
  • Allowed configuring the Normalizer\SchemaNormalizer to exclude properties from being sorted ([#774]), by [@localheinz]
  • Adjusted Vendor\Composer\BinNormalizer, Vendor\Composer\PackageHashNormalizer, Vendor\Composer\VersionConstraintNormalizer, and SchemaNormalizer to encode JSON with JSON_PRETTY_PRINT flag ([#795]), by [@localheinz]
  • Adjusted Vendor\Composer\BinNormalizer, Vendor\Composer\PackageHashNormalizer, Vendor\Composer\VersionConstraintNormalizer, and SchemaNormalizer to encode JSON with JSON_UNESCAPED_SLASHES flag ([#801]), by [@localheinz]
  • Adjusted Vendor\Composer\BinNormalizer, Vendor\Composer\PackageHashNormalizer, Vendor\Composer\VersionConstraintNormalizer, and SchemaNormalizer to encode JSON with JSON_UNESCAPED_UNICODE flag ([#802]), by [@localheinz]
  • Adjusted Vendor\Composer\ComposerJsonNormalizer to reject JSON when it is not an object ([#804]), by [@localheinz]
  • Adjusted Vendor\Composer\ComposerJsonNormalizer to compose WithFinalNewLineNormalizer ([#806]), by [@localheinz]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to skip normalization of version constraints when they can not be parsed by Composer\Semver\VersionParser ([#813]), by [@fredden] and [@localheinz]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to sort versions in ascending order ([#816]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to normalize version constraints separators in and constraints from space ( ) or comma (,) to space ( ) ([#819]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to remove overlapping version constraints in or version constraints ([#850]), by [@fredden]
  • Adjusted Vendor\Composer\VersionConstraintNormalizer to remove duplicate version constraints ([#856]), by [@localheinz]

Fixed

  • Adjusted Vendor\Composer\ComposerJsonNormalizer to stop sorting scripts.auto-scripts ([#776]), by [@localheinz]
  • Adjusted Vendor\Composer\ComposerJsonNormalizer to stop sorting extra.installer-paths ([#777]), by [@localheinz]
  • Adjusted Vendor\Composer\ComposerJsonNormalizer to stop sorting config.allow-plugins ([#778]), by [@localheinz]
  • Adjusted Vendor\Composer\ComposerJsonNormalizer to stop sorting config.preferred-install ([#779]), by [@localheinz]
  • Adjusted Vendor\Composer\ComposerJsonNormalizer to stop sorting children of extra.patches ([#780]), by [@localheinz]

Removed

  • Started using ergebnis/json and removed Json and Exception\InvalidJsonEncoded ([#772]), by [@localheinz]
  • Removed Vendor\Composer\ConfigHashNormalizer ([#775]), by [@localheinz]
  • Removed AutoFormatNormalizer ([#793]), by [@localheinz]
  • Removed FixedFormatNormalizer ([#794]), by [@localheinz]
  • Inlined and removed Vendor\Composer\BinNormalizer ([#805]), by [@localheinz]
`3.0.0`

For a full diff see [2.2.0...3.0.0][2.2.0...3.0.0].

Changed

  • Required ergebnis/json-schema-validator:^3.0.0 ([#666]), by [@dependabot]
  • Renamed Exception\ExceptionInterface to Exception\Exception ([#667]), by [@localheinz]
  • Removed Exception suffix from all exceptions ([#668]), by [@localheinz]
  • Renamed NormalizerInterface to Normalizer ([#669]), by [@localheinz]
  • Renamed Format\Formatter to Format\DefaultFormatter ([#672]), by [@localheinz]
  • Renamed Format\FormatterInterface to Format\Formatter ([#673]), by [@localheinz]
  • Required ergebnis/json-pointer:^3.0.0 and ergebnis/json-schema-validator:^3.1.0 ([#697]), by [@localheinz]
  • Required ergebnis/json-pointer:^3.1.0 ([#698]), by [@dependabot]
  • Required justinrainbow/json-schema:^5.2.12 ([#705]), by [@dependabot]

Fixed

  • Adjusted ConfigHashNormalizer to sort keys correctly ([#723]), by [@fredded]
`2.2.0`

For a full diff see [2.1.0...2.2.0][2.1.0...2.2.0].

Changed

  • Stopped checking whether type property in schema is set to array or object ([#632]), by [@localheinz]
  • Adjusted SchemaNormalizer to normalize additional object properties ([#639]), by [@localheinz]
  • Adjusted SchemaNormalizer to normalize array values for which schema does not declare item schema ([#641]), by [@localheinz]
`2.1.0`

For a full diff see [2.0.0...2.1.0][2.0.0...2.1.0].

Changed

  • Adjusted SchemaNormalizer to support anyOf ([#623]), by [@localheinz]
`2.0.0`

For a full diff see [1.0.3...2.0.0][1.0.3...2.0.0].

Changed

  • Dropped support for PHP 7.2 ([#564]), by [@localheinz]
  • Dropped support for PHP 7.3 ([#573]), by [@localheinz]
  • Renamed Format::__toString(), Indent::__toString(), and Json::__toString() to Format::toString(), Indent::toString(), and Json::toString(), requiring consumers to explicitly invoke methods instead of allowing to cast to string ([#589]), by [@localheinz]
  • Started using the SchemaValidator provided by ergebnis/json-schema-validator ([#595]), by [@localheinz]
  • Renamed Format\JsonEncodeOptions::value() to Format\JsonEncodeOptions::toInt() ([#603]), by [@localheinz]
  • Extracted Format\Format::create() as named constructor and reduced visibility of __construct to private ([#608]), by [@localheinz]
  • Stopped composing Format\Format into Json ([#616]), by [@localheinz]
  • Renamed FinalNewLineNormalizer to WithFinalNewLineNormalizer ([#618]), by [@localheinz]
  • Renamed NoFinalNewLineNormalizer to WithoutFinalNewLineNormalizer ([#619]), by [@localheinz]

Fixed

  • Updated justinrainbow/json-schema ([#517]), by [@dependabot]
  • Stopped sorting the newly added allow-plugins configuration ([#590]), by [@dependabot]

Removed

  • Removed Validator\Result, Valdiator\SchemaValidator, and Validator\SchemaValidatorInterface ([#597]), by [@dependabot]
`1.0.3`

For a full diff see [1.0.2...1.0.3][1.0.2...1.0.3].

Fixed

  • Adjusted Vendor\Composer\PackageHashNormalizer to take into account the newly addded composer-plugin-api as platform requirement ([#463]), by [@localheinz]
`1.0.2`

For a full diff see [1.0.1...1.0.2][1.0.1...1.0.2].

Fixed

  • Adjusted Vendor\Composer\ConfigHashNormalizer to take into account the full property path, not only the property name ([#429]), by [@localheinz]
`1.0.1`

For a full diff see [1.0.0...1.0.1][1.0.0...1.0.1].

Fixed

  • Adjusted Vendor\Composer\ConfigHashNormalizer to ignore the preferred-install hash ([#425]), by [@localheinz]
`1.0.0`

For a full diff see [0.14.1...1.0.0][0.14.1...1.0.0].

Changed

  • Adjusted Vendor\Composer\ConfigHashNormalizer to recursively sort hashes by key ([#424]), by [@localheinz]
`0.9.0`

For a full diff see [0.8.0...0.9.0][0.8.0...0.9.0].

Added

  • Added JsonEncodeOptions value object ([#93]), by [@localheinz]

Changed

  • Turned method on Format into named constructor on Indent value object ([#94]), by [@localheinz]
  • Turned method on Format into named constructor on JsonEncodeOptions value object([#95]), by [@localheinz]
  • Turned method on Format into named constructor on NewLine value object ([#96]), by [@localheinz]

Removed

  • Removed capability to create Json value object from decoded data ([#88]), by [@localheinz]
  • Removed IndentInterface ([#89]), by [@localheinz]
  • Removed NewLineInterface ([#90]), by [@localheinz]
  • Removed FormatInterface ([#91]), by [@localheinz]
  • Removed JsonInterface ([#92]), by [@localheinz]
`0.8.0`

For a full diff see [0.7.0...0.8.0][0.7.0...0.8.0].

Added

  • Added named constructor to Json value object to allow creation from data ([#86]), by [@localheinz]

Changed

  • Renamed InvalidJsonException to InvalidJsonEncodedException ([#85]), by [@localheinz]

Fixed

  • ExceptionInterface now extends Throwable ([#82]), by [@BackEndTea]
  • Extension ext/json is now explicitly required ([#84]), by [@localheinz]
`0.7.0`

For a full diff see [0.6.0...0.7.0][0.6.0...0.7.0].

Added

Changed

  • Removed the Sniffer in favour of a named constructor on Format value object ([#77]), by [@localheinz]

Fixed

  • Added more test cases for sniffing JSON without whitespace ([#67]), by [@localheinz]
  • Added missing types in a Docblock ([#68]), by [@localheinz]
  • The Format value object now rejects mixed tabs and spaces as indent ([#69]), by [@localheinz]
  • Added more test cases for JSON without indent ([#72]), by [@localheinz]
  • Sniff only pure indents, no mixed spaces and tabs ([#71]), by [@localheinz]
`0.6.0`

For a full diff see [0.5.2...0.6.0][0.5.2...0.6.0].

Added

  • Added sniffing of new-line character sequence ([#55]), by [@localheinz]
`0.5.2`

For a full diff see [0.5.1...0.5.2][0.5.1...0.5.2].

Fixed

  • Keep resolving references until there are none left ([#49]), by [@localheinz]
`0.5.1`

For a full diff see [0.5.0...0.5.1][0.5.0...0.5.1].

Fixed

  • Resolve referenced schema in oneOf combination ([#47]), by [@localheinz]
`0.5.0`

For a full diff see [0.4.0...0.5.0][0.4.0...0.5.0].

Added

  • Added handling of arrays where schema describes tuple ([#37]), by [@localheinz]
  • Added handling of arrays were schema has reference definition ([#40]), by [@localheinz]
  • Added handling of oneOf ([#45]), by [@localheinz]
`0.4.0`

For a full diff see [0.3.0...0.4.0][0.3.0...0.4.0].

Added

Changed

  • Renamed FormatSniffer to Sniffer ([#30]), by [@localheinz]
`0.3.0`

For a full diff see [0.2.0...0.3.0][0.2.0...0.3.0].

Changed

`0.2.0`

For a full diff see [0.1.0...0.2.0][0.1.0...0.2.0].

Added

  • Added FixedFormatNormalizer ([#17]), by [@localheinz]
`0.14.1`

For a full diff see [0.14.0...0.14.1][0.14.0...0.14.1].

Fixed

  • Adjusted Vendor\Composer\ConfigHashNormalizer to continue normalizing properties when a property has an empty value ([#423]), by [@localheinz]
`0.14.0`

For a full diff see [0.13.1...0.14.0][0.13.1...0.14.0].

Added

  • Extracted an Indent::CHARACTERS constant that exposes a map of indent styles to indent characters ([#384]), by [@localheinz]
`0.13.1`

For a full diff see [0.13.0...0.13.1][0.13.0...0.13.1].

Changed

  • Dropped support for PHP 7.1 ([#335]), by [@localheinz]
`0.13.0`

For a full diff see [0.12.0...0.13.0][0.12.0...0.13.0].

Added

`0.12.0`

For a full diff see [0.11.0...0.12.0][0.11.0...0.12.0].

Added

  • Added SchemaValidator::validate(), which returns a Result composing validation error messages ([#268]), by [@localheinz]

Deprecated

  • Deprecated SchemaValidator::isValid() ([#269]), by [@localheinz]
`0.11.0`

For a full diff see [0.10.1...0.11.0][0.10.1...0.11.0].

Added

Removed

  • Removed the ChainUriRetriever ([#202]), by [@localheinz]
`0.10.1`

For a full diff see [0.10.0...0.10.1][0.10.0...0.10.1].

Fixed

  • Brought back support for PHP 7.1 ([#191]), by [@localheinz]
`0.10.0`

For a full diff see [0.9.0...0.10.0][0.9.0...0.10.0].

Added

  • Added a ChainUriRetriever which allows specifying multiple URI retrievers ([#102]), by [@localheinz]
  • Added this changelog ([#103]), by [@localheinz]

Changed

  • Allowing injection of a UriRetriever into the SchemaNormalizer, and defaulting to a ChainUriRetriever which composes FileGetContents and Curl URI retrievers ([#104]), by [@localheinz]

  • Dropped null default values of constructor arguments of AutoFormatNormalizer, FixedFormatNormalizer, Formatter, IndentNormalizer to expose hard dependencies ([#109]), by [@localheinz]

  • Dropped nullable return type declaration from ChainUriRetriever::getContentType(), defaulting to an empty string when ChainUriRetriever::retrieve() wasn't invoked yet ([#132]), by [@localheinz]

  • Started using ergebnis/json-printer instead of localheinz/json-printer ([#176]), by [@localheinz]

  • Renamed vendor namespace Localheinz to Ergebnis after move to [@ergebnis] ([#181]), by [@localheinz]

    Run

    $ composer remove localheinz/json-normalizer
    

    and

    $ composer require ergebnis/json-normalizer
    

    to update.

    Run

    $ find . -type f -exec sed -i '.bak' 's/Localheinz\\Json\\Normalizer/Ergebnis\\Json\\Normalizer/g' {} \;
    

    to replace occurrences of Localheinz\Json\Normalizer with Ergebnis\Json\Normalizer.

    Run

    $ find -type f -name '*.bak' -delete
    

    to delete backup files created in the previous step.

Fixed

  • Dropped support for PHP 7.1 ([#163]), by [@localheinz]
`0.1.0`

For a full diff see 5d8b3e2...0.1.0.

Added

[@alexis-saransig-lullabot]: https://github.com/alexis-saransig-lullabot [@BackEndTea]: https://github.com/BackEndTea [@dependabot]: https://github.com/dependabot [@ergebnis]: https://github.com/ergebnis [@fredden]: https://github.com/fredden [@localheinz]: https://github.com/localheinz [@tacman]: https://github.com/tacman

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
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
twbs/bootstrap4