Skip to content

Releases: ramsey/uuid

3.4.1

24 Apr 15:45
Compare
Choose a tag to compare

Fixed

  • Fix test that violated a PHP CodeSniffer rule, breaking the build

3.4.0

24 Apr 00:10
Compare
Choose a tag to compare

Added

  • Add TimestampFirstCombCodec and TimestampLastCombCodec codecs to provide
    the ability to generate [COMB sequential UUIDs] with the timestamp encoded as
    either the first 48 bits or the last 48 bits
  • Improve logic of CombGenerator for COMB sequential UUIDs

3.3.0

22 Mar 18:43
Compare
Choose a tag to compare

Security

2.9.0

22 Mar 18:42
Compare
Choose a tag to compare

Security

3.2.0

17 Feb 23:33
Compare
Choose a tag to compare

Added

  • Add SodiumRandomGenerator to allow use of the PECL libsodium extension as
    a random bytes generator when creating UUIDs

3.1.0

17 Dec 15:23
Compare
Choose a tag to compare

Added

  • Implement the PHP Serializable interface to provide the ability to
    serialize/unserialize UUID objects

2.8.4

17 Dec 20:11
Compare
Choose a tag to compare

Added

  • Add support for symfony/console v3 in the uuid CLI application

3.0.1

21 Oct 16:28
Compare
Choose a tag to compare

Added

3.0.0

28 Sep 16:30
Compare
Choose a tag to compare

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.

Added

  • Add a number of generators that may be used to override the library defaults
    for generating random bytes (version 4) or time-based (version 1) UUIDs
    • CombGenerator to allow generation of sequential UUIDs
    • OpenSslGenerator to generate random bytes on systems where
      openssql_random_pseudo_bytes() is present
    • MtRandGenerator to provide a fallback in the event other random generators
      are not present
    • RandomLibAdapter 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 7
    • Refactor time-based (version 1) UUIDs into a TimeGeneratorInterface to
      allow for other sources to generate version 1 UUIDs in this library
    • PeclUuidTimeGenerator and PeclUuidRandomGenerator for creating version
      1 or version 4 UUIDs using the pecl-uuid extension
  • Add a setTimeGenerator method on UuidFactory to override the default time
    generator
  • Add option to enable PeclUuidTimeGenerator via FeatureSet
  • Support GUID generation by configuring a FeatureSet to use GUIDs
  • Allow UUIDs to be serialized as JSON through JsonSerializable

Changed

  • Change root namespace from "Rhumsaa" to "Ramsey;" in most cases, simply
    making this change in your applications is the only upgrade path you will
    need—everything else should work as expected
  • No longer consider Uuid 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 dependencies
  • Return an object of type DegradedUuid on 32-bit systems to indicate that
    certain features are not available
  • Default RandomLibAdapter to a medium-strength generator with
    ircmaxell/random-lib; this is configurable, so other generator strengths may
    be used

Removed

  • Remove PeclUuidFactory in favor of using pecl-uuid with generators
  • Remove timeConverter and timeProvider properties, setters, and getters in
    both FeatureSet and UuidFactory as those are now exclusively used by the
    default TimeGenerator
  • Move UUID Doctrine field type to ramsey/uuid-doctrine
  • Move uuid console application to ramsey/uuid-console
  • Remove Uuid::VERSION package version constant

Fixed

  • Improve GUID support to ensure that:
    • On little endian (LE) architectures, the byte order of the first three
      fields is LE
    • On big endian (BE) architectures, it is the same as a GUID
    • String representation is always the same
  • Fix exception message for DegradedNumberConverter::fromHex()

3.0.0-beta1

31 Aug 14:10
Compare
Choose a tag to compare
3.0.0-beta1 Pre-release
Pre-release

Fixed

  • Improve GUID support to ensure that:
    • On little endian (LE) architectures, the byte order of the first three
      fields is LE
    • On big endian (BE) architectures, it is the same as a GUID
    • String representation is always the same
  • Fix exception message for DegradedNumberConverter::fromHex()