glesys/butler-service
A Glesys Laravel package for encapsulating business logic in dedicated, reusable service classes. Butler Service helps keep controllers thin, organize complex workflows, and make application actions easier to test, reuse, and maintain.
glesys/butler-service is a live, maintained dependency. A patch release with a scoped feature is a positive maintenance signal for teams deciding whether to build a bespoke client against the Butler API or lean on this package.Long scalar for 64-bit integers removes a real correctness gap. Any product surface that round-trips large integers — resource IDs, millisecond/precision timestamps, monetary amounts in minor units, snowflake-style identifiers — can now be represented without silent truncation or lossy float coercion.Note: this assessment is based on the v0.31.1 changelog and repository metadata only; downstream impact should be validated against your actual call sites that handle integer fields.
Consider adopting when:
Long scalar is now a first-class option for those fields.0.31.x the public API is still stabilising, so pin to a minor version and read changelogs on every bump, including patches.Look elsewhere when:
0.32.0 could legitimately break you.PHP_INT_SIZE is 4 — verify your deployment targets before relying on it.For executives: This is a small, low-risk patch release to a dependency we use for Glesys Butler integration. It adds support for 64-bit integers, which means large IDs and precise numeric values can now pass through our system without being silently corrupted. There are no breaking changes, no migration effort, and no new operational burden. It is a routine upgrade we can absorb in a normal sprint.
For engineering: v0.31.1 introduces a Long scalar type for 64-bit integers. This is the correct primitive for IDs, epoch-millisecond timestamps, and minor-unit monetary values that currently risk truncation at JSON or client boundaries. Action items: (1) bump the dependency and confirm the new scalar is registered and serialises correctly; (2) audit existing integer-bearing fields to see which should migrate to Long; (3) add boundary tests around PHP_INT_MAX and negative values, particularly where data crosses into JavaScript or other 64-bit-unsafe consumers; (4) keep the version pinned, since the package is still pre-1.0 and minor bumps are not guaranteed non-breaking.
How can I help you explore Laravel packages today?