ZK 9.0.0 release notes

Released on Dec. 10, 2019


ZK Team is proud to announce the launch of ZK 9. ZK 9 upgrades its underlying Java and JQuery versions, supports JDK 8 date/time API, improves performance with CSS3 flex, and provides more than 20 modern components such as Toast, Cascader, Stepbar, Coachmark, and more.

A new ZK less engine is provided greatly shortens the time for building and customizing themes. With the help of embedded API, incorporating ZK app into an external app becomes easier than ever.



What's New

  • New Features
    • ZK-4328 - Change Java compiler source/target to 8
    • ZK-317 - Support CSS3 flex that allows developer to specify the flexibility easier and more flexible
    • ZK-4343 - Separate deprecated data-binding classes in zkplus
    • ZK-4358 - Use newer zkless-engine
    • ZK-3550 - Externalize dsp servlet from zweb to separate dependency
    • ZK-4347 - support jdk8 date/time API Datebox/Calendar/Timebox/Timepicker
    • ZK-3769 - Specify a default time for Datebox
    • ZK-4352 - provide a built-in date format converter that accepts LocalDate
    • ZK-3719 - upgrade jquery version to 1.12.4
    • ZK-3658 - Listbox invalidates the whole widget instead of the items
    • ZK-4365 - Provide a drawer component
    • ZK-4371 - Provide a Toast utility
    • ZK-4372 - Extract Notification functionalities from Clients
    • ZK-4349 - Throw an error indicating incorrect usage when using both vflex and rows
    • ZK-4380 - Provide a Searchbox component
    • ZK-4363 - beautify selectbox with CSS
    • ZK-4373 - Provide a rangeslider component
    • ZK-4374 - Provide a multislider component
    • ZK-4391 - Provide an inputgroup component
    • ZK-4386 - Provide a anchronav component
    • ZK-4379 - Provide a Loadingbar utility
    • ZK-4395 - Provide a pdfviewer component
    • ZK-4334 - provide the localized timezone ID in the onClientInfo event
    • ZK-4375 - Provide a stepbar component
    • ZK-4398 - Provide PortalChildren title and frame design
    • ZK-4377 - Provide a Linelayout Component
    • ZK-4382 - Provide a Coachmark Component
    • ZK-4392 - Provide a cascader component
    • ZK-4390 - Embed zul pages by script tag

  • Bugs fixed
    • ZK-4227 - Combobox is flickering when resizing
    • ZK-4297 - Listbox hover and selected style are the same, makes it hard to be distinguished in mobile
    • ZK-3942 - AJAX commands execute before Initial page response
    • ZK-4299 - drag and drop doesn't work mobile FF on android
    • ZK-4180 - Remove IE < 9 workarounds
    • ZK-4376 - ZK evaluates an expression of ternary operator "?:" with @MatchMedia
    • ZK-4327 - Barcodescanner doesn't close camera API or JS scanner object when unloading
    • ZK-4400 - A disabled Barcodescanner keeps scanning
    • ZK-4218 - Grid columns onChildAdded removes the scrollbar faker column, cause desync with content
    • ZK-4329 - TreeModel setAllSelected not updating the UI
    • ZK-4340 - background component creation resulting in NPE
    • ZK-4341 - space key handed down to calendar while typing a date
    • ZK-4344 - Nested tabbox doesn't select the expected tab under client render-on-demand
    • ZK-4318 - simultaneous fileupload media lost
    • ZK-4401 - nodom JS errors and wrong insertion points

  • Upgrade Notes
    • The Java binary-compatible level is Java 8 since ZK 9.
    • ZK Databinding 1 is moved to a legacy module "zkplus-legacy".
    • ZK DSP Library is moved to a new module "zweb-dsp".
    • SimpleLocalTimeConstraint is used by default instead of SimpleConstraint in Timebox and Timepicker.
    • It is advised to use Notification.show instead of Clients.showNotification, as the former follows single responsibility principle.