February 8th, 2012Fixes:
· #5093: Cursor: Inconsistent cursor when dragging/resizing sub windows
· #5094: Cursor: Sub window footer drag
· #5095: Cursor: Accordion shows hand cursor for disabled tab
· #5096: Cursor: TabSheet uses default cursor for scroll buttons
· #5788: Column resize cursor is shown even though Table is disabled
· #5794: Hand cursor shown below header text when Table is disabled
· #5795: Hand cursor shown for column collapse menu button for a disabled Table
· #5982: Component style change doesn't immediately update FormLayout caption style
· #6765: TextArea has a resize handle
· #6902: Table empties field on Layout.replaceComponent
· #6996: Disabled tabs are hard to style efficiently
· #7111: Disabled Tabs still have hand mouse cursor
· #7726: Problem with method getCursorPosition() of TextArea in IE8
· #7986: Making invisible tables visible after refreshing page does not work correctly
· #8045: ReadOnlyException is thrown even if API says something else
· #8083: Date field popup element should receive the additional style names added to the component
· #8085: Popup date field doesn't recalculate its width when the enabled state changes
· #8105: Test classes are included in Vaadin jar
· #8241: Login page forwarding handling in portal environment
· #8268: Force layout button in the debug console does nothing
· #8271: Create integration test for Jetty 8
· #8272: Create integration test for Oracle WebLogic Server 12
· #8284: Double click and Right click malfunctions in Table Header
· #8311: Ensure only unix line feeds are used
· #8315: Support leap years in VCalendarPanel
· #8336: Browser context menu is displaid on table header right click
· #8342: Test using Firefox 10
· #8343: Table column resize should only work with left mouse button
· #8344: Table column sort should only work with left mouse button
· #8345: Window resize should only work with left mouse button
· #8346: Window move should only work with left mouse button
· #8348: Update list of supported browsers
January 14th, 2012· #6638: AbstractValidator.validate should use getErrorMessage
· #6870: Table/TreeTable header not visible on zoom out (FF3,FF4,IE8)
· #6970: "Table causes ""Out of sync"" on IE9, IE8, IE7"
· #7567: Button: setClickShortcut NOT WORKING PROPERLY
· #7976: Erratic scrolling in portlet deployment
· #7978: Buttons in a HorizontalLayout broken with Chameleon theme in IE7
· #8040: Infinite request loop with Table scrolling
· #8090: Evicted old Paintable can lose reference to new paintable with same debugId when replacing components during window handleParameters call
· #8143: Enable using a completely different implementation for VConsole
· #8145: TextChangeListener: textChange(TextChangeEvent) is not triggered when the text is equal to the value of the field.
· #8170: Attach is not called for sub windows when a window is attached to the application
December 16th, 2011· #2639: Combobox clicking causes collapsing in FF3/Mac
· #3915: ChildComponentContainer fails to calculate width of its child widget properly in IE7 if the child has borders
· #4426: PropertyFormatter calls format() with false, when datasource is null
· #4925: com.vaadin.tools.ReflectTools javadoc
· #4977: com.vaadin.ui.Slider javadoc
· #5756: Table getVisibleitemIds() throws NPE
· #5783: Javadoc of Slider should explain resolution
· #6494: Making tables invisible and visible again does not work correctly
· #6603: AbstractBeanContainer.addAll does not ensure resolved itemIds are not null
· #6843: PropertyFormatter fixes
· #6862: Update Application.getWindow Javadoc
· #6937: Add window close listener JavaDoc is vague
· #6978: VFilterSelect should consume key events and should not pass them to action handlers when its suggestion popup is open
· #7008: Table.setTableFieldFactory should refresh content
· #7044: Combobox input prompt not displayed
· #7062: ComboBox shows required indicator when in read only
· #7127: Table's selection breaks if an ItemClickListener calls the table's requestRepaint()
· #7257: Combobox: Keyboard navigating might cause all items to disappear from the list
· #7354: Update all copyright notices in source code to reflect company name change to Vaadin Ltd
· #7396: Update integration tests to use the latest Firefox
· #7506: inconsistency between Chameleon theme and standard Vaadin theme concerning Combobox
· #7630: LoginForm isn't very new anymore (deprecated javadoc)
· #7647: ComboBox popup content disappears on up/down button double click
· #7668: re-adding a component at an index before its current one does nothing
· #7704: Javadoc typo
· #7739: Using keyboard to select a value causes wrong value to be selected if ComboBox contains multiple items with the same caption
· #7785: TreeTable: calling table.setCollapsed(itemId, collapsed) leaves old data in client
· #7789: iOS 4 -5, Android 2 - 3 should be listed as supported
· #7837: TreeTable paintPartial throws ArrayIndexOutOfBounds when using FileSystemContainer
· #7908: TreeTable changing number of items in container resizes table body wrong
· #7916: Programmatically setting a subwindow's height to undefined after inital rendering does not visually update the height
· #7942: It should be possible to use PropertyFormatter (or similar other helpers) in Form
· #7949: ComboBox incorrectly shows paging buttons when filtering
· #7950: ComboBox shows paging button even though there are no matches
· #7965: IE: Textfields in tables lose their focus
· #7972: Setting zero page length disables drag & drop
· #7977: Portlet always loads reindeer theme
· #7978: Buttons in a HorizontalLayout broken with Chameleon theme in IE7
· #7988: TreeTable.setCollapsed(...) does not work
· #7991: Loose hability to edit text field in Table component after a click on an item
· #7996: Select widget in row tables do not work after table scrolling on IE
· #8002: Removed JDBC drivers from repository
· #8009: Move com.vaadin.launcher to tests
· #8016: Treetable is not repainted
· #8035: Extra event on TextField with ActionHandler
· #8039: Create a test for compiling with GWT 2.4
· #8041: TreeTable: Adding items in ExpandListener breaks TreeTable
· #8046: Update tests to use Safari 5.1.2
· #8050: Enable custom parameters to widgetset compiler
· #8056: Mention that Oracle WebLogic Portal 10gR3 is supported
· #8057: Mention that WebSphere Portal 6.1 and 7.0 is supported
· #8067: Visual Editor doesn't work with lastest Vaadin 6.7.2 jar
· #8089: Don't fire TextChangeEvent inside TextChangeEvent
October 18th, 2011· #7788 Field.setProperyDatasource() does not reflect value for 6.7.0
· #7479 Vaadin apps cannot current be deployed on IBM WebSphere v8
· #7724 TextField with PropertyFormatter did not repaint in 6.7.0 (event with requestRepaint() call)
· #7731 Javascript error when adding an item to an empty Table when setColumnWidth is used
· #7776 AbstractField don't respect value change events from property during commit
· #7778 Table rendering problem
· #6588 Repainting in TextChangeListener will send wrong value to client.
· #7720 TreeTable doesn't get refreshed if all entries are removed
· #7738 Slashes or backslahes in ApplicationResources URLs should not be encoded
· #7753 TreeTable gets into a state that causes internal error when getChildren throws an exception.
· #3710 Width is miscalculated for the footer layouts in forms of undefined size
· #7548 TestBench pressSpecialKey (arrows) doesn't work on Tree in IE6
· #7708 DragAndDropWrapper.setDescription("foo") does not work
· #7736 Logging level of SqlContainer is too high
· #7755 Debug window "highlight component" does not work with sub windows
October 4th, 2011Fixes:
· #7692 Cannot load static resources in /VAADIN from JARs on GlassFish and some other servers
· #6698 Scrolling with the mouse is aborted when data is received from the server
July 22nd, 2011General enhancements:
· GWT has been updated to version 2.3
· If using Eclipse, update the Vaadin Plugin for Eclipse to the latest version before upgrading a project to use the new Vaadin version
· If using build scripts to compile widget sets, after upgrading GWT libraries, copy and add also the validation-api-1.0.0.GA.jar and validation-api-1.0.0.GA-sources.jar to the class path
· In Liferay, the latest version of Vaadin Control Panel for Liferay is needed for compiling the portal widget set
· See the General Upgrade Instructions for more information
· An error is shown to the end user when JAR and widgetset version do not match (#5423)
· Support for touch device interfaces: one-finger touch scrolling, drag and drop, Slider, SplitPanel, sub-window handling, notifications, etc.
· Support for Internet Explorer 9
In the server-side API:
· More versatile Container.Filterable API that allows complex filters in containers (#6286)
· Support for specifying nested bean properties with addNestedContainerProperty() (#4995)
· Abstract base class AbstractProperty for simple Property implementations (#6860)
· A getListeners() method to return all listeners in all classes that support listeners (#1410)
· New AbstractContainer for common functionality in containers, especially listeners (#6521)
· New submitUpload() method in the Upload component to start the upload programmatically (#6630)
· BrowserInfo now includes browser time and timezone (#6691)
· New getColumnGenerator() method in Table to get a column generator (#6844)
· New AbstractProperty class for common features in Property implementations (#6860)
· Renamed horizontal/verticalDropLocation() to getHorizontal/VerticalDropLocation() in WrapperTargetDetails (#6823)
· CheckBox now supports null values, displayed as false (#6918)
· The method Button.fireClick(MouseEventDetails) is used by Button instead of Button.fireClick(). Subclasses should override the former and not the latter.
· The 'liferay' theme is included in Vaadin core starting from version 6.6.2. Themes still need to be copied to the shared resource directory in a Liferay installation when upgrading Vaadin.
· MenuBar supports checkable items (on/off) starting from version 6.6.2.
In the client-side API:
· Server communication methods in ApplicationConnection can now be overridden (#6885)
March 1st, 2011· Vaadin 6.5.2 is a maintenance release for Vaadin 6.5. It contains several important fixes.
February 12th, 2011Critical fixes:
· Vaadin 6.5.0 contained a critical bug where the upload component would cause uploads to be corrupted. This has been fixed in 6.5.1 and thus everyone is recommended to update to 6.5.1. (#6361)
Backward Incompatible Changes:
· The following changes can break backward compatibility in applications using an earlier version of Vaadin: Due to the fix for IE8 compatibility mode (#6336) a request parameter has been added to the writeAjaxPageHtmlBodyStart, writeAjaxPageHtmlHeader, writeAjaxPageHtmlHeadStart and writeAjaxPageHtmlMainDiv methods of AbstractApplicationServlet.
January 26th, 2011Enhancements:
· Implemented server-side logging using java.util.logging, allowing you to specify log levels and get rid of unnecessary messages. See #5715 for more info.
· GWT has been updated to version 2.1.1
· Widget set builder has been optimized to only look for paintables in Vaadin add-on jars (containing an add-on manifest). If you are packaging your own widgets into a JAR file, ensure they also contain the Vaadin add-on manifest.
· TwinColSelect supports separate captions for the right and left selects (#2942)
· TextField supports sending of TextChangeEvents as the user types. (#2387)
· Localization of LoginForm. (#5226)
· Tooltip support for MenuBar items. (#5919)
· All component containers support getComponentCount().
· Sub windows now support focus and blur events. (#5039)
· Sub windows now support server side re-ordering. (#5037)
· Fixed a possible cross site scripting (XSS) attack. (#6200))
· BeanItemContainer has been refactored and a more flexible BeanContainer has been added.
Backward Incompatible Changes:
The following changes can break backward compatibility in applications using an earlier version of Vaadin:
· The setColumnCollapsed() method in Table throws IllegalStateException instead of IllegalAccessException if collapsing is not allowed.
· The removeWindow(Window) method in Window now triggers window close listeners also when called explicitly. See #3865 for more info.
· RichTextArea no longer extends TextField as it cannot implement (and never has) a large part of the TextField API.
· The client side window implementation has changed because of #5039 and therefore TestBench scripts may not be 100% compatible. Replaces locators like "VWindow[0]/ScrollPanel[0]..." with "VWindow[0]/FocusableScrollPanel[0]...". An example regular expression for replacement: Search "VWindow\[(\d)\]/ScrollPanel\[0\]" and replace with "VWindow[$1]/FocusableScrollPanel[0]".
· AbstractStringValidator and now converts non-String values using toString() prior to validation (#5785). This also affects most built-in validators such as IntegerValidator.
· TestBench scripts recorded in portals with earlier versions of Vaadin will need to be updated to work with 6.5.0 a "v-" has been prefixed to the ID of the DIV element where the Vaadin application is placed (#5912). The test scripts can be fixed by prepending the "v-" to the id (e.g. vaadin=VaadinLiferayThemePortlet_WAR_demo_LAYOUT_10418 should be changed to vaadin=v-VaadinLiferayThemePortlet_WAR_demo_LAYOUT_10418) or alternatively re-recording the test.
Other Changes:
The following backwards compatible class/method changes have been made:
· SplitPanel has been deprecated in favor of VerticalSplitPanel and HorizontalSplitPanel.
· TextArea has been split from TextField to a separate component. As a result, the setRows() method in TextField has been deprecated.
· PasswordField has been split from TextField to a separate component. As a result, the setSecret() method in TextField has been deprecated.
· The setSwitchMode() method in Button has been deprecated in favor of the separate CheckBox component. Remember to set CheckBox in immediate mode.
· ItemClickSource has been renamed to ItemClickNotifier for consistency with other classes.
· The WidgetSet updater no longer takes other GWT modules than WidgetSets into account when updating the WidgetSet.
Theme changes:
The following changes have to be made to themes created for earlier versions of Vaadin in order for them to work correctly with Vaadin 6.5.0:
· Due to the fixes for tickets #5066 and #2681, the Table component has a slightly changed DOM structure in it's header.
· The sort indicator (arrow icon) has been moved from being the background of the "caption container" DIV, to it's very own DIV. This DIV can be styled by the .v-table-sort-indicator selector. Sort indicator images can thus no longer be placed in the .v-table-caption-container DIV.
· TwinColSelect DOM structure has changed slightly to support captions for the left and right column.
· TwinColSelect now supports .v-select-twincol-caption-left and .v-select-twincol-caption-right for the left and right captions.
New themeing possibilities:
Table:
· All cells in a sorted column now get the .v-table-cell-content-sorted CSS class, allowing styling of the sorted items.
· The alignment of the column captions can now be changed in CSS by styling the .v-table-caption-container-align-[left|center|right] CSS classes. This makes it possible to align all captions left, for instance.
October 11th, 2010· Extra empty space above Liferay portlets
· Panel missing lower border in IE8
· Sub window header has top padding in all browsers but IE6/IE7
· TwinColSelect randomly selects two values instead of one
· ShowSelectedDateAfterInvalid test fails because of month changing
· Sampler subwindows not removed on reset
August 16th, 2010· WebBrowser getScreenHeight() and getScreenWidth() return
· Custom dateformat in DateField uses wrong locale defect John Ahlroos minor
· Moving up/down in a table quickly causes selection to go out of view defect ticketmaster
· Column reordering leaves headers hanging defect
· Table header click is incorrectly fired when reordering columns
· Clicking on the Slider handle does not focus the component defect
· HeaderClick events are fired twice
· Table selection bug
July 8th, 2010Enhancements:
· Enhanced keyboard navigation in Table, Tree, DateField, Slider, and many other components
· In Table and Tree multiselect mode, selecting multiple items now requires pressing Ctrl. Use setMultiSelectMode() with MultiSelectMode.SIMPLE for multiselect without the Ctrl key. (#3520, #4259)
Table enhancements:
· Footer - great for calculating sums, etc. Use setFooterVisible(true) to enable the footer and setColumnFooter() to set the footer text for a specific column. (#1553)
· Header (#4515) and footer (#4516) click listeners
· Column resize events (ColumnResizeEvent), which can be handled with ColumnResizeListener
· Possibility for lazy loading of client-side components (aka GWT code splitting), which speeds up load times; see more details
· HTTP-level tester compatibility (JMeter, etc)
· DateField enhancements: input prompt, tab behavior and invalid date handling
· Indexed access to contained components in ordered layouts (VerticalLayout, HorizontalLayout, and FormLayout) with getComponentIndex() and getComponent(int index) (#4609)
· Programmatic selection of text range in TextField with selectAll() and setSelectionRange(), and cursor positioning with setCursorPosition (#5217)
· Ability to disable items in an OptionGroup with setItemEnabled() (#3720)
· Added getPortletConfig() access method to PortletApplicationContext2. It allows obtaining the portlet configuration, which provides access to resource bundles, portlet init parameters, etc. (#3988)
· There is a new TreeTable component (#955). It is not yet included in the core library, but is available for download from the Vaadin Directory.
· In addition, a significant number of bug fixes and javadoc improvements have been made.
· Quality has been ensured by extensive automated testing: 910/910 tests passed for this release.
June 24th, 2010· Enhanced keyboard navigation in Table, Tree, DateField, Slider, and many other components
· Possibility for lazy loading of client-side components (aka GWT code splitting), which speeds up load times; see more details
· HTTP-level tester compatibility (JMeter, etc)
· DateField enhancements: input prompt and tab behavior
· Indexed access to contained components in ordered layouts (VerticalLayout, HorizontalLayout, and FormLayout) with getComponentIndex() and getComponent(int index) (#4609)
· Programmatic selection of text range in TextField with selectAll() and setSelectionRange(), and cursor positioning with setCursorPosition (#5217)
· Ability to disable items in an OptionGroup with setItemEnabled() (#3720)
May 18th, 2010· Enhance usage of Scrollable interface
· TabSheet being detached then reattached can cause tab content not to be rendered
· TabSheet instance loses cached tabs if detached
· Opera 10.50 fails to calculate pagelength correctly
· JavaScript errors on drag and drop
· Dragging outside the content area causes javascript errors
· Upload component breaks after a file is uploaded if detatch+attach happens
· AbstractApplicationServlet depends on org.xml.sax unneccessarily
· Property.ConversionException loses stacktrace
· Upload might not react to UI changes on start event
April 10th, 2010· #4351: CssLayout does not notify its relative children properly on size changes
· #4373: Menubar causes javascript exception in IE7
· #4440: Table column reordering (again)
· #4460: SplitPanel: add getters for the position (and unit) of the splitter on the server side component
March 17th, 2010· #2625: Allow SplitPanel to keep percentage split size after dragging
· #3089: ComboBox + IE7, using Item Icons, the Icons are initially rendered on the top of the text
· #3322: SplitPanel with split position 100% doesn't resize correctly
· #3407: Sub window higher than the browser window produces extra scrollbars for a relative sized child
· #3935: DateField does not update contents when locale is changed
· #3991: Select with icons shown wrong in IE8 upon first render
· #4004: PopupDateField - Wrong tabIndex for popup button
· #4109: Open MenuBar menu does not disappear if user hits the back button
· #4263: DateField - returning valid Date in handleUnparsableDateString method works only at the first attempt
· #4266: Immediate upload button broken in Opera 10
· #4304: Resetting the value in DateField.handleUnparsableDate does not update the client side text
· #4333: VScrollTable throws NPE on component cleanup
January 12th, 2010· Enhancements for the Portlet 2.0 support (#3918)
· Support for the edit and help modes
· Support for custom modes and changing modes programmatically
· 1211: ISlider: Provide proper feedback (current value) to user when moving handle
· 3522: IE8/reindeer: Error indicator is missing background when inside tabsheet
· 3607: Component Already Has A Parent. This exception should be detailed
· 3617: NullPointerException in IndexedContainer.removeItem()
· 3764: (Safari) Vertical scrolling in Table is broken when horizontal scrolling is used
· 3793: VScrollTable adds horizontal scrollbar on top of rows
· 3799: column autoresizing doesn't seem to work anymore
· 3803: Better description for GridLayout's OverlapsException
· 3814: Table does not render last row in a container when in 100% height
· 3826: Table breaks (white area) when container property value is changed (SA, FF)
· 3832: Include widget class in missing widget warning message
· 3840: setDebugId does not set ID's on hidden fields
· 3864: FileSystemContainer in Table throws NPE
· 3875: Webkit rendering bug causes whitespace between header and first row in table
· 3882: Top of a tooltip (or error in tooltip) is not visible
· 3889: Multiple new samples use main window instead of current window
· 3893: ProgressIndicator sample should synchronize UI updates using the application
· 3901: Checkbox - In IE7 the outline focuses around the caption, rather than around the input component
· 3902: VWindow focus handling broken
· 3904: VSplitPanel sends unnecessary split position events
· 3907: Undefined wide MenuBar will drop items that do not fit in view
· 3908: MenuBar doesn't open sub-submenus with hover in IE7
· 3917: Menubar is not collapsed in IE6
· 3918: PortletListener (2.0) does not support edit mode
· 3920: Glassfish v3 does not work with Vaadin
· 3929: Button border/padding measurement is broken in IE6
· 3933: Sampler CheckBox example does not notify
December 8th, 2009· 2719: Sampler margin demo shows wide right margin without explanation
· 2918: Same application is loaded in different portlet instances
· 3070: Tree's Items should be easily styled
· 3088: ComboBox, If only one item is listed, pressing Enter should choose it, not discard
· 3117: Portlet 2.0 (JSR-286) support
· 3234: Component Event Listener Framework for all widgets/components
· 3277: MenuBar.MenuItem could have setVisible() method
· 3323: Redesign sampler main screen
· 3386: Add JUnit tests for ensuring compatibility with all supported application servers and portals
· 3387: Google AppEngine integration test
· 3433: BeanItemContainer's sort is not overridable
· 3434: IndexedContainer's compare is not overridable
· 3499: PopupView CSS style is broken
· 3541: VerticalLayout//HorizontalLayout/GridLayout/AbsoluteLayout/CSSLayout should support click events
· 3544: Implement support for focus/blur events in TextField
· 3553: Change nightly and develpoment version numbering
· 3605: Patch to avoid concurrent modification exceptions in EventRouter
· 3640: Update build-widgetsets.xml and verify it works
· 3655: ApplicationRunner logs unnecessary java.lang.ClassNotFoundExceptions
· 3683: TextField.setRows() API needs reworking
· 3731: Implement a simpler alternative to ApplicationContext.TransactionListener
· 3740: Tabsheet no longer fully serializable, doesn't work in GAE
· 3754: Add data.util.TextFileProperty
· 3755: Select throws IllegalArgumentException when browsing pages quickly
· 3756: Add support for passing a typed Object[] from client to server
· 3757: Add support for passing a typed map from client to server
· 3759: Cannot scroll to the last tab in a Tabsheet
· 3760: Scrollbars are missing in Safari/Chrome
· 3762: Dependency to javax/portlet/PortletRequest, won't work with GAE
· 3772: Add notifier interfaces for focus and blur events
· 3775: Optimize Tree rendering
· 3776: Server side junit test cases should be run automatically on each build
· 3782: ClassCastException when adding Window via addComponent
· 3783: ClickListener in Panel does not work
· 3784: Panel.setScrollTop does not work with invalid values
· 3785: Style names for MenuBar.MenuItem
· 3786: Add focus and blur events to Select/VFilterSelect and DateField/VTextualDate
· 3788: Typo in setWriteThrough's parameter name
November 23rd, 2009· 2158: Enhance JavaDoc for TransactionListener about belonging to ApplicationContext
· 3184: TransactionListener addition/iteration can cause ConcurrentModificationException
· 3482: MenuItem: Subitem is wrongly marked as selected
· 3525: Cannot re-enable a disabled upload component
· 3560: TextField is cut in IE8
· 3584: Contextmenu does not work in Safari/GoogleChrome
· 3609: Enabling/disabling components in a non-visible layout are not updated client side
· 3639: DateField's popup calendar sometimes rendered out of sight
· 3647: GridLayout with rowspan updates the cell heights incorrectly when width shrinks
· 3662: Generated release note changeset links should point to dev.vaadin.com
· 3681: Extend add-on management view
· 3701: Caption causes occasional clipping in Firefox
· 3702: ApplicationRunnerServlet:getApplicationRunnerURIs occasionally throws NPE
· 3704: LoginForm doesn't submit when pressing enter
· 3705: CustomComponent does not inform child about size change
· 3712: CompositeErrorMessage does not work
· 3714: Startup page flashes scrollbars
· 3724: CssLayout has invalid handling of size childrend change
· 3732: Programmatically closed applications remain in memory
November 6th, 2009· 2865: Problem in auto resizing window
· 2878: Transparent Embedded browser / LoginForm in IE7
· 3043: RichTextArea does not send value change event properly when it resides in PopupView
· 3203: Select with a NullSelectionItemId can be set null (with server side api)
· 3364: receiveUpload() of Upload Component eats up all Exceptions
· 3445: Tooltips contain scrollbars in Safari and Google Chrome (Windows only)
· 3457: Extra scrollbars in Table in Safari/Chrome
· 3488: Layout inside Form collapses when using relative height
· 3489: Sending newlines in a string-array from server to client hangs the client
· 3558: Out of Sync when subwindow is removed after opening a resource
· 3597: LoginForm broken
· 3604: OOPHM custom plugin build description outdated
· 3610: VEmbedded flickers and shows "false" when detaching
· 3611: LoginForm don't work with undefined size
· 3620: Infinite recursion loop in CompositeValidator
· 3621: Redundant null check in BeanItemContainer
· 3622: IndexedContainer.generateId should use Integer.valueOf instead of new Integer
· 3623: DownloadStream is never closed
· 3624: MethodProperty constructor has erroneous stores to a local variable
· 3627: Window.removeParameterHandler erroneously adds the handler when called on a subwindow
· 3628: Button and IndexedContainer create unnecessary Boolean instances
· 3633: ProgressIndicator stops working if removing a component in the same layout
· 3637: DateField doesn't throw Property.ConversionException on first try
October 10th, 2009· #2611: ComboBox in readonly differs from readonly TextField
· #2899: Drop HTML-formatted manual from Vaadin package
· #3027: ComboBox left in wrong state when 'typing' too quickly
· #3359: IE6 - fail to display accordion tab.
· #3377: VButton clicklistener should be overridable
· #3381: A detached UriFragmentUtility still sends events
· #3389: Visual regression in ToolkitTunes
· #3394: Tutorial should not be included in package
· #3396: System notifications are grey in IE6 (Reindeer)
· #3404: ComboBox with FILTERINGMODE_OFF removes null selection when entering text
· #3405: Sampler button icons messed up in IE6
· #3410: RichTextEditor is missing background color (reindeer)
· #3413: Portlet widgetset should be loaded from servlet by default
· #3418: VPopupView should implement Iterable
· #3421: GridLayout fails to resize container when a child caption changes size
· #3422: "VCssLayout should translate ""float"" property to support all browsers"
· #3430: Remove randomness from VaadinTunes
· #3436: Table in multi-select mode throws NPE on selection in GAE
· #3444: Components missing from layout in Opera
· #3449: Adding and removing a IndexedContainer property with null as default value causes NPE
· #3450: isActive should wait until loading indicator has disappeared
· #3456: DateField rendered wrong in readonly mode
· #3458: Extra scrollbars inside SplitPanel when content changes
· #3471: "Notification ""styles"" (i.e. types) should work similarly to other component stylenames"
· #3475: OptionGroup with newItemsAllowed(true) is rendered 0x0
· #3481: 24bit PNG icons don't work in Combobox dropdown menu
· #3487: ComboBox tries to update field value in read-only mode
· #3495: IE renders fixed width buttons incorrectly when using the base-theme
September 25th, 2009· Sorting of a HierarchicalContainer does not work
· Multiple problems with tab scrolling
· ComboBox erroneus input is not always cleared
· Security key is blocked by certain firewalls
· Sample NotificationCustom does not seem to support serialization
· Create a session cleaner for GAE
· IE6 doesn't display cursor when tabbing into a TextField with an input prompt
· Combobox should show tooltip for dropdown button
· NPE when mainwindow is not set
· Sampler uses the same theme for all users
· Make a custom theme for Sampler theme select dropdown
· Subwindows are not added in order
· Form not resizing properly (not getting narrower)
· ComboBox input prompt style is removed when input prompt is active
· Deploying portlets from two separate wars on the same page in Liferay does not work
September 10th, 2009· Google Web Toolkit (GWT) is upgraded to version 1.7. You should recompile custom widget sets using the new version: No more problems with stack memory in Windows when compiling widget sets (#2523, #2891)
· Performance improvements (general, Table caching)
· Google App Engine (GAE) support (#2835): Vaadin is now serializable as per java.io.Serializable (#695)
· Maven support: Vaadin available from central Maven repository (#1862). See the Maven Integration article for more details.
· Major refactoring of the Button component implementation on the client side. See the section below about Button modifications for more info.
· New NativeButton component that always uses the native button in the browser. See the section below about Button modifications for more info.
· Full support for Internet Explorer 8
New CssLayout layout component:
· A fast low-level layout where the contained components are rendered as trivially as possible under a single div element.
· Result can be similar to VerticalLayout or HorizontalLayout, depending on CSS, but is noticeably faster.
· No spacing, alignment or expansion rations, unlike with the more feature rich layouts.
· No abstraction of browser differences; you need to make sure the CSS supports all the browser that you want your application to support.
July 11th, 2009· Major improvement in Liferay portal integration support (#3113).
· Vaadin application will print a warning to standard error if cross-site scripting prevention is turned off (#3060)
· An integration hook in JavaScript API that is called after each XHR (#3083)
June 3rd, 2009· State (caption, hidden, disabled) of a tab in a TabSheet is no longer bound to the contained component, though the initial state is obtained from the component (#2914).
· FieldFactory has been split into FormFieldFactory and TableFieldFactory, both containing a single method (#2956, #2499).
· The Form component previously called two methods in FieldFactory. Now it always calls only one in FormFieldFactory
· Panel and Window can now contain a ComponentContainer (previously only Layout) as the "root layout" (#2921). The setLayout() method is deprecated and the new setContent() method that accepts a ComponentContainer is recommended.
· Vaadin applications are now serializable, which allows compatibility with many clustering and cloud computing solutions.
· The new AbsoluteLayout allows placing components by their coordinates.
· The way how DateField handles unparseable non-empty input in the default implementation of handleUnparsableDateString() method is changed (#2831). It now throws a Property.ConversionException instead of returning null.