From: Pekka Hyvönen
Date: Fri, 17 Mar 2017 07:38:09 +0000 (+0200)
Subject: Update release notes for 8.1.0.alpha1 (#8863)
X-Git-Tag: 8.1.0.alpha1~1
X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ea2d386f3b49c0c67f6e9685b7e4d7868bdadc8e;p=vaadin-framework.git
Update release notes for 8.1.0.alpha1 (#8863)
---
diff --git a/all/src/main/templates/release-notes.html b/all/src/main/templates/release-notes.html
index 36ce1e4804..95d1c37acc 100644
--- a/all/src/main/templates/release-notes.html
+++ b/all/src/main/templates/release-notes.html
@@ -64,13 +64,8 @@
a number of new features and bug fixes, as listed in the list of enhancements and change log below.
- This beta release contains breaking changes based on your feedback on the previous beta version,
- and we may change things on future beta versions based on your feedback if necessary.
+ The API in this alpha version is not considered final and will change based on your feedback.
- Special note for add-on developers: please test your add-on against
- Framework 8.0 and update your add-on as needed.
-
-
Change Log for Vaadin Framework @version@
@@ -87,154 +82,29 @@
enhancements. Below is a list of the most notable changes:
- - 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), custom tag name support for AbstractJavaScriptComponent and more efficient transmission of shared state changes for JavaScript components
- - Context click events are now generated on iOS devices (#7387)
- - Add-ons can use META-INF/services/com.vaadin.server.VaadinServiceInitListener to automatically hook into the initialization sequence of the framework
+ - Components In Grid
+ - HTML5 Drag and Drop support
+ - TreeGrid and HierarchicalDataProvider
-
- The new data binding API replaces the old Container, Item, Property, FieldGroup,
- Validator, Converter and related classes with new mechanisms.
- Also components using those are replaced with updated implementations using the
- new API, and the old data binding API and components have been moved to separate
- compatibility packages for ease of migration.
- For more details, see the list of incompatible changes and how to migrate
- to Vaadin Framework 8.
- For enhancements introduced in Vaadin Framework 7.7, see the Release
- Notes for Vaadin Framework 7.7.0.
+ For enhancements introduced in Vaadin Framework 8.0, see the Release
+ Notes for Vaadin Framework 8.0.0.
+ For migrating from previous framework versions, see the list of incompatible changes and how to migrate
+ to Vaadin Framework 8.
Incompatible or Behavior-altering Changes in @version@
- Compatibility and requirements
- - Vaadin Framework now requires Java 8 or later and Servlet 3.0 or later
- - Support for older browsers (including Microsoft IE 8-10) and Windows Phone has been dropped
- - Support for Google App Engine has been dropped
- - Supported servers
-
- New Data Binding API related changes
- - Components using Property, Item or Container API have been reimplemented for the new API, except Tree, Table, TreeTable and Calendar
- - Framework 7 versions of the components available in the v7 compatibility package for easier migration, see list of legacy components
- - Binder is the replacement of FieldGroup and BeanFieldGroup
- - Converters and Validators have been moved from Components to Binder
- - DataProvider is the replacement of Container
-
- - ListDataProvider is the default in-memory data provider replacing IndexedContainer, BeanItemContainer, and BeanContainer
- - BackEndDataProvider is the basis for a lazy data provider
- - SQLContainer is deprecated in v7 compatibility package and not directly replaced
- - HierarchicalContainer is deprecated in v7 compatibility package and a replacement is planned for 8.1
-
- - All components that list data are based on AbstractListing
- - All AbstractListing components have been typed with the type of items they are listing
- - HasValue replaces the Field interface as the basis for all field components
- - Field components based on HasValue may or may not accept null values, depending on each component. There is no setNullRepresentation anymore
- - AbstractField::setRequired(boolean) has been replaced with:
-
- - HasValue::setRequiredIndicatorVisible(boolean) which only makes the * required indicator visible for the component
- - BindingBuilder::setRequired(String) adds a "not-empty" validator when used in Binder and makes the * required indicator visible
-
- - setItemCaptionGenerator in AbstractListing replaces setItemCaption, setItemCaptionMode and setItemCaptionPropertyId from AbstractSelect
- - setItemIconGenerator in AbstractListing replaces setItemIcon and setItemIconPropertyId from AbstractSelect
-
- General API changes
- - All listeners and most single method interfaces have been marked as @FunctionalInterface
- - All components are now immediate, and AbstractComponent::setImmediate(boolean immediate) has been removed.
- - Read-only is now a feature for field components and has been moved from AbstractComponent to HasValue
- - Some deprecated/obsolete parts of API have been removed
- - All addListener/removeListener methods have been removed - replaced with the Java 8 friendly addClickListener(), addValueChangeListener() etc. instead
- - All new listeners are unregistered using a Registration object returned by addXyzListener() rather than with a separate removeXyzListener()
- - Input prompts have been replaced with placeholders utilizing the related browser functionality, API is now setPlaceHolder instead of setInputPrompt
- - Valo is the default theme, instead of Reindeer
- - Valo is the only included theme, all other themes have been moved to the compatiblity-themes package and are available as a separate dependency
- - SharedState and the getter methods for it have been added to each component, regardless of whether those are used for anything or not
- - The old liferay theme (Liferay 6.0 look) has been removed
- - FontAwesome icon constants have been deprecated, and will not be updated. It is replaced with Vaadin Icons that are included in the Framework
- - It is no longer possible to configure a CurrentInstance to be automatically inherited into spawned threads.
-
- Component specific API changes
- - setDescription(String) now renders tooltip as inner text by default, instead of HTML. HTML can be still used by using setDescription(String, ContentMode)
- - com.vaadin.shared.ui.label.ContentMode has been moved into com.vaadin.shared.ui
- - DateField replaces old PopupDateField
- - DateField and InlineDateField are now based on Java 8 LocalDate instead of Date
- - DateTimeField and InlineDateTimeField based on Java 8 LocalDateTime are introduced for time selecting time (hour / minute / second)
- - DateField and InlineDateField don't support time anymore, meaning the highest resolution for those is DateResolution.DAY
- - Resolution for DateField and InlineDateField is replaced by DateResolution and DateTimeResolution
- - OptionGroup has been removed and replaced by:
-
- - CheckBoxGroup replaces OptionGroup in multiselect mode
- - RadioButtonGroup replaces OptionGroup in single select mode
- OptionGroup::setItemEnabled(Object, boolean) has been replaced by setItemEnabledProvider that accepts a predicate
-
- - TwinColSelect is always in multiselect mode
- - ListSelect is always in multiselect mode
- - Upload has a separate immediate mode setImmediateMode(boolean) replacing setImmediate and is now by default in immediate mode
- - RichTextArea no longer receives a special "v-richtextarea-readonly" class when readonly, only the standard "v-readonly" class
- - Grid has been typed to the bean type it is using and its columns are specified with a value provider callback instead of "propertyId"
- - Grid Editor now uses Binder instead of FieldGroup, and doesn't support a FieldFactory
- - Grid selection API has been removed from component level to GridSelectionModel which is available via Grid::getSelectionModel()
- - Grid::setSelectionModel(GridSelectionModel) visibility has been changed from public to protected to reduce confusion with Grid::setSelectionMode
-
- Client side widget specific API changes
- - VTextualDate
widget class is removed and replaced by abstract VAbstractTextualDate class which is supposed to be inherited by concrete date field implementation widgets
-
- Component specific visual changes
- - The default width of Label is now undefined, matching other components
- - The default width for ComboBox pop-up is now 100 % (previously undefined)
- - VerticalLayout has by default spacing = true and margin = true
- - HorizontalLayout has by default spacing = true and margin = false
-
- Component specific declarative syntax changes
- - Components in the compatibility packages now use the prefix vaadin7-" in declarative design files
- - required-indicator-visible attribute replaces the required attribute
- - placeholder attribute replaces the input-prompt attribute for input components
- - multi-select attribute is no longer used for select components
- - vaadin-option-group with attribute multi-select=true is replaced by v-check-box-group
- - vaadin-option-group with attribute multi-select=false is replaced by v-radio-button-group
- - immediate attribute is not used for any component
- - read-only attribute is now only used for field components instead of all components
- - vaadin-upload has a new attribute immediate-mode that replaces the removed immediate attribue
- - vaadin-grid column elements don't have property-id attribute anymore. Columns aren't addressed by a property anymore but they have an id. So there is column-id attribute instead
- - vaadin-grid doesn't have readonly attribute anymore. It is replaced by selection-allowed attribute which has special meaning for a Grid
-
- Legacy components in the v7 compatiblity package com.vaadin.v7.ui available as a separate dependency
- - Calendar - no replacement in 8
- - CheckBox
- - ColorPicker
- - ColorPickerArea
- - ComboBox
- - CustomField
- - DateField - replaced in 8 by DateField and DateTimeField
- - Form - no replacement in 8
- - Grid (and renderers)
- - HorizontalLayout
- - InlineDateField - replaced in 8 by InlineDateField and InlineDateTimeField
- - Label
- - ListSelect
- - NativeSelect
- - OptionGroup - replaced by CheckBoxGroup (multiselection) and RadioButtonGroup (single selection)
- - PasswordField
- - PopupDateField - replaced in 8 by DateField and DateTimeField
- - ProgressBar
- - ProgressIndicator
- - RichTextArea
- - Select - removed, use ComboBox for single selection and ListSelect for multiselection
- - Table - no replacement in 8.0, use Grid.
- - TextArea
- - TextField
- - Tree - no replacement in 8.0, planned for 8.1
- - TreeTable - no replacement in 8.0, TreeGrid planned for 8.1
- - TwinColSelect
- - VerticalLayout
- - Upload
-
+ The TreeGrid component replaces both TreeTable and Tree component
+ The HierarchicalDataProvider interface replaces Container.Hierarchical and <InMemoryHierarchicalDataProvider replaces HierarchicalContainer
+ The DragSourceExtension and DropTargetExtension extensions replace the old DnD features
+
+ For incompatible or behaviour-altering changes in 8.0, please see 8.0 release notes
+
Known Issues and Limitations
- Grid does not support adding components to cells. Instead light-weight Renderers can be
- used to present and edit data.
The Maven GWT compilation for Vaadin7WidgetSet requires at least 1G of memory, when using the vaadin-client-compability package. If compiled inside Eclipse, possibly even more.