ZK 3.6.2 release notes

Released on June 23, 2009.

Download Now

Getting Simpler and Richer

New Feature Highlight

  • Improved performance
  • New include modes
  • Support for Google App Engine
  • New Features

Feature Updates

  • 123 XUL and 83 HTML off-the-shelf 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, FCKeditor, DOJO, and Timeline components.
  • Event-driven, server-centric model
    • More than 20 events are supported: onChange, onChanging, onScroll, onSelect, onShow, onZIndex...
    • 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 acess 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.
    • Macro components. Developing a full-feature new component by using another 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

  • New Features:
    • 2787715: Messagebox shall recognize linebreak
    • 2789884: Include supports macro (page-less) mode
    • 2790411: A way to use createComponents in the working thread
    • 2788162: Support the script directive ( )
    • 2790025: supports more readable format than arg0, arg1...
    • 2790391: supports more readable format than arg0...
    • 2790392: supports more readable than arg0, arg1..
    • 2788752: Introduce beforeParentChanged, beforeChildAdded...
    • 2790402: Servlets support utility to return normalized path
    • 2790420: Allow specify binder's name in AnnotateDataBinderInit
    • 2790441: Enhance GenericAutowireComposer to wire vars before onCreate
    • 2787711: Hope paging setTotalSize() won't affect inputing active page
    • 2790669: zk should provide a way to load i18n prop. files by zk.xml
    • 2800849: Support Google App Engine
    • 2803894: GenericComposer supports clustering (Serializable)
    • 2800446: A way to enable or disable the stackup in JS
  • Bug fixes:
    • 2784298: Missing properties in XSD for panel [2]
    • 2784569: Missing src property for menuitem component in XSD
    • 2784736: On demand Menupopup items on IE looks transparent
    • 2787077: Listbox-Paging was broken with fix for #2782751
    • 2787785: Wrong Slovenian locale (Singhalese -> Slovenian)
    • 2787876: a bug of textbox with constraint
    • 2788618: datebox with constraint="no future"
    • 2788875: Https.getOriginPathInfo() & getOriginQueryString() exchange
    • 2789915: Click the button to reset the hoverImage will fail
    • 2789990: listbox behaves odd in IE7
    • 2790393: Forward event listener shall be called immediately
    • 2790417: load-after and save-after shall be the last processed
    • 2791499: SerializableUiFactory causes NPE when Web app stops (Tomcat)
    • 2792105: Highlight effect not revert if dragging listitem to non-droppable area
    • 2794205: IE6 the errorbox moves away
    • 2794303: panel cannot contain a caption and a title
    • 2794714: Bug
    • 2795318: Context menu stops working on modal windows
    • 2796144: Datebox with format="MM/dd/yyyy hh:mm a" loses am/pm
    • 2796335: Borderlayout+Tabbox+Tree will cause Tab disappear
    • 2796461: The height of datebox's popup should count on its content
    • 2796829: Include onCtrlKeys attribute in bandbox XSD
    • 2797773: Copy / Paste on NumberInputElement not working
    • 2799258: Increasing col's width causes a unnecessary scrollbar (IE)
    • 2799334: focus doesn't get back from popup
    • 2800851: BSHInterpreter doesn't serialize variables defined in Window
    • 2800879: Rowcomparator NOT Serializable
    • 2801878: Missing properties in radiogroup and radio components in XSD
    • 2803344: Executions.createComponents cannot handle ~./x?y
    • 2803575: bindingArgs shall merge extra binding arguments together
    • 2806414: onOK with onChanging causes a Javascript error in Textbox
    • 2807475: Focus problem with menupop & textbox in ie
    • 2807870: ctrlKeys missing from XSD of bandbox
    • 2807657: Applet and CodeBase
    • 2806116: Javadoc misleading on TypeConverter interface
    • 2809040: The forward condition doesn't accept multiple values
    • 2809054: Unable to remove the forward condition in forward event