You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

release-notes.html 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Vaadin Framework @version@</title>
  6. <link rel="stylesheet" type="text/css" href="css/styles.css" />
  7. <style type="text/css">
  8. .nested-list ol {
  9. counter-reset: item
  10. }
  11. .nested-list li {
  12. display: block
  13. }
  14. .nested-list li:before {
  15. content: counters(item, ".") ". ";
  16. counter-increment: item
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <div id="header">
  22. <h1>Vaadin &ndash; thinking of U and I</h1>
  23. <div id="version">
  24. <strong>Version @version@</strong>
  25. </div>
  26. </div>
  27. <!-- /header -->
  28. <div id="content">
  29. <p>Version @version@ built on @builddate@.</p>
  30. <h2 id="tableofcontents">Release Notes for Vaadin Framework
  31. @version@</h2>
  32. <ul>
  33. <li><a href="#overview">Overview of Vaadin
  34. @version@ Release</a></li>
  35. <li><a href="#changelog">Change Log for Vaadin
  36. @version@</a></li>
  37. <li><a href="#enhancements">Enhancements in Vaadin
  38. @version-minor@</a></li>
  39. <li><a href="#incompatible">Incompatible or Behavior-altering Changes in
  40. @version-minor@</a></li>
  41. <li><a href="#knownissues">Known Issues and Limitations</a></li>
  42. <li><a href="#vaadin">Vaadin Installation</a></li>
  43. <li><a href="#package">Package Contents</a></li>
  44. <li><a href="#migrating">Migrating from Vaadin 7.7</a></li>
  45. <li><a href="#dependencies">Vaadin @version@
  46. dependencies</a></li>
  47. <li><a href="#supportedversions">Supported
  48. Technologies</a></li>
  49. <li><a href="#vaadinontheweb">Vaadin on the Web</a></li>
  50. </ul>
  51. <h2 id="overview">Overview of Vaadin @version@ Release</h2>
  52. <p>
  53. Vaadin @version@ is a
  54. <!-- feature release that includes -->
  55. pre-release for evaluating
  56. a number of new features and bug fixes, as listed in the <a
  57. href="#enhancements">list of enhancements</a> and <a
  58. href="#changelog">change log</a> below.
  59. </p>
  60. <!-- ================================================================ -->
  61. <h3 id="changelog">Change Log for Vaadin @version@</h3>
  62. <!-- @release-notes-changelog@ -->
  63. <p>
  64. You can find the full list of all changes <a
  65. href="https://github.com/vaadin/framework/releases/tag/@version@">in
  66. GitHub</a>.
  67. </p>
  68. <h2 id="enhancements">Enhancements in Vaadin @version-minor@</h2>
  69. <p>Vaadin @version-minor@ includes many major and minor
  70. enhancements. Below is a list of the most notable changes:</p>
  71. <ul>
  72. <li>New, simpler data binding API</li>
  73. <li>Vaadin is now based on Java 8</li>
  74. <li>Vaadin is using GWT 2.8, allowing client side code to use Java 8</li>
  75. <li>Other Vaadin dependencies including Atmosphere have been upgraded</li>
  76. </ul>
  77. <p>
  78. The new data binding API replaces the old <tt>Container</tt>, <tt>Item</tt>, <tt>Property</tt>, <tt>FieldGroup</tt>,
  79. <tt>Validator</tt>, <tt>Converter</tt> and related classes with new mechanisms.
  80. Also components using those are replaced with updated implementations using the
  81. new API, and the old data binding API and components have been moved to separate
  82. compatibility packages for ease of migration.
  83. For more details, see the Book of Vaadin and <a href="#migrating">how to migrate
  84. to Vaadin 8</a>.
  85. </p>
  86. <p>
  87. For enhancements introduced in Vaadin 7.7, see the <a
  88. href="http://vaadin.com/download/release/7.7/7.7.0/release-notes.html">Release
  89. Notes for Vaadin 7.7.0</a>.
  90. </p>
  91. <h3 id="incompatible">Incompatible or Behavior-altering Changes in @version-minor@</h3>
  92. <ul>
  93. <li>Vaadin now requires Java 8 or later and Servlet 3.0 or later</li>
  94. <li>Support for older browsers (including Microsoft IE 8-10) and Windows Phone has been dropped</li>
  95. <li>A new data binding API replaces the old API (including Container, Item, Property, FieldGroup, Validator, Converter and components using those).</li>
  96. <li>The default width of Label is now undefined, matching other components</li>
  97. <li>Immediate mode is the default for all components except Upload</li>
  98. <li>Some deprecated/obsolete parts of API (including the Form component) have been removed</li>
  99. <li>Most addListener/removeListener methods have been removed - use the Java 8 friendly addClickListener(), addValueChangeListener() etc. instead</li>
  100. <li>Many new listeners are unregistered using a Registration object returned by addXyzListener() rather than with a separate removeXyzListener()</li>
  101. <li>Old input prompts have been replaced with placeholders utilizing the related browser functionality</li>
  102. <li>The old liferay theme (Liferay 6.0 look) has been removed</li>
  103. <li>Components in the compatibility packages now use the prefix "vaadin7-" in declarative design files</li>
  104. <li>RichTextArea no longer receives a special "v-richtextarea-readonly" class when readonly, only the standard "v-readonly" class</li>
  105. </ul>
  106. <h3 id="knownissues">Known Issues and Limitations</h3>
  107. <ul>
  108. <li>Context click events are not generated on iOS devices
  109. (<a href="http://dev.vaadin.com/ticket/19367">#19367</a>)</li>
  110. <li>Drag'n'drop in a Table doesn't work on touch devices running
  111. Internet Explorer (Windows Phone, Surface)
  112. (<a href="http://dev.vaadin.com/ticket/13737">#13737</a>)
  113. </li>
  114. <li><p>It is currently not possible to specify <tt>font-size</tt>
  115. as <tt>em</tt> or <tt>%</tt>, or layout component sizes
  116. with <tt>em</tt> (<a
  117. href="http://dev.vaadin.com/ticket/10634">#10634</a>).</p><p>This
  118. does not apply to Valo, but using em sizes to size layouts is discouraged,
  119. because it results in fractional component sizes in many cases, which
  120. might cause unwanted 1px gaps between components.</p>
  121. </li>
  122. <li>Up-to-date information about configuration needed for push and compatibility issues are available in
  123. <a href="https://vaadin.com/wiki/-/wiki/Main/Configuring+push+for+your+environment">this wiki page.</a>
  124. <br />
  125. The most prominent limitations are:
  126. <ul>
  127. <li>Push is currently not supported in portals (See <a
  128. href="http://dev.vaadin.com/ticket/11493">#11493</a>)
  129. </li>
  130. <li>>Transport mode WEBSOCKET does not support invalidating the session on Tomcat 7,
  131. nor setting cookies for the session. The new transport mode WEBSOCKET_XHR can be
  132. used to bypass these limitations.
  133. <br />
  134. See tickets <a href="https://dev.vaadin.com/ticket/11808">#11808</a> and
  135. <a href="https://dev.vaadin.com/ticket/11721">#11721</a>
  136. </li>
  137. </ul>
  138. </li>
  139. <li>Google App Engine has some limitations. Please consult Vaadin Wiki:
  140. <a href="https://vaadin.com/wiki/-/wiki/Main/Vaadin+support+for+Google+App+Engine">Vaadin support for Google App Engine</a>
  141. </li>
  142. <li>Grid does not support adding components to cells. Instead light-weight Renderers can be
  143. used to present and edit data.</li>
  144. </ul>
  145. <h2 id="vaadin">Vaadin Installation</h2>
  146. <p>
  147. <b>Vaadin</b> is a Java framework for building modern web
  148. applications that look great, perform well and make you and
  149. your users happy. <b>Vaadin</b> is available under the
  150. Apache License, Version 2.0 (see the
  151. <tt>license.html</tt>
  152. in the Vaadin ZIP package).
  153. </p>
  154. <p>
  155. The easiest ways to install <b>Vaadin</b> are:
  156. </p>
  157. <ul>
  158. <li><strong>Maven dependency.</strong>If using Maven, define it as a dependency or use
  159. any of the available archetypes to create a new project. More information at
  160. <a href="https://vaadin.com/maven">https://vaadin.com/maven</a>
  161. </li>
  162. <li><strong>IDE Plugins.</strong>If using Eclipse, use the
  163. <a href="http://vaadin.com/eclipse">Vaadin Plugin for Eclipse</a>, which automatically
  164. downloads the Vaadin libraries. For NetBeans 8.0 and 7.4, use the
  165. <a href="http://plugins.netbeans.org/plugin/50531/vaadin-plug-in-for-netbeans">official Vaadin plugin</a>
  166. that provides Maven based wizards and code completion support for Vaadin development.
  167. </li>
  168. </ul>
  169. <p>
  170. Vaadin Framework is also available as a ZIP package downloadable from <a
  171. href="http://vaadin.com/download">Vaadin Download
  172. page</a>.
  173. </p>
  174. <h3 id="package">Package Contents</h3>
  175. <p>Inside the ZIP installation package you will find:</p>
  176. <ul>
  177. <li>Separate server-side (<tt>vaadin-server</tt>) and
  178. client-side (<tt>vaadin-client</tt>, <tt>vaadin-client-compiler</tt>)
  179. development libraries
  180. </li>
  181. <li>Precompiled widget set (<tt>vaadin-client-compiled</tt>)
  182. for server-side development
  183. </li>
  184. <li>Shared library (<tt>vaadin-shared</tt>) for both
  185. server- and client-side libraries
  186. </li>
  187. <li>Built-in themes (<tt>vaadin-themes</tt>)
  188. </li>
  189. <li>Dependency libraries provided under the <tt>lib/</tt>
  190. folder
  191. </li>
  192. <li>Vaadin 7 compatible classes for server-side (<tt>vaadin-compatibility-server</tt>,
  193. <tt>vaadin-compatibility-shared</tt>) and client-side (<tt>vaadin-compatibility-client</tt>)
  194. </li>
  195. </ul>
  196. <p>
  197. See the
  198. <tt>README.TXT</tt>
  199. in the installation package for detailed information about
  200. the package contents.
  201. </p>
  202. <p>
  203. For server-side development, copy the
  204. <tt>vaadin-server</tt>
  205. ,
  206. <tt>vaadin-client-compiled</tt>
  207. ,
  208. <tt>vaadin-shared</tt>
  209. , and
  210. <tt>vaadin-themes</tt>
  211. from the main folder and the dependencies from the
  212. <tt>lib</tt>
  213. folder to the
  214. <tt>WEB-INF/lib</tt>
  215. folder of your Vaadin project. (The
  216. <tt>vaadin-client-compiled</tt>
  217. is necessary if you do not wish to compile the widget set by
  218. your own, which you need to do if you use almost any add-on
  219. components.)
  220. </p>
  221. <h2 id="migrating">Migrating from Vaadin 7.7</h2>
  222. <p>
  223. Most Vaadin 7 applications need some changes when migrating
  224. to Vaadin 8. In addition to updating dependencies, all references to
  225. Vaadin 7 style data binding and components using it need to be
  226. updated either to use new Vaadin 8 style data binding or to use the
  227. compatibility versions in separate packages.
  228. </p>
  229. <p>
  230. Vaadin 7 compatible versions of the old data binding API and
  231. components (with the exception of Form) are available in the package
  232. com.vaadin.v7 in modules vaadin-compatibility-server,
  233. vaadin-compatibility-shared etc. that can be used instead of
  234. vaadin-server, vaadin-shared etc. The package
  235. vaadin-compatibility-client-compiled contains the widgetset
  236. <tt>com.vaadin.v7.Vaadin7WidgetSet</tt> which can be used instead of
  237. DefaultWidgetSet.
  238. </p>
  239. <p>
  240. There is a <a href="https://github.com/vaadin/framework8-migration-tool/">
  241. migration tool</a> which helps with some of the migration steps.
  242. </p>
  243. <p>
  244. Some Vaadin 7 add-ons do not work in Vaadin 8 - please check the add-ons in <a
  245. href="http://vaadin.com/directory/">Vaadin Directory</a>
  246. for Vaadin 8 support.
  247. </p>
  248. <h3 id="upgrading">Common Upgrade Steps</h3>
  249. <p>Always when upgrading from an earlier Vaadin version, you
  250. must:</p>
  251. <ul>
  252. <li>Recompile your classes using the new Vaadin
  253. version. Binary compatibility is only guaranteed for
  254. maintenance releases of Vaadin.</li>
  255. <li>Unless using the precompiled widget set, recompile
  256. your widget set using the new Vaadin version.</li>
  257. </ul>
  258. <p>Remember also to refresh the project in your IDE to
  259. ensure that the new version of everything is in use.</p>
  260. <p>
  261. By using the "
  262. <tt>?debug</tt>
  263. " URL parameter, you can verify that the version of the
  264. servlet, the theme, and the widget set all match.
  265. </p>
  266. <p>
  267. <b>Eclipse</b> users should always check if there is a new
  268. version of the Eclipse Plug-in available.
  269. </p>
  270. <p>
  271. <b>Maven</b> users should update the Vaadin dependency
  272. version in the
  273. <tt>pom.xml</tt>
  274. .
  275. </p>
  276. <h2 id="dependencies">Vaadin @version@ Dependencies</h2>
  277. <p>When using Maven, Ivy, Gradle, or other dependency
  278. management system, all Vaadin dependencies are downloaded
  279. automatically. This is also the case when using the Vaadin
  280. Plugin for Eclipse.</p>
  281. <p>
  282. The Vaadin ZIP installation package includes the
  283. dependencies in the
  284. <tt>lib</tt>
  285. subfolder. These need to be copied to the
  286. <tt>WEB-INF/lib</tt>
  287. folder of the web application that uses Vaadin.
  288. </p>
  289. <p>
  290. The dependencies are listed in the <a href="license.html">Licensing
  291. description</a>. Some are explicit dependencies packaged and
  292. distributed as separate JARs, while some are included inside
  293. other libraries.
  294. </p>
  295. <h3>Bean Validation</h3>
  296. <p>
  297. If you use the bean validation feature, you need
  298. a Bean Validation API implementation. You need to install
  299. the implementation JAR in the
  300. <tt>WEB-INF/lib</tt>
  301. directory of the web application that uses validation.
  302. </p>
  303. <h2 id="supportedversions">Supported Technologies</h2>
  304. <p>
  305. Vaadin 8 is compatible with <b>Java 8</b> and newer. Vaadin
  306. 8 is especially supported on the following <b>operating
  307. systems</b>:
  308. </p>
  309. <ul>
  310. <li>Windows</li>
  311. <li>Linux</li>
  312. <li>Mac OS X</li>
  313. </ul>
  314. <p>
  315. Vaadin 8 requires <b>Java Servlet API 3.0</b> but also
  316. supports later versions and should work with any Java
  317. application server that conforms to the standard. The
  318. following <b>application servers</b> are supported:
  319. </p>
  320. <ul>
  321. <li>Apache Tomcat 7-8</li>
  322. <li>Apache TomEE 1.7 and 7.0</li>
  323. <li>Oracle WebLogic Server 12.2</li>
  324. <li>IBM WebSphere Application Server 9</li>
  325. <li>JBoss EAP 6</li>
  326. <li>Wildfly 8-10</li>
  327. <li>Jetty 8-9</li>
  328. <li>Glassfish 4</li>
  329. </ul>
  330. <p>
  331. Vaadin 8 supports the JSR-286 Portlet specification and all
  332. portals that implement the specification should work provided
  333. they support Java 8 and Servlet 3.0. The following <b>portals</b>
  334. are supported:
  335. </p>
  336. <ul>
  337. <li>Liferay Portal 6.2</li>
  338. </ul>
  339. <p>
  340. Vaadin also supports <b>Google App Engine</b>.
  341. </p>
  342. <p>
  343. Vaadin @version@ supports the following <b>desktop browsers</b>:
  344. </p>
  345. <ul>
  346. <li>Mozilla Firefox (latest version, currently 48)</li>
  347. <li>Mozilla Firefox ESR (latest version, currently 45 ESR)</li>
  348. <li>Internet Explorer 11, Edge (latest version)</li>
  349. <li>Safari 9+</li>
  350. <li>Google Chrome (latest version, currently 52)</li>
  351. </ul>
  352. <p>
  353. Additionally, Vaadin supports the built-in browsers in the
  354. following <b>mobile operating systems</b>:
  355. </p>
  356. <ul>
  357. <li>iOS 9+</li>
  358. <li>Android 4+</li>
  359. </ul>
  360. <p>Vaadin SQL Container supports the following databases:</p>
  361. <ul>
  362. <li>HSQLDB</li>
  363. <li>MySQL</li>
  364. <li>MSSQL</li>
  365. <li>Oracle</li>
  366. <li>PostgreSQL</li>
  367. </ul>
  368. <h2 id="vaadinontheweb">Vaadin on the Web</h2>
  369. <ul>
  370. <li><a href="http://vaadin.com">vaadin.com - The
  371. developer portal containing everything you need to
  372. know about Vaadin</a></li>
  373. <li><a href="http://vaadin.com/demo">vaadin.com/demo
  374. - A collection of demos for Vaadin</a></li>
  375. <li><a href="http://vaadin.com/learn">vaadin.com/learn
  376. - Getting started with Vaadin</a></li>
  377. <li><a href="http://vaadin.com/forum">vaadin.com/forum
  378. - Forums for Vaadin related discussions</a></li>
  379. <li><a href="http://vaadin.com/book">vaadin.com/book
  380. - Book of Vaadin - everything you need to know about
  381. Vaadin</a></li>
  382. <li><a href="http://vaadin.com/api">vaadin.com/api
  383. - Online javadocs</a></li>
  384. <li><a href="http://vaadin.com/directory">vaadin.com/directory
  385. - Add-ons for Vaadin</a></li>
  386. <li><a href="http://vaadin.com/pro-tools">vaadin.com/pro-tools
  387. - Commercial tools for Vaadin development</a></li>
  388. <li><a href="http://vaadin.com/support">vaadin.com/support
  389. - Commercial support for Vaadin development </a></li>
  390. <li><a href="http://vaadin.com/services">vaadin.com/services
  391. - Expert services for Vaadin</a></li>
  392. <li><a href="http://vaadin.com/company">vaadin.com/company
  393. - Information about the company behind Vaadin</a></li>
  394. <li><a href="http://dev.vaadin.com">dev.vaadin.com
  395. - Bug tracker</a></li>
  396. <li><a
  397. href="https://vaadin.com/contribute">How to get the source
  398. code of Vaadin</a></li>
  399. </ul>
  400. </div>
  401. <!-- /content-->
  402. <div id="footer">
  403. <span class="slogan"><strong>vaadin <em>}></em>
  404. </strong> thinking of U and I<span> <a href="#top">&uarr; Back
  405. to top</a>
  406. </div>
  407. <!-- /footer -->
  408. </body>
  409. </html>
  410. <!-- Keep this comment at the end of the file
  411. Local variables:
  412. mode: xml
  413. sgml-omittag:nil
  414. sgml-shorttag:nil
  415. sgml-namecase-general:nil
  416. sgml-general-insert-case:lower
  417. sgml-minimize-attributes:nil
  418. sgml-always-quote-attributes:t
  419. sgml-indent-step:2
  420. sgml-indent-data:t
  421. sgml-parent-document:nil
  422. sgml-exposed-tags:nil
  423. sgml-local-catalogs:("/etc/sgml/catalog" "/usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG")
  424. sgml-local-ecat-files:("ECAT" "~/sgml/ECAT" "/usr/share/sgml/ECAT" "/usr/local/share/sgml/ECAT" "/usr/local/lib/sgml/ECAT")
  425. End:
  426. -->