[ANNOUNCEMENT] PHP_CodeSniffer-3.0.1 (stable) Released.
[email protected] ("PEAR Announce") Tue, 13 Jun 2017 21:44:23 -0400 (EDT)
| Newsgroups | php.pear.general |
|---|---|
| Message-ID | <[email protected]> |
The new PEAR package PHP_CodeSniffer-3.0.1 (stable) has been released at http://pear.php.net/.
Release notes
-------------
- This release contains a fix for a security advisory related to the improper handling of a shell command
-- A properly crafted filename would allow for arbitrary code execution when using the --filter=gitmodified command line option
-- All version 3 users are encouraged to upgrade to this version, especially if you are checking 3rd-party code
--- e.g., you run PHPCS over libraries that you did not write
--- e.g., you provide a web service that runs PHPCS over user-uploaded files or 3rd-party repositories
--- e.g., you allow external tool paths to be set by user-defined values
-- If you are unable to upgrade but you check 3rd-party code, ensure you are not using the Git modified filter
-- This advisory does not affect PHP_CodeSniffer version 2.
-- Thanks to Sergei Morozov for the report and patch
- Arguments on the command line now override or merge with those specified in a ruleset.xml file in all cases
- PHPCS now stops looking for a phpcs.xml file as soon as one is found, favoring the closest one to the current dir
- Added missing help text for the --stdin-path CLI option to --help
- Re-added missing help text for the --file-list and --bootstrap CLI options to --help
- Runner::runPHPCS() and Runner::runPHPCBF() now return an exit code instead of exiting directly (request #1484)
- The Squiz standard now enforces short array syntax by default
- The autoloader is now working correctly with classes created with class_alias()
- The autoloader will now search for files inside all directories in the installed_paths config var
-- This allows autoloading of files inside included custom coding standards without manually requiring them
- You can now specify a namespace for a custom coding standard, used by the autoloader to load non-sniff helper files
-- Also used by the autoloader to help other standards directly include sniffs for your standard
-- Set the value to the namespace prefix you are using for sniff files (everything up to \Sniffs\)
-- e.g., if your namespace format is MyProject\CS\Standard\Sniffs\Category set the namespace to MyProject\CS\Standard
-- If ommitted, the namespace is assumed to be the same as the directory name containing the ruleset.xml file
-- The namespace is set in the ruleset tag of the ruleset.xml file
-- e.g., ruleset name="My Coding Standard" namespace="MyProject\CS\Standard"
- Rulesets can now specify custom autoloaders using the new autoload tag
-- Autloaders are included while the ruleset is being processed and before any custom sniffs are included
-- Allows for very custom autoloading of helper classes well before the boostrap files are included
- The PEAR standard now includes Squiz.Commenting.DocCommentAlignment
-- It previously broke comments onto multiple lines, but didn't align them
- Fixed a problem where excluding a message from a custom standard's own sniff would exclude the whole sniff
-- This caused some PSR2 errors to be under-reported
- Fixed bug #1442 : T_NULLABLE detection not working for nullable parameters and return type hints in some cases
- Fixed bug #1447 : Running the unit tests with a phpunit config file breaks the test suite
-- Unknown arguments were not being handled correctly, but are now stored in $config->unknown
- Fixed bug #1449 : Generic.Classes.OpeningBraceSameLine doesn't detect comment before opening brace
-- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #1450 : Coding standard located under an installed_path with the same directory name throws an error
-- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #1451 : Sniff exclusions/restrictions dont work with custom sniffs unless they use the PHP_CodeSniffer NS
- Fixed bug #1454 : Squiz.WhiteSpace.OperatorSpacing is not checking spacing on either side of a short ternary operator
-- Thanks to Mponos George for the patch
- Fixed bug #1495 : Setting an invalid installed path breaks all commands
- Fixed bug #1496 : Squiz.Strings.DoubleQuoteUsage not unescaping dollar sign when fixing
-- Thanks to MichaĆ Bundyra for the patch
- Fixed bug #1501 : Interactive mode is broken
- Fixed bug #1504 : PSR2.Namespaces.UseDeclaration hangs fixing use statement with no trailing code
Package Info
------------
PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.
Related Links
-------------
Package home: http://pear.php.net/package/PHP_CodeSniffer
Changelog: http://pear.php.net/package/PHP_CodeSniffer/download/3.0.1
Download: http://download.pear.php.net/package/PHP_CodeSniffer-3.0.1.tgz
Authors
-------
Greg Sherwood (lead)