All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie.
Warning
Only versions 9.5.x or greater are now actively supported.
Versions 9.1
, 9.2
, 9.3
, and 9.4
won't receive any updates as they reach end-of-life.
Drop PHPUnit 10 support and upgrade to PHPUnit 11
- #216 : PHPUnit 11 support
- #215 : PHP 8.4 runtime support
Full Changelog: 9.5.3...9.5.4
- #214 : junit invalid xml
Full Changelog: 9.5.2...9.5.3
Same as 9.5.0 (except for GitHub Workflows that still used PHP 8.1)
Full Changelog: 9.5.0...9.5.2
Same as 9.5.0 (except for GitHub Workflows that still used PHP 8.1)
Full Changelog: 9.5.0...9.5.1
- drop support to PHP 8.1
- #213 : Get application version from Composer Runtime API
- #192 : The "-x" option does not exist.
Full Changelog: 9.4.1...9.5.0
Note
This bugfix version is only for the PHAR distribution.
- #210 : PHAR manifest is broken
Full Changelog: 9.4.0...9.4.1
- #208 : Add support to more output formats
- support to
checkstyle
format
- support to
sarif
format is now optional. Requires to install extra packagebartlett/sarif-php-converters
.
Note
sarif
format is a good example of how to use custom format not provided by current PHPLint distribution.
Read how to use it at https://github.com/llaville/sarif-php-converters/blob/1.0/docs/converter/phplint.md
- legacy
log-*
andsarif-converter
options - useless help column in configuration table when verbose mode is active
- shortcut of
progress
option is now detected onphplint
binary launcher.
Full Changelog: 9.3.1...9.4.0
bootstrap
option handling in wrong place
Full Changelog: 9.3.0...9.3.1
- New
bootstrap
option to make it easier to load whatever you need before to run linter. - New example (
examples/sarif_output.php
) to show how to generate a SARIF report programmatically
- #206 : New autoloader does not respect custom
vendor-dir
configuration
Full Changelog: 9.2.0...9.3.0
- #186 : Add SARIF output format
- Reorganize binary launcher (
bin/phplint
) and autoloader (autoload.php
replacedconfig/bootstrap.php
)
Full Changelog: 9.1.2...9.2.0
- #202 : composer config vendor-dir is ignored
- #203 : Uncaught Error: Failed opening required "phar:///usr/local/bin/phplint/config/bootstrap.php"
- #204 : PHPLint 9.1.1 is unable to interpret correctly command arguments/options
Full Changelog: 9.1.1...9.1.2
- #200 : Unable to create file
/github/home/.composer/config.json
in GitHub Action - #201 : GitHub Action build docker on fly with wrong version
Full Changelog: 9.1.0...9.1.1
- PHPStan dev tool to enforce code quality of this project (see Contributor guide)
- Introduces a
DebugFormatterHelper
for asynchronous process - Introduces a
ProcessHelper
for asynchronous process - Introduces a new extension (
ProgressIndicator
) to let users know that thephplint
command isn't stalled. Uses--progress=indicator
.
- Replaces Symfony components constraint to new LTS (6.4), and drop support to old one (5.4)
ProgressPrinter
andProgressBar
extensions must now implement theOvertrue\PHPLint\Output\ConsoleOutputInterface
specification- Reorganize dev tools under their own composer namespace (
check-style
beginsstyle:check
, andfix-style
beginsstyle:fix
) - #197 : Faster process linter
- rename BOX config file to
box.json.dist
- Dockerfile bump default PHP version from 8.2 to 8.3 (to produce better perf)
- drop support of PHPUnit 9
- drop support of PHP 8.0
setApplicationVersion
andsetConfigResolver
methods were removed fromOvertrue\PHPLint\Output\ConsoleOutputInterface
as there are no more required
Full Changelog: 9.0.6...9.1.0
IMPORTANT Do not use version 9.0.7 (wrong fixes for Docker targets, including GitHub Actions)
- #200 : Unable to create file
/github/home/.composer/config.json
in GitHub Action - #201 : GitHub Action build docker on fly with wrong version
Full Changelog: 9.0.6...9.0.8
- #200 : Unable to create file
/github/home/.composer/config.json
in GitHub Action - #201 : GitHub Action build docker on fly with wrong version
Full Changelog: 9.0.6...9.0.7
- #196 : Better Symfony 7 support
Full Changelog: 9.0.5...9.0.6
This version is compatible PHP 8.0, 8.1, 8.2 and 8.3
CAUTION Next minor release 9.1 will drop support to PHP 8.0
- Upgrade Phive installation documentation
- Migrate PHPUnit configuration file to 10.4 format
- Raise PHPUnit 9 constraint to latest v9 minor release
- PR #195 : Add Symfony 7 support (thanks to @olegpro)
- PR #194 : Fix link to Configuration in console.md (thanks to @hNczy)
- #193 : PHP CS Fixer deprecated rules
Full Changelog: 9.0.4...9.0.5
- PHPUnit 10 support
- ConsoleOutput is no more final to be able to customize it
- LinterOutput implement Countable interface
- Finder implement JsonSerializable interface
- #182 : Docker usage may raise a permission denied
- #183 : Error is unintuitive when there are no files to lint
- #185 : Analyse multiple path at same time did not work with console command
- #187 : Improve log options implementation
Full Changelog: 9.0.3...9.0.4
- #178 : "no configuration file is found" message without --no-configuration flag
- #175 : PHAR version not available since release 9.0.0
Full Changelog: 9.0.2...9.0.3
- #176 : Enhance Cache support for Windows platform
Full Changelog: 9.0.1...9.0.2
- configure Release Workflow to run manually
- #175 : Release Workflow was not able to build a PHAR with manifest distribution
Full Changelog: 9.0.0...9.0.1
- introduces Changie for changelog automation
- add declare strict_types directive on top of each php script
- add PHP DocBlock header comment on top of each php script
- introduces test automation with PHPUnit
- introduces Finder component to find source files to analyse
- introduces Logger component (basic PSR-3) for cache debugging purpose
- introduces Dispatcher component with events to allow extensible code more easy
- introduces extensions to display checking progress
- introduces OptionsResolver component to resolve configuration with options
- #173 : Improve PHAR build with BOX v4 by adding a manifest
--manifest
option to display contents of manifest of the PHAR version (only) of PHPLinter
- raise minimum version constraint on Symfony Components to use the current LTS (5.4)
- update
jetbrains/phpstorm-stubs
requirement to accept v2022 - update
brainmaestro/composer-git-hooks
requirement to accept v3.0 alpha1 : that will allow to update psr/log to v3 and symfony/console to v6 - code-rewrites to use Symfony Cache Component
- Lint process class was renamed and some minor type declaration were fixed
- Remove n98/junit-xml dependency and replace it by new JunitXmlReporter extension (about 30 lines of code)
- JsonOutput console/output is specialized to produce JSON output results (see
--log-json
option) - JunitOutput console/output is specialized to produce JUnit XML format results (see
--log-junit
option) - ConsoleOutput is specialized to produce CLI output (default results)
- upgrade
humbug/php-scoper
to allow usage of Box v4 with at least PHP 8.1 - Integration with PHP-Scoper to provide a PHAR code isolation with BOX project
- All dev tools are now under bamarni/composer-bin-plugin control
- remove platform emulation by Composer config/platform directive