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.
For a full diff see 2.15.0...main.
For a full diff see 2.14.0...2.15.0.
- Updated
schema.json(#754), by @ergebnis-bot
For a full diff see 2.13.4...2.14.0.
- Updated
schema.json(#744), by @ergebnis-bot
- Updated
composer/composer(#750), by @localheinz
For a full diff see 2.13.3...2.13.4.
- Required
composer/composer:2.0.13for compilingcomposer-normalize.phar(#743), by @localheinz
For a full diff see 2.13.2...2.13.3.
- Required
ergebnis/json-normalizer:^1.0.3which correctly sortscomposer-plugin-api(#707), by @dependabot
For a full diff see 2.13.1...2.13.2.
- Required
ergebnis/json-normalizer:^1.0.2which ignores theconfig.preferred-installhash only instead of all properties with the namepreferred-install(#647), by @localheinz
For a full diff see 2.13.0...2.13.1.
🤡 Made a mistake tagging this release before pulling changes merged into main.
For a full diff see 2.12.2...2.13.0.
- Brought back support for
composer/composer:^1.0.0(#644), by @localheinz
For a full diff see 2.12.1...2.12.2.
- Required
ergebnis/json-normalizer:^1.0.1which ignores thepreferred-installhash when sorting configuration hashes by key (#646), by @dependabot
For a full diff see 2.12.0...2.12.1.
- Show version of plugin instead of version of
Composer\Console\Applicationwhen running as development dependency (#643), by @localheinz
For a full diff see 2.11.0...2.12.0.
- Started showing plugin and author name when running
composer normalize(#641), by @localheinz
- Required
ergebnis/json-normalizer:^1.0.0which allows recursively sorting config hashes (#634), by @dependabot
- Required
composer/composer:2.0.8forcomposer-normalize.phar(#640), by @localheinz
For a full diff see 2.10.0...2.11.0.
- Updated
schema.json(#615), by @ergebnis-bot
For a full diff see 2.9.1...2.10.0.
- Allowed configuration via composer extra (#608), by @localheinz
For a full diff see 2.9.0...2.9.1.
- Required at least
composer/composer:^1.10.17and usedcomposer/composer:1.10.17forcomposer-normalize.phar(#596), by @localheinz - Dropped support for
composer/composer:^1.0.0(#597), by @localheinz
For a full diff see 2.8.2...2.9.0.
- Updated
schema.json(#572), by @ergebnis-bot
- Required at least
composer/composer:^1.10.15and usedcomposer/composer:1.10.15forcomposer-normalize.phar(#582), by @localheinz
For a full diff see 2.8.1...2.8.2.
- Require at least
composer/composer:^1.10.13(#554), by @localheinz
For a full diff see 2.8.0...2.8.1.
- Dropped support for PHP 7.1 (#529), by @localheinz
For a full diff see 2.7.0...2.8.0.
- Updated
schema.json(#526), by @ergebnis-bot
For a full diff see 2.6.1...2.7.0.
- Added
--no-check-lockoption which allows skipping validation ofcomposer.lock(#515), by @localheinz
- Updated
schema.json(#512), by @ergebnis-bot
For a full diff see 2.6.0...2.6.1.
- Added support for PHP 8.0, for real (#484, #485, #487), by @dependabot
For a full diff see 2.5.2...2.6.0.
For a full diff see 2.5.1...2.5.2.
- Started ignoring platform requirements when updating the lock file (#481), by @localheinz
For a full diff see 2.5.0...2.5.1.
- Started updating lock files with a new
Composer\Console\Applicationinstead of reusing the current instance (#420), by @localheinz - Stopped using the deprecated
--no-suggestoption when updating the lock file (#422), by @localheinz - Started relaxing schema in place to avoid issues resolving references and the like on Windows (#424), by @localheinz
For a full diff see 2.4.0...2.5.0.
- Apply lax validation to
composer.json(#416), by @localheinz
For a full diff see 2.3.2...2.4.0.
- Started showing validation error messages as obtained from validation instead of relying on on executing composer validate (#406), by @localheinz
- Made plugin compatible with
composer/composer:^2.0.0(#412), by @localheinz
For a full diff see 2.3.1...2.3.2.
- Fixed a reference that prevented an upload of release assets (#380), by @localheinz
For a full diff see 2.3.0...2.3.1.
- Updated
composer/composer(#379), by @localheinz
For a full diff see 2.2.4...2.3.0.
- Updated
schema.json(#374), by @ergebnis-bot
For a full diff see 2.2.3...2.2.4.
- Use real path to
schema.json(#364), by @localheinz
For a full diff see 2.2.2...2.2.3.
- Updated
schema.json(#354), by @ergebnis-bot
For a full diff see 2.2.1...2.2.2.
- Updated
schema.json(#322), by @localheinz
For a full diff see 2.2.0...2.2.1.
- Removed dependency on
ergebnis/composer-json-normalizer(#316), by @localheinz
For a full diff see 2.1.2...2.2.0.
- Added
--diffoption (#303), by @localheinz
For a full diff see 2.1.1...2.1.2.
- Allow passing argument and options to the command (#301), by @localheinz
For a full diff see 2.1.0...2.1.1.
- Actually run
composer validateto show validation errors whencomposer.jsonis not valid according to its schema (#297), by @localheinz
For a full diff see 2.0.2...2.1.0.
- Started compiling, signing, and uploading
composer-normalize.pharandcomposer-normalize.phar.ascto release assets when a tag is pushed (#292), by @localheinz
For a full diff see 2.0.1...2.0.2.
- Brought back support for PHP 7.1 (#280), by @localheinz
For a full diff see 2.0.0...2.0.1
- Removed
Ergebnis\Composer\Normalize\Command\SchemaUriResolverand checked inschema.jsoninstead (#273), by @localheinz
For a full diff see 1.3.1...2.0.0.
-
Started using
ergebnis/composer-json-normalizerinstead oflocalheinz/composer-json-normalizer,ergebnis/json-normalizerinstead oflocalheinz/json-normalizer, andergebnis/json-printerinstead oflocalheinz/json-printer(#261), by @localheinz -
Removed default values for parameters
$formatterand$differof constructor ofErgebnis\Composer\Normalize\Command\NormalizeCommand(#262), by @localheinz -
Renamed vendor namespace
LocalheinztoErgebnisafter move to @ergebnis (#267), by @localheinzRun
$ composer remove localheinz/composer-normalizeand
$ composer require ergebnis/composer-normalizeto update.
Run
$ find . -type f -exec sed -i '.bak' 's/Localheinz\\Composer\\Normalizer/Ergebnis\\Composer\\Normalize/g' {} \;to replace occurrences of
Localheinz\Composer\NormalizewithErgebnis\Composer\Normalize.Run
$ find -type f -name '*.bak' -deleteto delete backup files created in the previous step.
-
Marked
Ergebnis\Composer\Normalize\Command\NormalizeCommandandErgebnis\Composer\Normalize\Command\SchemaUriResolveras internal to allow modifications without the need for major releases (#270), by @localheinz
- Dropped support for PHP 7.1 (#235), by @localheinz
For a full diff see 1.3.0...1.3.1.
- Started using
localheinz/diffto avoid issues usingsebastian/diff(#207), by @localheinz
For a full diff see 1.2.0...1.3.0.
- Resolve local and fall back to remote schema so that command works offline and behind proxies (#190), by @localheinz
For a full diff see 1.1.4...1.2.0.
- Started using the
StrictUnifiedDiffOutputBuilderwhen available to create more condensed diffs when using the--dry-runoption (#80), by @localheinz
For a full diff see 1.1.3...1.1.4.
- Removed requirement for
composer.jsonto be writable when using the--dry-runoption (#177), by @localheinz
For a full diff see 1.1.2...1.1.3.
- Reversed use of red and green for rendering diff when using the
--dry-runoption (#173), by @TravisCarden
For a full diff see 1.1.1...1.1.2.
- Reverted deprecation of the
fileargument of theNormalizeCommandas it turns out that the same functionality can not be achieved using the--working-diroption (#166), by @localheinz
For a full diff see 1.1.0...1.1.1.
- Updated
localheinz/composer-json-normalizer, which effectively removed a dependency oncomposer/composer(#157), by @localheinz
For a full diff see 1.0.0...1.1.0.
- Deprecated the
fileargument of theNormalizeCommandas the same functionality can be achieved using the--working-diroption (#145), by @localheinz
- Force reading
composer.jsonandcomposer.lockafter normalization to ensurecomposer.lockis updated when not fresh after normalization (#139), by @localheinz
For a full diff see 0.9.0...1.0.0.
- Added this changelog (#94), by @localheinz
- Removed normalizers after extracting package
localheinz/composer-json-normalizer(#106), by @localheinz
For a full diff see 0.8.0...0.9.0.
- The
ConfigHashNormalizernow also sorts thescripts-descriptionssection (#89), by @localheinz
- When validation of
composer.lockfails prior to normalization, it is now recommended to update the lock file only (#86), by @svenluijten
For a full diff see 0.7.0...0.8.0.
- The
ConfigHashNormalizernow also sorts theextrasection (#60), by @localheinz
For a full diff see 0.6.0...0.7.0.
- Updated
localheinz/json-normalizer, which now sniffs the new-line character and uses it for printing instead of usingPHP_EOL(#62), by @localheinz
For a full diff see 0.5.0...0.6.0.
- Added a
fileargument to theNormalizeCommand, so the path tocomposer.jsoncan be specified now, (#51), by @localheinz
For a full diff see 0.4.0...0.5.0.
- Updated
localheinz/json-normalizer, which significantly improves theSchemaNormalizeremployed to do the major normalization ofcomposer.json(#42), by @localheinz
For a full diff see 0.3.0...0.4.0.
- Added
--dry-runoption, which allows usage in Continuous Integration systems, as it renders a diff and exits with a non-zero exit code (#38), by @localheinz
For a full diff see 0.2.0...0.3.0.
- Dropped support for PHP 7.0, which allows proper handling of empty PSR-4 namespace prefixes (#30), by @localheinz
For a full diff see 0.1.0...0.2.0.
- Added
--no-update-lockoption, which allows skipping the update ofcomposer.lockafter normalization (#28), by @localheinz - Added the
VersionConstraintNormalizer, which normalizes version constraints (#18), by @localheinz
- Using the
--no-scriptsoption when invoking theUpdateCommandto updatecomposer.lock(#19), by @localheinz
For a full diff see 81bc3a8...0.1.0.
- Added
NormalizeCommand(#1), by @localheinz - Added
ConfigHashNormalizer, which sorts entries in theconfigsection by key (#2), by @localheinz - Added the
NormalizePlugin, which provides theNormalizeCommand(#3), by @localheinz - Added the
PackageHashNormalizerwhich sorts packages in theconflict,provide,replaces,require,require-dev, andsuggestsections using the same algorithm that is used by thesort-packagesoption of composer itself (#6), by @localheinz - Added the
BinNormalizer, which sorts entries in thebinsection by - Added the
ComposerJsonNormalizer, which composes all of the above normalizers along with theSchemaNormalizer, to normalizecomposer.jsonaccording to its underlying JSON schema (#8 and #10), by @localheinz