summaryrefslogtreecommitdiffstats
path: root/WebContent/release-notes.html
blob: 2af533937493cfa61a31813f95e0941600e10171 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
<!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 6</title>
<link rel="stylesheet" type="text/css" href="demo/css/styles.css" />
<!--[if IE]>
		<link rel="stylesheet" type="text/css" href="demo/css/ie.css" />
		<![endif]-->
</head>
<body>

		<div id="header">
			<h1>Vaadin &ndash; thinking of U and I</h1>
			<div id="version">
				<a href="javascript:history.go(-1);" title="Back to index page">Back</a>
			</div>
		</div> <!-- /header -->

<div id="content">

<p>Version @version@ built on @builddate@.</p>

<h2>Release Notes for Vaadin @version@</h2>

<p>Vaadin @version@ is the first maintenance release for Vaadin 6. In addition to many bug
fixes, the most significant additions are:</p>

<ul>
  <li>Major improvement in Liferay portal integration support (<a href="http://dev.itmill.com/ticket/3113">#3113</a>).<br/>Note that:</li>
  <ul>
    <li>Regarding widget sets:</li>
    <ul>
      <li>Only one widget set is allowed for a portal. If different portlets would normally use different widget sets, you need to use inheritance or composition to combine the widget sets to a single widget set.</li>
      <li>You need to specify the widget set in the portal properties.</li>
      <li>The widget set needs to be loaded from <tt>/VAADIN/widgetsets/</tt> path.</li>
    </ul>
    <li>Regarding themes:</li>
    <ul>
      <li>The base theme (usually "<tt>reindeer</tt>" or "<tt>runo</tt>") is defined in portal properties and is loaded automatically by the portal, not by individual portlets.</li>
      <li>The base theme must have path <tt>/VAADIN/themes/<i>reindeer</i></tt>.</li>
      <li>No <tt>@import</tt> statement should be used in an application theme, unlike in normal Vaadin applications, as the base theme is loaded implicitly.</li>
    </ul>
  </ul>
</ul>

<p>Some other notable changes:</p>

<ul>
  <li>Print a warning to standard output if cross-side scripting prevention is turned off (<a href="http://dev.itmill.com/ticket/3060">#3060</a>)</li>
  <li>An integration hook in JavaScript API that makes a call after each XHR (<a href="http://dev.itmill.com/ticket/3083">#3083</a>)</li>
</ul>

<p>See the <a href="#changelog">Change Log</a> below for a more detailed list of closed issues in this release.</p>

<h2>Instructions for Upgrading from IT Mill Toolkit 5</h2>

<p>While the Vaadin 6 API is otherwise mostly backward-compatible with IT Mill Toolkit 5.4, the
change of the product name has made it necessary to reflect it in the Java package names,
some name prefixes, and some other details.</p>

<h3>Server-side Upgrade Instructions</h3>

<ul>
  <li>Java Package names have changed:</li>
  <ul>
    <li>In all Java files using IT Mill Toolkit, rename package prefix <tt>com.itmill.toolkit</tt> &#x2192; <tt>com.vaadin</tt></li>
    <li>You also need to update the <tt>web.xml</tt> deployment descriptor:</li>
    <ul>
      <li>The servlet class is now <b>com.vaadin.terminal.gwt.server.ApplicationServlet</b>.</li>
    </ul>
  </ul>

  <li>Changes in themes:
  <ul>
    <li>Rename <tt>WebContent/ITMILL</tt> &#x2192; <tt>WebContent/VAADIN</tt></li>
    <ul>
      <li>If you have extracted the built-in themes and widgetsets in IT Mill Toolkit JAR to the folder to have them served statically by the server, remove the old content and re-extract from Vaadin JAR.</li>
      <li>This may require changes to build scripts for custom widgetsets, as well as to any code that relies on the old naming (it is discouraged but possible).</li>
    </ul>
    <li>The new "<tt>reindeer</tt>" theme is the default theme in Vaadin; the old
    "<tt>default</tt>" theme in IT Mill Toolkit 5 has been renamed as "<tt>runo</tt>"</li>
    <ul>
      <li>There is no longer a theme with name "<tt>default</tt>"</li>
      <li>In your custom theme, replace:
         <table><tr><td></td><td><tt>@import "../default/styles.css";</tt></td></tr>
         <tr><td align="right">&#x2192;</td><td><tt>@import "../reindeer/styles.css";</tt></td><td>if you wish to use the new default theme,</td></tr>
         <tr><td align="right">or &#x2192;</td><td><tt>@import "../runo/styles.css";</tt></td><td>if you wish to use the old default theme.</td></tr></table></li>
      <li>Use the new default theme with <tt>setTheme("reindeer")</tt> and the old one with <tt>setTheme("runo")</tt>.</li>
    </ul>
    <li>CSS class names now start with "<tt>v-</tt>" prefix instead of "<tt>i-</tt>"</li>
    <ul>
      <li>Search and replace "<tt>.i-</tt>" &#x2192; "<tt>.v-</tt>" in custom themes </li>
    </ul>
  </ul>

  <li>Embedding Vaadin applications in web pages:</li>
  <ul>
    <li>The name of the JavaScript variable used for launching applications has changed from "<tt>itmill.toolkitConfigurations</tt>" &#x2192; "<tt>vaadin.vaadinConfigurations</tt>"</li>
  </ul>

</ul>

<h3>Client-side Upgrade Instructions</h3>

<p>The following changes are relevant only if you have developed or integrated custom
client-side widgets with Google Web Toolkit (GWT).</p>

<ul>
  <li>GWT 1.6 is required for compiling custom widgets (optional)</li>
  <ul>
    <li>You need to upgrade GWT</li>
    <li>The GWT Compiler class name has changed:</li>
    <ul>
      <li>Replace <tt>com.google.gwt.dev.GWTCompiler</tt> &#x2192; <tt>com.google.gwt.dev.Compiler</tt> in your widget set build script (Ant) or launch configuration (Eclipse).</li>
      <li>Replace the output directory argument for the compiler with the new WAR output argument: <tt>-out</tt> &#x2192; <tt>-war</tt>. The directory parameter for the argument remains unchanged.</li>
    </ul>
    <li><i>Possible problems when building widgetset using Windows and JDK 1.5</i>. See <a href="#known-problems">Known Problems</a> #2891 below.</li>
  </ul>

  <li>The "<b>I</b>" (IT Mill) prefix in client-side widget classes has been changed to "<b>V</b>" (Vaadin), for example: <b>IButton</b> &#x2192; <b>VButton</b>.</li>
  <li>Rename <b>IToolkitOverlay</b> &#x2192; <b>VOverlay</b>
</ul>

<h2>Package for the experimental GWT Out-of-Process Hosted Mode</h2>

<p>We provide a separate (platform independent) installation package
(<tt>vaadin-oophm-<version></version>.tar.gz</tt>) for the
experimental Out of Process Hosted Mode (OOPHM) of GWT, which allows
debugging client-side code in GWT Hosted Mode with a regular web
browser. Using the OOPHM requires installing a browser plugin (available
for Mozilla Firefox, IE, and WebKit). See the manual section on OOPHM
for more details.</p>

<p>The Linux version of GWT Hosted Mode Browser is no longer compatible with Vaadin (<a
href="http://dev.itmill.com/ticket/2299">#2299</a>), so the OOPHM is the only option for
debugging in hosted mode in Linux.</p>

<p>The compilation of OOPHM widget sets uses a large amount of stack memory, so if the
JVM default is too small, you should set it explicitly in <tt>compile-widgetset.xml</tt>
with the following parameter for the Java process (currently included in the example build
script): <tt>&lt;jvmarg value="-Xss1024k"/&gt;</tt>.</p>

<p>As the OOPHM package is experimental, you should use it only for
debugging purposes during development. For production use, you should
compile your custom widget sets with the regular Vaadin package
for your platform.</p>

<h2><a name="known-problems">Important known problems in Vaadin @version@</a></h2>

<ul>
	<li><p><a href="http://dev.itmill.com/ticket/1155">#1155</a>:
	Uncompressing the installation package fails in Windows if using the
	default Zip uncompression. Uncompression gives (in Windows Vista) an
	error message about too long filenames, and a more obscure message in
	other versions of Windows. Workaround: use <a
		href="http://www.7-zip.org/">7-Zip</a> or some other good unzip
	program for Windows.</p></li>

	<li><p><a href="http://dev.itmill.com/ticket/2299">#2299</a>: The
	Hosted Mode Browser does not work in Linux for debugging client-side
	GWT code. You need to install the experimental OOPHM package instead
	(see above) for development. For production, you should use the regular
	package for Linux.</p></li>

    <li>
      <p><a href="http://dev.itmill.com/ticket/2523">#2523</a>: GWT Compiler 1.6 uses more
      stack space than 1.5 and can result in stack overflow errors. You can prevent the
      problem by giving the Java process more stack space with the <tt>-Xss</tt>
      parameter, such as: <tt>-Xss1024k</tt>. You can give the parameter in your widgetset
      build script with a <tt>&lt;jvmarg value="-Xss1024k"/&gt;</tt> parameter for the
      <tt>&lt;java&gt;</tt> task.</p></li>

    <ul>
      <li>
        <p><a href="http://dev.itmill.com/ticket/2891">#2891</a>: As there is a bug in
        J2SE 5.0 that prevents setting the stack size for the main thread, widgetsets
        cannot be compiled using the standard GWT compiler of GWT 1.6 and JDK 1.5.0 (see
        #2656 for more details on the JDK bug). This bug primarily affects Windows users
        as other operating systems have a larger default stack size.</p>

        <p>Before that fix is available in a published GWT version, we provide a wrapper
        for the GWT compiler that runs the compiler in a separate thread, thus using the
        user-specified stack size settings also on JDK 1.5.0. Use
        <tt>com.itmill.toolkit.launcher.WidgetsetCompiler</tt> instead of
        <tt>com.google.gwt.dev.Compiler</tt>. You need the wrapper if you use a build
        script to compile custom widget sets; the Eclipse plugin uses the wrapper
        automatically. You can also avoid the problem by using JDK 1.6.</p>
      </li>
    </ul>
</ul>

<p>For other known problems, see open tickets at developer site <a
	href="http://dev.itmill.com/">dev.itmill.com</a>.</p>

<h2><a name="changelog">Change Log</a></h2>

<ul>
  <li><a href="http://dev.itmill.com/ticket/1623">#1623</a>: Table: Client side should dynamically adjust pagelength variable</li>
  <li><a href="http://dev.itmill.com/ticket/2941">#2941</a>: Panel/Window does not remove all Action Handlers on client-side</li>
  <li><a href="http://dev.itmill.com/ticket/3015">#3015</a>: Class Object instances should not be used as identifiers, are not serializable</li>
  <li><a href="http://dev.itmill.com/ticket/3038">#3038</a>: demo main page broken if scrollbars in use (FF, SA)</li>
  <li><a href="http://dev.itmill.com/ticket/3039">#3039</a>: Scrollbar jumps to top in Safari</li>
  <li><a href="http://dev.itmill.com/ticket/3051">#3051</a>: MethodProperty serialization broken when setter or getter is null</li>
  <li><a href="http://dev.itmill.com/ticket/3052">#3052</a>: Link style button icons are always 16px wide in reindeer theme</li>
  <li><a href="http://dev.itmill.com/ticket/3059">#3059</a>: Window's setStyleName, removeStyleName does not remove old styles on the client side.</li>
  <li><a href="http://dev.itmill.com/ticket/3060">#3060</a>: Warn if cross site scripting prevention is turned off</li>
  <li><a href="http://dev.itmill.com/ticket/3061">#3061</a>: Security key should not use invalid http header</li>
  <li><a href="http://dev.itmill.com/ticket/3071">#3071</a>: IE6: Undefined/auto subwindow width is broken</li>
  <li><a href="http://dev.itmill.com/ticket/3073">#3073</a>: IE7: Error when rendering a Tab without a caption</li>
  <li><a href="http://dev.itmill.com/ticket/3074">#3074</a>: "100% wide accordion is too wide using ""reindeer"""</li>
  <li><a href="http://dev.itmill.com/ticket/3078">#3078</a>: "Debug console ""root problems"" has invalid position in IE7"</li>
  <li><a href="http://dev.itmill.com/ticket/3081">#3081</a>: HierarchicalContainer overwrites old items when trying to add a new item</li>
  <li><a href="http://dev.itmill.com/ticket/3083">#3083</a>: JS api where to hook functionality after each XHR</li>
  <li><a href="http://dev.itmill.com/ticket/3092">#3092</a>: BeanItemContainer is not extendable</li>
  <li><a href="http://dev.itmill.com/ticket/3098">#3098</a>: Tree node text wraps to the next line if an icon is present and width is fixed</li>
  <li><a href="http://dev.itmill.com/ticket/3099">#3099</a>: PopupView is shown off screen</li>
  <li><a href="http://dev.itmill.com/ticket/3102">#3102</a>: Upload.ProgressListener not called in some situations</li>
  <li><a href="http://dev.itmill.com/ticket/3105">#3105</a>: "Show ""invalid security key"" instead of ""Session Expired"" for invalid security key"</li>
  <li><a href="http://dev.itmill.com/ticket/3109">#3109</a>: Down sort arrow visually broken in table with strong style (reindeer)</li>
  <li><a href="http://dev.itmill.com/ticket/3115">#3115</a>: A new session should not be created if an application is not</li>
  <li><a href="http://dev.itmill.com/ticket/3119">#3119</a>: Release notes back link should not link to index.html</li>
</ul>

<h2>Requirements</h2>

<p>Vaadin is available for the following operating systems:</p>

<ul>
	<li>Windows (see the Zip installation notice above)</li>

	<li>Linux</li>

	<li>Mac OS X Tiger (mac) or Leopard (leopard)</li>

	<li>Other UNIX operating systems, such as Sun Solaris, using the installation package
	for Linux.</li>
</ul>

<p>Vaadin supports Java Servlet API 2.3 and later versions and should work with
any Java application server that conforms to the standard. It supports the following
application servers:</p>

<ul>
    <li>Apache Tomcat, version 4.1 or later</li>
    <li>BEA WebLogic&reg; Server, version 9.2 or later</li>
    <li>IBM WebSphere&reg; Application Server, version 6.1 or later</li>
    <li>JBoss Application Server, version 3.2.8 or later</li>
    <li>Jetty, version 5 or later</li>
    <li>Glassfish, version 2 or later</li>
</ul>

<p>Vaadin supports the following browsers for using the applications made with
it:</p>

<ul>
	<li>Mozilla Firefox release 3</li>
	<li>Internet Explorer releases 6, 7, and 8</li>
	<li>Safari 3</li>
	<li>Opera 9.6</li>
</ul>

<p>The support for browsers follows the support by GWT. The browsers are supported on both
Windows and Mac, if available. Firefox is supported also on Linux (Opera 10a1 works also
on Linux though also suffers from <a
href="http://dev.itmill.com/ticket/2652">#2652</a>). There may be differences between the
exact versions of the supported browsers that may cause incompatibility with applications
made with Vaadin.</p>

<p>The following browsers are not supported but have been found to
work to a large degree:</p>

<ul>
	<li>Safari 2, and 4 beta</li>
	<li>Firefox 2</li>
    <li>Google Chrome 1.0.x (available only for Windows)</li>
	<li>iPhone (firmware 2.2)</li>
    <li>Midori (0.1.2)</li>
	<li>Epiphany (2.22.3), Galeon, and other Gecko-based browsers. Also WebKit-based Epiphany (2.22.3) works.</li>
    <li>Konqueror 4.2 (3.5.x does not work)</li>
    <li>Nokia Internet Tablet N800 and N810 (ITOS 2008, Opera-based browser).</li>
</ul>

<p>The reported versions are those that have been tested, though other versions may work
as well.</p>

<p>Nokia E-series phones, such as E90, have been known to work with older versions, but
not with Vaadin 6. Links, Lynx, and other text-based browsers do not
work.</p>

</div> <!-- /content-->


<div id="footer">
	<span class="slogan">Vaadin &ndash; thinking of U and I<span>
</div> <!-- /footer -->

</body>
</html>