ZK 5.0.10 release notes

Released on Jan 03, 2012




ZK 5.0.10 is a maintenance release with 60+ bug fixes, further enhancing the stability of ZK.


Feature Updates

  • 120+ off-the-shelf Ajax components
    • Tabbox, grid, listbox, tree, menu, combobox, bandbox, datebox, chart, hbox, vbox, window, slider, paging, audio, image, timer, include, iframe...
    • Drag-and-drop supported by all components, such that users can drag components and drop them to any other or particular set of components.
    • Context menus and customizable tooltips supported by all components, such that a menu or any popup appears when user click, right-click or move the mouse over a component.
    • Customizable sorting of listbox, grid and children of any component with 100% Java codes (java.lang.Comparator).
    • Auto-completion for combobox.
    • Load on demand with writing Java codes.
    • Live data for listbox.
    • Grids, listboxes and trees with sizable columns.
    • All components are cloneable and serializable.
    • Validation and formatting for any input components, such as regular expression and $#,##0.
    • 100% Java API of Google Maps, CKeditor, and Timeline components.
  • Event-driven, server-centric model
    • Ajax requests, application notification, and server push are all managed as events
    • Event Queue shields developers from the complexity of Ajax and server push, such as multi-thread programming
    • All events are processed at the server. No hurdle to communicate between clients and servers.
    • All events are synchronized. No racing condition to worry about.
  • ZK User-interface Markup Language (ZUML).
    • Rich user interface could be designed in ZUML as simple as authoring HTML pages.
    • Powerful yet intuitive control flow by the if, unless and forEach attribute.
    • Scripting in EL expressions and your favorite scripting languages, include but not limited to Java, JavaScript, Ruby and Groovy.
    • Hot changes and updates without restarting your Web applications.
    • Annotations that allow a page to access database with zero Java codes.
  • Browser history management.
    • Add states to browser's back button history. Then, users can bookmark and use the back and forward button to navigate different states of the same ZK desktop.
  • Simple yet boundless component model.
    • POJO components supporting interfaces and clustering. Easy to instantiate and manipulate directly with pure Java, or injected and managed by an AOP framework, such as Spring
    • Macro components. Develope full-featured new component by using other ZUML pages.
    • Inheritable customization. Developing a new component by extending existent components.
    • Seamlessly and easily to encapsulate pure-client components as ZK components with 100% Java API.
    • Customizing components with pre-compiled Java classes, or by scripting in your favorite scripting languages, include but not limited to Java, JavaScript, Ruby and Groovy. The choice is yours.
  • Simple yet flexible threading model.
    • Thread-safe component handling.
    • True server-side Modal dialog.
    • Suspend and resume event listeners freely.
  • 100% Customizable User-Interface factory.
    • Loading ZUML pages not only from Web contents but also any repository such as database.
    • Customizing the features of sessions, desktops and pages.

What's New

  • Bugs fixed
    • ZK-513: Adding objects to ListModelList causes Firefox to complain slow script
    • ZK-531: Multi-select issue after ROD
    • ZK-518: Selected value in combobox is right aligned in FF5+ if width is smaller than selected option
    • ZK-528: Listcell width failed when some listheader set visible is false in IE7 only
    • ZK-534: Mousedown in textbox drag wrong target
    • ZK-539: Title background not full-filled in groupbox
    • ZK-542: StandardThemeProvider/CacheableThemeProvider cannot load norm.xxx.css.dsp when using different theme
    • ZK-546: When HTTP session is deserialized, it failed to create session-scoped bean in composer
    • ZK-535: Missing border of listheader (classicblue, IE8 only)
    • ZK-543: Height issue of listbox when sizedByContent is true
    • ZK-576: Panel with vflex=1 cannot fit to the height of Portalchildren (reopen B50-3303725.zul)
    • ZK-569: Select Item doesn't work as expected if the listitems containing non visible list items
    • ZK-568: Combobox does not scroll to selected item
    • ZK-592: ROD Listbox cannot select multiple items with shift + click
    • ZK-589: Window in Hlayout the title bar is goen in IE7
    • ZK-591: Datebox constraint combination yyyymmdd and no empty cause javascript error in zksandbox
    • ZK-599: Grid has no vertical scrollbar when height is set by percentage
    • ZK-580: Wrong cursor position in draggable listitem (firefox only)
    • ZK-508: Texts in multi-column trees are not aligned
    • ZK-596: Toolbar in tabbox overlays tabs
    • ZK-564: org.zkoss.zul.DefaultTreeNode$TreeNodeChildrenList is not serializable
    • ZK-606: Put the hbox include a native component into borderlayout, the south area cannot bre open
    • ZK-607: Place a native component in the borderlayout will cause javascript error
    • ZK-547: SelectEvent.getSelectItems() does not return multiple selected TreeItems.
    • ZK-587: ROD in Listbox cannot render 250,000 items (IE8, IE9)
    • ZK-597: Tree not rendering correctly after event
    • ZK-398: IE8 hflex="min" with grid and listbox, the column border is gone (B50-ZK-272.zul)
    • ZK-395: Opera hflex="min" fail with listbox and tree in auxhead
    • ZK-521: Listbox with hflex=1 too small in FF on Linux
    • ZK-601: Grid content got wrong position after scroll to right then scroll back with frozen
    • ZK-577: Rendering Issue using Datebox with displayedTimeZones
    • ZK-610: FieldComparator ignores sort direction for null values
    • ZK-620: The north calculate a wrong size when place borderlayout in the second tab (CE/PE only)
    • ZK-623: Vbox/Hbox vflex/hflex wrong calculation
    • ZK-598: Vflex issue with scrollable listbox
    • ZK-548: Zk brezee dont paint all
    • ZK-559: Render problem with chrome and ZK release 5.0.9
    • ZK-612: The text of the upload button is incorrect in Swedish
    • ZK-630: Doublespinner exception with constraint
    • ZK-629: Problem in Decimalbox when using Spanish locale from browser
    • ZK-637: Cannot set 0 to error-code in the error-reload element
    • ZK-631: Datebox format error message not shown with implements CustomConstraint
    • ZK-641: Borderlayout label width inconsistent between browsers
    • ZK-640: toolbarbutton with no label will display larger width blur box
    • ZK-647: If double quotation mark exists in CSS style, style will not properly set
    • ZK-664: Use a trendy button to submit a form will submit twice (IE only)
    • ZK-660: Dynamically generated accordion tabs cannot be closed
    • ZK-658: onChange was fired in formatted doublebox without change the value
    • ZK-674: Tab lost if add tabpanel first in accordion mold
    • ZK-679: Textbox multi-line start with new-line failed in onCreate event
    • ZK-683: constraint messag not showup after lost focus
    • ZK-685: Listbox with checkmark and droppable enabled, scrolls to top when first time checked
    • ZK-692: The removeDesktop function does not work correctly when closing the browser tab (FF4 or above)
    • ZK-696: Panel with height will reduce 1px height (B50-3166478.zul)
    • ZK-676: toolbartext attribute doesn't escape HTML
    • ZK-699: GroupModel can not running under cluster server
    • ZK-700: vflex miscalculated height on IE9
    • ZK-471: Series in SimpleCategoryModel when assigned to flashchart object aren't displayed - only 1 series is possible
    • ZK-714: listbox data is not loaded when rod is enable
    • ZK-721: Removing TreeNode in TreeModel will cause wrong tree display in ROD
    • ZK-724: Reset ListModel will cause an exception in ROD
    • ZK-727: Datebox constraint failed when set custom error message for before constraint
    • ZK-731: Unclosed BufferedReader for org.zkoss.util.Maps