TL;DR: polyfills are to be installed by downstream consumers, and not provided by libraries In order to support PHP 7.2, 7.3 and 7.4, the `symfony/polyfill-php80` library was dragged in. Symfony now has a long track record of bad stability ranges (see https://github.com/symfony/polyfill-php80/blob/f4386d7f6f66346254ed4e6bfa4354d2d16b83f8/composer.json#L22-L24), so it is best to get rid of it, and instead declare API compatibility with a stable API version (in this case PHP 8.0). In addition to that, to avoid introducing an explicit `ext-ctype` requirement, `symfony/polyfill-ctype` was dragged in too, perhaps in an attempt to retain more popularity. Same as above: symfony has a bad track record of SemVer compliance, so it should not be introduced until strictly necessary. `ext-ctype` is generally available to most target installation systems, and downstream consumers are still free to pull out their foot-gun by doing a `composer require symfony/polyfill-ctype` on their own. This mean that systems having `ext-ctype` installed will get an installation as expected: otherwise, any system that requires `ramsey/uuid` automatically becomes a system capable of providing `ext-ctype` API, which is just not true (before this change).
ramsey/uuid
A PHP library for generating and working with UUIDs.
ramsey/uuid is a PHP library for generating and working with universally unique identifiers (UUIDs).
This project adheres to a code of conduct. By participating in this project and its community, you are expected to uphold this code.
Much inspiration for this library came from the Java and Python UUID libraries.
Installation
The preferred method of installation is via Composer. Run the following
command to install the package and add it as a requirement to your project's
composer.json:
composer require ramsey/uuid
Upgrading to Version 4
See the documentation for a thorough upgrade guide:
Documentation
Please see https://uuid.ramsey.dev for documentation, tips, examples, and frequently asked questions.
Contributing
Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.
Coordinated Disclosure
Keeping user information safe and secure is a top priority, and we welcome the contribution of external security researchers. If you believe you've found a security issue in software that is maintained in this repository, please read SECURITY.md for instructions on submitting a vulnerability report.
ramsey/uuid for Enterprise
Available as part of the Tidelift Subscription.
The maintainers of ramsey/uuid and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. Learn more.
Copyright and License
The ramsey/uuid library is copyright © Ben Ramsey and licensed for use under the MIT License (MIT). Please see LICENSE for more information.