Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Jms Serializer Uuid Bundle Laravel Package

mhujer/jms-serializer-uuid-bundle

Symfony bundle that integrates ramsey/uuid with JMS Serializer, registering handlers to serialize and deserialize UUID objects—including uuid-doctrine types—so your JSON APIs handle UUIDs cleanly without custom visitors.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API contract standardization. Lets you decide — and enforce — that UUIDs travel as canonical 36-character strings in JSON/XML rather than as serialized object graphs. This bundle registers a JMS Serializer handler so Ramsey\Uuid\Uuid value objects go out as strings and come back in as value objects, without per-endpoint casting.
  • Build vs. buy for serialization glue. Provides a concrete benchmark for the "just write it ourselves" conversation: the entire capability is a handler class plus a service registration. If the scope is this small, the default PM answer should be "build," not "add a dependency."
  • Legacy modernization roadmap. Useful input when planning the retirement of non-canonical UUID serialization in older Symfony services, and when sequencing a migration from JMS Serializer to Symfony Serializer or API Platform.
  • Cross-service interoperability. Relevant if multiple services in the estate still use JMS Serializer and clients expect RFC 4122 text; it keeps payloads consistent during a phased migration.
  • Not a feature driver. This is plumbing, not product surface. Treat it as a "keep the lights on" maintenance decision rather than something that unlocks roadmap items.

When to Consider This Package

Consider adopting (or, more likely, vendoring) it when:

  • You run a legacy Symfony 2.x/3.x application on JMS Serializer with ramsey/uuid, pinned to PHP 5.6/7.0-era dependencies.
  • JMS annotations are pervasive and a migration to Symfony Serializer or API Platform is not on the near-term roadmap.
  • You primarily want a proven registration pattern (handler + service definition) to copy into your own codebase — the repository works well as a reference implementation even if you never install it.
  • A minimal, MIT-licensed, zero-extra-dependency footprint matters for compliance or audit.

Look elsewhere when:

  • The project is greenfield: use Symfony Serializer with a small custom normalizer, or API Platform, both of which handle UUIDs cleanly. Also check first whether your version of jms/serializer already ships UUID support.
  • You require maintained code: this repo is archived, last released 2016-06-02, with 12 stars and 0 dependents. There is no security patching, no stated PHP 8.x compatibility, and no guarantee of support for newer ramsey/uuid majors or UUID v6/v7.
  • You need typed UUID semantics (version validation, v1 vs. v4 vs. v7 distinctions) or binary BINARY(16) storage mapping — out of scope here.
  • Your organization has a policy against archived/unmaintained dependencies in the production bill of materials.

How to Pitch It (Stakeholders)

For executives: This is a tiny, MIT-licensed adapter that makes UUIDs appear as clean strings in our API payloads instead of leaking internal object structure. It is not a platform bet — the whole capability is a few dozen lines, so there is no vendor lock-in and essentially no cost. The caveat is that it has been archived and unmaintained since 2016. Our recommendation is therefore to implement the equivalent handler in-house (roughly a day of engineering) or confirm our serializer already supports UUIDs, rather than adding an unmaintained package to the production dependency inventory.

For engineering: It registers a JMS Serializer handler so Ramsey\Uuid\Uuid serializes to a canonical string and deserializes back into a value object, eliminating manual (string) casts and accidental object-graph leakage at the DTO layer. Functionally it is an integration shim, not a library. Given the archive status and the zero-dependent, low-star signal, treat the repo as a reference implementation: reproduce the handler and its service registration inside our own codebase, where we can test it against current PHP and ramsey/uuid versions and keep the serialization contract under our own ownership and change control.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings