Version 7.5.0.rc1 built on 2015-06-12.

Release Notes for Vaadin Framework 7.5.0.rc1

Overview of Vaadin 7.5.0.rc1 Release

Vaadin 7.5.0.rc1 is a pre-release for evaluating a number of new features and bug fixes, as listed in the list of enhancements and change log below.

Change Log for Vaadin 7.5.0.rc1

This release includes the following closed issues:

#3855SplitPanel should have an event for the splitter being moved
#6245Table.setVisibleColumns() causes table to forget column headers, icons, alignment
#9369ComboBox should select selected value on TAB also when new items are allowed
#10945Insuffient RPC interface detection in registerRpc
#13323Websocket test does not work with JBossEap 6
#13389toUpperCase method in Vaadin reflection operations should work in English locale
#13567Add -strict switch for superdevmode codeserver
#13653Use com.google.gwt.precompress.Precompress by default
#13709Validators should imply immediate
#13864setSelectable in Table could be made intelligent, like setImmediate is nowadays
#14137Alignment.TOP_CENTER and Alignment.TOP_RIGTH does not work for Vertical Layout
#14381Server push - JSR356 path problem on embedded Jetty 9.2.1
Priority#14432Push with weblogic 12.1.2 and websockets
#14775Label is not displayed correctly inside FormLayout when FormLayout is placed inside double VerticalLayout
#14872Notification styles should be scoped more eagerly (Valo)
#14914Deprecate streaming transport
Priority#15274TabSheet issue after setSelectedTab
#15381The icon of MenuItem doesn't turn grey
#15410Can't use double[] as renderer data type
#15464Implement StringToCollectionConverter
#15502ComboBox Null Selection can't be selected
#15549Validate and fix declarative support for OptionGroup
#16321Validate and fix declarative support for Tree inline data
#16324Validate and fix declarative support for DragAndDropWrapper
#16328Validate and fix declarative support for MenuBar
#16330Validate and fix declarative support for AbstractMedia
#16331Validate and fix declarative support for Audio
#16332Validate and fix declarative support for Video
#16334Validate and fix declarative support for PopupView
#16335Provide a Window.setPosition(x,y)
#16336Validate and fix declarative support for AbstractColorPicker
#16367Validate and fix declarative support for table
#16368Validate and fix declarative support for treetable
#16560com.vaadin.ui.renderer.DateRenderer doesn't handle null values
#16584DesignContext does not allow setting local id
#16594Validate and fix declarative support for GridLayout
#16595Validate and fix declarative support for Calendar
#16596Validate and fix declarative support for Grid
#16643Implement column reordering using drag and drop for Grid
#16644Implement expandable row details for Grid
#16685Selecting all Grid rows with Checkbox in Header using Space does not work
#16732Pressing enter on a header cell not in the default row should not sort
#16738Push/Atmosphere initialization should be done in context deployment phase
#16933Create custom tags for Components
#17023Add UI for letting the user hide or show selected Grid columns
#17028Navigator.addProvider should not accept null values
#17080Grid has no sane API to define visible columns
#17089Inconsistent default values of certain field types
#17090Problems finding PopupDateFieldElements
#17127Connectors should also be able to be DeferredWorkers
#17136Multiple connector registering if cells in Grid.HeaderRow are joint
#17148Add option for writing out inline data for AbstractSelect instances
#17166ReadOnlyException when calling fieldgroup.setItemDataSource(null) if one field is readonly
Priority#17190MarginInfo is not supported by declarative
#17196Validate and fix declarative support for Slider
#17210Validate and fix declarative support for CustomLayout
#17270Add a way to scroll to particular opened row details in Grid
#17272API for column hiding toggle caption
#17273When hiding the last frozen column, it is unfrozen when it comes visible again
#17274Null widget for details generator sometimes closes the details erroneously
#17275Declarative does not parse and format FontIcons correctly
#17287Hiding a column breaks all spanning header cells that overlap that column
#17293Scrolling down with an opened detail row in Grid fails asserts
#17314Validate and fix declarative support for Window
#17332Use MenuBar in Grid's sidebar for column hiding
#17334Reorder spacers in Escalator, alongside rows
#17353Make invisible Escalator spacers as uninteractable as possible
#17361MenuBar reads captions wrong for MenuItems
#17367Detail rows cause empty RPC call roundtrips even without any detail rows.
#17369Support responsive=true to enable responsiveness for a component
#17370Slider cannot be used with double as limits
#17377Vaadin-server bundle missing import of jsoup bundle
#17412Theming for Grid's sidebar
#17415Make the Grid StaticSection types public
#17423Move details row decorators out of the spacer <td>
#17425Declarative test can't access public properties in nonpublic superclasses
#17444DesignContext is missing getter for local id's
#17454Weblogic 12 should use JSR 356 websockets by default
#17456Glassfish4 websockets do not work with multiple servlets
#17478Grid.Column.setHidable and Grid.Column.setHidden should return the Column
#17481Declarative support and tests for Grid's Column hiding and reordering.
#17484Declarative UI tests need a test harness in the framework
#17488AbstractComponent.writeDesign should not clear element content
#17510Firefox does not work with Glassfish 4 when using JSR-356 websockets
#17548Valo Theme shows readonly checkboxes same as editable checkboxes
#17554Grid HTML element for select-all CheckBox and CheckBox in GridRow is different
#17564MarginInfo is missing JavaDoc
#17569Add API for adding custom items to the Grid column toggle sidebar menu
#17608All UIDL responses should use the same content type
#17619Gridlayout calculates caption position incorrectly when using alignment
#17691Making column hidden or visible while details row is open in Grid
#17692Grid's Column reordering drop marker is misplaced on top of sidebar open button
#17693Grid column reordering with DND floating element positioning broken
#17814SubPartArguments is missing JavaDoc
#17825Add Component.setStyleName(String, boolean)
#17826Grid detail row outline overflows
#17846Split panel primary stylename is present twice
#17858SQLContainer.commit leaves transaction open if queryDelegate.removeRow throws IllegalArgumentException
#17860Remove out of sync system message
#17879License checker claims invalid license is valid
#17890Grid.setColumns throws non-descriptive error
#17895Drag selection fails with multiple Grids on the same page
#17915PopupDateField shows no popup button in IE8 when used in Grid editor row
#17935Internal Error when trying to open editor and no converter can be found for a type
#17948Links to resources with Å or å in file name won't work
#17960Debug window should have an icon for retrieving a given component hierarchy as a declarative design
#17970DesignResourceConverter formats/parses font icon codepoints incorrectly
#17982TabSheet declarative does not support the tabsVisible setting.
#17986Grid client-side events are hard to use
#18000Grid with all cols hidden throws exception
#18003Grid extensions could use some helper functions for getting items and columns
#18011Grid uses new instead of GWT.create in multiple parts of its client-side
#18015Update loading indicators
#18019Improve error handling when adding columns
#18021Grid editor should set a class name for cells that are not editable
#18027PopUpDateField does not clear Input-Prompt on getting focus
#18028Column hiding UI does not use caption set using Column.setHeaderCaption
#18030Hiding not-last column in the Grid causes IndexOutOfBoundsException on the client
#18039JsonEncoder encodes all numeric types as strings
#18040Redundant copying of RPC parameters values in ServerRpcManager.applyInvocation
#18043FreeformQuery with 'Group By' Statement Throws SqlException when no results found
#18054Focus the field in the the active cell when manually opening Grid editor
Priority#18068GridLayout: removing column does not remove expand ratio
#18069Refreshing the page when using Tomcat and long polling or streaming can cause a static resource not to be loaded
#18102Non-immediate checkbox contacts server upon click
#18103Cells are empty after hiding and showing column
#18111Hidden column UI should hide when clicking out
#18120Grid sidebar classname should be "open" not "opened"
#18152ImageRenderer incorrectly handles null Resource
#18166GridLayout: removing row does not remove expand ratio
#18168Fix GAE tests . They do not work since 21-05-2015.
#18181WidgetUtil.getRequiredWidthComputedStyle is broken in multiple ways
Priority#18192Slider always has value max-int when using double-max thresholds bigger than max-int
#18229MarginInfo not correctly set for declerative layout
#18234Drag and drop columns in chrome 43 after grid size change fails
#18236Chameleon theme Search-styled ComboBox width is not stable in Firefox
#18238GridLayout declarative format does not support margins
 
