NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #40 most downloaded on Packagist
A PHP library for generating and working with universally unique identifiers (UUIDs).
Last release 20 days ago
16 Sep 2026
Release timing varies
gaps range from 2 weeks to 13 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
93 releases · first in 2012
Add SodiumRandomGenerator to allow use of the [PECL libsodium extension] as a random bytes generator when creating UUIDs
SodiumRandomGenerator to allow use of the [PECL libsodium extension] as
a random bytes generator when creating UUIDsImplement the PHP Serializable interface to provide the ability to serialize/unserialize UUID objects
Serializable interface to provide the ability to
serialize/unserialize UUID objectsOne column per quarter.
Adopt the [Contributor Code of Conduct] for this project
The 3.0.0 release represents a significant step for the ramsey/uuid library. While the simple and familiar API used in previous versions remains intac
The 3.0.0 release represents a significant step for the ramsey/uuid library. While the simple and familiar API used in previous versions remains intact, this release provides greater flexibility to integrators, including the ability to inject your own number generators, UUID codecs, node and time providers, and more.
Please note: The changelog for 3.0.0 includes all notes from the alpha and beta versions leading up to this release.
CombGenerator to allow generation of sequential UUIDsOpenSslGenerator to generate random bytes on systems where
openssl_random_pseudo_bytes() is presentMtRandGenerator to provide a fallback in the event other random generators
are not presentRandomLibAdapter to allow use of [ircmaxell/random-lib]RandomBytesGenerator for use with PHP 7; ramsey/uuid will default to use
this generator when running on PHP 7TimeGeneratorInterface to
allow for other sources to generate version 1 UUIDs in this libraryPeclUuidTimeGenerator and PeclUuidRandomGenerator for creating version
1 or version 4 UUIDs using the pecl-uuid extensionsetTimeGenerator method on UuidFactory to override the default time
generatorPeclUuidTimeGenerator via FeatureSetFeatureSet to use GUIDsJsonSerializableUuid class as final; everything is now based around
interfaces and factories, allowing you to use this package as a base to
implement other kinds of UUIDs with different dependenciesDegradedUuid on 32-bit systems to indicate that
certain features are not availableRandomLibAdapter to a medium-strength generator with
[ircmaxell/random-lib]; this is configurable, so other generator strengths may
be usedPeclUuidFactory in favor of using pecl-uuid with generatorstimeConverter and timeProvider properties, setters, and getters in
both FeatureSet and UuidFactory as those are now exclusively used by the
default TimeGeneratoruuid console application to [ramsey/uuid-console]Uuid::VERSION package version constantDegradedNumberConverter::fromHex()Improve GUID support to ensure that:
DegradedNumberConverter::fromHex()Enable use of custom TimeGenerator implementations
TimeGenerator implementationssetTimeGenerator method on UuidFactory to override the default time
generatorPeclUuidTimeGenerator via FeatureSettimeConverter and timeProvider properties, setters, and getters in
both FeatureSet and UuidFactory as those are now exclusively used by the
default TimeGeneratorRefactor time-based (version 1) UUIDs into a TimeGeneratorInterface to allow for other sources to generate version 1 UUIDs in this library
TimeGeneratorInterface to allow
for other sources to generate version 1 UUIDs in this libraryPeclUuidTimeGenerator and PeclUuidRandomGenerator for creating version
1 or version 4 UUIDs using the pecl-uuid extensionRandomBytesGenerator for use with PHP 7. ramsey/uuid will default to use
this generator when running on PHP 7RandomLibAdapter to a medium-strength generator with
[ircmaxell/random-lib]; this is configurable, so other generator strengths may
be usedPeclUuidFactory in favor of using pecl-uuid with generatorsAllow dependency injection through UuidFactory and/or extending FeatureSet to override any package defaults
UuidFactory and/or extending FeatureSet
to override any package defaultsCombGenerator to allow generation of sequential UUIDsOpenSslGenerator to generate random bytes on systems where
openssql_random_pseudo_bytes() is presentMtRandGenerator to provide a fallback in the event other random generators
are not presentRandomLibAdapter to allow use of [ircmaxell/random-lib]FeatureSet to use GUIDsJsonSerializableUuid class as final; everything is now based around
interfaces and factories, allowing you to use this package as a base to
implement other kinds of UUIDs with different dependenciesDegradedUuid on 32-bit systems to indicate that
certain features are not availableuuid console application to [ramsey/uuid-console]Uuid::VERSION package version constantDrop the use of OpenSSL as a fallback and use [paragonie/random_compat] to support RandomBytesGenerator in versions of PHP earlier than 7.0; this addr
RandomBytesGenerator in versions of PHP earlier than 7.0;
this addresses and fixes the [collision issue]Add support for symfony/console v3 in the uuid CLI application
uuid CLI applicationFix exception message in Uuid::calculateUuidTime()
Uuid::calculateUuidTime()Ensure the release tag makes it into the rhumsaa/uuid package
Use passthru() and output buffering in getIfconfig()
passthru() and output buffering in getIfconfig()Add static fromInteger() method to create UUIDs from string integer or Moontoast\Math\BigNumber
fromInteger() method to create UUIDs from string integer or
Moontoast\Math\BigNumberChange loop in generateBytes() from foreach to for
generateBytes() from foreach to forFix upper range for mt_rand used in version 4 UUIDs
mt_rand used in version 4 UUIDs### Changed * Upgrade to PSR-4 autoloading
Move moontoast/math and symfony/console to require-dev
Add Uuid::VALID_PATTERN constant containing a UUID validation regex pattern
Uuid::VALID_PATTERN constant containing a UUID validation regex patternFix bug where uuid console application could not find the Composer autoloader when installed in another project
uuid console application could not find the Composer
autoloader when installed in another projectIntroduce uuid console application for generating and decoding UUIDs from CLI (run ./bin/uuid for details)
uuid console application for generating and decoding UUIDs from
CLI (run ./bin/uuid for details)Uuid::getInteger() to retrieve a Moontoast\Math\BigNumber
representation of the 128-bit integer representing the UUIDUuid::getHex() to retrieve the hexadecimal representation of the UUIDnetstat on Linux to capture the node for a version 1 UUIDUse openssl_random_pseudo_bytes(), if available, to generate random bytes
openssl_random_pseudo_bytes(), if available, to generate random bytesReturn null from Uuid::getVersion() if the UUID isn't an RFC 4122 variant
null from Uuid::getVersion() if the UUID isn't an RFC 4122 variantUuid::fromString()Support creation of UUIDs from bytes with Uuid::fromBytes()
Uuid::fromBytes()Add Doctrine\UuidType::requiresSQLCommentHint() method
Doctrine\UuidType::requiresSQLCommentHint() methodFix cases where the system node was coming back with uppercase hexadecimal digits; this ensures that case in the node is converted to lowercase
Fix bug in Uuid::isValid() where the NIL UUID was not reported as valid
Uuid::isValid() where the NIL UUID was not reported as validAllow checking the validity of a UUID through the Uuid::isValid() method
Uuid::isValid() methodSupport UUID generation on 32-bit platforms
Uuid class finalUuid::getLeastSignificantBits() and Uuid::getMostSignificantBits(); the
integers returned by these methods are unsigned 64-bit integers and
unsupported even on 64-bit builds of PHPUnsupportedOperationException to the Exception subnamespaceRelax [Doctrine field type] conversion rules for UUIDs
Remove final keyword from Uuid class
final keyword from Uuid classSupport ramsey/uuid UUIDs as a Doctrine Database Abstraction Layer (DBAL) field mapping type
Support generation of version 1, 3, 4, and 5 UUIDs
Your coding agent can read these notes before it upgrades. Set up the MCP server →