Skip to content

Releases: vaadin/framework

Vaadin Framework 8.0.3

17 Mar 13:04
Compare
Choose a tag to compare

Fixes and enhancements:

  • Fix documentation issues
  • Fix javadocs issues
  • Fix Grid bugs and performance issues
  • Fix CSS issues
  • Fix push issues
  • Fix deferred widgetset loading
  • Fix ComboBox issues
  • Fix Upload issues
  • Fix Declarative support issues
  • Add support for HTML content to ButtonRenderer

And several of other fixes, see complete list of changes for 8.0.3

Vaadin Framework 8.0.2

09 Mar 15:53
Compare
Choose a tag to compare

Fixes and enhancements:

  • Fix documentation issues
  • Fix javadocs issues
  • Fix js state partial updates
  • Fix Grid issues
  • Remove tracking of unregistered connectors
  • Synchronize code between V7 and compatibility package

And several of other fixes, see complete list of changes for 8.0.2

Vaadin Framework 8.0.1

03 Mar 13:49
Compare
Choose a tag to compare

Fixes and enhancements:

  • Fix some Binder serialization issues
  • Fix NPE in column sorting with null values
  • Make it possible to use an extended ComboBox in declarative files
  • Load declarative classes using thread context class loader
  • Fix null caption for NativeSelect and ComboBox
  • Use an informative exception message when Binder is incorrectly constructed
  • Do not show an "active" effect on buttons with "borderless" style

And several of other fixes, see complete list of changes for 8.0.1

Vaadin Framework 8.0.1 also includes a part of the fixes made for Vaadin 7.7.7. Remaining Vaadin 7.7 fixes will be included in following maintenance releases.

Vaadin Framework 8.0.0

21 Feb 13:16
Compare
Choose a tag to compare