VoteEnhancements Vaadin support users have voted for
PriorityDefects Vaadin support users have prioritized

You can also view the list of the closed issues at the Vaadin developer's site.

Enhancements in Vaadin 7.5

Vaadin 7.5 includes many major and minor enhancements. Below is a list of the most notable changes:

For enhancements introduced in Vaadin 7.4, see the Release Notes for Vaadin 7.4.0.

Incompatible or Behavior-altering Changes in 7.5

Known Issues and Limitations

Vaadin Installation

Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy. Vaadin is available under the Apache License, Version 2.0 (see the license.html in the Vaadin ZIP or JAR package).

The easiest ways to install Vaadin are:

It is also available as a ZIP package downloadable from Vaadin Download page.

Package Contents

Inside the ZIP installation package you will find:

See the README.TXT in the installation package for detailed information about the package contents. Book of Vaadin (for Vaadin 7) gives more detailed instructions.

For server-side development, copy the vaadin-server , vaadin-client-compiled , vaadin-shared , and vaadin-themes from the main folder and the dependencies from the lib folder to the WEB-INF/lib folder of your Vaadin project. (The vaadin-client-compiled is necessary if you do not wish to compile the widget set by your own, which you need to do if you use almost any add-on components.)

Updates to the Packaging

Since Vaadin 7.2.0, the old vaadin-theme-compiler has been moved into a separate project and renamed to vaadin-sass-compiler. It is now included along with the other 3rd party dependencies in the ZIP package.

