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

Image Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature go/no-go on responsive imagery: The package now guarantees that every 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).
  • Core Web Vitals and layout stability as a roadmap commitment: The fix reserves the correct layout space at render time. That directly affects CLS budgets, and it means image sizing can be treated as a measurable product metric with a real owner instead of a background nuisance.
  • Mobile/photo-upload roadmaps: EXIF orientation is now handled consistently between render-time metadata, 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.
  • Resilience/UX decisions on missing assets: A missing or invalid 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.
  • Caching and content-ops cost model: The upgrade requires a one-time 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.
  • De-risking a dependency bet: Three consecutive correctness fixes in the render path (dimensions, orientation, srcset) on a pre-1.0 package is a signal about maturity. It informs the build-vs-buy call and whether to pin the version and gate upgrades behind a purge-and-verify checklist.

When to Consider This Package

Adopt it when:

  • You render images through Twig components or image_url() in a Laravel/PHP app and care about responsive srcset, fit="scale-down"/contain behaviour, and blur placeholders.
  • Layout shift and Core Web Vitals are tracked product metrics, not just engineering hygiene.
  • You accept user-generated or phone-camera uploads where EXIF-rotated portrait photos are common.
  • Your content pipeline tolerates missing assets during authoring and you want pages to render (with a graceful 404 image) rather than fail.
  • You can absorb a routine composer update plus a forced cache purge in your deploy runbook, and you want no template or configuration changes — this release requires none.
  • You are willing to pin the version: at v0.3.x, expect correctness fixes and read release notes before bumping.

Look elsewhere when:

  • You need guaranteed rotation of WebP EXIF on ImageMagick 6 — the package deliberately stays consistent with the processor, which does not rotate those files. Plan a processor upgrade or a different pipeline if that case is in scope.
  • You require a stable 1.0+ API contract with long deprecation windows; this is pre-1.0 and still correcting render-path behaviour.
  • Your image delivery is already fully outsourced to a hosted image service and you have no server-side render-time metadata needs.
  • You need loud, build-time failure on any missing asset — this package now deliberately degrades gracefully for missing/invalid sources (corrupt files and max_source_bytes violations still fail loudly, so partial coverage exists).

How to Pitch It (Stakeholders)

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.

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox