# Symfony is moving bundler integration from Webpack Encore to Reprise

Symfony now labels Webpack Encore its legacy, low-maintenance bundler path and recommends the experimental Reprise integration for Vite or Rsbuild; Reprise 0.8 restores an Encore file-copy behavior that had blocked some real migrations.

Symfony Reprise gives Vite and Rsbuild first-class Symfony asset integration while Encore moves to low-maintenance mode. Reprise is still experimental, but its 0.8 release removes a concrete migration incompatibility around stable copied-file paths.

- Status: Active
- Published: 2026-08-22T15:24:41+12:00
- Updated: 2026-08-22T15:24:41+12:00
- Categories: Web Development, PHP, Frameworks
- Tags: Rsbuild, Symfony, Symfony Reprise, Vite, Webpack Encore
- Canonical HTML: https://beyondthe.news/dossiers/symfony-reprise-webpack-encore-vite-rsbuild-migration

## What changed

Symfony’s current documentation now describes Webpack Encore as a legacy, low-maintenance bundler option and recommends Symfony Reprise when a project needs a JavaScript bundler. Reprise provides Symfony-side integration for Vite and Rsbuild. Version 0.8.0, released August 19, adds a per-copy option that preserves stable file paths while putting the content hash in the manifest query string, restoring an Encore behavior some applications, PHP code and CDN rules depend on.

## Why it matters

This turns a bundler preference into a migration decision for Symfony teams. Existing Encore applications remain supported, but new bundler work is being directed toward Reprise, and the project now has an explicit migration map from Encore calls. The 0.8 compatibility fix matters because it removes a practical reason some codebases could not migrate without custom build plugins. Reprise is still 0.x and explicitly experimental, so builders gain a modern Vite/Rsbuild path but should not treat it as a drop-in stable replacement yet.

## Symfony has drawn a new bundler boundary

Symfony’s Encore documentation says Encore is in low-maintenance mode, limited to bug fixes, security patches and peer-dependency updates, and recommends migration to Reprise. Reprise does not try to wrap a bundler the way Encore wraps Webpack; it supplies the Symfony-specific pieces around Vite or Rsbuild, including entrypoints and manifest integration, Twig asset tags, dev-server wiring and Symfony UX/Stimulus support.

## Reprise 0.8 removes a real Encore migration mismatch

Encore could copy assets to a stable path and place the version hash in the manifest value rather than the filename. Reprise originally always hashed copied filenames. Version 0.8 adds a `hash` option so applications that hardcode paths, read assets from PHP or rely on stable CDN paths can preserve that behavior while migrating. The same release also fixes a Vite/Rsbuild manifest discrepancy.

## The destination is not stable yet

Symfony repeatedly labels Reprise experimental and warns its API and behavior may change drastically. Teams should therefore separate the strategic signal—Encore is now the legacy bundler path—from the operational choice to migrate immediately. Existing Encore deployments do not need an emergency rewrite; migrations should be tested against build output, Twig helpers, copied assets, CDN rules, Symfony UX and deployment caches.

## Key details

- Symfony’s Encore docs now mark Webpack Encore as low-maintenance and recommend Symfony Reprise for bundler migrations.
- Reprise provides Symfony integration for Vite and Rsbuild rather than wrapping Webpack.
- Reprise 0.8.0 shipped August 19, 2026.
- The 0.8 `copy` configuration can preserve stable copied-file names while carrying the hash in `manifest.json`.
- Reprise remains experimental 0.x software and Symfony warns it may change drastically.

## Builder takeaways

- Do not start new Symfony bundler integrations on Encore by default without evaluating Reprise, Vite and Rsbuild.
- For an existing Encore app, inventory hardcoded `/build/...` paths, PHP filesystem reads, CDN rules and copyFiles behavior before migration; Reprise 0.8 specifically addresses this class of dependency.
- Keep migration and bundler choice separate from framework upgrades: Encore is still supported, so move when the Reprise feature set and stability fit the project rather than because of an immediate removal deadline.
- Run production build comparisons for manifests, entrypoints, CSS/JS chunking, copied assets and cache invalidation before switching CI or deployment pipelines.

## What to watch

- A stable Reprise release and any compatibility guarantees Symfony publishes before 1.0.
- Further Encore behaviors added specifically to reduce migration friction.
- Whether Symfony changes new-project recipes or defaults toward Reprise for projects that need a bundler.
- Vite versus Rsbuild differences that remain visible through Reprise’s common Symfony integration.

## Uncertainties

- Symfony Reprise is explicitly experimental; API, configuration and generated output may still change.
- Encore is in low-maintenance mode, not deprecated for immediate removal, so there is no published forced-migration deadline.

## Sources

- [Symfony Reprise 0.8.0 released](https://symfony.com/blog/symfony-reprise-0-8-0-released) — Symfony · official release · 2026-08-19T00:00:00+12:00. Primary evidence for the stable-path copy compatibility change and experimental status.
- [Webpack Encore Documentation](https://symfony.com/doc/current/frontend/encore/index.html) — Symfony · official documentation. Current maintenance status and recommendation to migrate to Reprise.
- [Symfony Reprise Documentation](https://symfony.com/bundles/reprise/current/index.html) — Symfony · official documentation. Architecture, supported bundlers, migration mapping and experimental warning.

