ZK 9.5.0 release notes

Released on Sep. 29, 2020


ZK Team is proud to announce the release of ZK 9.5. ZK 9.5 is a major upgrade focusing on improving Developer Experiences. Features bringing a smoother upgrade, simplified MVVM usage, easier theme & component customization are added to this release.

In addition, a preview version of accessibility support is available making it a lot easier for developers to create WCAG compliant applications.

For more information read ZK 9.5 New Features.



What's New

  • New Features
    • ZK-3628 - support a way to create a customized theme based on built-in themes
    • ZK-4175 - replace XHR with the fetch() API to allow SSO redirect handling
    • ZK-4425 - Allow to drag button when MouseDown on any position in Rangeslider/Multislider
    • ZK-4451 - iOS 13 cause iPad to set "request desktop mode" for all website by default
    • ZK-4497 - searchbox: improve clearing selection, key shortcut / clear icon
    • ZK-4501 - Add SimpleForm back for compatibility
    • ZK-4508 - The value of @BindingParam can be omitted
    • ZK-4523 - Support a Bean creation from @BindingParams
    • ZK-4530 - Provide a "heart beat"/"ping pong" mechanism for websocket connections
    • ZK-4544 - Radio/Checkbox provide a status class name for easier theme customization
    • ZK-4546 - Caching of EL method invocations
    • ZK-4551 - Support ref override for position of Popup/Tooltip/Context
    • ZK-4552 - Simplify MVVM syntax
    • ZK-4560 - Theme customization improvement - avoid patch.less
    • ZK-4562 - Introduce OWASP Dependency-Check
    • ZK-4564 - split zkau servlet into dedicated au and resource servlets
    • ZK-4569 - MVVM support calling commands in other view model
    • ZK-4582 - Simplify BindUtils.postNotifyChange API
    • ZK-4598 - Enhance the accessibility of components by following WCAG 2.0
    • ZK-4618 - replace deprecated jquery functions (bind/unbind -> on/off)
    • ZK-4622 - Remove header border div in listbox/grid/tree
    • ZK-4624 - Clients API support scrollIntoView and focus by using selector string
    • ZK-4630 - Implement a keyboard trap util for components in modal
    • ZK-4648 - Audio supports to add tracks
    • ZK-4649 - Video supports to add tracks
    • ZK-4653 - Provide a collection of constants for Keys and provide isPressed API
    • ZK-4657 - update bom versions

  • Bugs fixed
    • ZK-2094 - Please make slf4j-jdk14 (and any other concrete implementations like log4j, etc) "provided" dependencies in Maven
    • ZK-4394 - atlantic theme - cursor style for sortable/sizable columns
    • ZK-4410 - cannot use array of Class as listbox or grid model
    • ZK-4453 - onError fires again when valid value is entered
    • ZK-4455 - Failed to load the resource: /html/alert.dsp
    • ZK-4476 - Height calculation error when using vFlex = "min" in hlayout and borderlayout
    • ZK-4480 - Remove JUL implementation of SLF4J to avoid leaking into consumer projects
    • ZK-4514 - AuUploader and AuDropUploader exceptions are suppressed, need logging
    • ZK-4515 - ListProxy dirty status not cleaned after save
    • ZK-4518 - Negative percent parsing in decimalbox
    • ZK-4531 - overridden jquery causes prime faces components to work incorrectly
    • ZK-4537 - Chosenbox clear and add selected items cause js error
    • ZK-4538 - InputWidget.select() error with client-rod
    • ZK-4545 - Zk9 osgi jar is not usable
    • ZK-4549 - Adding items then clear() a ListModel linked to a Grid during afterCompose cause IndexOutOfBoundsException
    • ZK-4550 - an inner tab disappears when using nested tabbox with different orients
    • ZK-4555 - remove zkbind-api -> zul dependency
    • ZK-4557 - re-add fix for ZK-3724
    • ZK-4558 - hide resize show listheader remains invisible
    • ZK-4559 - include can't include an HTML file with zhtml
    • ZK-4561 - upgrade google.* dependencies
    • ZK-4563 - JS errors : frozen with auxheaders (+ rowspan)
    • ZK-4566 - Tablelayout chidrens with v/hflex set don't render when flex css activate
    • ZK-4578 - Performance issue since ZK 9 using css flex
    • ZK-4581 - Unexpected exception in Embedded ZK callback function
    • ZK-4583 - Listbox renders unexpected blank listitems when specifying "rows" attribute
    • ZK-4584 - iceblue tablet spinner styles
    • ZK-4585 - iceblue_c misaligned switch/toggle labels
    • ZK-4589 - hidden file upload input obstructing other widgets
    • ZK-4591 - invalidate a tabbox produces infinite javascript errors
    • ZK-4593 - Calling Navseparator method getNavbar throws an error
    • ZK-4594 - each opening reduces a combobox' width
    • ZK-4601 - tabbox accordion mold -> inaccessible tabs
    • ZK-4606 - clicking select-all checkbox in a Listbox doesn't select all items
    • ZK-4608 - CE listbox missing sizing trigger on
    • ZK-4610 - Listbox Partial invalidate breaks popup ROD
    • ZK-4611 - Missing rmDesktop in FF with browser popup
    • ZK-4613 - ThreadLocalsManager not cleaned up after pageDefinition transactions
    • ZK-4614 - MeshWidget _cpCellWd tries to access unloaded rows if tree has footer but no treecol
    • ZK-4615 - Duplicated DOM id in biglistbox
    • ZK-4620 - ZK converts a locale dependent image src incorrectly
    • ZK-4621 - Invalid dom autocomplete value in searchbox
    • ZK-4623 - iceblue_c combobox/datebox... right-padding without button
    • ZK-4625 - portallayout as a kanban can't display with a javascript error
    • ZK-4629 - Avoid exposing technical internal error details (allow custom error handling)
    • ZK-4632 - Re-rendering a listbox produces a javascript error
    • ZK-4633 - Rangeslider and Multislider can't be disabled initially
    • ZK-4634 - Classic themes don't handle toolbar overflowPopup and align="end"
    • ZK-4637 - Initially disabled Searchbox has a wrong style
    • ZK-4640 - Nested dynamic Drawers - DOM not cleaned up
    • ZK-4643 - Resending request is broken after ZK-3709
    • ZK-4646 - make a treeitem invisible causes a javascript error
    • ZK-4673 - window icon on the wrong side using tablet styles
    • ZK-4675 - dark themepack notification text white-on-white
    • ZK-4680 - cascader text alignment (compact themes)
    • ZK-4682 - multiline textbox missing paddings
    • ZK-4683 - [demo] navbar subitem shifted to top-left corner

  • Upgrade Notes
    • The classes of org.zkoss.bind.SimpleForm, org.zkoss.bind.impl.FormImpl is back for compatibility.
    • Since 9.5.0, the transitive dependency of slf4j-jdk14 was removed. Please choose the desired SLF4J binding instead.
    • Since 9.5.0, the transitive dependency of closure-compiler-unshaded was removed. If you want to enable source maps, please add it manually.
    • Due to ZK-4569, there is syntax sugar for calling commands in other viewmodel. E.g. @command('$pvm.doClick') would trigger the 'doClick' command in the viewModel whose id is 'pvm'.
    • zAu.onError API was changed since we are using fetch() API instead XHR.
    • Due to ZK-4622, the DIV of grid/listbox/tree header border is removed.