kachkaev/assets-version-bundle
Symfony bundle that adds automatic versioning to asset URLs for reliable cache busting. A configurable version string is appended to CSS, JS, and image paths, ensuring browsers load fresh files after each deployment without changing templates.
Label check first: this is a Symfony 2/3 bundle, not a Laravel package. That correction drives every decision below — there is no service provider, no Laravel-facing API, and no adoption path on a Laravel stack.
@vite/Vite::asset()/mix(). Adding this would be strictly worse than what ships in the framework today.Only consider it if all of the following hold:
web/ with stable filenames — no build pipeline producing hashes.Look elsewhere — or don't bother — when:
framework.assets.version. The framework already does this.Treat any engagement as "vendor the code, not the dependency" — copy the pattern into a deploy step you own.
For executives: This is a tiny, archived Symfony 2/3 utility for cache-busting static assets — not a Laravel package, and not something to add to our stack. Its value is diagnostic: it tells us where we still run end-of-life Symfony. Recommendation: no new adoption. If it appears in a legacy app, replace it with a small deploy script we own during the next maintenance window. Low effort, removes an unmaintained dependency, and cuts supply-chain risk at negligible cost.
For engineering: The mechanism is version-stamping — write a build/version token at deploy time and append it to asset URLs so browsers and CDNs fetch fresh files. We can reproduce that in a short deploy hook plus a template helper, which beats carrying an archived bundle with zero dependents. On Laravel this is already solved by Vite/Mix hashing; on Symfony 4+ use the native assets.version or Encore. Action: audit the estate for usage, replace with owned code or native tooling, and log the finding as evidence for the platform-upgrade backlog. Watch the deploy-ordering failure mode: upload new assets first, flip the version last, and never prune the previous generation until cache TTLs expire.
How can I help you explore Laravel packages today?