PackageTrack
Sign in Get early access

webpatser/laravel-uuid

Laravel integration for webpatser/uuid - High-performance drop-in UUID replacements (15% faster than Ramsey). Provides Str macros, HasUuids trait, facades, and casts. RFC 4122/9562 compliant.

v7.0.1 18M downloads/mo #1738 most downloaded on Packagist webpatser/laravel-uuid

What this package is like to depend on

Last release 1 months ago

02 Jul 2026

Release timing varies

gaps range from 1 weeks to 3.2 years

Some releases are documented

notes for 10 of 32 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

32 releases · first in 2013

12 releases in the last 12 months

see the full history below

Release timeline

32 releases · Sep 2013 to Jul 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 32
  1. v7.0.1 02 Jul 2026
    Release notes

    v7.0.1: fix isSqlServerGuid macro to validate via Uuid::validate()

    Open source →
    Release notes

    Fixed

    • Str::isSqlServerGuid() now validates via Uuid::validate() instead of the non-existent Uuid::isSqlServerFormat(), which threw a runtime error. SQL Server uniqueidentifier values share the 8-4-4-4-12 hex text format, so string validation is the correct check.
    Open source →
  2. v7.0.0 20 Mar 2026
    Release notes
    • Require PHP 8.5+, Laravel 13.x, webpatser/uuid ^2.0
    • Migrate test suite from PHPUnit to Pest 4
    • Modernize switch statements to match expressions
    • Drop Laravel 11/12 and PHP 8.2-8.4 support
    Open source →
    Release notes

    Changed

    • Laravel 13 Support: Now requires Laravel 13.x exclusively
    • PHP 8.5 Requirement: Minimum PHP version bumped to 8.5
    • UUID Package: Requires webpatser/uuid ^2.0
    • Test Framework: Migrated entire test suite from PHPUnit to Pest 4
    • Code Modernization: Refactored switch statements to PHP match expressions in BinaryUuidMigrations
    • Dev Dependencies: Replaced PHPUnit with Pest PHP, added Pest plugin support

    Removed

    • Dropped Laravel 11.x and 12.x support
    • Dropped PHP 8.2–8.4 support
    • Removed PHPUnit bootstrap file (tests/bootstrap.php)
    • Removed local path repository configuration from composer.json
    Open source →
  3. v6.2.1 19 Mar 2026
    Release notes

    v6.2.1 - Add Laravel 13 support

    Open source →
  4. v6.2.0 12 Sep 2025
    Release notes

    Release v6.2.0: PSR-4 structure refactoring and cleanup

    Open source →
    Release notes

    Changed

    • Directory Structure Refactoring: Modernized PSR-4 autoloading structure
      • Moved all classes from src/Webpatser/LaravelUuid/ directly to src/
      • Simplified autoload mapping in composer.json to follow Laravel package conventions
      • Eliminated redundant nested directory structure while maintaining namespace consistency

    Removed

    • Cleaned up development artifacts: benchmark_results.php, .travis.yml, and .phpunit.cache/
    • Added .phpunit.cache/ to .gitignore for cleaner repository maintenance
    Open source →
  5. v6.1.0 11 Sep 2025
    Release notes
    • Fix spacing, quotes, method naming and other style issues
    • Ensure consistent code formatting across the codebase
    • Apply Laravel Pint rules for better code readability
    Open source →
    Release notes

    Added

    • SQL Server GUID Support: Complete Laravel integration for SQL Server's mixed-endianness GUID format
      • Str::uuidFromSqlServer() - Import UUID from SQL Server with automatic byte order correction
      • Str::uuidToSqlServer() - Export UUID to SQL Server GUID format
      • Str::uuidToSqlServerBinary() - Get SQL Server binary format for uniqueidentifier columns
      • Str::sqlServerBinaryToUuid() - Import SQL Server binary uniqueidentifier to standard UUID
      • Str::isSqlServerGuid() - Heuristic detection of SQL Server GUID format
    • SQL Server Migration Support:
      • Automatic uniqueidentifier column support in BinaryUuidMigrations
      • SQL Server database detection and conversion SQL generation
      • Cross-database compatibility with unified migration helpers
    • Database Support Matrix: Extended to include SQL Server alongside MySQL, PostgreSQL, and SQLite
    • Comprehensive test suite for SQL Server GUID handling (10 tests, 27 assertions)
    • Complete documentation with examples, migration guides, and database compatibility matrix

    Changed

    • Default Database: Changed fallback database from MySQL to SQLite (Laravel's default)
    • Code Formatting: Applied Laravel Pint formatting across entire codebase (16 files, 15 style fixes)
    • Documentation: Enhanced README with SQL Server GUID section and updated database support tables
    • Dependencies: Updated to use webpatser/uuid v1.3.0 with SQL Server support

    Fixed

    • SQL Server GUID byte order problems when working with uniqueidentifier columns
    • Cross-database UUID compatibility issues between SQL Server and other databases
    Open source →
  6. v6.0.1 11 Sep 2025
    Release notes

    docs: remove benchmark function references from README

    Open source →
    Release notes

    Fixed

    • Removed benchmark function references from README documentation
    • Updated documentation to match actual available methods
    Open source →
  7. v6.0.0 10 Sep 2025
    Release notes

    Major Architecture Change:

    • Split into separate core (webpatser/uuid) and Laravel integration packages
    • Complete Laravel integration with high-performance drop-in replacements
    • 15-25% performance improvement over Laravel's built-in UUID methods

    Laravel Integration Features:

    • High-performance Str macros (fastUuid, fastOrderedUuid, etc.)
    • Drop-in HasUuids trait replacement using our library
    • Binary UUID storage support with 55% storage savings
    • Database-specific implementations (MySQL/MariaDB varbinary(16), PostgreSQL bytea, SQLite BLOB)
    • Comprehensive route model binding support
    • Global UUID facade with full webpatser/uuid access
    • UuidCast and BinaryUuidCast for automatic model casting

    Production Testing:

    • Comprehensive testing on MariaDB with real storage verification
    • All 10 test suites passing with 67 assertions
    • Binary vs string storage comparison (16 bytes vs 36 bytes = 55.6% savings)
    • Route model binding, foreign keys, and query performance verified
    • Migration helpers tested for all supported databases

    Updated Documentation:

    • Production-ready status with test results
    • Real-world MariaDB test data and storage comparisons
    • Quick installation testing guide with Laravel Tinker examples
    • Database-specific implementation details and migration examples

    Requirements: PHP 8.2+, Laravel 11.x/12.x
    Dependencies: webpatser/uuid ^1.2.1

    Open source →
    Release notes

    Added

    • Split Architecture: UUID logic moved to dedicated webpatser/uuid package
    • High-Performance Str Macros:
      • Str::fastUuid() - 15% faster than Str::uuid()
      • Str::fastOrderedUuid() - 25% faster than Str::orderedUuid()
      • Str::fastIsUuid() - Fast UUID validation
    • Extended UUID Methods: Support for all UUID versions (1, 3, 4, 5, 6, 7, 8)
      • Str::timeBasedUuid() - V1 time-based
      • Str::reorderedTimeUuid() - V6 reordered time
      • Str::customUuid() - V8 custom
      • Str::nameUuidSha1() - V5 name-based
    • Binary UUID Storage: 55% storage savings with 16-byte binary columns
      • HasBinaryUuids trait for automatic binary UUID support
      • BinaryUuidCast for automatic conversion
      • BinaryUuidMigrations for database-optimized migrations
    • Production Ready: Comprehensive testing on MariaDB, MySQL, PostgreSQL, SQLite

    Breaking Changes

    • Architecture: Core UUID functionality moved to separate webpatser/uuid package
    • Dependencies: Now requires webpatser/uuid as core dependency
    • Performance: Existing Laravel UUID methods unchanged, new high-performance alternatives added

    Performance Improvements

    • 15-25% faster UUID generation compared to Laravel's built-in methods
    • 55% storage savings with binary UUID storage
    • Better database performance with optimized column types
    • Modern PHP 8.2+ optimizations

    Features

    • Drop-in Replacements: High-performance alternatives to Laravel's UUID components
    • Auto-Discovery Support: Zero-configuration setup
    • Laravel 11.x & 12.x: Latest Laravel support
    • Route Model Binding: Seamless URL-to-model resolution
    • Foreign Keys: Both binary and string UUID relationships
    • Migration Helpers: Database-specific column types
    Open source →
  8. v5.1.2 10 Sep 2025
    Release notes

    fix: correct package name to Laravel UUID in benchmark table

    Open source →
  9. v5.1.1 10 Sep 2025
    Release notes
    • Add prominent benchmark section to README showcasing performance leadership
    • Include comprehensive benchmark script with detailed analysis
    • Demonstrate 15.1% overall performance advantage vs Ramsey UUID v4.9
    • Highlight superior V7 performance (25.7% faster) for database optimization
    • Document PHP 8.2+ optimizations and trade-offs between versions
    Open source →
  10. v5.1.0 10 Sep 2025
    Release notes
    • Upgrade minimum PHP requirement to 8.2+ for maximum performance
    • Implement Random\Randomizer class for 11% faster random generation
    • Add PHP 8.3+ getBytesFromString() optimization for hex generation
    • Introduce readonly properties for immutable UUID data
    • Fix V7 UUID monotonic timestamp ordering with sequence counters
    • Add comprehensive performance benchmarking with Uuid::benchmark()
    • Enhance V7 UUIDs with sub-millisecond precision and consistent sorting
    • Optimize memory usage and generation speed across all UUID versions
    • Maintain full RFC 9562 compliance for versions 6, 7, and 8
    Open source →
  11. v5.0.1 10 Sep 2025

    Nothing published for this version

  12. v5.0.0 10 Sep 2025

    Nothing published for this version

  13. 4.0.2 19 May 2023

    Nothing published for this version

  14. 4.0.1 09 Mar 2021

    Nothing published for this version

  15. 3.0.2 04 Oct 2017

    Nothing published for this version

  16. 3.0.1 03 Sep 2017

    Nothing published for this version

  17. 2.2.1 10 Sep 2017

    Nothing published for this version

  18. 2.1.1 30 Aug 2017

    Nothing published for this version

  19. 2.0.3 26 Jun 2017

    Nothing published for this version

  20. 2.0.2 19 May 2016

    Nothing published for this version

  21. 2.0.1 09 May 2016

    Nothing published for this version

  22. 1.5.1 10 Sep 2017

    Nothing published for this version

  23. 4.0 14 Dec 2020

    Nothing published for this version

  24. 3.0 03 Sep 2017

    Nothing published for this version

  25. 2.2 04 Sep 2017

    Nothing published for this version

  26. 2.1 30 Aug 2017

    Nothing published for this version

  27. 2.0 15 Jun 2015

    Nothing published for this version

  28. 1.5 15 Jun 2015

    Nothing published for this version

  29. 1.4 20 Feb 2015

    Nothing published for this version

  30. 1.3 29 Sep 2014

    Nothing published for this version

  31. 1.2 27 Jun 2014

    Nothing published for this version

  32. 1.0 14 Sep 2013

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive