-
Notifications
You must be signed in to change notification settings - Fork 207
/
release-note
7956 lines (7611 loc) · 440 KB
/
release-note
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
ZK 10.1.0
* Features
ZK-5782: Upgrade WCAG with the lighthouse 12.x detection tools
* Bugs
ZK-5764: Unable to call original method when using custom ViewModelAnnotationResolver
ZK-5766: DomPurify fails with partial html content
ZK-5775: Improve ZK-5393 by caching FileUpload classes
ZK-5780: dompurify Template Injection vulnerability
ZK-5657: Missing zk-bom version since 10.0.0
ZK-5784: a fontawesome bug causes zk to lose all styles in Chrome and Edge
ZK-5659: Tree only renders 50 nodes in client mvvm
ZK-5677: Executions.schedule cause infinite loop if async event causes exception
ZK-5696: Nested Shadow element fails in ZK 10
ZK-5703: Debug messages shouldn't be created if debug is disabled, may cause side effects
ZK-5716: Errorbox contains inline script
ZK-5787: aria-hidden elements do not contain focusable elements
ZK-5743: clicking menuitem fires 2 onClick events in mobile browser
ZK-5594: ListboxDataLoader doGroupsDataChange finds incorrect offset, causes class cast exception
* Upgrade Notes
+ Remove Htmls.encodeJavaScript(), Strings.encodeJavaScript(), Strings.escape() with Strings.ESCAPE_JAVASCRIPT, and replace them with OWASP Java Encoder APIs instead.
+ Fix some potential security vulnerabilities found by CodeQL code scanning.
--------
ZK 10.0.1
Jun 13, 2024
* Features
* Bugs
ZK-5679: RichletMapping with "/" on Class does not work on StatelessRichlet class
ZK-5715: PDFjs cve-2024-4367 arbitrary code execution from pdf document
ZK-5722: DomPurify doesn't neutralize double quotes in attribute string, can be used for XSS attacks
ZK-5729: JNDI-Injection detected in JndiVariableResolver.java
* Upgrade Notes
+ Remove zkplus/liferay because it is designed for ie6 & ie7 which are not supported by ZK10.
+ Upgrade pdfjs to 4.3.136 to fix ZK-5715
+ add httpcore5-5.2.4.jar to fix Security Vulnerability for SSRF
+ Remove JndiVariableResolver.java to fix ZK-5729
--------
ZK 10.0.0
Feb 27, 2024
* Features
ZK-5221: Show websocket close reason
ZK-5018: Enhance simplified MVVM syntax
ZK-5516: change the current month with a keyboard
ZK-5517: change the current year with a keyboard
ZK-5048: MVVM DebuggerFactory should log via SLF4J
ZK-5595: Upgrade Servlet version from 2.4 to 3.1 aligned with Java EE 7
ZK-5596: Simplify the JavaScript url when enable embedded mode
ZK-5590: Reimplement sourcemap in ZK 10
ZK-5512: Support for Listening to Space Key Pressed
ZK-5096: Consider deprecate Anchorlayout and Anchorchildren
ZK-4988: zEmbedded support for websocket
ZK-5135: Make a client error more helpful for debug
ZK-5592: Deprecate the ancient themes (Breeze, Sapphire, Silvertail, and Atlantic) in ZK 10
ZK-5527: Upgrade WCAG with the lighthouse 11.x detection tools
ZK-5459: Allow Configuration.invokeWebAppInits() to throw a Runtime Error
ZK-4711: Upgrade integrated reset.less
ZK-3853: Tree supports 3-states selection model
* Bugs
ZK-5393: Update ZK jars to jakarta-friendly uploads
ZK-5575: forEach causes an unexpected ClassCastException
ZK-5579: Listbox always renders the same set of items under ROD enabled
ZK-5582: Listbox only renders 50 items with client mvvm
ZK-5476: client mvvm failed for a tree
ZK-5037: invisible first column hides checkmarks in a listbox
ZK-5535: TrackerImplEx#removeAllReference accesses map value by iteration instead of key, lowers performance
ZK-5522: CommonFns.formatNumber() doesn't handle null as javadoc mentions
ZK-5569: Radiogroup onCheck event type mismatch
ZK-5161: page directive's attributes are not encoded before rendering into HTML
ZK-5598: CKEditor requests ExecutionImpl.encodeURL with null value, causes NPE in embedded mode
ZK-5162: emptyMessage is not escaped with HTML characters
ZK-5182: Prevent XSS issue in component attributes
ZK-5529: Tree focus is lost after loading new rows
ZK-5593: inputWidget bind_ accesses input dom node may not exist
ZK-5605: client-bind fails for zk.$extends created widget classes, without ClientBindComposer declared
ZK-5603: Client-mvvm boolean false handling is different from server-side
ZK-5480: Cascader doesn't display selected item if set before render after ZK-5414
ZK-5151: Client MVVM - SelectedItem should be sync in Cascader (getter/setter)
ZK-5152: Client MVVM - Cascader should use TreeSelectableModel
ZK-4355: timebox' default cols is too small
ZK-5611: Executions.schedule() might fail if it's called by multiple threads
ZK-5639: stepbox wrong color update
ZK-5635: textbox cannot focus on iPad/iPhone
ZK-5647: Wrong groupbox layout on touch screen
ZK-5636: fail to toggle grid's detail on iPad/iPhone
ZK-5650: cannot upload an image under websocket
ZK-5633: Client mvvm crashes a browser when model is large
* Upgrade Notes
+ Upgrade commons-fileupload to commons-fileupload2-javax 2.0.0-M2 and commons-io to 2.13.0 to support jakarta-friendly uploads
+ Now it is not allowed to use positional and non-positional parameters together in MVVM command binding.
+ ZK's corresponding features now require Java EE 7 API level, including:
Servlet 3.1, Bean Validation 1.1, EL 3.0, and JSP 2.3.
+ Remove all deprecated Java APIs and the legacy module "zkplus-legacy".
+ org.zkoss.zk.ui.util.ForEachStatus#getEach is removed, use org.zkoss.zk.ui.util.ForEachStatus#getCurrent instead.
+ Use /zkEmbedded url (or specify yourself) to simply include embedded.js, instead of specify the real path to embedded.js,
simplifying the source to enable embedded mode.
+ The setContent() method of Comboitem, Menu, and Navitem now only accepts a safe HTML content.
i.e. The content will be sanitized before rendering, please don't use JavaScript content.
+ zEmbedded supports WebSocket under the condition that only one ZK page can be embedded into a non-ZK page
when WebSocket is enabled.
+ Upgrade zkdiffer to 0.8.0.
+ Upgrade _reset.less to normalize.css v8.0.1
+ Security Enhancement in XML Parsing:
To prevent XML External Entity (XXE) attacks, we've updated our XML parser to
disallow Doctype Declarations, enhancing security without affecting normal XML processing.
--------
ZK 10.0.0-Beta
Oct 17, 2023
* Features
ZK-5024: Add a library property to change the default apply composer for MVVM
ZK-5039: remove deprecated classicblue theme in ZK 10
ZK-5091: Move Layout.java to extend from XulElement
ZK-5123: Searchbox open attribute doesn't work while initializing
ZK-5228: Support a IdGenerator for Application-wise, not Desktop-wise for Stateless Component
ZK-5270: Adjust ID generation mechanism in ZHTML Component
ZK-5422: Provide some utile APIs to update IComponent Tree
ZK-5215: Support load locale-dependent resources in a relative path
ZK-5142: Handle GET and POST requests more strictly
ZK-5502: Allow users to customize tooltip on the icon
ZK-5503: Allow users to set multiple icons and tooltips on the same LabelImageElement
ZK-5213: Improve accessibility by add tooltips on icons
ZK-5469: Make cloudMode true by default for ZK Stateless
ZK-5441: Provide a better way to override za11y module
ZK-5532: Remove all unsupported HTML tags in ZK 10 ZHTML
ZK-5531: Remove Applet, Flash, and FusionChart components in ZK 10
ZK-5466: include Guava instead of closure-compiler
ZK-5533: Add all new HTML5 tags in ZK 10 ZHTML
ZK-5049: Deprecate org.zkoss.zk.ui.uuidRecycle.disabled in ZK10
ZK-5437: Upgrade WCAG with the lighthouse 10.x detection tools
ZK-5408: Enable InaccessibleWidgetBlockService by default
ZK-4928: expose widget private functions and variables as public ones
ZK-5119: Integrate Font Awesome 6 free icons
ZK-5541: Move widget restriction check to Client MVVM
ZK-5354: Update animation implementation to avoid iframe reloading
ZK-4969: dropupload supports accept file type
ZK-4494: Tree shall provide enough information to decorate lines with CSS
* Bugs
ZK-5089: AfterSizeEvent doesn't return a correct size of a Window component
ZK-5120: Combobox smart update emptySearchMessage doesn't work
ZK-5138: Grid row setAlign not work after rendered
ZK-5145: Chosenbox smart update emptyMessage doesn't work
ZK-5217: Timepicker error in Mobile touch
ZK-5086: Should ignore source map file request when the source map is disabled
ZK-5005: pdfviewer some fonts are not rendering
ZK-5411: withAction() cannot accept anonymous class, please convert it to Lambda syntax
ZK-5454: nextSibling locator doesn't work in smartUpdate()
ZK-5261: forEach always re-renders all items
ZK-5493: [user-scalable='no'] is used in the <meta name='viewport'> element or the [maximum-scale] attribute is less than 5
ZK-5373: focus button, z-focus-a, doesn't have an accessible name
ZK-5448: Elements with an ARIA treegrid(role) that require children to contain a specific row(role) are missing some or all of those required children
ZK-5449: Elements with an ARIA treegrid(role) that require children to contain a specific [role] are missing some or all of those required children
ZK-5463: empty tree fails to pass lighthouse accessibility check for missing required role
ZK-5462: empty listbox fails to pass lighthouse accessibility check for missing required role
ZK-5479: checkboxes in a listheader have missing required aria attribute: aria-checked
ZK-5492: The elements with an id of 'tpad-tbl' and 'bpad-tbl' do not have the correct role
ZK-5491: Multislider and Rangeslider's [aria-*] attributes do not match their roles
ZK-5494: Background and foreground colors do not have a sufficient contrast ratio
ZK-5481: The checkbox in a listitem doesn't have a role "checkbox"
ZK-5257: Ignore unused component NoClassDefFoundError such as jasperreport component
ZK-5488: Biglistbox's Elements with an ARIA [role] that require children to contain a specific [role] are missing some or all of those required children
ZK-5412: Desktop of stateless components is not cleared after reloading [CloudMode]
ZK-5450: 2 NEXT_SIBLING for targetId don't pass the expected value
ZK-5435: desktop timeout config doesn't work as expected
ZK-5498: Some checkboxes do not have [aria-checked] attribute, and they do not have accessible names
ZK-5489: Linelayout's Elements with an ARIA [role] that require children to contain a specific [role] are missing some or all of those required children
ZK-5017: Listbox head flickering caused by onClientInfo
ZK-5468: Components with Model only renders one item with wrong result if the EL contains forEachStatus.index
ZK-5490: Grid's [aria-*] attributes do not match their roles
ZK-5525: Checkbox tristate [aria-checked] attribute missing "mixed" state
ZK-5235: Opening a menupopup moves a scrollbar of a long menu back to top
ZK-5539: $init() will call twice on Keikai component
ZK-5540: zk.wpd with browser condition won't work with ZK 10
ZK-5530: users cannot focus on the icons on the Calendar header
ZK-5035: Listbox renders duplicate checkmarks after adding 1st listheader dynamically
ZK-5453: XSS in chosenbox
ZK-5025: redundant selection highlight on a menupopup
* Upgrade Notes
+ The Java binary-compatible level is Java 11 since ZK 10.
+ Layout.java (Vlayout and Hlayout) are extended from XulElement since ZK 10.0.0
+ Refine ZK-3277 to enable multipart file uploads into AUEngine instead of individual
ajax request, and also remove the two AuExtensions, AuUploader.java and AuDropUploader.
+ Support ZK-3277 into CE version, and drop the support of IE9 browser for file
upload feature, dur to it cannot support HTML FormData.
+ Some z-class names are changed:
z-combobox-emptySearchMessage -> z-combobox-empty-search-message
z-combobox-emptySearchMessage-hidden -> z-combobox-empty-search-message-hidden
+ Disable UUID recycle mechanism by default.
+ With the fixed of ZK-5435, the desktop timeout mechanism will clean all expired desktop instances
by a timer per session if the setting is enabled. (By default, it's enabled with 1 hour)
To disable the cleaner timer per session, you can specify -1 to the desktop timeout
value to disable the mechanism.
+ Remove Acronym, Big, Center, Dir, Font, isindex, Nobr, Param, Rtc, and Tt in ZHTML module
+ Remove Applet, Flash, and FusionChart components since ZK 10.0.0
+ Deprecated org.zkoss.zk.ui.uuidRecycle.disabled since ZK 10.0.0
+ Revert ZK-5026 which the original bug cannot be reproduced to fix ZK-5235.
+ Enable InaccessibleWidgetBlockService by default, to disable it, set library-property `org.zkoss.zkmax.au.IWBS.disable` to `true`. (for ZK EE)
+ Since InaccessibleWidgetBlockService is enable by default, it will block echo event if the component is disabled or invisible by default also. (for ZK EE)
+ Upgrade jasperreports to 6.20.5 version for fix some vulnerabilities from dependencies and drop the itext dependency.
+ Remove Acegi and Hibernate integration utiles in zkplus module
+ Upgrade rhino to 1.7.14, groovy to 5.0.0-alpha-1, and closure-compiler to v20230802 for fixing vulnerabilities
+ Upgrade gson to 2.10.1 for fixing vulnerabilities
+ Upgrade jackson-databind to 2.15.2 for fixing vulnerabilities
+ Upgrade Font Awesome version from 4.7.0 to 6.4.2, and previous iconSclass syntax will continue to be supported
+ Refix ZK-5260 by running the prepareString method to remove scripts for HTML and
escape special characters for non-HTML before rendering model items of a chosenbox.
+ Dropupload now can use `accept` to set the acceptable file types with MIME format, use `accept` attribute in zul file,
and use `setAccept()` in Java API.
+ ZSciprt using python and the corresponding jython dependency are now optional.
--------
ZK 9.6.4
* Features
* Bugs
ZK-5382: Wrong shadow insertions after shadow tree merged
ZK-5418: variable shadowing to reference binding
ZK-4194: ZK cannot clear disconnected desktops reliably by remove-desktop requests
ZK-4955: Combobox fires a duplicate onChange event
ZK-2297: @ContextParam TRIGGER_EVENT not sent for global commands
ZK-5224: hflex and vflex doesn't consider a component's margin
ZK-5445: avoid reflected cross site scripting (XSS) attacks
ZK-5429: tabbox scroll unsynced when resizing with toolbar
ZK-5433: tabbox doesn't scroll the selected tab into the current view when shrinking its width
ZK-5432: aria-activedescendant is generated at wrong place
ZK-5216: cannot change to am of a day under Spanish locale
ZK-5368: Tree with client-ROD fails to replace treerow if parent is currently not rendered
ZK-5260: chosenbox options don't escape HTML characters
ZK-5399: Number of NoDOM increases unexpectedly
ZK-5238: upgrade moment.js to eliminate the security vulnerabilities
ZK-5067: update internal timezone file
ZK-5426: pdfviewer cannot display some texts
ZK-5251: listbox select mold produces js error in a mobile browser
ZK-5353: Insertion [] of the shadow [] cannot be orphan in 9.6.3
ZK-5374: Elements with an ARIA that require children to contain a specific role are missing some or all of those required children
ZK-5252: a modal window doesn't focus on its first focusable child
ZK-5258: setFocus() doesn't work on a textbox in a modal window
ZK-5434: Datebox show different time when running with -Duser.timezone="America/Mexico_City"
ZK-5061: ZK Embedded loading default ZK styles causes style changes to the outer page
ZK-5379: Floating scrollbar prevent anchornav from scrolling
ZK-5414: onTimer event causes a cascader to close its next level items
ZK-2658: Listbox: multiple="true" checkmark="true" issue
ZK-5133: Radio onPageAttached condition causes onPageAttach to not fix index on parent radiogroup
ZK-5419: Security upgrade commons fileupload
ZK-5378: Add safety check to DesktopEventQueue$QueueListener#onEvent
ZK-5430: Camera uses incorrect aspect ratio during snapshot if canvas has height / width
ZK-3246: File download doesn't work with Chrome in iOS
ZK-5374: Elements with an ARIA that require children to contain a specific role are missing some or all of those required children
ZK-5399: Number of NoDOM increases unexpectedly
ZK-4194: ZK cannot clear disconnected desktops reliably by remove-desktop requests
ZK-4955: Combobox fires a duplicate onChange event
ZK-2297: @ContextParam TRIGGER_EVENT not sent for global commands
ZK-5224: hflex and vflex doesn't consider a component's margin
ZK-5423: select a date causes an invalid result under locale pt
ZK-2658: Listbox: multiple="true" checkmark="true" issue
ZK-5133: Radio onPageAttached condition causes onPageAttach to not fix index on parent radiogroup
ZK-5419: Security upgrade commons fileupload
ZK-5378: Add safety check to DesktopEventQueue$QueueListener#onEvent
ZK-5430: Camera uses incorrect aspect ratio during snapshot if canvas has height / width
ZK-3246: File download doesn't work with Chrome in iOS
ZK-5434: Datebox show different time when running with -Duser.timezone="America/Mexico_City"
ZK-5061: ZK Embedded loading default ZK styles causes style changes to the outer page
ZK-5445: avoid reflected cross site scripting (XSS) attacks
ZK-5429: tabbox scroll unsynced when resizing with toolbar
ZK-5433: tabbox doesn't scroll the selected tab into the current view when shrinking its width
ZK-5432: aria-activedescendant is generated at wrong place
ZK-5368: Tree with client-ROD fails to replace treerow if parent is currently not rendered
ZK-5252: a modal window doesn't focus on its first focusable child
ZK-5258: setFocus() doesn't work on a textbox in a modal window
ZK-5076: Listbox in select mold setModel + set selectedIndex causes unsync selection state
ZK-5427: missing context menu after ZK-4835 on hybrid mouse / touch devices
* Upgrade Notes
+ Upgrade JRuby dependency from 1.1.2 to 1.7.27 for some security vulnerabilities
--------
ZK 9.6.3
* Features
* Bugs
ZK-4973: tabbox tab.invalidate() loses selected tab
ZK-5155: bandbox closes its popup when switching active page
ZK-5170: borderlayout title css rules are missing under sapphire theme
ZK-5140: ZK loads vulnerable commons-io transitively
ZK-5220: a listbox without ROD causes a websocket connection to close
ZK-5029: sporadic text wrapping in listbox/grid/tree cells since chrome 90
ZK-5159: Firefox Windows 11 scrollbar doesn't have height, cause missing scrollbar
ZK-5115: Websocket endpoint registers threadpool, doesn't close, prevents tomcat graceful stop, threads remain after stop
ZK-5179: Custom attributes on template do not resolve after ZK-5002
ZK-2259: Tabbox doesn't select second tab automatically when first tab is invisible
ZK-5214: Locales.getLocale("de_DE_dgl") returns a different locale than zk 8
ZK-5253: title of borderlayout north/south shouldn't rotate 90 degrees
ZK-5240: calculation issue in tpad cause grid to render entire content at once
ZK-5247: dynamically rerendered row breaking hflex min column
ZK-5033: infinite loop when firing an event on a detached widget
ZK-4974: grid-column with min-width
ZK-5030: column header disappearing when resizing column
ZK-5111: require.js causes Toast.show() failed
ZK-5223: the if element doesn't keep the position of its child component
ZK-5176: signature backgroundImage doesn't accept an absolute path
ZK-4982: Listbox (mold select with groups) fail when selecting from serverside
ZK-5153: window with vflex content broken after title update
ZK-5167: showBusy() doesn't mask the whole page
ZK-5168: height calculation in groupbox with css scale incorrect after ZK-4670
ZK-5177: signature saves a background image into a larger one
ZK-5181: Optimize the use of DefinitionNotFoundException when creating event queues
ZK-5148: datebox throws a js error with locale specified
ZK-5156: locale format doesn't keep the fractional part
ZK-5180: Bandbox closes its popup when clicking on day of a datebox
ZK-5205: ClientInfoEvent should preserve the precision of devicePixelRatio
ZK-5203: a highlighted window in an invisible parent doesn't get onSize event
ZK-5116: NullPointerException happened during evaluating an EL expression
ZK-5256: classloading issues with multiple war files
ZK-5208: Review use of getChildNodeCount in AbstractTreeModel getChildNodes
ZK-3543: Can't wire <apply> with its ID
* Upgrade Notes
--------
ZK 9.6.2
May 24, 2022
* Features
* Bugs
ZK-5034: z-columns-bar's position is shifted after scrolling
ZK-4986: version information not salted for static resources
ZK-5071: org.zkoss.zk.ui.versionInfo.enabled cannot bust browser cache
ZK-5079: remove an item of ListModelList causes nullponiterexception
ZK-5134: caption with hflex="min" causes a javascript error
ZK-5137: modifying sclass clears vflex="1"
ZK-5117: cannot open a treeitem after sorting
ZK-5121: cascader / searchbox do no clean popup on unbind
ZK-5107: replace treecells causes checkmark clicking doesn't send onSelect event
ZK-5083: zEmbedded destroy doesn't remove Desktop from the zk.Desktop.all collection, cause unwanted events
ZK-5126: Apostrophe (French quote character) is displayed as Hex character code in chosenbox emptyMessage
ZK-5095: NotSerializableException: org.zkoss.zkmax.au.websocket.WebSocketEndPoint
ZK-5149: DropUpload anchor position shifted by browser scroll if any, gets out of view
ZK-5150: uploading issue
ZK-5110: ZKWebSocket cause NPE on reconnect if session has been destroyed
* Upgrade Notes
+ Since ListModel renders forEach inconsistently, reopen ZK-2800 after ZK-5079
--------
ZK 9.6.1
Jan 11, 2022
* Features
ZK-5013: Post onCheckSelectAll event in Tree (for application use)
* Bugs
ZK-4995: signature component on tablet/mobile cutting off image
ZK-5003: External resources with browser attribute are not loaded
ZK-4997: button with autodisable doesn't trigger popup
ZK-4509: Setting model in onOpen listener of combobox causes "... cannot be cast to org.zkoss.zul.Comboitem" error
ZK-5002: shadow element - parameter leak
ZK-5055: atlantic borderlayout east/west always rotated by 90deg (since 9.6.0)
ZK-5044: combobx with hflex="min" has a wrong button position
ZK-5057: minified JS code contains added polyfill functions
ZK-5019: Nested Bandbox closing unexpectedly (since 9.6.0)
ZK-5010: improve websocket reliabilty/reconnectivity and cleanup behavior
ZK-5022: missing safety checks on shift-ctrl selection on listbox
ZK-5028: tree JS error when replacing treecols
ZK-5026: up down arrow key doesn't move menu selection
ZK-5036: datebox formatting/parsing doesn't handle quoted characters correctly
ZK-5038: replace listcells causes checkmark clicking doesn't send onSelect event
ZK-5040: tree with model template loses selection state
ZK-5042: close all tree node doesn't work as expected
ZK-5047: combobox with listsubmodel + incorrect selectedObject in onSelect event
ZK-5050: Treechildren.invalidate() only re-renders the first Treeitem
ZK-5032: Shadow element doesn't resolve page-level imported classes static members as dynamic values
ZK-5009: adding a checkbox in a caption with tabbox accordion mode causes a javascript error
ZK-5043: after replacing an object of a Map, notify change doesn't work anymore for a map expression
ZK-4989: vertical radio group rendered horizontally on mobile/tablet
ZK-4970: listbox renders empty
ZK-5058: Groupbox caption not positioned correctly when rendered after load
ZK-5078: upgrade GSON to avoid security issue
* Upgrade Notes
+ Reverted and Reopened ZK-4979 (to fix ZK-4997).
+ Add warning message for enabling UUID recycle mechanism,
it's enabled by default since ZK 5.0.3 release, and the feature will be removed
in next big release version (like ZK 10). Because of the feature was introduced to solve old
IE browser issue (but no longer exists for now), and it might cause
some side-effects at client side accidentally in some scenarios.
+ Change the value from 0 to 25 seconds of The library property of "org.zkoss.zkmax.au.websocket.WebSocketEndPoint.pingIntervalSecond".
i.e. The heartbeat mechanism of ZK EE Websocket channel is enabled by default since 9.6.1.
--------
ZK 9.6.0
Aug 10, 2021
* Features
ZK-4761: MVVM provide option to disable viewmodel annotation caches
ZK-4330: provide select-all checkbox in tree component
ZK-4524: blocking all user keyboard input during processing message showing
ZK-4751: provide a built-in cryptographically random (desktop) id generator
ZK-4631: Add option to choose toolbar overflow icon
ZK-4771: Provide a way to add theme-uri without extends any existing ThemeProvider
ZK-4795: Grid/Listbox/Tree supports sticky column headers
ZK-4783: Modify error message box CSS design (provide scrollbar while word-break fail)
ZK-4745: Datebox supports to display with custom calendar system (e.g. Minguo) year
ZK-1209: Proxying ViewModel breaks binder annotations
ZK-4595: support a way to re-sort a ListModel under MVVM pattern
ZK-2299: Frozen column support on tablet device
ZK-4844: Replace spacer.gif by a base64 encoded string
ZK-4672: borderlayout keyboard resizing movement speed
ZK-4797: Supporting Jakarta EE namespace
ZK-4777: signature can have a background image
ZK-4864: Add datebox attribute to enable or disable close on timeZone change
ZK-4838: searchbox and cascader support onFocus and onBlur
ZK-4836: tree - avoid scroll timeout/delay to improve user experience
ZK-4894: A popup can move upon scrolling inside any element
ZK-4875: Implement media onEnded event
ZK-4779: audio supports to fire an event upon its playing state
ZK-4866: Allow focussing arbitrary components/elements
ZK-4674: Atlantic: always use HTTPS scheme for fonts.googleapis.com
ZK-4874: navitem supports badgeText
ZK-4918: support a configuration to disable touch behavior
ZK-4917: set zoom level with fit-page-width or fit-page-height in Java
ZK-4934: ListModelList (Map/Set/Array) supports Form binding
ZK-4925: zEmbedded support for zul-declared stylesheet and script components
ZK-4926: zEmbedded support for images
ZK-4914: Add toggleable debug / error trace for Clients EvalJavascript
ZK-4863: constraint supports user-defined flags
ZK-4943: Provide a before destroy callback / event when replacing an embedded instance for cleanup
ZK-4273: Colorbox add keyboard support for cancelling
ZK-4938: Textbox can fire an onChanging event when users enter a predictive text on iPhone
ZK-4950: Improve accessibility of the buttons in a caption
ZK-4810: Radiogroup should offer setDisabled(..)/isDisabled(..), esp. when used with model & renderer
* Bugs
ZK-4762: listbox with frozen columns cannot show all headers under non-100% zoom level(non-smooth)
ZK-4813: WCAG splitter/splitlayout (collapse="after")
ZK-3563: Children binding causes load binding to stop firing
ZK-4814: WCAG splitter/splitlayout not updating (aria-valuenow/-valuelabel) when using mouse
ZK-4791: VM ID map not cleared when parent of VM is detached
ZK-4803: tree update model performance
ZK-4800: Tree NPE when adding/removing model
ZK-4597: Disabled Combobutton should not be able to focus or controlled by keyboard
ZK-4808: menu click listener ignored (unexpectedly)
ZK-4804: tree: incorrect scroll position, after model replace (renders incomplete)
ZK-4636: Slider curpos might be larger then maxpos while dragging
ZK-4784: detached Radio(Group) memory leak
ZK-4778: Memory Leak: DesktopEventQueue$ListenerInfo
ZK-4805: org.zkoss.json.JavaScriptValue not serializable
ZK-4700: chosenbox inplace influence other chosenbox
ZK-4827: Fail to load JSP with ZK Components
ZK-4819: Chosenbox performance (with za11y.jar)
ZK-4820: Chosenbox aria-activedescendant out of sync (za11y.jar)
ZK-4763: Radiogroup selectedIndex error after radio moved
ZK-4825: Websockets NPE during encodeURL
ZK-4701: chosenbox initial width too short to display emptyMessage
ZK-4801: Atlantic: adds google-font for all themes
ZK-4824: radiogroup inappropriate aria-owns (confuses screen-reader)
ZK-4839: za11y: hover navitem without children (JS Error)
ZK-4833: CKEditor fails to initialized if added to a closed detail component
ZK-4845: notified @load binding not updating inside shadow element
ZK-4809: NPE with comet server push (servlet 3) reconnect on Tomcat
ZK-4793: IndexOutOfBoundsException Tree.renderItemByPath
ZK-4792: Chosenbox getSelectedIndex() return wrong index with ListModelList
ZK-4828: remove externally loaded resources with internal refs.
ZK-4835: Browsers supporting both touch and mouse fails to register mouse events following ZK-4301
ZK-4817: listgroup open/close triggers selection (mobile)
ZK-4843: combobox checkPopupPosition performance
ZK-4840: navbar navitem icon/text alignment
ZK-4782: vflex on goldenpanel doesn't work as expected
ZK-4851: Datebox fails with default DateFormat from Java 11.0.2+
ZK-4831: parseStyle splits css string incorrectly
ZK-4806: borderlayout region with whitespace title
ZK-4846: Select all checkbox ignores click (tree/listbox)
ZK-4707: 2nd popup open by click menu item on 1st popup will close immediiate (on fast bandwidth)
ZK-4832: map property bindings loading inconsistently
ZK-4789: The header of PerformanceMeter is missing in rmDesktop
ZK-4858: slider knob styles contain invalid css property
ZK-4857: Missing right click and double click in hybrid touch mouse mode
ZK-4821: tri-state checkmark still checks while disable when clicking in the border
ZK-4850: Autopaging row height calculation incorrect by 1px
ZK-4860: zkmax/zkex project build failing under maven 3.8.1
ZK-4842: Comet NPE during encodeURL (Jetty)
ZK-4854: navbar opening animation needs fine tuning
ZK-4853: Treeitems removed by ROD after receiving onOpen still try to render, cause issues if accessing DOM
ZK-4852: JS errors swallowed during widget class initialization
ZK-4855: some ListProxy methods set _dirty directly instead of calling setDirty, missing updates
ZK-4872: Listbox selects a wrong item with listgroup
ZK-4893: The last item of ForEachStatus.last is false if end can't be reached by step
ZK-4896: A misleading error message in <when>
ZK-4897: <forEach> doesn't support a primitive array
ZK-4888: listheader width shrinks to minimal size unexpectedly after reloading a model
ZK-4834: tree scroll pos + latency errors
ZK-4787: Loading combobox model from serverpush cause popup to fail to resize
ZK-4877: ZKBind still use illegal reflective access which is not allowed anymore with JDK 16
ZK-4884: Menuitem addActive adds hover style to ancestor menu, doesn't clean it
ZK-4898: za11y navigation in listbox/tree intercept events in input-based components, cause lost focus
ZK-4879: navbar jumping focus
ZK-4890: EE ROD on listbox override scrollToIndex
ZK-4867: listbox with auxhead (hflex vs span conflict)
ZK-4903: Goldenlayout sets incorect vflex following ZK-4776
ZK-4905: ListModelList clear cause listbox to not add new listitems
ZK-4873: Theme build process fails in windows due to escaping
ZK-4906: menubar autodrop=true closing when still hovering other menu items
ZK-4883: Clients.submitForm does not submit form
ZK-4870: borderlayout region caption misaligned
ZK-4909: navbar popup not closing popup when switching to collapsed false
ZK-4910: tree jumping up back when scrolling down on touch devices
ZK-4862: open an error message box when its input component is not in viewport
ZK-4876: Column layout causes white-space no-wrap on every descendant
ZK-3770: source map produces a wrong line number
ZK-4912: listbox sends onClick event for listitem with mold="select" in firefox
ZK-4859: a specific text "$z!t#d:" makes ZK AU failed
ZK-4848: Sorting failed message is not clear when using ListModelMap in Listbox/Grid
ZK-4865: button stealing focus
ZK-4837: Searchbox doesn't render items for a ListModelList change in an onOpen listener
ZK-4921: listbox with a SimpleGroupsModel doesn't fire an expected onSelect event
ZK-4916: tbeditor setValue only sets source, doesn't affect display without rerender
ZK-4728: Treeitem with visible="false" is not rendered, cause null on treeItem.$n() when toggling parent open status
ZK-4929: keyboardevent with keyCode 0 (invalid key) closes popups
ZK-4915: The badgeText misaligned in Nav
ZK-4920: listbox (autopaging) listitem height incorrect between iceblue/iceblue_c
ZK-4932: Datebox with constraint sending unnecessary onChange Event
ZK-4933: Video using RepeatableInputStream loads very long, Byte[] is instant
ZK-4432: Server error if the message in an AU request was too large
ZK-4922: zEmbedded upload fails
ZK-4923: zEmbedded download fails
ZK-4937: incorrect content-type response header of a request to fontawesome-webfont.eot
ZK-4748: Bandpopup should close while bandbox lost focus with TAB key
ZK-4869: borderlayout keeps resizing
ZK-4496: The result of a native HTML5 template tag is missing
ZK-4780: Decimalbox has no value in Germany-locale in mobile
ZK-4781: No error message appreared in invalid Longbox in mobile
ZK-4525: A tooltip makes toggle type Popups closed
ZK-4889: @Default not working correctly with simplified command
ZK-4543: Calendar should respect the constraint while Month changing
ZK-4387: The popup of Chosenbox not updated after ZK-3986
ZK-4283: The sort icon direction is not synchronized in model
ZK-4282: SimpleGroupsModel selection synchronizing is working only in multiple mode
ZK-4798: setMold("paging") causes exception while checkbox is selected
ZK-4948: URL forwarding/redirection in zEmbedded
ZK-4788: setCols(0) causes exception for InputElement
ZK-4945: FormIdCache in AnnotateBinderEx causing memory leak with shadow elements
ZK-4535: Combobutton toolbar mold has a border
ZK-4944: zEmbedded doesn't clean client-side object and references on destroy
ZK-4953: zEmbedded unable load <include> correctly in defer mode
ZK-4949: zjq undoVparent may cause error if detached / missing element
ZK-4868: signature background color should be white while setBackgroundColor(null)
ZK-4880: zjq.clearStyles performance
ZK-4892: Binding annotation @Immutable not working properly
ZK-4908: Navbar autoclose not working if the navitem is already selected
ZK-4939: zk built-in icons have inconsistent size by default
ZK-4856: undefined msgzk properties is used
ZK-4977: Triggering @MatchMedia by immediate resizing is not working in Desktop since Chrome 92
* Upgrade Notes
+ It was originally possible to set multiple icons on the same label image element,
by using the attribute `iconSclass="a,b,c"` in the zul file,
but in ZK10 the above feature has been cancelled, Use the Java API `setIconSclasses(String[] icons)` instead.
+ The default desktop ID generator was replaced by a more secured one.
If you prefer to use the previous generator, use org.zkoss.zk.ui.impl.LegacyDesktopIdGenerator.
+ Due to ZK-4783, the hbox of message box is substituted by DIV.
+ Deprecated the method of isEditionValid() and encodeWithZK() of org.zkoss.zk.fn.ZkFns and core.dsp.tld.
+ Datebox format with a single y pattern letter will not be truncated to 2 digits year according to the Unicode specification.
+ For Jakarta EE 9 support, please use 9.6.0-jakarta version instead.
+ Since 9.6.0, the transitive dependency of jasperreports was removed in zkex.
If you want to use the jasperreport component, please add it manually.
+ In order to be more in line with WCAG specifications,
the icon element in the Rating component has changed from the Anchor element to the Idiomatic Text element.
--------
ZK 9.5.1
Mar 9, 2021
* Features
ZK-4118: Add zk.edge_legacy for old version Microsoft Edge
ZK-4679: tree remove non breaking spaces ( ) from dom structure
ZK-3269: uploader / dropupload feature to disabled specific error message
ZK-3289: Monthly / yearly options for datebox.
ZK-4418: specify charset for filedownload
ZK-555: allow to register "#tab" in setCtrlKeys() to allow implementation of own focus switching