Skip to content

Releases: symfony/ux

Fixing Turbo support for newer Doctrine

07 Feb 20:35
v2.14.2
Compare
Choose a tag to compare

Hi UX'ers!

This release fixes a regression in the Live Component testing utilities.

Turbo

StimulusBundle

  • [StimulusBundle] UxPackageReader class doesn't support projects with varied structures using Composer with custom directory structure by @yobrx in #1467

New Contributors

Full Changelog: v2.14.1...v2.14.2

Have fun!

Fix regression in Live Component testing tools

03 Feb 01:15
v2.14.1
Compare
Choose a tag to compare

Hi UX'ers!

This release fixes a regression in the Live Component testing utilities.

Live Component

  • fix: use method from metadata for live component test helper by @daFish in #1434

StimulusBundle

  • Handles Windows directory separator when normalizing controller names by @tamcy in #1444

ux.symfony.com

New Contributors

Full Changelog: v2.14.0...v2.14.1

Have fun!

Features & Fixed for LiveComponent, TwigComponent & other packages

30 Jan 19:40
v2.14.0
Compare
Choose a tag to compare

Hi UX'ers!

A beautiful release with a set of features across several packages. 100+ commits, from 19 contributors 🔥 .

TwigComponent

  • Make ComponentAttributes traversable/countable
  • Fixed lexing some {# twig comments #} with HTML Twig syntax
  • Fix various usages of deprecated Twig code

LiveComponent

  • Add support for URL binding in LiveProp
  • DOM morphing changed from morphdom to idiomorph
  • Allow multiple LiveListener attributes on a single method
  • Requests to LiveComponent are sent as POST by default
  • Add method prop to AsLiveComponent to still allow GET requests, usage: #[AsLiveComponent(method: 'get')]
  • Add a new urlReferenceType parameter to AsLiveComponent, which allows to
    generate different type URL (e.g. absolute) for the component Ajax calls
  • The symfony/serializer dependency is now optional
  • Added a data-skip-morph attribute to allow skipping morphing of an element
    (the element's attributes will be morphed, but its inner HTML will be overwritten
    instead of morphed)
  • Added an entry to the packages' package.json file so that @symfony/ux-live-component
    will appear in the user's importmap.php file if using AssetMapper. This
    will allow using the JavaScript from the package without extra setup.
  • Fixed edge-case rendering bug where a 2nd Ajax request might start before
    the 1st finished processing
  • Fix usage of {% embed %} with {% block %} in <twig:> components
  • Fixed data-loading not working when on root element of a component
  • Fixed error when class attributes contained a space at start or end
  • Fixed loading directives being matched in a child component

Autocomplete

  • Fixed behavior of Autocomplete when the underlying select or option
    elements were modified to hopefully, more reliably, reset the autocomplete
    instance. This is particularly important with LiveComponents.
  • Add support for the render.loading_more Tom Select Virtual Scroll option (loading_more_text)
  • Avoid losing the selected options when the Stimulus component is disconnected
    and reconnected to the DOM.
  • Added tom-select/dist/css/tom-select.bootstrap4.css to autoimport - this
    will cause this to appear in your controllers.json file by default, but disabled
    see.

StimulusBundle

  • Added Typescript controllers support

ChartJs

  • Add support for Chart.js version 4

Full Changelog: v2.13.3...v2.14.0

New Contributors

Have fun!

Various minor bug fixes

30 Jan 14:34
v2.13.3
Compare
Choose a tag to compare

Hi UX'ers!

A bug fix release. Nice!

TwigComponent

  • Merge data-action in ComponentAttributes #1288
  • Fix DataCollector return types #1297

LiveComponent

  • Fix date object hydration for custom format #1295
  • Allow trailing coma in "props" tags #1298
  • Fix BatchActionController redirection #1301

StimulusBundle

  • Remove stimulus.asset_mapper.loader_javascript_compiler when no asset-mapper

Full Changelog: v2.13.2...v2.13.3

New Contributors

Have fun!

v2.13.2 Revert change to type: module

11 Nov 01:30
v2.13.2
Compare
Choose a tag to compare

Hi UX'ers!

In 2.13.0, all UX JavaScript packages changed to type: module. This had unintended side effects in certain environments / setups. This release reverts that change. See #1268.

Full Changelog: v2.13.1...v2.13.2

Have fun!

v2.13.1: Fix chart.js but with type: module

09 Nov 15:42
v2.13.1
Compare
Choose a tag to compare

Hi UX'ers!

This release fixes a but in ux-chart.js. We changed the package to type: 'module', but due to some inconsistencies with the chart.js library, that can't be done quite yet. We've reverted for now.

What's Changed

Full Changelog: v2.13.0...v2.13.1

Have fun!

v2.13.0: Lazy/Deferred components, Symfony 7 support & more

08 Nov 14:59
v2.13.0
Compare
Choose a tag to compare

Hi UX People!

This is a big release that contains new features across the components! It's the result of 156 commits from 29 different contributors! Note there is an edge-case BC BREAK in StimulusBundle if you were using action parameters in an unexpected way.

All Components

  • Add Symfony 7 support.
  • Change JavaScript package to type: module

Autocomplete

  • Add new BaseEntityAutocompleteType
  • Drop symfony 5.4 support.

TwigComponent

  • Added configuration to separate your components into different "namespaces"
  • Add outerScope variable reach variables from the parent template of an
    "embedded" component.
  • Deprecate calling ComponentTemplateFinder constructor without directory argument.
  • Add profiler integration: TwigComponentDataCollector and debug toolbar templates
  • Add search feature in debug:twig-component command.
  • Fix inconsistencies with how {% component %}/<twig:component> syntaxes are
    rendered vs component(): PostRenderEvent is now dispatched & the template
    resolution happens at runtime.
  • Fix priority of passed in props vs default props with anonymous components.
  • Add Symfony 7 support.
  • TwigPreLexer: improve performance.
  • Fix twig:lint bug with anonymous component tag.

LIveComponent

  • Add deferred/lazy rendering of Live Components.
  • Fix option tag synchronization.
  • Handle array-like objects when working with checkboxes.
  • Normalize "true" & "false" model values
  • Fix DTO hydration from phpdoc typehints.
  • Fix instantiating LiveComponentMetadata multiple times.
  • Throwing an error when setting an invalid model name.

StimulusBundle

  • Normalize parameters names given to twig helper 'stimulus_action()'.
    BC Break: previously, parameters given in camelCase (eg.
    bigCrocodile) were incorrectly registered by the controller as
    flatcase (event.params.bigcrocodile). This was fixed, which means
    they are now correctly registered as camelCase
    (event.params.bigCrocodile).
  • Added AssetMapper 6.4 support.
  • Add Symfony 7 support.
  • Fix missing double dash in namespaced Stimulus outlets.
  • Change JavaScript package to type: module

Svelte

  • Add support for Svelte 4.

New Contributors

Full Changelog: v2.12.0...v2.13.0

v2.12.0 LiveComponent DTO support & much more

22 Sep 14:04
v2.12.0
Compare
Choose a tag to compare

Hi UX People!

This release contains a basket-load of goodness.

TwigComponent

  • Added a debug:twig-component command.
  • Fixed bad exception when the error comes from a Twig template.
  • Fixed deprecation with TemplateCacheWarmer return type.

LiveComponent

  • Add support for (de)hydrating DTO classes in LiveProp.
  • Fixed emit() method of TestLiveComponent to properly test events.
  • Add actingAs() to TestLiveComponent.
  • Fixed rendering bug when using Chrome's translation feature.
  • Add onUpdated() hook for LiveProp.
  • Fix support for Alpine.js & live components.

TogglePassword

  • Added default values for the Stimulus controller values.

New Contributors

Full Changelog: v2.11.2...v2.12.0

Have fun!

ux-autocomplete security release + LiveComponent bugs

11 Sep 13:25
v2.11.2
Compare
Choose a tag to compare

Hi!

This release contains an important security release for symfony/ux-autocomplete: https://symfony.com/blog/cve-2023-41336-symfony-ux-autocomplete-prevent-injection-of-invalid-entity-ids-for-autocomplete-fields

If you are using symfony/ux-autocomplete, you should upgrade immediately:

composer update symfony/ux-autocomplete

Other changes:

LiveComponents

  • [bug] Only consider Live components in InterceptChildComponentRenderSubscriber by @sneakyvv in #1097
  • [bug] Don't store ux_live_component URLs in setTargetPath of the security component by @gbere in #1096

New Contributors

Full Changes: v2.11.1...v2.11.2

v2.11.1 - Twig & Live Component bug fixes

07 Sep 15:09
v2.11.1
Compare
Choose a tag to compare

Hi UX'ers!

A small release to address a few bug fixes:

What's Changed

  • [LiveComponent] Add priority to PreDehydrate & PostHydrate hooks by @sneakyvv in #1074
  • [LiveComponent] Use display:revert for data-loading style by @norkunas in #1079
  • [TwigComponent][LiveComponent] Fix Live embedded component within namespaced template by @sneakyvv in #1082
  • [TwigComponent][LiveComponent] Fix DataModelPropsSubscriber for embedded components by @sneakyvv in #1093

Full Changes: v2.11.0...v2.11.1

Have fun!