All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
7.0.0 - 2026-03-20
- 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
switchstatements to PHPmatchexpressions inBinaryUuidMigrations - Dev Dependencies: Replaced PHPUnit with Pest PHP, added Pest plugin support
- 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
6.2.0 - 2025-09-12
- Directory Structure Refactoring: Modernized PSR-4 autoloading structure
- Moved all classes from
src/Webpatser/LaravelUuid/directly tosrc/ - Simplified autoload mapping in
composer.jsonto follow Laravel package conventions - Eliminated redundant nested directory structure while maintaining namespace consistency
- Moved all classes from
- Cleaned up development artifacts:
benchmark_results.php,.travis.yml, and.phpunit.cache/ - Added
.phpunit.cache/to.gitignorefor cleaner repository maintenance
6.1.0 - 2025-09-11
- 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 correctionStr::uuidToSqlServer()- Export UUID to SQL Server GUID formatStr::uuidToSqlServerBinary()- Get SQL Server binary format for uniqueidentifier columnsStr::sqlServerBinaryToUuid()- Import SQL Server binary uniqueidentifier to standard UUIDStr::isSqlServerGuid()- Heuristic detection of SQL Server GUID format
- SQL Server Migration Support:
- Automatic
uniqueidentifiercolumn support inBinaryUuidMigrations - SQL Server database detection and conversion SQL generation
- Cross-database compatibility with unified migration helpers
- Automatic
- 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
- 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
- SQL Server GUID byte order problems when working with uniqueidentifier columns
- Cross-database UUID compatibility issues between SQL Server and other databases
6.0.1 - 2025-09-10
- Removed benchmark function references from README documentation
- Updated documentation to match actual available methods
6.0.0 - 2025-09-10 - Major Architecture Change
- Split Architecture: UUID logic moved to dedicated
webpatser/uuidpackage - High-Performance Str Macros:
Str::fastUuid()- 15% faster thanStr::uuid()Str::fastOrderedUuid()- 25% faster thanStr::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-basedStr::reorderedTimeUuid()- V6 reordered timeStr::customUuid()- V8 customStr::nameUuidSha1()- V5 name-based
- Binary UUID Storage: 55% storage savings with 16-byte binary columns
HasBinaryUuidstrait for automatic binary UUID supportBinaryUuidCastfor automatic conversionBinaryUuidMigrationsfor database-optimized migrations
- Production Ready: Comprehensive testing on MariaDB, MySQL, PostgreSQL, SQLite
- Architecture: Core UUID functionality moved to separate
webpatser/uuidpackage - Dependencies: Now requires
webpatser/uuidas core dependency - Performance: Existing Laravel UUID methods unchanged, new high-performance alternatives added
- 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
- ✅ 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
Previous versions were standalone UUID implementations. See git history for details.