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.13
for compilingcomposer-normalize.phar
(#743), by @localheinz
For a full diff see 2.13.2...2.13.3
.
- Required
ergebnis/json-normalizer:^1.0.3
which correctly sortscomposer-plugin-api
(#707), by @dependabot
For a full diff see 2.13.1...2.13.2
.
- Required
ergebnis/json-normalizer:^1.0.2
which ignores theconfig.preferred-install
hash 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.1
which ignores thepreferred-install
hash 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\Application
when 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.0
which allows recursively sorting config hashes (#634), by @dependabot
- Required
composer/composer:2.0.8
forcomposer-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.17
and usedcomposer/composer:1.10.17
forcomposer-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.15
and usedcomposer/composer:1.10.15
forcomposer-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-lock
option 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\Application
instead of reusing the current instance (#420), by @localheinz - Stopped using the deprecated
--no-suggest
option 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
--diff
option (#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 validate
to show validation errors whencomposer.json
is 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.phar
andcomposer-normalize.phar.asc
to 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\SchemaUriResolver
and checked inschema.json
instead (#273), by @localheinz
For a full diff see 1.3.1...2.0.0
.
-
Started using
ergebnis/composer-json-normalizer
instead oflocalheinz/composer-json-normalizer
,ergebnis/json-normalizer
instead oflocalheinz/json-normalizer
, andergebnis/json-printer
instead oflocalheinz/json-printer
(#261), by @localheinz -
Removed default values for parameters
$formatter
and$differ
of constructor ofErgebnis\Composer\Normalize\Command\NormalizeCommand
(#262), by @localheinz -
Renamed vendor namespace
Localheinz
toErgebnis
after move to @ergebnis (#267), by @localheinzRun
$ composer remove localheinz/composer-normalize
and
$ composer require ergebnis/composer-normalize
to update.
Run
$ find . -type f -exec sed -i '.bak' 's/Localheinz\\Composer\\Normalizer/Ergebnis\\Composer\\Normalize/g' {} \;
to replace occurrences of
Localheinz\Composer\Normalize
withErgebnis\Composer\Normalize
.Run
$ find -type f -name '*.bak' -delete
to delete backup files created in the previous step.
-
Marked
Ergebnis\Composer\Normalize\Command\NormalizeCommand
andErgebnis\Composer\Normalize\Command\SchemaUriResolver
as 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/diff
to 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
StrictUnifiedDiffOutputBuilder
when available to create more condensed diffs when using the--dry-run
option (#80), by @localheinz
For a full diff see 1.1.3...1.1.4
.
- Removed requirement for
composer.json
to be writable when using the--dry-run
option (#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-run
option (#173), by @TravisCarden
For a full diff see 1.1.1...1.1.2
.
- Reverted deprecation of the
file
argument of theNormalizeCommand
as it turns out that the same functionality can not be achieved using the--working-dir
option (#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
file
argument of theNormalizeCommand
as the same functionality can be achieved using the--working-dir
option (#145), by @localheinz
- Force reading
composer.json
andcomposer.lock
after normalization to ensurecomposer.lock
is 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
ConfigHashNormalizer
now also sorts thescripts-descriptions
section (#89), by @localheinz
- When validation of
composer.lock
fails 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
ConfigHashNormalizer
now also sorts theextra
section (#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
file
argument to theNormalizeCommand
, so the path tocomposer.json
can be specified now, (#51), by @localheinz
For a full diff see 0.4.0...0.5.0
.
- Updated
localheinz/json-normalizer
, which significantly improves theSchemaNormalizer
employed to do the major normalization ofcomposer.json
(#42), by @localheinz
For a full diff see 0.3.0...0.4.0
.
- Added
--dry-run
option, 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-lock
option, which allows skipping the update ofcomposer.lock
after normalization (#28), by @localheinz - Added the
VersionConstraintNormalizer
, which normalizes version constraints (#18), by @localheinz
- Using the
--no-scripts
option when invoking theUpdateCommand
to 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 theconfig
section by key (#2), by @localheinz - Added the
NormalizePlugin
, which provides theNormalizeCommand
(#3), by @localheinz - Added the
PackageHashNormalizer
which sorts packages in theconflict
,provide
,replaces
,require
,require-dev
, andsuggest
sections using the same algorithm that is used by thesort-packages
option of composer itself (#6), by @localheinz - Added the
BinNormalizer
, which sorts entries in thebin
section by - Added the
ComposerJsonNormalizer
, which composes all of the above normalizers along with theSchemaNormalizer
, to normalizecomposer.json
according to its underlying JSON schema (#8 and #10), by @localheinz