richcongress/normalizer-extension-bundle
The RichCongress Normalizer Extension Bundle provides a Symfony integration for reusable normalizer extensions, making it easier to customize object normalization and keep serialization logic organized across your PHP applications, with a lightweight way to extend existing normalizers.
AbstractBatch::CACHE_LIFETIME now lets each batch declare its own cache posture, with NULL explicitly meaning "no cache." That turns caching from an implicit, package-wide behavior into a deliberate decision per workload — useful when some jobs must be strongly consistent (billing, inventory, entitlements) and others can tolerate staleness (dashboards, exports, digest emails).NULL semantics are the interesting part. Confirm whether this is a behavior change from prior versions. If NULL previously fell back to a default cache lifetime, this release silently disables caching for existing batches — a correctness improvement but a performance regression for anyone relying on the old default.Adopt when:
Look elsewhere when:
Before adopting, verify: the exact NULL behavior relative to the version you are on, whether a non-NULL lifetime accepts sub-second or DateInterval values, and how cache keys are namespaced across batch instances (relevant if two batches share a payload shape).
For executives: This release makes caching an explicit, per-job setting instead of a package-wide default, with an off switch for anything that must read fresh data. The business value is lower compute cost and faster batch runs on the jobs where staleness is acceptable, without exposing money- or inventory-sensitive workflows to stale reads. Integration cost is low: one constant per batch, no new infrastructure. The main thing to approve is a short verification pass to confirm no existing job silently loses caching under the new NULL behavior.
For engineering: CACHE_LIFETIME = NULL now means "do not cache." This is a cleaner mental model than an implicit default and puts cache policy next to the batch it affects, which should cut down on cross-service confusion about why a job served old data. Two things to check in review: audit existing batches for reliance on the previous default, and confirm cache key scoping so two batches with identical inputs do not collide. If we adopt, treat the constant as a documented contract — a NULL should be a reviewed decision, not an accident — and add a test that asserts the no-cache path for any batch handling financial or inventory data.
How can I help you explore Laravel packages today?