Notable Enhancements in Vaadin Framework 8.0

  • New, simpler data binding API
  • Vaadin Framework is now based on Java 8
  • Vaadin Framework is using GWT 2.8, allowing client side code to use Java 8
  • Other Framework dependencies including Atmosphere have been upgraded
  • Easier to integrate web components using HTML imports (@HtmlImport) and custom tag name support for AbstractJavaScriptComponent
  • Context click events are now generated on iOS devices (#7387)
  • For all enhancements, list of breaking changes etc. - see the full release notes at vaadin.com

Documentation

Migration from Vaadin 7

See release notes at vaadin.com for more info like backwards incompatible changes

Vaadin Framework 8.0.0.rc2

17 Feb 07:41
Compare
Choose a tag to compare
Pre-release

Vaadin Framework 8.0.0.rc2 is a release candidate.

It does not have any API changes compared to 8.0.0.rc1.

Fixes introduced in 8.0.0.rc2

  • Clarified various javadocs
  • Fixed ComboBox issues with large data sets (using lazy dataprovider)
    • Do not fetch all items if paging is used
    • Fixed unnecessary fetches for data when it is already available on browser
  • Added support for long-tap on iOS for opening context-menu

Vaadin Framework 8.0.0.rc1

10 Feb 13:21
Compare
Choose a tag to compare
Pre-release

Vaadin Framework 8.0.0.rc1 is a release candidate.

Enhancements introduced in 8.0.0.rc1

Grid API

  • Add Grid editor events
  • Add selection methods to grid that delegate to its selection model
  • Add Grid.addColumn(String, Renderer)
  • Make one-arg addColumn use natural sort for mutually comparable values
  • Use column id as the default sort order property
  • Provide a way to set styles for Header/Footer Cells and Rows in a Grid
  • Added missing parametrisation onto the column field of the GridContexClickEvent
  • Add shorthands for creating lazy DataProviders
    • This also applies to ComboBox
  • Bug fixes for column removal

Binder and Fields

  • Add isValid to Binder
  • Throw if there are no automatically bound fields via bindInstanceFields
  • Binding a null bean should clear the bound field values
  • Provide a way to configure bean validation binder to auto set required fields
  • Allow configuring how string to number converters handle empty strings

Miscellaneous

  • Provide a convenience method to get items set via setItems()
  • Fix problem with re-opening the popup
  • Use thread-safe collections for VaadinService listeners
  • Fix toggling of WeekNumbers for DateTimeField
  • Fix keyboard navigation for ListSelect
  • Add addComponentsAndExpand to horizontal and vertical layout

Breaking Changes since 8.0.0.beta2

  • Default sort order for Grid may differ from beta2
  • An exception is thrown if there are no automatically bound fields in Binder.bindInstanceFields
  • Binding a null bean clears the bound field values

Full list of changes since 8.0.0.beta2

7.7.7

08 Feb 11:31
Compare
Choose a tag to compare

Enchancements:

  • BeanItem bean can now be changed with setBean
  • Errors during UI.init() are now passed to ErrorHandler
  • Disallow user selection in Grid
  • Added refreshAll method for Grid that does what it says

Bug Fix Priority fixes

  • Modal window draggingCurtain lingers when closed while dragging #7496
  • Memory leak in ConnectorTracker when push is enabled and no transmission from the client #7748

And lots of other bugfixes, see complete list of changes for 7.7.7

Vaadin Framework 8.0.0.beta2

03 Feb 08:58
Compare
Choose a tag to compare
Pre-release

Vaadin Framework 8.0.0.beta2 is a pre-release version for evaluating the enhancements mentioned below. This beta release has improvements based on your feedback on 8.0.0.beta1. Thank You and Keep Them Coming! We might change things on further beta versions based on feedback if necessary.

Enhancements introduced in 8.0.0.beta2

Component API

  • DateTimeField and InlineDataTimeField components for selecting time
    • Replacing old V7 DateField and InlineDateField, but value is LocalDateTime instead of Date
  • Added convenience constructors to all components (similar to constructors in V7)
  • Added empty selection functionality to NativeSelect
  • Added AbstractComponent::setDescription(String, ContentMode) for setting description content mode
  • Grid's Columns can be setup now automatically with new Grid<>(MyBean.class)
  • Added "deselect allowed" feature for Grid
  • Make it possible to disable user selection for Grid's SelectionModels
  • Grid's Columns can be now ordered and sorting set using the Column ids

Binder and Fields

  • Added Binder::setReadOnly
  • Binder::forMemberField is added for automatically binding a field to a bean property without the need to complete the binding with binding.bind(propertyName) before calling binder.bindInstanceFields(obj)
  • Added LocalDateToDateConverter
  • Value equality check in AbstractField is overridable
  • Included previous value in ValueChangeEvent
  • Added HasValue::getOptionalValue
  • Added shorthand to Binder for adding a ValueChangeListener to all the fields in the binder

New data provider filtering API

  • Sorting and filtering is stateful for application settings and stateless for component settings
  • Custom back end data providers can be implemented using factory methods in DataProvider or by subclassing AbstractBackEndDataProvider.
  • ListDataProvider has methods for setting filters and sort orders and for creating wrappers that filter by some other type
  • DataProvider.withConvertedFilter can be used to create a wrapper with a different query filter type
  • DataProvider.withConfigurableFilter can be used to create a wrapper with a settable filter
  • AppendableFilterDataProvider and DataProvider.withFilter concepts have been removed

Web component integration

  • It is possible to define the root element for JavaScript components
  • Allow multiple @JavaScript and @StyleSheet annotations on a component
  • Support HTML imports with @HtmlImport for easier web component integration

Documentation updates

Miscellaneous

  • Vaadin Icons are now included in the FW
  • Support for HTML5 History API push/replaceState
  • Unsupported browser page has been updated to look nice

Breaking Changes since 8.0.0.beta1

  • com.vaadin.shared.ui.label.ContentMode has been moved to com.vaadin.shared.ui
  • BeanBinder has been merged into Binder
    • replace new BeanBinder(Myclass.class) with new Binder(Myclass.class)
  • com.vaadin.shared.ui.datefield.Resolution for DateField and InlineDateField is replaced by com.vaadin.shared.ui.datefield.DateResolution
  • Listing has been removed and replaced with HasItems, HasDataProvider and HasFilterableDataProvider
  • BackEndDataProvider has been changed into an interface, replaced by AbstractBackEndDataProvider / CallBackDataProvider
  • The Sorting API in ListDataProvider and BackEndDataProvider has been changed
    • sortingBy is replaced by setSortOrder and setSortOrders for BackEndDataProvider
    • sortingBy is replaced by setSortComparator, addSortComparator, setSortOrder and addSortOrder for ListDataProvider
  • Switched AbstractComponent::setDescription(String) to set description as innerText instead of HTML by default
  • DataProvider filtering API has been refactored completely, see documentation for reference
  • getFirstSelectedItem replaces getFirstSelected for SelectionEvent, SingleSelectionEvent and MultiSelectionEvent

Full list of changes since 8.0.0.beta1

Vaadin Framework 8.0.0.beta1

19 Dec 20:31
Compare
Choose a tag to compare
Pre-release

Vaadin Framework 8.0.0.beta1 is a pre-release version for evaluating the enhancements mentioned below. With this beta release we will change things based on your feedback, and that may lead to API breaking changes.

Enhancements in Vaadin Framework 8.0 beta 1

Java 8 API

  • Use Lambdas, Streams etc.

New DataProvider API replacing Container

  • Separated in-memory and lazy loading cases
  • Sorting based on callback (in-memory) or property name (lazy loading)
  • Filtering based on callback (in-memory) or custom Filter instance (lazy loading)
  • Data representation in components configured as callbacks or bean property names
  • Typed API for selection: separate variations for single and multi select
  • First draft of DataProvider documentation to help get started

Binder for building forms

  • Typesafe binding between field component and item property based on setter and getter callbacks or a bean property name
  • Typesafe definition of validation and conversion as part of the binding
    Validation of field values automatically configured based on JSR 303 annotations if present
  • First draft of Binder documentation to help get started

See release notes at vaadin.com for more info like backwards incompatible changes

Changes since 8.0.0.alpha10

  • Vaadin CDI add-on version for Framework 8 has been added to vaadin-bom
  • FontAwesome icon constants has been deprecated
    • will be removed in a later beta and replaced with Vaadin Icons #7979
  • Google App Engine documentation has been removed
    • support for GAE will be removed in a later beta #8033
  • Documentation in github updated
    • First draft of Binder, DataProvider documentation for Framework 8
    • Small updates to multiple places in documentation
    • Marked most not-yet-updated parts for Framework 8
    • Removed obsolete documentation Framework 8

Miscellaneous pre-beta changes

16 Dec 12:32
Compare
Choose a tag to compare
Pre-release

New features in alpha 10

  • A list of breaking and incompatible changes in FW 8
  • Change defaults of VerticalLayout and HorizontalLayout
    • HorizontalLayout now has spacing on by default
    • VerticalLayout now has margins and spacing on by default
    • Compatibility versions of the layouts exist with the old defaults
  • Most single-method interfaces are now functional interfaces
  • Listener interfaces have been reorganized somewhat
  • Upload component is in immediate mode by default
  • Client side module vaadin-widgets has been removed
  • ThreadLocals are no longer inherited by other threads
  • Grid::addColumn() without renderer now accepts any type
    • the value is converted to a string
  • Many data binding API related packages, classes and methods have been moved/renamed
    • com.vaadin.server.data -> com.vaadin.data.provider
    • com.vaadin.data.util.converter -> com.vaadin.data.converter
    • etc.
  • Added ValueProvider interface and some other common interfaces
  • Redesigned Grid use of column identifiers
  • Extracted interfaces from Grid
  • Added SortListener for Grid
  • Vaadin Spring version is listed in Vaadin BOM
  • etc.

Existing features added from version 7

  • Declarative layout support for Grid
  • Sorting of Grid from the server side
  • All changes introduced by 7.7.5 are migrated into master for FW 8 and compatibility components when applicable

In addition to these, several small changes and fixes are included in 8.0.0.alpha10.