Skip to content

Releases: ramsey/uuid

3.9.1

01 Dec 05:06
3.9.1
5ac2740
Compare
Choose a tag to compare

Fixed

  • Fix RandomNodeProvider behavior on 32-bit systems. The RandomNodeProvider
    was converting a 6-byte string to a decimal number, which is a 48-bit,
    unsigned integer. This caused problems on 32-bit systems and has now been
    resolved.

3.9.0

30 Nov 23:58
3.9.0
8fde15a
Compare
Choose a tag to compare

Added

  • Add function API as convenience. The functions are available in the
    Ramsey\Uuid namespace.
    • v1(int|string|null $node = null, int|null $clockSeq = null): string
    • v3(string|UuidInterface $ns, string $name): string
    • v4(): string
    • v5(string|UuidInterface $ns, string $name): string

Changed

  • Use paragonie/random-lib instead of ircmaxell/random-lib. This is a
    non-breaking change.
  • Use a high-strength generator by default, when using RandomLibAdapter. This
    is a non-breaking change.

Deprecated

These will be removed in ramsey/uuid version 4.0.0:

  • MtRandGenerator, OpenSslGenerator, and SodiumRandomGenerator are
    deprecated in favor of using the default RandomBytesGenerator.

Fixed

  • Set ext-json as a required dependency in composer.json.
  • Use PHP_OS instead of php_uname() when determining the system OS, for
    cases when php_uname() is disabled for security reasons.

3.8.0

19 Jul 23:42
3.8.0
d09ea80
Compare
Choose a tag to compare

Added

  • Support discovery of MAC addresses on FreeBSD systems
  • Use a polyfill to provide PHP ctype functions when running on systems where the
    ctype functions are not part of the PHP build
  • Disallow a trailing newline character when validating UUIDs
  • Annotate thrown exceptions for improved IDE hinting

3.7.3

20 Jan 00:53
3.7.3
44abcda
Compare
Choose a tag to compare

Fixed

  • Gracefully handle cases where glob() returns false when searching
    /sys/class/net/*/address files on Linux
  • Fix off-by-one error in DefaultTimeGenerator

Security

  • Switch to random_int() from mt_rand() for better random numbers

3.7.2

13 Jan 22:26
3.7.2
bba83ad
Compare
Choose a tag to compare

Fixed

  • Check sysfs on Linux to determine the node identifier; this provides a
    reliable way to identify the node on Docker images, etc.

3.7.1

22 Sep 20:49
3.7.1
45cffe8
Compare
Choose a tag to compare

Fixed

  • Set the multicast bit for random nodes, according to RFC 4122, §4.5

Security

  • Use random_bytes() when generating random nodes

3.7.0

04 Aug 13:42
3.7.0
0ef23d1
Compare
Choose a tag to compare

Added

  • Add the following UUID version constants:
    • Uuid::UUID_TYPE_TIME
    • Uuid::UUID_TYPE_IDENTIFIER
    • Uuid::UUID_TYPE_HASH_MD5
    • Uuid::UUID_TYPE_RANDOM
    • Uuid::UUID_TYPE_HASH_SHA1

3.6.1

26 Mar 20:44
3.6.1
4ae32dd
Compare
Choose a tag to compare

Fixed

  • Optimize UUID string decoding by using str_pad() instead of sprintf()

3.6.0

18 Mar 15:53
3.6.0
0b7bdfb
Compare
Choose a tag to compare

Added

  • Add InvalidUuidStringException, which is thrown when attempting to decode an
    invalid string UUID; this does not introduce any BC issues, since the new
    exception inherits from the previously used InvalidArgumentException

Fixed

  • Improve memory usage when generating large quantities of UUIDs (use str_pad()
    and dechex() instead of sprintf())

3.5.2

22 Nov 21:38
5677cfe
Compare
Choose a tag to compare

Fixed

  • Improve test coverage