[ANNOUNCEMENT] PHP_CodeSniffer-3.0.0a1 (alpha) Released.

[email protected] ("PEAR Announce") Tue, 19 Jul 2016 23:43:34 -0400 (EDT)
Newsgroups php.pear.general
Message-ID <[email protected]>
The new PEAR package PHP_CodeSniffer-3.0.0a1 (alpha) has been released at http://pear.php.net/.

Release notes
-------------
- Min PHP version increased from 5.1.2 to 5.4.0
- Added optional caching of results between runs (request #530)
  -- Enable the cache by using the --cache command line argument
  -- If you want the cache file written somewhere specific, use --cache=/path/to/cacheFile
  -- Use the command "phpcs --config-set cache true" to turn caching on by default
  -- Use the --no-cache command line argument to disable caching if it is being turned on automatically
- Add support for checking file in parallel (request #421)
  -- Tell PHPCS how many files to check at once using the --parallel command line argument
  -- To check 100 files at once, using --parallel=100
  -- To disable parallel checking if it is being turned on automatically, use --parallel=1
  -- Requires PHP to be compiled with the PCNTL package
- The default encoding has been changed from iso-8859-1 to utf-8 (request #760)
  -- The --encoding command line argument still works, but you no longer have to set it to process files as utf-8
  -- If encoding is being set to utf-8 in a ruleset or on the CLI, it can be safely removed
  -- If the iconv PHP extension is not installed, standard non-multibyte aware functions will be used
- Added a new "code" report type to show a code snippet for each error (request #419)
  -- The line containing the error is printed, along with 2 lines above and below it to show context
  -- The location of the errors is underlined in the code snippet if you also use --colors
  -- Use --report=code to generate this report
- Added support for custom filtering of the file list
  -- Developers can write their own filter classes to perform custom filtering of the list before the run starts
  -- Use the command line arg --filter=/path/to/filter.php to specify a filter to use
  -- Extend \PHP_CodeSniffer\Filters\Filter to also support the core PHPCS extension and path filtering
  -- Extend \PHP_CodeSniffer\Filters\ExactMatch to get the core filtering and the ability to use blacklists and whitelists
  -- The included \PHP_CodeSniffer\Filters\GitModified filter is a good example of an ExactMatch filter
- Added support for only checking files that have been locally modified or added in a git repo
  -- Use --filter=gitmodified to check these files
  -- You still need to give PHPCS a list of files or directories in which to check
- Added automatic discovery of executable paths (request #571)
  -- Thanks to Sergey Morozov for the patch
- You must now pass "-" on the command line to have PHPCS wait for STDIN
  -- E.g., phpcs --standard=PSR2 -
  -- You can still pipe content via STDIN as normal as PHPCS will see this and process it
  -- But without the "-", PHPCS will throw an error if no content or files are passed to it
- All PHP errors generated by sniffs are caught, re-thrown as exceptions, and reported in the standard error reports
  -- This should stop bugs inside sniffs causing infinite loops
  -- Also stops invalid reports being produced as errors don't print to the screen directly
- Sniff codes are no longer optional
  -- If a sniff throws and error or a warning, it must specify an internal code for that message
- The installed_paths config setting can now point directly to a standard
  -- Previously, it had to always point to the directory in which the standard lives
- Multiple reports can now be specified using the --report command line argument
  -- Report types are separated by commas
  -- E.g., --report=full,summary,info
  -- Previously, you had to use one argument for each report such as --report=full --report=summary --report=info
- You can now set the severity, message type, and exclude patterns for and entire sniff, category, or standard
  -- Previously, this was only available for a single message
- You can now include a single sniff code in a ruleset instead of having to include an entire sniff
  -- Including a sniff code will automatically exclude all other messages from that sniff
  -- If the sniff is already included by an imported standard, set the sniff severity to 0 and include the specific message you want
- PHPCBF no longer uses patch
  -- Files are now always overwritten
  -- The --no-patch option has been removed
- Added a --basepath option to strip a directory from the front of file paths in output (request #470)
  -- The basepath is absolute or relative to the current directory
  -- E.g., to output paths relative to current dir in reports, use --basepath=.
- Ignore rules are now checked when using STDIN (request #733)
- Added an include-pattern tag to rulesets to include a sniff for specific files and folders only (request #656)
  -- This is the exact opposite of the exclude-pattern tag
  -- This option is only usable within sniffs, not globally like exclude-patterns are
- Added a new -m option to stop error messages from being recorded, which saves a lot of memory
  -- PHPCBF always uses this setting to reduce memory as it never outputs error messages
  -- Setting the $recordErrors member var inside custom report classes is no longer supported (use -m instead)
- Exit code 2 is now used to indicate fixable errors were found (request #930)
  -- Exit code 3 is now used for general script execution errors
  -- Exit code 1 is used to indicate that coding standard errors were found, but none are fixable
  -- Exit code 0 is unchanged and continues to mean no coding standard errors found
- The included PHPCS standard has been removed
  -- All rules are now found inside the phpcs.xml.dist file
  -- Running "phpcs" without any arguments from a git clone will use this ruleset
- The included SVN pre-commit hook has been removed
  -- Hooks for version control systems will no longer be maintained within the PHPCS project

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.0a1
    Download: http://download.pear.php.net/package/PHP_CodeSniffer-3.0.0a1.tgz

Authors
-------
Greg Sherwood (lead)