Skip to content

4.5.0

Compare
Choose a tag to compare
@ramsey ramsey released this 15 Sep 01:57
· 127 commits to 4.x since this release
4.5.0
ef84248

Added

  • Promote version 6, reordered time UUIDs from the Nonstandard namespace to the Rfc4122 namespace. Version 6 UUIDs are defined in New UUID Formats, section 5.1. While still an Internet-Draft version 6 is stable and unlikely to change in any way that breaks compatibility.
  • Add support for version 7, Unix Epoch time UUIDs, as defined in New UUID Formats, section 5.2. While still an Internet-Draft, version 7 is stable and unlikely to change in any way that breaks compatibility.
    • Use Ramsey\Uuid\Uuid::uuid7() to generate version 7 UUIDs.
    • Version 7 UUIDs are of type Ramsey\Uuid\Rfc4122\UuidV7.
    • The constant Ramsey\Uuid\Uuid::UUID_TYPE_UNIX_TIME exists for version 7 UUIDs.
  • Add Ramsey\Uuid\Converter\Time\UnixTimeConverter and Ramsey\Uuid\Generator\UnixTimeGenerator to support version 7 UUID generation.
  • Add support for max UUIDs through Ramsey\Uuid\Uuid::MAX and Ramsey\Uuid\Rfc4122\MaxUuid.

Changed

  • The lowest version of brick/math allowed is now ^0.8.8.

Deprecated

The following will be removed in ramsey/uuid 5.0.0:

  • Ramsey\Uuid\Nonstandard\UuidV6 is deprecated in favor of Ramsey\Uuid\Rfc4122\UuidV6.
  • Ramsey\Uuid\Uuid::UUID_TYPE_PEABODY; use Ramsey\Uuid\Uuid::UUID_TYPE_REORDERED_TIME instead.

Fixed

  • For Ramsey\Uuid\Uuid::isValid(), Psalm now asserts the UUID is a non-empty-string when it is valid.
  • Nil UUIDs are properly treated as RFC 4122 variants, and getVariant() now returns a 2 when called on a nil UUID.