ZK 7.0.7 release notes

PE/EE Released on Dec. 15, 2015


ZK 7.0.7 is a maintenance release mainly focusing on bug fixes.

ZK 7 series focuses on the improved theme system, bringing with it the most powerful, flexible yet simple theme engine to date combining the power of CSS 3, LESS and Bootstrap to create the best possible experience.

It is now much easier to create themes from scratch and/or customize existing themes. Leveraging ZK 7, design and development teams will have a much easier job and spend less time creating applications which look great and perform better than ever.

Please note that this version is released for PE/EE customers & ZOL users.



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

  • New Features
    • ZK-2931: Atlantic theme @import google fonts
  • Bugs fixed
    • ZK-3027: Animate speed problem
    • ZK-2329: NPE at org.zkoss.zk.au.http.AuUploader.service(AuUploader.java:115)
    • ZK-2742: Combobox popup shows at wrong position in IE10
    • ZK-2815: class cast exception when using a Boolean collection for MVVM
    • ZK-2840: Cannot scroll down a Grid with a mobile browser
    • ZK-2841: Unselecting a Navitem form Java does update the UI
    • ZK-2843: MVVM does not support WireVariable rewireOnActivate
    • ZK-2846: browser search issue with listbox using frozen columns
    • ZK-2849: Cannot close the dropdown by clicking combobox button
    • ZK-2852: Sending an unexpected onBlur event when closing an error message on a Textbox within Firefox
    • ZK-2854: Parameters are ignored if include zul page with query string
    • ZK-2857: NullPointerException happened when the include query string contains slash
    • ZK-2858: content type list is not complete in the contentType.properties file
    • ZK-2860: grid row doesn't stripe the grid when .setVisible(false)
    • ZK-2862: Cannot select an item in a listbox when its outer listbox is draggable
    • ZK-2866: auxiliary headers will disapear when using <frozen/>
    • ZK-2875: problems with: forward, serverpush & createComponents
    • ZK-2879: The "rows" attribute of Frozen doesn't work
    • ZK-2891: Hflex/Vflex cause modal windows to be vertically centered
    • ZK-2892: Modal window are not centered if content is resized by hflex
    • ZK-2893: small typo in error message in ConfigParser
    • ZK-2899: Listbox's select mold issue on Firefox
    • ZK-2903: frozen columns remain hidden after resize
    • ZK-2922: Cannot close an error box after multiple error boxes created in firefox
    • ZK-2929: Combobox's dropdown popup can extend its width automatically to eliminate the horizontal scrollbar
    • ZK-2934: A control in a grid row does not count as a focusable control when giving focus to the first element of a modal window
    • ZK-2935: A modal window with no focusable control will give focus to background element on tab focus.
    • ZK-2936: NotSerializableException: org.zkoss.io.RepeatableInputStream$ResetableInputStream
    • ZK-2939: visible="false" listitems in listbox shift index of visible elements
    • ZK-2940: Combobutton is not tab focusable if no tabIndex or tabindex="0"
    • ZK-2941: Combobutton has not keyboard behavior
    • ZK-2946: tree column align ignored
    • ZK-2949: A column becomes invisible permanently after resizing a column
    • ZK-2952: An error box disappears in 2 different ways when clicking different places
    • ZK-2958: Error "Removal causes a larger list?" on Combobox
    • ZK-2960: combobox popup opens below screen bottom
    • ZK-2963: Cannot apply silvertail theme for a mobile browser
    • ZK-2971: listbox scrollposition not updating (keyboard control)
    • ZK-2974: Constraint error box's tooltip is confusing in German
    • ZK-2975: Datebox validate "mars" Incorrectly in French
    • ZK-2977: A combobox popup displays at an unexpected position
    • ZK-2978: Borderlayout doesn't appear a vertical scrollbar when its content overflows
    • ZK-2980: button not focussable after it was autodisabled
    • ZK-2987: Going to the last page causes an empty-like listbox
    • ZK-2988: column with hflex min causes JS error in grid with footer
    • ZK-2990: zk.useStackup: problem with notifications and z-index
    • ZK-2992: Using ZK PE - Grid does not scroll and scrollbar breaks in iPad
    • ZK-2995: NamespaceParser should work with non-ZK namespace
    • ZK-3006: If the separator key needs to press the shift key, it doesn't work as expected
    • ZK-3012: IndexOutOfBoundsException when rendering a grid
    • ZK-3014: Bandpopup content Listbox with hflex="min" get a 1px width if Listbox is updated while popup is not visible