Skip to content

Releases: vaadin/flow

Vaadin Flow 24.8.1

27 Jun 08:05
c8a49ba
Compare
Choose a tag to compare

Changes since 24.8.0

All changes

Fixes

  • Do not store build info in bundle (#21786)
    Commit · Pull request

    Do not store the flow-build-info inside the production bundle zip file.

  • Avoid NPE when tracking usage for removed nodes (#21739)
    Commit · Pull request

    The change value cannot be extracted if there's no data node in the tree. Check for this both when creating the usage instance and when later evaluating whether it has changes. Note that removing a node is not seen as changing the node itself but only as a change to the node's parent.

  • Include default methods from interfaces in BeanPropertySet (#21770)
    Commit · Pull request · Issue

  • Update Query getPageSize to check for offset (#21725)
    Commit · Pull request · Issue

    Make getPageSize check that it matches the offset. Update javadocs for Query to explain that getPage updates the pageSize to match offset.

  • Use handlers registered using ResourceHandlerRegistry (#21686) (CP: 24.8)
    Commit · Pull request

    For instance Swagger uses ResourceHandlerRegistry to register a handler for /swagger-ui/index.html and this is now called without excluding any url from Vaadin

Vaadin Flow 24.7.8

26 Jun 11:07
4134e31
Compare
Choose a tag to compare

Changes since 24.7.7

All changes

Fixes

  • Update Query getPageSize to check for offset (#21725)
    Commit · Pull request · Issue

    Make getPageSize check that it matches the offset. Update javadocs for Query to explain that getPage updates the pageSize to match offset.

Vaadin Flow 25.0.0.alpha2

19 Jun 07:37
dfd9d25
Compare
Choose a tag to compare
Pre-release

Changes since 25.0.0.alpha1

All changes

Breaking changes

  • Bump Spring Boot to 4.0.0-SNAPSHOT
    Commit · Pull request

    References #21620 org.hibernate.validator.constraints.NotEmpty annotation has been removed from Hibernate Validator.

New features

  • Add a short method to SortDirection enum
    Commit · Pull request · Issue

    The SortDirection enum only provides name(), getOpposite() methods. This change introduces a new method called getShortName() which returns shortened version of SortDirection. This short names can be useful in the SQL queries etc.

  • Add Flow component for code Html element #20832
    Commit · Pull request

  • Added new style methods
    Commit · Pull request

    Add methods to better cover commonly used css properties.

  • Add ComponentEffect helper
    Commit · Pull request · Issue

  • Add ElementRequestHandler to Element
    Commit · Pull request

    Add possibility to give a ElementRequestHandler as attribute to Element so you can directly use .setAttribute("xyz", downloadHandler) and .setAttribute("xyz", uploadHandler)

  • Add link type control to Anchor
    Commit · Pull request

    Add LinkMode to Anchor for selecting if the anchor should be download or inline. handle null mode

Fixes

  • Update Query getPageSize to check for offset
    Commit · Pull request · Issue

    Make getPageSize check that it matches the offset. Update javadocs for Query to explain that getPage updates the pageSize to match offset.

  • Use handlers registered using ResourceHandlerRegistry
    Commit · Pull request

    For instance Swagger uses ResourceHandlerRegistry to register a handler for /swagger-ui/index.html and this is now called without excluding any url from Vaadin

  • Drop transitive dependency ph-css
    Commit · Pull request · Issue

    Replace functionality and remove the ph-css dependency.

  • Remove reflections library as a transitive dependency
    Commit · Pull request

    Closes #21680

  • Download sets content-disposition
    Commit · Pull request

    Download handlers should set content-disposition: inline when inline has been invoked.

  • Allow observing other nodes from an observer
    Commit · Pull request · Issue

Vaadin Flow 24.6.13

19 Jun 10:12
b9bcd32
Compare
Choose a tag to compare

Changes since 24.6.12

All changes

Fixes

  • Update Query getPageSize to check for offset (#21725)
    Commit · Pull request · Issue

    Make getPageSize check that it matches the offset. Update javadocs for Query to explain that getPage updates the pageSize to match offset.

  • Do not generate list for empty string (#21522)
    Commit · Pull request · Issue

    Do not generate a 1 item list for the default empty string in dev mode init for file extensions.

Vaadin Flow 24.8.0

18 Jun 09:50
aacd2f4
Compare
Choose a tag to compare

Changes since 24.7.0

All changes

Breaking changes

  • Upgrade org.jsoup:jsoup from 1.19.1 to 1.20.1
    Commit · Pull request
    The newer version rebuilds the HTML pretty-printer. The specific HTML produced by the pretty-printer may be different from previous versions and may be a breaking change, e.g. if Element.getOuterHTML is used.

  • Add setContentLengthLong to VaadinResponse
    Commit · Pull request

    Adds the setContentLengthLong() method to VaadinResponse to be in sync with the HttpServletResponse.

New features

  • Upload and Download handlers
    Issue · Docs for downloads · Docs for uploads

    Simplifies how Flow applications handle uploads and downloads by aligning more closely with regular HTTP request handling paradigms and by improving helper APIs. StreamResource and Receiver are deprecated in favour of this new API.
    Examples of usage:

    // Download a File and show a notification when completed (requires @Push)
    var anchor = new Anchor(DownloadHandler.forFile(new File("tos.pdf")
                                 .whenComplete(success -> Notification.show("Success: " + success)),
                                               "Download terms of service");
    
    // Upload a File into temporary directory on the server
    var upload = new Upload(UploadHandler.inMemory((meta, data) -> {
                          Notifiation.show("Got " + data.length + " bytes for " + meta.getFileName());
    }).onProgress((transferredBytes, totalBytes) -> 
                          Notification.show("Received "  + transferredBytes),
                             32768 // progress interval in bytes
    ));

    Related changes:

  • Reactive UI state management with Signals
    Issue · Docs in draft

    Introduces a Vaadin Flow/Java library for Signals that helps to create a UI in Vaadin Flow applications in reactive way, e.g.:

    public class SignalDemo extends VerticalLayout {
        // creates a signal instance that can be shared across the application
        private final NumberSignal counter =
                SignalFactory.IN_MEMORY_SHARED.number("counter");
    
        public SignalDemo() {
            Button button = new Button(getLabel(),
                    // updates the signal value on each button click
                    click -> counter.incrementBy(1.0));
            add(button);
    
            // Effect that updates the button text whenever the counter changes
            Signal.effect(() -> button.setText(getLabel()));
        }
    
        private String getLabel() {
            return String.format("Clicked %d times", counter.valueAsInt());
        }
    }

    For more insights about Signals concept please watch Full Stack Signals for Real-time reactive UIs. This is a preview feature in Vaadin 24.8, only covers the core framework integration - component API enhancements to be shipped in the future releases.

    Related changes:

  • Support scanning configuration in maven plugin
    Commit · Pull request · Issue · Docs

    Allows to fine tune scanning for frontend resources by defining inclusion and exclusion rules in the Flow maven plugin <configuration>:

    <frontendScanner>
        <enabled>true</enabled>
        <includeOutputDirectory>true</includeOutputDirectory>
        <!-- Only scan for company artifacts -->
        <includes>
            <include>
                <groupId>com.mycompany.*</groupId>
                <artifactId>*</artifactId>
            </include>
        </includes>
        <!--
           But ignore backed artifacts, since they do not
            contain frontend related classes
        -->
        <excludes>
           <exclude>
                <groupId>com.mycompany.backend</groupId>
                <artifactId>*</artifactId>
            </exclude>
        </excludes>
    </frontendScanner>
  • Enable preserving partial view chain
    Commit · Pull request

    Make it possible to reuse only parts of the preserve on refresh chain instead of the full chain.

  • Use Jackson in public API and implementation instead of Elemental
    Issue

    Uses Jackson library and deprecates Elemental:

    • ReactAdapter and element to support jackson
      Commit · Pull request
      Have ReactAdapter and element use Jackson. AbstractSinglePropertyField to support Jackson type.

    • WebComponent more Jackson
      Commit · Pull request
      Change more parts of webComponent to use Jackson instead of elemental.

    • Use single scanner for plugin class scan
      Commit · Pull request · Issue

    • Router parts to jackson
      Commit · Pull request
      Use jackson for router and navigation.

    • Internals to jackson
      Commit · Pull request
      Change internal functions to use jackson.

    • Jackson used in dev-server
      Commit · Pull request
      Use jackson instead of elemental in the dev-server.

    • Add ignore version check to plugin params
      Commit · Pull request · Issue

    • Use jackson for setting up configuration
      Commit · Pull request
      Use jackson for setting up configuration settings.

    • Change internal json handling to jackson
      Commit · Pull request
      Change internal json manipulation from elemental to jackson.

    • Plugins to use jackson
      Commit...

Read more

Vaadin Flow 24.7.7

19 Jun 07:36
61d3b8e
Compare
Choose a tag to compare

Changes since 24.7.6

All changes

Fixes

  • Update beanstore ui if changed (#21570)
    Commit · Pull request · Issue

    Update the beanstore currentUI instance if it is changed due to a reload or bookmark navigation where the window name stays the same.

  • Do not generate list for empty string (#21522)
    Commit · Pull request · Issue

    Do not generate a 1 item list for the default empty string in dev mode init for file extensions.

Vaadin Flow 24.8.0.rc2

17 Jun 10:36
11ab5b1
Compare
Choose a tag to compare
Pre-release

Changes since 24.8.0.rc1

All changes

New features

Vaadin Flow 23.6.2

19 Jun 07:37
1619e96
Compare
Choose a tag to compare

Changes since 23.6.1

All changes

Fixes

  • Resume client to server communication after web socket reconnection (#20283)
    Commit · Pull request · Issue

    When a websocket PUSH connection is closed and re-established because of a network failure, the RequestResponseTracker.hasActiveRequest is not reset, prenvint the Flow client to send additional messages to the server. This change will reset the flag on reconnection. It also will track unsent PUSH message over websocket, to retry the delivery once the connection is re-established, preventing client resynchronization. In addition, it sets a default value of 12 for the Atmospehere maxWebsocketErrorRetries setting, to ensure that the Flow client will attempt to reconnect with web socket transport several times, instead of immediately downgrade to long-polling after first failed connection.

Vaadin Flow 2.12.1

19 Jun 07:37
b723812
Compare
Choose a tag to compare

Changes since 2.12.0

All changes

Fixes

  • Resume client to server communication after web socket reconnection (#20283)
    Commit · Pull request · Issue

    When a websocket PUSH connection is closed and re-established because of a network failure, the RequestResponseTracker.hasActiveRequest is not reset, prenvint the Flow client to send additional messages to the server. This change will reset the flag on reconnection. It also will track unsent PUSH message over websocket, to retry the delivery once the connection is re-established, preventing client resynchronization. In addition, it sets a default value of 12 for the Atmospehere maxWebsocketErrorRetries setting, to ensure that the Flow client will attempt to reconnect with web socket transport several times, instead of immediately downgrade to long-polling after first failed connection.

Vaadin Flow 24.8.0.rc1

09 Jun 12:46
c6c3fd1
Compare
Choose a tag to compare
Pre-release

Changes since 24.8.0.beta4

All changes

New features

  • Add ElementRequestHandler to Element (#21656)
    Commit · Pull request

    Add possibility to give a ElementRequestHandler as attribute to Element so you can directly use .setAttribute("xyz", downloadHandler) and .setAttribute("xyz", uploadHandler)

  • Add link type control to Anchor (#21649)
    Commit · Pull request

    Add LinkMode to Anchor for selecting if the anchor should be download or inline. handle null mode

Fixes

  • Download sets content-disposition (#21671)
    Commit · Pull request

    Download handlers should set content-disposition: inline when inline has been invoked.