For pure client-side development, you only need the vaadin-client and vaadin-client-compiler JARs, which should be put to a non-deployed project library folder, such as lib . You also need them if you compile the widget set for any reason, such as using Vaadin add-ons, or create new server-side components integrated with client-side widgets.

Migrating from Vaadin 6

All Vaadin 6 applications need some changes when migrating to Vaadin 7. The most obvious changes are in the application/window API and require extending either UI or UI.LegacyApplication instead of Application. A detailed list of migration changes are given in the Vaadin 7 Migration Guide.

Any custom client-side widgets need to be ported to use the new client-server communication API, or the Vaadin 6 compatibility API.

Vaadin 6 add-ons (ones that contain widgets) do not work in Vaadin 7 - please check the add-ons in Vaadin Directory for Vaadin 7 support.

Vaadin 7.5.0.rc1 Dependencies

When using Maven, Ivy, Gradle, or other dependency management system, all Vaadin dependencies are downloaded automatically. This is also the case when using the Vaadin Plugin for Eclipse.

The Vaadin ZIP installation package includes the dependencies in the lib subfolder. These need to be copied to the WEB-INF/lib folder of the web application that uses Vaadin.

The dependencies are listed in the Licensing description. Some are explicit dependencies packaged and distributed as separate JARs, while some are included inside other libraries.

Bean Validation

If you use the bean validation feature in Vaadin 7, you need a Bean Validation API implementation. You need to install the implementation JAR in the WEB-INF/lib directory of the web application that uses validation.

Upgrading to Vaadin 7.5

When upgrading from an earlier Vaadin version, you must:

Remember also to refresh the project in your IDE to ensure that the new version of everything is in use.

By using the " ?debug " URL parameter, you can verify that the version of the servlet, the theme, and the widget set all match.

Eclipse users should always check if there is a new version of the Eclipse Plug-in available. The Eclipse Plug-in can be used to update the Vaadin version in the project (Project properties » Vaadin).

Maven users should update the Vaadin dependency version in the pom.xml unless it is defined as LATEST . You must also ensure that the GWT dependency uses the correct version and recompile your project and your widget set.

Liferay and other portal users must install the Vaadin libraries in ROOT/WEB-INF/lib/ in the portal (and remove a possibly obsolete older vaadin.jar). Additionally, the contents of the vaadin-client-compiled and vaadin-themes must be extracted to the ROOT/html/VAADIN directory in the Liferay installation. If your portal uses custom widgets, you can use Liferay Control Panel for Vaadin for easy widget set compilation.

Notes and Limitations for Google App Engine

The following instructions and limitations apply when you run a Vaadin application under the Google App Engine.

For other known problems, see open tickets at developer site dev.vaadin.com.

Supported Technologies

Vaadin 7 is compatible with Java 6 and newer. Vaadin 7 is especially supported on the following operating systems:

Vaadin 7 requires Java Servlet API 2.4 but also supports later versions and should work with any Java application server that conforms to the standard. The following application servers are supported:

Vaadin 7 supports the JSR-286 Portlet specification and all portals that implement the specification should work. The following portals are supported:

Vaadin also supports Google App Engine.

Vaadin 7.5.0.rc1 supports the following desktop browsers:

Additionally, Vaadin supports the built-in browsers in the following mobile operating systems:

Vaadin SQL Container supports the following databases:

Vaadin on the Web