{"id":19932024,"url":"https://github.com/phpcompatibility/phpcompatibilitypasswordcompat","last_synced_at":"2025-10-19T17:49:09.445Z","repository":{"id":33106748,"uuid":"148995040","full_name":"PHPCompatibility/PHPCompatibilityPasswordCompat","owner":"PHPCompatibility","description":"PHPCompatibility ruleset which can be included in projects using @ircmaxell's PasswordCompat polyfill library","archived":false,"fork":false,"pushed_at":"2024-04-24T15:57:54.000Z","size":60,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-01T11:39:53.851Z","etag":null,"topics":["php","php-codesniffer","phpcompatibility","phpcs-standard"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PHPCompatibility.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"php_codesniffer","github":["PHPCompatibility","jrfnl"]}},"created_at":"2018-09-16T12:48:57.000Z","updated_at":"2024-06-19T05:17:52.752Z","dependencies_parsed_at":"2024-06-19T05:17:50.379Z","dependency_job_id":"10030df1-006c-4b64-8850-4e0c0324bcf4","html_url":"https://github.com/PHPCompatibility/PHPCompatibilityPasswordCompat","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityPasswordCompat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityPasswordCompat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityPasswordCompat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityPasswordCompat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PHPCompatibility","download_url":"https://codeload.github.com/PHPCompatibility/PHPCompatibilityPasswordCompat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224360233,"owners_count":17298319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","php-codesniffer","phpcompatibility","phpcs-standard"],"created_at":"2024-11-12T23:08:47.136Z","updated_at":"2025-10-19T17:49:09.436Z","avatar_url":"https://github.com/PHPCompatibility.png","language":"PHP","readme":"[![Latest Stable Version](https://img.shields.io/packagist/v/phpcompatibility/phpcompatibility-passwordcompat?label=stable)](https://packagist.org/packages/phpcompatibility/phpcompatibility-passwordcompat)\n[![Latest Unstable Version](https://img.shields.io/badge/unstable-dev--develop-e68718.svg?maxAge=2419200)](https://packagist.org/packages/phpcompatibility/phpcompatibility-passwordcompat)\n[![License](https://img.shields.io/github/license/PHPCompatibility/PHPCompatibilityPasswordCompat?color=00a7a7)](https://github.com/PHPCompatibility/PHPCompatibilityPasswordCompat/blob/master/LICENSE)\n[![Build Status](https://github.com/PHPCompatibility/PHPCompatibilityPasswordCompat/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/PHPCompatibility/PHPCompatibilityPasswordCompat/actions/workflows/ci.yml)\n\n# PHPCompatibilityPasswordCompat\n\nUsing PHPCompatibilityPasswordCompat, you can analyse the codebase of a project using using @[ircmaxell](https://github.com/ircmaxell/)'s [password_compat](https://github.com/ircmaxell/password_compat)  polyfill library, for PHP cross-version compatibility.\n\n\n## What's in this repo ?\n\nA rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the @ircmaxell's [password_compat](https://github.com/ircmaxell/password_compat)  polyfill library.\n\nThis ruleset prevents false positives from the [PHPCompatibility standard](https://github.com/PHPCompatibility/PHPCompatibility) by excluding back-fills and poly-fills which are provided by the `random_compat` library.\n\n\n## Requirements\n\n* [PHP_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer).\n    * PHP 5.3+ for use with [PHP_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) 2.3.0+.\n    * PHP 5.4+ for use with [PHP_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) 3.0.2+.\n\n    Use the latest stable release of PHP_CodeSniffer for the best results.\n    The minimum _recommended_ version of PHP_CodeSniffer is version 2.6.0.\n* [PHPCompatibility](https://github.com/PHPCompatibility/PHPCompatibility) 9.0.0+.\n\n\n## Installation instructions\n\nThe only supported installation method is via [Composer](https://getcomposer.org/).\n\nIf you don't have a Composer plugin installed to manage the `installed_paths` setting for PHP_CodeSniffer, run the following from the command-line:\n```bash\ncomposer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true\ncomposer require --dev dealerdirect/phpcodesniffer-composer-installer:\"^0.7\" phpcompatibility/phpcompatibility-passwordcompat:\"*\"\n```\n\nIf you already have a Composer PHP_CodeSniffer plugin installed, run:\n```bash\ncomposer require --dev phpcompatibility/phpcompatibility-passwordcompat:\"*\"\n```\n\nNext, run:\n```bash\nvendor/bin/phpcs -i\n```\nIf all went well, you will now see that the `PHPCompatibility` and `PHPCompatibilityPasswordCompat` standards are installed for PHP_CodeSniffer.\n\n\n## How to use\n\nNow you can use the following command to inspect the code in your project for PHP cross-version compatibility:\n```bash\n./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat\n```\n\nBy default, you will only receive notifications about deprecated and/or removed PHP features.\n\nTo get the most out of the PHPCompatibilityPasswordCompat standard, you should specify a `testVersion` to check against. That will enable the checks for both deprecated/removed PHP features as well as the detection of code using new PHP features.\n\nFor example:\n```bash\n# For a project which should be compatible with PHP 5.3 up to and including PHP 7.0:\n./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --runtime-set testVersion 5.3-7.0\n\n# For a project which should be compatible with PHP 5.4 and higher:\n./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --runtime-set testVersion 5.4-\n```\n\nFor more detailed information about setting the `testVersion`, see the README of the generic [PHPCompatibility](https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions) standard.\n\n\n### Testing PHP files only\n\nBy default PHP_CodeSniffer will analyse PHP, JavaScript and CSS files. As the PHPCompatibility sniffs only target PHP code, you can make the run slightly faster by telling PHP_CodeSniffer to only check PHP files, like so:\n```bash\n./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --extensions=php --runtime-set testVersion 5.3-\n```\n\n## License\n\nAll code within the PHPCompatibility organisation is released under the GNU Lesser General Public License (LGPL). For more information, visit https://www.gnu.org/copyleft/lesser.html\n\n\n## Changelog\n\n### 1.0.6 - 2025-10-18\n\nThis is a maintenance release.\n\n* The ruleset now includes schema tags.\n* General housekeeping and maintenance.\n\n### 1.0.5 - 2025-01-16\n\nThis is a maintenance release.\n\n* The recommended version of the [Composer PHPCS plugin] is now `^1.0.0`.\n* README: Fixed some broken badges.\n* General housekeeping and maintenance. Including a contribution by [@fredden].\n\n### 1.0.4 - 2022-10-23\n\n* README: Updated the installation instructions for [compatibility with Composer \u003e= 2.2][composer22announce].\n* Composer: The package will now identify itself as a static analysis tool. Thanks [@GaryJones]!\n* Other housekeeping and minor documentation updates.\n\n[composer22announce]: https://blog.packagist.com/composer-2-2/#more-secure-plugin-execution\n\n### 1.0.3 - 2021-02-15\n\n* The recommended version of the [Composer PHPCS plugin] is now `^0.7.0`, which offers compatibility with Composer 2.0.\n* The ruleset is now also tested against PHP 7.4 and 8.0.\n    Note: full PHP 7.4 support is only available in combination with PHP_CodeSniffer 3.5.6.\n    Note: runtime PHP 8.0 support is only available in combination with PHP_CodeSniffer 3.5.7, full support is expected in PHP_CodeSniffer 3.6.0.\n\n### 1.0.2 - 2019-08-29\n\n* Composer: The recommended version of the [Composer PHPCS plugin] has been upped to `^0.5.0`.\n* CI: Added early warning system for false positives due to changes in the polyfill library itself.\n\n### 1.0.1 - 2018-12-16\n\n* Prevent false positives when the ruleset is run over the code of the polyfill itself.\n* The ruleset is now also tested against PHP 7.3.\n    Note: full PHP 7.3 support is only available in combination with PHP_CodeSniffer 2.9.2 or 3.3.1+ due to an incompatibility within PHP_CodeSniffer itself.\n\n### 1.0.0 - 2018-10-07\n\nInitial release of the PHPCompatibilityPasswordCompat ruleset.\n\n[Composer PHPCS plugin]: https://github.com/PHPCSStandards/composer-installer/\n\n[@fredden]:   https://github.com/fredden\n[@GaryJones]: https://github.com/GaryJones\n","funding_links":["https://opencollective.com/php_codesniffer","https://github.com/sponsors/PHPCompatibility","https://github.com/sponsors/jrfnl"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpcompatibility%2Fphpcompatibilitypasswordcompat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphpcompatibility%2Fphpcompatibilitypasswordcompat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpcompatibility%2Fphpcompatibilitypasswordcompat/lists"}