<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Vaadin Framework @version@</title> <link rel="stylesheet" type="text/css" href="css/styles.css" /> <!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="css/ie.css" /> <![endif]--> <style type="text/css"> .nested-list ol { counter-reset: item } .nested-list li { display: block } .nested-list li:before { content: counters(item, ".") ". "; counter-increment: item } </style> </head> <body> <div id="header"> <h1>Vaadin – thinking of U and I</h1> <div id="version"> <strong>Version @version@</strong> </div> </div> <!-- /header --> <div id="content"> <p>Version @version@ built on @builddate@.</p> <h2 id="tableofcontents">Release Notes for Vaadin Framework @version@</h2> <ul> <li><a href="#overview">Overview</a></li> <li><a href="#enhancements">Enhancements in Vaadin @version-minor@</a></li> <li><a href="#changelog">Complete change log for Vaadin @version@</a></li> <li><a href="#migrating">Migrating from Vaadin 6 to Vaadin 7</a></li> <li><a href="#dependencies">Vaadin @version@ dependencies</a></li> <li><a href="#upgrading">Upgrading to Vaadin @version-minor@</a></li> <li><a href="#supportedversions">Supported technologies</a></li> <li><a href="#vaadinontheweb">Vaadin on the Web</a></li> </ul> <h2 id="overview">Overview</h2> <p> <b>Vaadin</b> is a Java framework for building modern web applications that look great, perform well and make you and your users happy. <b>Vaadin</b> and is available under the Apache 2 license (see <tt>license.html</tt>). </p> <p> The easiest ways to install <b>Vaadin</b> are: </p> <ul> <li>If using Maven, define it as a dependency or use any of the available archetypes (only <tt>vaadin-application</tt> is available for Vaadin 7 at the time of this release) to create a new project</li> <li>If using Eclipse, use the Vaadin Plugin for Eclipse, which automatically downloads the Vaadin libraries</li> </ul> <p> It is also available as a ZIP package downloadable from <a href="http://vaadin.com/download">Vaadin Download page</a>. </p> <h3 id="package">Package Contents</h3> <p>Inside the ZIP installation package you will find:</p> <ul> <li>Separate server-side (<tt>vaadin-server</tt>) and client-side (<tt>vaadin-client</tt>, <tt>vaadin-client-compiler</tt>) development libraries</li> <li>Precompiled widget set (<tt>vaadin-client-compiled</tt>) for server-side development</li> <li>Shared library (<tt>vaadin-shared</tt>) for both server- and client-side libraries</li> <li>Built-in themes (<tt>vaadin-themes</tt>) and the theme compiler (<tt>vaadin-theme-compiler</tt>) <li>Dependency libraries provided under the <tt>lib/</tt> folder</li> </ul> <p> See the <tt>README.TXT</tt> in the installation package for detailed information about the package contents. <a href="http://vaadin.com/book">Book of Vaadin</a> (for Vaadin 7) will give more detailed instructions; it is not yet up-to-date at the time of this release, but will be updated soon after. </p> <p> For server-side development, copy the <tt>vaadin-server</tt>, <tt>vaadin-client-compiled</tt>, <tt>vaadin-shared</tt>, <tt>vaadin-theme-compiler</tt>, and <tt>vaadin-themes</tt> from the main folder and the dependencies from the <tt>lib</tt> folder to the <tt>WEB-INF/lib</tt> folder of your Vaadin project. (The <tt>vaadin-client-compiled</tt> 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.) </p> <p> For pure client-side development, you only need the <tt>vaadin-client</tt> and <tt>vaadin-client-compiler</tt> JARs, which should be put to a non-deployed project library folder, such as <tt>lib</tt>. 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. </p> <h2 id="enhancements">Enhancements in Vaadin @version-minor@</h2> <p> @version-minor@ is the first beta release release of the upcoming Version 7 of the Vaadin Framework. It introduces the final major set of new features in Vaadin 7, for the purpose of receiving feedback about the changes. </p> <p>The major new changes in this first beta release are:</p> <ul> <li>Applications are now written by extending the <b>UI</b> class <ul> <li>UIs use heartbeat to detect closing</li> </ul> </li> <li>The <b>Application</b> class is removed altogether <ul> <li><b>ApplicationServlet</b> is replaced with <b>VaadinServlet</b></li> <li><b>ApplicationResource</b> is replaced with <b>ConnectorResource</b></li> </ul> </li> <li>Themeing with <a href="http://sass-lang.com/">SASS</a> in addition to CSS <ul> <li>SASS themes need to (and CSS themes can) be compiled to a single CSS stylesheet with the <tt>vaadin-theme-compiler</tt></li> </ul> </li> <li>Add-ons can modify the startup page</i></li> <li>All <tt>addListener()</tt> methods have changed to listener-specific methods, such as <tt>addClickListener()</tt>, <tt>addValueChangeListener()</tt>, etc.</li> <li>Packaging has changed, now in a ZIP package (see <a href="package">Package Contents</a> above) </li> </ul> <p> The following major changes were first introduced in the alpha releases: </p> <ul> <li>GWT is now built into Vaadin Framework <ul> <li>New SuperDevMode allows debugging client-side Java code in the browser without any plugins</li> </ul> </li> <li>Navigation API for view navigation <ul> <li>View navigation with bookmarking/linking with URI fragments and browser history support</li> <li>Access control for views, view change confirmation</li> </ul> </li> <li>Component and UI extensions</li> <li>Resource loading (JS/CSS) by the framework</li> <li>Complete overhaul of the client-server communication architecture <ul> <li>All add-on components that have widgets need to be ported to Vaadin 7</li> <li>Integration of a GWT widget is done in a connector class</li> <li>Component-to-widget mapping now defined on the client-side, in the connector</li> <li>No more Paintable or VariableOwner</li> <li>Server-side component and client-side widget can have a shared state object which is automatically synchronized</li> <li>Both client-side and server-side can make RPC calls to the other side <ul> <li>Communicated in the next request/response</li> <li>No return values</li> <li>Typically for communicating events</li> </ul> </li> <li>Support for JavaScript components - GWT integration code not required</li> <li>Handle JavaScript callbacks on the server-side</li> <li>UIDL is deprecated</li> <li>Compatibility layer for Vaadin 6 included for easy migration</li> </ul> </li> <li><b>Form</b> is deprecated and form hand is replaced with the <b>FieldGroup</b></li> <li>Get computed style of a component from the browser</li> <li>Support for border, padding, and margin in core layout components</li> </ul> <p> There are many other enhancements. Most of them are described in more detail in the <a href="https://vaadin.com/wiki/-/wiki/Main/Vaadin+7">mini-tutorials</a> in the Vaadin Wiki. </p> <p> Please see the release notes for <a href="http://vaadin.com/download/prerelease/7.0/7.0.0/7.0.0.alpha1/release-notes.html">alpha1</a>, <a href="http://vaadin.com/download/prerelease/7.0/7.0.0/7.0.0.alpha2/release-notes.html">alpha2</a>, and <a href="http://vaadin.com/download/prerelease/7.0/7.0.0/7.0.0.alpha3/release-notes.html">alpha3</a> for the lists of where the major enhancements were introduced. </p> <h3 id="changelog">ChangeLog</h3> <p> For a complete list of changes in this release, please see the <a href="http://dev.vaadin.com/query?status=closed&group=resolution&milestone=Vaadin+7.0.0.beta1">list of closed tickets</a>. </p> <h2 id="migrating">Migrating from Vaadin 6</h2> <p> 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 <b>UI</b> or <b>UI.LegacyApplication</b> instead of <b>Application</b>. A detailed list of migration changes are given in the <a href="http://dev.vaadin.com/wiki/Vaadin7/MigrationGuide">Vaadin 7 Migration Guide</a>. </p> <p> Any custom client-side widgets need to be ported to use the new client-server communication API, or the Vaadin 6 compatibility API. </p> <p> Vaadin 6 add-ons (ones that contain widgets) do not work in Vaadin 7 - please check the add-ons in <a href="http://vaadin.com/directory/">Vaadin Directory</a> for Vaadin 7 support. </p> <h2 id="dependencies">Vaadin @version@ Dependencies</h2> <h3>Dependencies Included in Installation package</h3> <p> The Vaadin ZIP installation package includes the following dependencies in the <tt>lib</tt> subfolder: </p> <ul> <li>Apache Ant (<tt>ant-*.jar</tt>)</li> <li>Args4j (<tt>args4j-*.jar</tt>)</li> <li>Apache Commons CLI, Collections, Discovery, IO, Lang, Logging, and Math (<tt>commons-*.jar</tt>)</li> <li>CSS Parser (<tt>cssparser-*.jar</tt>)</li> <li>Flute (<tt>flute-*.jar</tt>)</li> <li>Google Collections Library (<tt>google-collections-*.jar</tt>)</li> <li>JSON (<tt>json-*.jar</tt>)</li> <li>jsoup (<tt>jsoup-*.jar</tt>)</li> <li>JUnit (<tt>junit-*.jar</tt>)</li> <li><tt>portal-service-*.jar</tt></li> <li>SAC (<tt>sac-*.jar</tt>)</li> <li>SmartSprites (<tt>smartsprites-*.jar</tt>)</li> <li>Validation API (<tt>validation-*.jar</tt>)</li> </ul> <h3>Bean Validation</h3> <p> If you want to use the bean validation feature in Vaadin 7, you need a Bean Validation API implementation. You need to install the JAR in the <tt>WEB-INF/lib</tt> directory. </p> <h2 id="upgrading">Upgrading to Vaadin @version-minor@</h2> <h3>Upgrading the Eclipse Plugin</h3> <p> This release requires that you use the <i>experimental</i> Vaadin Plugin for Eclipse. Its update site is <tt>http://vaadin.com/eclipse/experimental</tt>. Please see the <a href="http://vaadin.com/eclipse">installation instructions</a> for more details. </p> <h3>General Upgrading Instructions</h3> <p> When upgrading from an earlier Vaadin version, you must: </p> <ul> <li>Recompile your classes using the new Vaadin version. Binary compatibility is only guaranteed for maintenance releases of Vaadin.</li> <li>Recompile any add-ons you have created using the new Vaadin</li> <li>Unless using the precompiled widget set, recompile your widget set using the new Vaadin version</li> </ul> <p> Remember also to refresh the project in your IDE to ensure that the new version of everything is in use. </p> <p> By using the "<tt>?debug</tt>" URL parameter, you can verify that the version of the servlet, the theme, and the widget set all match. </p> <p> <b>Eclipse</b> 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). </p> <p> <b>Maven</b> users should update the Vaadin dependency version in the <tt>pom.xml</tt> unless it is defined as <tt>LATEST</tt> . You must also ensure that the GWT dependency uses the correct version and recompile your project and your widget set. </p> <p> <b>Liferay and other portal</b> users must install the Vaadin libraries in <t>ROOT/WEB-INF/lib/</b> in the portal (and remove a possibly obsolete older <tt>vaadin.jar</tt>). Additionally, the contents of the <tt>vaadin-client-compiled</tt> and <tt>vaadin-themes</tt> must be extracted to the <tt>ROOT/html/VAADIN</tt> directory in the Liferay installation. If your portal uses custom widgets, install the latest version of <a href="http://vaadin.com/directory#addon/vaadin-control-panel-for-liferay">Vaadin Control Panel for Liferay</a> for easy widget set compilation - when it is available - the add-on is not compatible with Vaadin @version@ at the time of this Vaadin release. <!-- TODO: Remove note when done --> </p> <h2 id="gae">Notes and Limitations for Google App Engine</h4> <p>The following instructions and limitations apply when you run a Vaadin application under the Google App Engine.</p> <ul> <li> <p> Applications must use <b>GAEVaadinServlet</b> instead of <b>VaadinServlet</b> in <tt>web.xml</tt>. </p> </li> <li> <p> Session support must be enabled in <tt>appengine-web.xml</tt>: </p> <pre> <sessions-enabled>true</sessions-enabled></pre> </li> <li> <p> Avoid using the session for storage, usual App Engine limitations apply (no synchronization, that is, unreliable). </p> </li> <li> <p> Vaadin uses memcache for mutex, the key is of the form <tt>_vmutex<sessionid></tt>. </p> </li> <li> <p> The Vaadin <b>VaadinSession</b> class is serialized separately into memcache and datastore; the memcache key is <tt>_vac<sessionid></tt> and the datastore entity kind is <tt>_vac</tt> with identifiers of the type <tt>_vac<sessionid></tt>. </p> </li> <li> <p> DO NOT update application state when serving an <b>ConnectorResource</b> (such as <b>ClassResource</b>.<i>getStream()</i>). </p> </li> <li> <p> The application remains locked during uploads - a progress bar is not possible </p> </li> </ul> <p> For other known problems, see open tickets at developer site <a href="http://dev.vaadin.com/">dev.vaadin.com</a>. </p> <h2 id="supportedversions">Supported Technologies</h2> <p> Vaadin 7 is compatible with <b>Java 6</b> and with most operating systems supporting the Java 6 or newer. Vaadin 7 is especially supported on the following <b>operating systems</b>: </p> <ul> <li>Windows</li> <li>Linux</li> <li>Mac OS X</li> </ul> <p> Vaadin 7 requires <b>Java Servlet API 2.4</b> but also supports later versions and should work with any Java application server that conforms to the standard. The following <b>application servers</b> are supported: </p> <ul> <li>Apache Tomcat, version 5.0 or newer</li> <li>Oracle WebLogic® Server, version 9.2 or newer</li> <li>IBM WebSphere® Application Server, version 6.1 or newer</li> <li>JBoss Application Server, 4.0.0 or newer</li> <li>Jetty, version 5.0 or newer</li> <li>Glassfish, version 2.0 or newer</li> </ul> <p> Vaadin 7 supports the JSR-286 Portlet specification. All portals that implement either of the portlet specifications should work. The following <b>portals</b> are supported: </p> <ul> <li>Liferay Portal 5.2 or newer</li> <li>GateIn Portal 3.1 or newer</li> <li>eXo Platform 3 or newer</li> </ul> <p> Vaadin also supports <b>Google App Engine</b>. </p> <p> Vaadin supports the following <b>desktop browsers</b>: </p> <ul> <li>Mozilla Firefox 5 or newer</li> <li>Internet Explorer 8-10</li> <li>Safari 6</li> <li>Opera 12</li> <li>Google Chrome 21</li> </ul> <p> Additionally, Vaadin supports the built-in browsers in the following <b>mobile operating systems</b>: </p> <ul> <li>iOS 5 and later</li> <li>Android 2.3 and later</li> </ul> <h2 id="vaadinontheweb">Vaadin on the Web</h2> <ul> <li><a href="http://vaadin.com">vaadin.com - The developer portal containing everything you need to know about Vaadin</a> </li> <li><a href="http://demo.vaadin.com">demo.vaadin.com - A collection of demos for Vaadin</a></li> <li><a href="http://vaadin.com/learn">vaadin.com/learn - Getting started with Vaadin</a></li> <li><a href="http://vaadin.com/forum">vaadin.com/forum - Forums for Vaadin related discussions</a> </li> <li><a href="http://vaadin.com/book">vaadin.com/book - Book of Vaadin - everything you need to know about Vaadin</a> </li> <li><a href="http://vaadin.com/api">vaadin.com/api - Online javadocs</a> </li> <li><a href="http://vaadin.com/directory">vaadin.com/directory - Add-ons for Vaadin</a> </li> <li><a href="http://vaadin.com/pro-account">vaadin.com/pro-account - Commercial support and tools for Vaadin development </a> </li> <li><a href="http://vaadin.com/services">vaadin.com/services - Expert services for Vaadin</a> </li> <li><a href="http://vaadin.com/company">vaadin.com/company - Information about the company behind Vaadin</a> </li> <li><a href="http://dev.vaadin.com">dev.vaadin.com - Bug tracker</a></li> <li><a href="http://dev.vaadin.com/wiki/Vaadin/Development/StartingVaadin7Development">How to get the source code of Vaadin</a> </li> </ul> </div> <!-- /content--> <div id="footer"> <span class="slogan"><strong>vaadin <em>}></em> </strong> thinking of U and I<span> <a href="#top">↑ Back to top</a> </div> <!-- /footer --> </body> </html> <!-- Keep this comment at the end of the file Local variables: mode: xml sgml-omittag:nil sgml-shorttag:nil sgml-namecase-general:nil sgml-general-insert-case:lower sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:2 sgml-indent-data:t sgml-parent-document:nil sgml-exposed-tags:nil sgml-local-catalogs:("/etc/sgml/catalog" "/usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG") sgml-local-ecat-files:("ECAT" "~/sgml/ECAT" "/usr/share/sgml/ECAT" "/usr/local/share/sgml/ECAT" "/usr/local/lib/sgml/ECAT") End: -->