verbanent/eloquent-binary-uuid
Store UUID primary keys as compact 16-byte binary values instead of 36-character strings. This Laravel/Eloquent package provides casts and model traits for efficient binary UUIDs, reducing storage and improving index performance.
uuid() / foreignUuid() helpers and model traits.$uuidColumn) and optional config (binary-uuid.default_column). No API changes are introduced. The improved error messages and README Troubleshooting section reduce integration friction. The one behavioral change—rejecting values the creating hook cannot encode—affects only inserts that were already storing malformed data.InvalidBinaryUuidException is additive, and the TypeError fix is positive. The behavioral change prevents silent truncation (e.g., MySQL non-strict mode) but may surface latent bugs in applications that previously inserted non-UUID values. Risk is concentrated in existing bad data or code paths that write invalid values. Correctly configured models behave exactly as before.$uuidColumn correctly or that binary-uuid.default_column matches the schema.composer.json; the release notes do not state them.InvalidBinaryUuidException. 6) Deploy to production. 7) Update internal runbooks to reference the README Troubleshooting section.InvalidBinaryUuidException, enhanced AccessedUnsetUuidPropertyException) reduce mean time to resolution and support tickets. Support staff can point developers to the Troubleshooting section for common misconfigurations.InvalidBinaryUuidException is thrown on inserts that cannot be encoded, replacing silent pass-through/truncation. This is safer but may surface latent data-quality issues. The TypeError fix prevents non-string values from reaching Uuid::isValid(). Applications catching generic exceptions may need to adjust handlers to account for the new exception type.How can I help you explore Laravel packages today?