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.45.0...main
.
For a full diff see 2.44.0...2.45.0
.
- Updated
schema.json
(#1405), by @ergebnis-bot - Allowed installation of
justinrainbow/json-schema:^6.0.0
(#1410), by @tacman - Updated
composer/composer
(#1416), by @localheinz
For a full diff see 2.43.0...2.44.0
.
- Updated
schema.json
(#1363), by @ergebnis-bot - Allowed installation on PHP 8.4 (#1381), by @localheinz
For a full diff see 2.42.0...2.43.0
.
- Updated
schema.json
(#1312), by @ergebnis-bot
- Updated
composer/composer
(#1349), by @localheinz
For a full diff see 2.41.1...2.42.0
.
- Required
ergebnis/json:^1.2.0
(#1273), by @dependabot - Required
ergebnis/json-printer:^3.5.0
(#1275), by @dependabot - Required
ergebnis/json-normalizer:^4.5.0
(#1277), by @localheinz - Added support for PHP 8.0 (#1278), by @localheinz
- Added support for PHP 7.4 (#1279), by @localheinz
For a full diff see 2.41.0...2.41.1
.
- Required
ergebnis/json-normalizer:^4.4.1
(#1243), by @dependabot
For a full diff see 2.40.0...2.41.0
.
- Required
ergebnis/json-normalizer:^4.4.0
(#1241), by @dependabot
- Updated
composer/composer
(#1237), by @localheinz
For a full diff see 2.39.0...2.40.0
.
- Updated
schema.json
(#1204), by @ergebnis-bot
- Prevented installation of
symfony/console:^7.0.0
(#1234), by @localheinz
For a full diff see 2.38.0...2.39.0
.
- Required
ergebnis/json:^1.1.0
(#1191), by @localheinz - Required
ergebnis/json-normalizer:^4.3.0
(#1192), by @localheinz - Required
ergebnis/json-printer:^3.4.0
(#1195), by @localheinz
For a full diff see 2.37.0...2.38.0
.
- Added support for PHP 8.3 (#1189), by @localheinz
- Adjusted
Command\NormalizeCommand
to respect--no-ansi
,--no-plugins
,--no-scripts
options ([#1184]), by @mxr576 - Updated
composer/composer
(#1188), by @localheinz
For a full diff see 2.36.0...2.37.0
.
- Updated
schema.json
(#1170), by @ergebnis-bot
- Updated
composer/composer
(#1171), by @localheinz
For a full diff see 2.35.0...2.36.0
.
- Updated
schema.json
(#1155), by @ergebnis-bot - Required
composer/composer:2.6.1
for compilingcomposer-normalize.phar
(#1158), by @localheinz
For a full diff see 2.34.0...2.35.0
.
For a full diff see 2.33.0...2.34.0
.
- Updated
schema.json
(#1136), by @ergebnis-bot
For a full diff see 2.32.0...2.33.0
.
- Required
ergebnis/json-normalizer:^4.2.0
(#1127), by @dependabot
For a full diff see 2.31.0...2.32.0
.
- Dropped support for PHP 8.0 (#1118), by @localheinz
- Required
composer/composer:2.5.8
for compilingcomposer-normalize.phar
(#1125), by @localheinz
For a full diff see 2.30.2...2.31.0
.
- Updated
schema.json
(#1070), by @ergebnis-bot - Required
ergebnis/json-normalizer:^4.1.0
(#1095), by @dependabot - Started passing through
--no-ansi
option toUpdateCommand
(#827), by @localheinz
- Required
composer/composer:2.5.5
for compilingcomposer-normalize.phar
(#1094), by @localheinz
For a full diff see 2.30.1...2.30.2
.
- Required
ergebnis/json-normalizer:^4.0.2
(#1062), by @localheinz
For a full diff see 2.30.0...2.30.1
.
- Required
ergebnis/json-normalizer:^4.0.1
(#1060), by @localheinz
For a full diff see 2.29.0...2.30.0
.
- Started injecting
Printer\Printer
instead ofFormatter\Formatter
intoNormalizeCommand
(#1008), by @ergebnis-bot - Required
composer/composer:2.5.1
for compilingcomposer-normalize.phar
(#1020), by @localheinz - Required
ergebnis/json-normalizer:^4.0.0
(#1056), by @dependabot
For a full diff see 2.28.3...2.29.0
.
- Updated
schema.json
(#959), by @ergebnis-bot - Dropped support for PHP 7.4 (#998), by @localheinz
- Required
composer/composer:2.4.4
for compilingcomposer-normalize.phar
(#1004), by @localheinz
For a full diff see 2.28.2...2.28.3
.
- Required
composer/composer:2.3.9
for compilingcomposer-normalize.phar
(#942), by @localheinz
For a full diff see 2.28.1...2.28.2
.
- Required
composer/composer:2.3.8
for compilingcomposer-normalize.phar
(#941), by @localheinz
For a full diff see 2.28.0...2.28.1
.
- Removed banner (#938), by @localheinz
For a full diff see 2.27.0...2.28.0
.
- Updated
schema.json
(#933), by @ergebnis-bot
For a full diff see 2.26.0...2.27.0
.
- Updated
schema.json
(#930), by @ergebnis-bot
For a full diff see 2.25.2...2.26.0
.
- Updated
schema.json
(#923), by @ergebnis-bot
For a full diff see 2.25.1...2.25.2
.
- Updated
schema.json
(#916), by @ergebnis-bot - Required
composer/composer:2.3.5
for compilingcomposer-normalize.phar
(#922), by @localheinz
- Updated
justinrainbow/json-schema
(#920), by @dependabot
For a full diff see 2.25.0...2.25.1
.
- Required
composer/composer:2.3.1
for compilingcomposer-normalize.phar
(#915), by @localheinz
For a full diff see 2.24.1...2.25.0
.
- Updated
schema.json
(#912), by @ergebnis-bot - Required
composer/composer:2.3.0
for compilingcomposer-normalize.phar
(#913), by @localheinz
For a full diff see 2.24.0...2.24.1
.
- Required
composer/composer:2.2.9
for compilingcomposer-normalize.phar
(#904), by @localheinz - Updated
humbug/box
(#905), by @localheinz
For a full diff see 2.23.1...2.24.0
.
- Added Stand with Ukraine banner (#899), by @localheinz
For a full diff see 2.23.0...2.23.1
.
- Required
composer/composer:2.2.5
for compilingcomposer-normalize.phar
(#871), by @localheinz - Prevented updates of
ergebnis/json-normalizer
beyond2.1.0
for now (#877), by @localheinz
For a full diff see 2.22.0...2.23.0
.
- Updated
ergebnis/json-normalizer
(#864), by @localheinz
- Required
composer/composer:2.2.3
for compilingcomposer-normalize.phar
(#863), by @localheinz
For a full diff see 2.21.0...2.22.0
.
- Required
ergebnis/json-normalizer:^2.0.0
(#858), by @dependabot
For a full diff see 2.20.0...2.21.0
.
- Dropped support for PHP 7.3 (#852), by @localheinz
For a full diff see 2.19.0...2.20.0
.
- Dropped support for PHP 7.2 (#845), by @localheinz
For a full diff see 2.18.0...2.19.0
.
- Required
composer/composer:2.2.1
for compilingcomposer-normalize.phar
(#842), by @localheinz
For a full diff see 2.17.0...2.18.0
.
- Updated
schema.json
(#829), by @ergebnis-bot
For a full diff see 2.16.0...2.17.0
.
- Updated
schema.json
(#816), by @ergebnis-bot
- Required
composer/composer:2.1.14
for compilingcomposer-normalize.phar
(#825), by @localheinz
For a full diff see 2.15.0...2.16.0
.
- Required
composer/composer:2.1.12
for compilingcomposer-normalize.phar
(#804), by @localheinz - Dropped support for
composer/composer:^1.0.0
(#807), by @localheinz
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