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.
- PHAR distribution by disabling BOX
dump-autoloadsetting
Full Changelog: 9.7.0...9.7.1
- PHP minimum requirement is now version 8.2.0
- Symfony minimum requirement is now version 7.4.0
- #228 : Make it Symfony 8.0 compatible
- support to PHP 8.1
- support to Symfony 6.4
Full Changelog: 9.6.3...9.7.0
- #225 : Performance degradation on 9.x releases
Full Changelog: 9.6.2...9.6.3
lintcommand support now the newcache-diroption that replace the legacycacheoption, marked as deprecated (and will be removed in next major version)
- Remove support of a TTL = zero (store permanently) for the caching files syntax checking results
Full Changelog: 9.6.1...9.6.2
- default cache TTL value is now set to 1 hour (3600 seconds)
- ability to clear cache entries by invalidation with
--cache-ttloption less than default TTL is in effect
Full Changelog: 9.6.0...9.6.1
--cache-ttloption onlintcommand to solve cache invalidation issue
- drop support of PHPStan 1.x, raising min version to 2.0 now
- PHPUnit coverage code attributes usage
Full Changelog: 9.5.6...9.6.0
-
Make this package PHP 8.1 compatible again to allow using Symfony Components 6.4 without getting deprecations notices, when running with a PHP 8.4 runtime : requested by @gnutix
-
Upgrade Dockerfile to use PHP 8.4 runtime
Full Changelog: 9.5.5...9.5.6
- upgrade SARIF output to support PhpLintConverter of
bartlett/sarif-php-converterspackage
Full Changelog: 9.5.4...9.5.5
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
checkstyleformat
- support to
sarifformat 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-converteroptions - useless help column in configuration table when verbose mode is active
- shortcut of
progressoption is now detected onphplintbinary launcher.
Full Changelog: 9.3.1...9.4.0
bootstrapoption handling in wrong place
Full Changelog: 9.3.0...9.3.1
- New
bootstrapoption 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-dirconfiguration
Full Changelog: 9.2.0...9.3.0
- #186 : Add SARIF output format
- Reorganize binary launcher (
bin/phplint) and autoloader (autoload.phpreplacedconfig/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.jsonin 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
DebugFormatterHelperfor asynchronous process - Introduces a
ProcessHelperfor asynchronous process - Introduces a new extension (
ProgressIndicator) to let users know that thephplintcommand isn't stalled. Uses--progress=indicator.
- Replaces Symfony components constraint to new LTS (6.4), and drop support to old one (5.4)
ProgressPrinterandProgressBarextensions must now implement theOvertrue\PHPLint\Output\ConsoleOutputInterfacespecification- Reorganize dev tools under their own composer namespace (
check-stylebeginsstyle:check, andfix-stylebeginsstyle: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
setApplicationVersionandsetConfigResolvermethods were removed fromOvertrue\PHPLint\Output\ConsoleOutputInterfaceas 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.jsonin 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.jsonin 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
--manifestoption 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-stubsrequirement to accept v2022 - update
brainmaestro/composer-git-hooksrequirement 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-jsonoption) - JunitOutput console/output is specialized to produce JUnit XML format results (see
--log-junitoption) - ConsoleOutput is specialized to produce CLI output (default results)
- upgrade
humbug/php-scoperto 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