adin-client.7.5.0.beta1.source-code.release-notes.html Maven / Gradle / Ivy
Show all versions of vaadin-client Show documentation
Vaadin Framework 7.5.0.beta1
Vaadin – thinking of U and I
Version 7.5.0.beta1
Version 7.5.0.beta1 built on 2015-05-19.
Release Notes for Vaadin Framework
7.5.0.beta1
- Overview of Vaadin
7.5.0.beta1 Release
- Change Log for Vaadin
7.5.0.beta1
- Enhancements in Vaadin
7.5
- Incompatible or Behavior-altering Changes in
7.5
- Known Issues and Limitations
- Vaadin Installation
- Package Contents
- Migrating from Vaadin 6
- Vaadin 7.5.0.beta1
dependencies
- Upgrading to Vaadin
7.5
- Supported
Technologies
- Vaadin on the Web
Overview of Vaadin 7.5.0.beta1 Release
Vaadin 7.5.0.beta1 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.beta1
This release includes the following closed issues:
#3855 SplitPanel should have an event for the splitter being moved
#9369 ComboBox should select selected value on TAB also when new items are allowed
#13323 Websocket test does not work with JBossEap 6
#13653 Use com.google.gwt.precompress.Precompress by default
#13709 Validators should imply immediate
#14137 Alignment.TOP_CENTER and Alignment.TOP_RIGTH does not work for Vertical Layout
#14381 Server push - JSR356 path problem on embedded Jetty 9.2.1
Priority #14432 Push with weblogic 12.1.2 and websockets
#14775 Label is not displayed correctly inside FormLayout when FormLayout is placed inside double VerticalLayout
#15381 The icon of MenuItem doesn't turn grey
#15464 Implement StringToCollectionConverter
#15502 ComboBox Null Selection can't be selected
#15549 Validate and fix declarative support for OptionGroup
#16321 Validate and fix declarative support for Tree inline data
#16324 Validate and fix declarative support for DragAndDropWrapper
#16328 Validate and fix declarative support for MenuBar
#16330 Validate and fix declarative support for AbstractMedia
#16331 Validate and fix declarative support for Audio
#16332 Validate and fix declarative support for Video
#16334 Validate and fix declarative support for PopupView
#16336 Validate and fix declarative support for AbstractColorPicker
#16367 Validate and fix declarative support for table
#16368 Validate and fix declarative support for treetable
#16584 DesignContext does not allow setting local id
#16594 Validate and fix declarative support for GridLayout
#16595 Validate and fix declarative support for Calendar
#16596 Validate and fix declarative support for Grid
#16738 Push/Atmosphere initialization should be done in context deployment phase
#16933 Create custom tags for Components
#17080 Grid has no sane API to define visible columns
#17089 Inconsistent default values of certain field types
#17148 Add option for writing out inline data for AbstractSelect instances
Priority #17190 MarginInfo is not supported by declarative
#17196 Validate and fix declarative support for Slider
#17210 Validate and fix declarative support for CustomLayout
#17270 Add a way to scroll to particular opened row details in Grid
#17272 API for column hiding toggle caption
#17273 When hiding the last frozen column, it is unfrozen when it comes visible again
#17274 Null widget for details generator sometimes closes the details erroneously
#17275 Declarative does not parse and format FontIcons correctly
#17287 Hiding a column breaks all spanning header cells that overlap that column
#17293 Scrolling down with an opened detail row in Grid fails asserts
#17314 Validate and fix declarative support for Window
#17332 Use MenuBar in Grid's sidebar for column hiding
#17334 Reorder spacers in Escalator, alongside rows
#17353 Make invisible Escalator spacers as uninteractable as possible
#17367 Detail rows cause empty RPC call roundtrips even without any detail rows.
#17369 Support responsive=true to enable responsiveness for a component
#17377 Vaadin-server bundle missing import of jsoup bundle
#17412 Theming for Grid's sidebar
#17415 Make the Grid StaticSection types public
#17423 Move details row decorators out of the spacer <td>
#17425 Declarative test can't access public properties in nonpublic superclasses
#17444 DesignContext is missing getter for local id's
#17454 Weblogic 12 should use JSR 356 websockets by default
#17456 Glassfish4 websockets do not work with multiple servlets
#17478 Grid.Column.setHidable and Grid.Column.setHidden should return the Column
#17481 Declarative support and tests for Grid's Column hiding and reordering.
#17484 Declarative UI tests need a test harness in the framework
#17488 AbstractComponent.writeDesign should not clear element content
#17510 Firefox does not work with Glassfish 4 when using JSR-356 websockets
#17564 MarginInfo is missing JavaDoc
#17569 Add API for adding custom items to the Grid column toggle sidebar menu
#17608 All UIDL responses should use the same content type
#17619 Gridlayout calculates caption position incorrectly when using alignment
#17691 Making column hidden or visible while details row is open in Grid
#17693 Grid column reordering with DND floating element positioning broken
#17814 SubPartArguments is missing JavaDoc
#17858 SQLContainer.commit leaves transaction open if queryDelegate.removeRow throws IllegalArgumentException
#17860 Remove out of sync system message
Vote Enhancements Vaadin support users have voted for
Priority Defects 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:
- Column reordering using drag and drop in Grid
- Column hiding in Grid
- Row details support in Grid
- JSR 356 WebSocket support has been refactored to improve compatibility with Wildfly and WebLogic
For enhancements introduced in Vaadin 7.4, see the Release
Notes for Vaadin 7.4.0.
Incompatible or Behavior-altering Changes in 7.5
- The push path has been changed from /PUSH/ to /PUSH to be compatible with JSR 356.
- Widgetset files and other pre-compressed resources are sent as gzip to compatible browsers.
This may interfere with custom response compression solutions that do not respect the Content-Encoding response header.
Known Issues and Limitations
- Drag'n'drop in a Table doesn't work on touch devices running
Internet Explorer (Windows Phone, Surface)
(#13737)
It is currently not possible to specify font-size
as em or %, or layout component sizes
with em (#10634).
This
does not apply to Valo, but using em sizes to size layouts is discouraged,
because it results in fractional component sizes in many cases, which
might cause unwanted 1px gaps between components.
- Up-to-date information about configuration needed for push and compatibility issues are available in
this wiki page.
The most prominent limitations are:
- HTTP proxies can prevent push requests from working
properly. To mitigate the issues, avoid using streaming
and configure your proxy so it allows response headers
to pass through before the whole response is received.
#17075
should make long-polling work seamlessly with all proxies.
- HTTP session can not be invalidated while using
push over websockets on Tomcat 7 (#11721)
- Cookies are not available while using websockets (#11808)
- Push is currently not supported in portals (See #11493)
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:
- If using Maven, define it as a dependency or use
any of the available archetypes (only vaadin-application
is available for Vaadin 7 at the time of this release)
to create a new project
- If using Eclipse, use the Vaadin Plugin for
Eclipse, which automatically downloads the Vaadin
libraries.
It is also available as a ZIP package downloadable from Vaadin Download
page.
Package Contents
Inside the ZIP installation package you will find:
- Separate server-side (vaadin-server) and
client-side (vaadin-client, vaadin-client-compiler)
development libraries
- Precompiled widget set (vaadin-client-compiled)
for server-side development
- Shared library (vaadin-shared) for both
server- and client-side libraries
- Built-in themes (vaadin-themes)
- Dependency libraries provided under the lib/
folder
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.beta1 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:
- Recompile your classes using the new Vaadin
version. Binary compatibility is only guaranteed for
maintenance releases of Vaadin.
- Unless using the precompiled widget set, recompile
your widget set using the new Vaadin version.
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.
-
Applications must use GAEVaadinServlet
instead of VaadinServlet in
web.xml
.
-
Session support must be enabled in
appengine-web.xml
:
<sessions-enabled>true</sessions-enabled>
-
Avoid using the session for storage, usual App
Engine limitations apply (no synchronization, that
is, unreliable).
-
Vaadin uses memcache for mutex, the key is of the
form
_vmutex<sessionid>
.
-
The Vaadin VaadinSession class is serialized
separately into memcache and datastore; the memcache
key is
_vac<sessionid>
and the datastore entity kind is
_vac
with identifiers of the type
_vac<sessionid>
.
-
DO NOT update application state when serving an ConnectorResource
(such as ClassResource.getStream()).
-
The application remains locked during uploads - a
progress bar is not possible
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:
- Windows
- Linux
- Mac OS X
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:
- Apache Tomcat 5-8
- Apache TomEE 1
- Oracle WebLogic Server 10.3-12
- IBM WebSphere Application Server 7-8
- JBoss Application Server 4-7
- Wildfly 8
- Jetty 5-9
- Glassfish 2-4
Vaadin 7 supports the JSR-286 Portlet specification and all
portals that implement the specification should work. The
following portals are supported:
- Liferay Portal 5.2-6
- GateIn Portal 3
- eXo Platform 3
- IBM WebSphere Portal 8
Vaadin also supports Google App Engine.
Vaadin 7.5.0.beta1 supports the following desktop browsers:
- Mozilla Firefox 18-38
- Mozilla Firefox 17 ESR, 24 ESR, 31 ESR, 38 ESR
- Internet Explorer 8-11
- Safari 6-8
- Opera 16-29
- Google Chrome 23-42
Additionally, Vaadin supports the built-in browsers in the
following mobile operating systems:
- iOS 5-8
- Android 2.3-5
- Windows Phone 8
Vaadin SQL Container supports the following databases:
- HSQLDB
- MySQL
- MSSQL
- Oracle
- PostgreSQL
Vaadin on the Web
- vaadin.com - The
developer portal containing everything you need to
know about Vaadin
- vaadin.com/demo
- A collection of demos for Vaadin
- vaadin.com/learn
- Getting started with Vaadin
- vaadin.com/forum
- Forums for Vaadin related discussions
- vaadin.com/book
- Book of Vaadin - everything you need to know about
Vaadin
- vaadin.com/api
- Online javadocs
- vaadin.com/directory
- Add-ons for Vaadin
- vaadin.com/pro-tools
- Commercial tools for Vaadin development
- vaadin.com/support
- Commercial support for Vaadin development
- vaadin.com/services
- Expert services for Vaadin
- vaadin.com/company
- Information about the company behind Vaadin
- dev.vaadin.com
- Bug tracker
- How
to get the source code of Vaadin