Upgrade

3.x to 4.0

  • In UuidFactory and UlidFactory: $clock on all methods was renamed to $timestamp

  • In UuidFactory and SequenceFactory for UUIDv1, UUIDv2, UUIDv6 $clockSequence param was added between $node and $timestamp / $clock

2.x to 3.0

  • Interface changes:

    • Rfc4122Variant10xxUuid was renamed to Variant10xxUuid and it no longer extends Rfc4122Uuid

    • UuidV2, UuidV6, UuidV7, UuidV8, MaxUuid no longer implement Rfc4122Uuid

      • If you strictly check for standard UUIDs, use Rfc9562Uuid

      • UuidV2 is no longer considered RFC-based UUID because neither RFC explains them

  • V3/V5 namespaces were moved to the Arokettu\Uuid\Namespaces\UuidNamespace enum:

    <?php
    
    // v2:
    use Arokettu\Uuid\UuidFactory;
    use Arokettu\Uuid\UuidNamespaces;
    
    $uuid = UuidFactory::v5(UuidNamespaces::url(), 'http://example.com');
    var_dump($uuid->toString()); // 8c9ddcb0-8084-5a7f-a988-1095ab18b5df
    
    // v3:
    use Arokettu\Uuid\Namespaces\UuidNamespace;
    use Arokettu\Uuid\UuidFactory;
    
    $uuid = UuidFactory::v5(UuidNamespace::URL, 'http://example.com');
    var_dump($uuid->toString()); // 8c9ddcb0-8084-5a7f-a988-1095ab18b5df
    
  • UuidV7Sequence renamed to UuidV7ShortSequence

1.x to 2.0

  • Deprecated interface was removed:

    <?php
    
    use Arokettu\Uuid\Rfc4122Variant10xxUuid;
    use Arokettu\Uuid\Rfc4122Variant1Uuid
    
    if ($uuid instanceof Rfc4122Variant1Uuid) {
        // ...
    }
    
    // replace with
    
    if ($uuid instanceof Rfc4122Variant10xxUuid) {
        // ...
    }
    
  • Deprecated sequences were removed:

    <?php
    
    use Arokettu\Uuid\SequenceFactory;
    use Arokettu\Uuid\UlidFactory;
    use Arokettu\Uuid\UuidFactory;
    
    // UUIDv7:
    
    $seq = UuidFactory::v7Sequence();
    
    // replace with
    
    $seq = SequenceFactory::v7();
    
    // ULID:
    
    $seq = UlidFactory::sequence();
    
    // replace with
    
    $seq = SequenceFactory::ulid();