id-sign/image-bundle
id-sign/image-bundle is a Composer-installable PHP package that packages image-related functionality as a reusable bundle. It offers a straightforward foundation for adding image handling to PHP applications, helping developers integrate and manage image features with minimal setup.
srcset candidate's delivered pixel width matches its w descriptor, and that fit="scale-down" never advertises sizes larger than the source. That makes it safe to promise "correct, responsive images on every page" as a product-level quality bar rather than an engineering aspiration — no more silently under-delivered images, wasted layout space, or duplicate cache variants (1920/2048/2560 collapsing to the same output).scale-down, autoDimensions, and the blur placeholder. Any feature that accepts user or phone-camera uploads (avatars, listings, receipts, field photos) can be scoped without a "portrait photos come out sideways" caveat. The WebP/ImageMagick 6 limitation is now a documented boundary rather than a surprise defect — a build-vs-buy input if you need rotation on legacy ImageMagick.src no longer breaks the page. No height attribute, no blur placeholder, the URL 404s as before, and nothing is cached so a later upload is picked up on the next request. This supports product decisions like "editorial pages must never white-screen because one asset is missing" and "we can ship before all assets are uploaded." Corrupt files and oversized sources still fail loudly, which is the right split for QA and content-ops alerting.image:purge --force to regenerate EXIF-rotated metadata and blur placeholders and to drop now-unused contain/scale-down breakpoint variants. This is a cheap, scriptable maintenance action — useful evidence for deciding whether to keep image processing in-house rather than buying a hosted image CDN.Adopt it when:
image_url() in a Laravel/PHP app and care about responsive srcset, fit="scale-down"/contain behaviour, and blur placeholders.composer update plus a forced cache purge in your deploy runbook, and you want no template or configuration changes — this release requires none.Look elsewhere when:
max_source_bytes violations still fail loudly, so partial coverage exists).For executives: This is a low-cost, low-risk upgrade that removes a class of visible quality defects — images rendering smaller than intended, sideways phone photos, misaligned page layout, and pages breaking entirely when a single image is missing. It requires no template or configuration changes: a dependency update plus a one-time cache purge. The product upside is concrete: better Core Web Vitals, fewer "the page looks broken" reports, and the ability to accept photo uploads and publish before all assets exist.
For engineering: Correctness release on the render path. scale-down now uses source dimensions as effective width/height when the source fits the box, so w descriptors match delivered pixels and duplicate variants stop filling the cache. EXIF orientation is consistent across autoDimensions, scale-down, and the blur placeholder; WebP EXIF is read fully because ImageMagick's ping skips it, with a documented ImageMagick 6 limitation. Missing or invalid src degrades to no height attribute, no placeholder, and a 404 URL, with nothing written to cache so later uploads resolve on the next request. Breakpoint box heights are rounded up so thin sources never produce sub-descriptor widths or processor-rejected URLs. Upgrade step is mandatory: composer update id-sign/image-bundle then bin/console image:purge --force to regenerate EXIF-rotated metadata and placeholders and reclaim obsolete breakpoint variants. Add the purge to the deploy runbook and verify a portrait upload and a missing-asset page in staging.
How can I help you explore Laravel packages today?