- Add
<twig:Turbo:Stream>
component - Add
<twig:Turbo:Frame>
component - Add support for custom actions in
TurboStream
andTurboStreamResponse
- Add support for providing multiple mercure topics to
turbo_stream_listen
- Add
Helper/TurboStream::append()
et al. methods - Add
TurboStreamResponse
- Add
<twig:Turbo:Stream:*>
components
- Fix Doctrine proxies are not Broadcasted #3139
- Add Turbo 8 support #1476
- Fix missing
use
statement used during broadcast #1475
- Fix using old
ClassUtils
class that's not used in newer versions of Doctrine
- Revert "Change JavaScript package to
type: module
"
- Add Symfony 7 support.
- Change JavaScript package to
type: module
-
Minimum PHP version is now 8.1
-
Add support for symfony/asset-mapper
-
Replace
symfony/webpack-encore-bundle
bysymfony/stimulus-bundle
in dependencies
-
Add
assets/src
to.gitattributes
to exclude source TypeScript files from installing. -
TypeScript types are now included.
-
The
symfony/ux-turbo-mercure
package was abandoned and moved into this package. If you were previously usingsymfony/ux-turbo-mercure
, you can remove it and only install mecure-bundle:composer require symfony/mercure-bundle composer remove symfony/ux-turbo-mercure
After upgrading this package to 2.6.1, you should have a new entry in
assets/controllers.json
calledmercure-turbo-stream
. Changeenabled: false
toenabled: true
.
-
[BC BREAK] The
assets/
directory was moved fromResources/assets/
toassets/
. Make sure the path in yourpackage.json
file is updated accordingly. -
The directory structure of the bundle was updated to match modern best-practices.
- The
Broadcast
attribute can now be repeated, this is convenient to render several Turbo Streams Twig templates for the same change
- The topics defined in the
Broadcast
attribute now support expression language when prefixed with@=
.
-
TurboStreamResponse
andAddTurboStreamFormatSubscriber
have been removed, use native content negotiation instead:use Symfony\UX\Turbo\TurboBundle; class TaskController extends AbstractController { public function new(Request $request): Response { // ... if (TurboBundle::STREAM_FORMAT === $request->getPreferredFormat()) { $request->setRequestFormat(TurboBundle::STREAM_FORMAT); $response = $this->render('task/success.stream.html.twig', ['task' => $task]); } else { $response = $this->render('task/success.html.twig', ['task' => $task]); } return $response->setVary('Accept'); } }
- Support for
stimulus
version 2 was removed and support for@hotwired/stimulus
version 3 was added. See the @symfony/stimulus-bridge CHANGELOG for more details. - Support added for Symfony 6
@hotwired/turbo
version bumped to stable 7.0.
- Package introduced! The new
symfony/ux-turbo
andsymfony/ux-turbo-mercure
were introduced.