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.
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.