/
ChangeLog.md
3175 lines (1974 loc) · 137 KB
/
ChangeLog.md
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
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
**2023-05-13 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.12.0-git-07_
* Rollback wro4j plugin version and configuration to 1.8.0, as current configuration was affected by [MDEP-863](https://issues.apache.org/jira/browse/MDEP-863), preventing Docker builds
* jspwiki-util and jspwiki-main don't pull commons-httpclient, as they weren't using it anymore (it is still pulled transitively, though)
* Dependency updates
* AWS kendra java sdk to 1.12.468
* Lucene to 9.6.0 (closes [#276](https://github.com/apache/jspwiki/pull/276)), thanks to dependabot
* Selenide to 6.14.0 (closes [#274](https://github.com/apache/jspwiki/pull/274)), thanks to dependabot
* Tomcat to 9.0.75 (closes [#275](https://github.com/apache/jspwiki/pull/275)), thanks to dependabot
* Maven plugins: remote-resources to 3.1.0, surefire to 3.1.0 (closes [#273](https://github.com/apache/jspwiki/pull/273), thanks to dependabot)
**2023-05-05 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.12.0-git-06_
* Merged [#241](https://github.com/apache/jspwiki/pull/241), provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* Flexmark to 0.64.4 (closes [#270](https://github.com/apache/jspwiki/pull/270) and [#271](https://github.com/apache/jspwiki/pull/271)), thanks to dependabot
* Mockito to 5.3.1 (closes [#269](https://github.com/apache/jspwiki/pull/269)), thanks to dependabot
**2023-04-28 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.12.0-git-05_
* Merged [#211](https://github.com/apache/jspwiki/pull/211), [#240](https://github.com/apache/jspwiki/pull/240) and [#258](https://github.com/apache/jspwiki/pull/258), provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* Gson to 2.10.1 (closes [#265](https://github.com/apache/jspwiki/pull/265)), thanks to dependabot
* Jaxen to 2.0.0 (closes [#264](https://github.com/apache/jspwiki/pull/264)), thanks to dependabot
* JUnit to 5.9.3
* Selenide to 6.13.1
* Tomcat to 9.0.74
* Maven plugins: enforcer to 3.3.0 (closes [#266](https://github.com/apache/jspwiki/pull/266), thanks to dependabot), project-info-reports to 3.4.3
**2023-03-26 Dirk Frederickx (brushed AT apache DOT org)**
* Remove files incorrectly added to the code base.
**2023-03-24 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.12.0-git-04_
* ReferenceManager implementation can be set via `jspwiki.refManager` property on your `jspwiki[-custom].properties` file
* The provided implementation is expected to have a constructor receiving only an `Engine`
* `.html`, `.htm` and `.js` attachments are now forcibly downloaded by default, if you want to open them rather than
downloading them, set the `jspwiki.attachment.forceDownload` property to empty on your `jspwiki[-custom].properties` file
* Fixed CSS file used by Install.jsp - now that's a pretty jsp to look at!
* Merged PRs [#231](https://github.com/apache/jspwiki/pull/231) and [#235](https://github.com/apache/jspwiki/pull/235), provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* commons-fileupload to 1.5 (closes [#260](https://github.com/apache/jspwiki/pull/260)), thanks to dependabot
* JUnit to 5.9.2
* HSQLDB to 2.7.1 (closes [#244](https://github.com/apache/jspwiki/pull/244)), thanks to dependabot
* jetty-all to 9.4.51.v20230217 (closes [#261](https://github.com/apache/jspwiki/pull/261)), thanks to dependabot
* Log4j2 to 2.20.0
* Lucene to 9.5.0
* Mockito to 5.2.0
* Selenide to 6.12.4
* Tika to 2.7.0
* Tomcat to 9.0.73
* XStream on antrun plugin on portable module to 1.4.20 (closes [#256](https://github.com/apache/jspwiki/pull/256)), thanks to dependabot
* Maven plugins: assembly to 3.5.0, compiler to 3.11.0, dependency to 3.5.0, enforcer to 3.2.1, install to 3.1.1, javadoc to 3.5.0,
project info reports to 3.4.2, release to 3.0.0, resources to 3.3.1, surefire to 3.0.0, cargo to 1.10.6, jspc to 3.2.2 (closes [#257](https://github.com/apache/jspwiki/pull/257), thanks to dependabot)
**2023-01-04 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.12.0-git-03_
* Fix flaky caching test, add some colouring to Jenkins console builds
* Dependency updates
* Apache parent to 29
* Javadoc umldoclet to 2.1.0
* Lucene to 9.4.2
* Mockito to 4.11.0
* Selenide to 6.11.0
* Tika to 2.6.0
* Tomcat to 9.0.70
* Maven plugins: dependency to 3.4.0, install to 3.1.0, release to 3.0.0-M7
**2022-11-24 Dirk Frederickx (brushed AT apache DOT org)**
* _2.12.0-git-02_
* Fixing a number of XSS vulnerabilities reported by Eugene Lim and Sng Jay Kai, from Government Technology Agency of Singapore.
(sanitizing various plugin parameters)
**2022-10-19 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.12.0-git-01_
* Require at least Java 11 to build & run
* Add missing licenses PR [#220](https://github.com/apache/jspwiki/pull/220) provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* commons-text to 1.10.0
* Flexmark to 0.64.0
* Gson to 2.9.1 (closes [#219](https://github.com/apache/jspwiki/pull/219)), thanks to dependabot
* JUnit to 5.9.1
* Log4J to 2.19.0
* Lucene to 9.4.0
* Mockito to 4.8.1 (closes/superseeds [#225](https://github.com/apache/jspwiki/pull/225))
* NekoHTML to 2.1.2
* Selenide to 6.9.0 (closes [#233](https://github.com/apache/jspwiki/pull/233)), thanks to dependabot
* Tika to 2.5.0
* Tomcat to 9.0.68
* Maven plugins: jar to 3.3.0, javadoc to 3.4.1, jxr to 3.3.0, project-info-reports to 3.4.1 (closes [#224](https://github.com/apache/jspwiki/pull/224), thanks to dependabot), wro4j to 1.10.1
**2022-07-25 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-12_
* Dependency updates
* JUnit to 5.9.0 (closes [#218](https://github.com/apache/jspwiki/pull/218)), thanks to dependabot
* HSQLDB to 2.7.0 (closes [#217](https://github.com/apache/jspwiki/pull/217)), thanks to dependabot
* Tomcat to 9.0.65 (closes [#210](https://github.com/apache/jspwiki/pull/210)), thanks to dependabot
* Maven plugins: install to 3.0.1 (closes [#214](https://github.com/apache/jspwiki/pull/214)), assembly to 3.4.2 (closes [#215](https://github.com/apache/jspwiki/pull/215)), surefire junit5 tree reporter to 1.1.0 (closes [#216](https://github.com/apache/jspwiki/pull/216)), thanks to dependabot
**2022-07-20 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-11_
* Bring explicit CSRF protection to user management JSPs
* Merged PRs with several code improvements [#202](https://github.com/apache/jspwiki/pull/202), [#203](https://github.com/apache/jspwiki/pull/203), [#204](https://github.com/apache/jspwiki/pull/204), [#205](https://github.com/apache/jspwiki/pull/205) and [#206](https://github.com/apache/jspwiki/pull/206) provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* Maven plugins: project-info-reports to 3.4.0 (closes [#208](https://github.com/apache/jspwiki/pull/208), thanks to dependabot)
**2022-07-14 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-10_
* Bring explicit CSRF protection to group management JSPs
* Add default application name on `<title>` elements to templates' templates, and `Main` as default frontpage is none is defined on default template
* [`org.apache.wiki.markdown.migration.WikiSyntaxConverter`](https://github.com/apache/jspwiki/blob/master/jspwiki-markdown/src/test/java/org/apache/wiki/markdown/migration/WikiSyntaxConverter.java) now also brings pages' attachments when converting to markdown
* Dependency updates
* Parent to Apache Parent 27
* Jetty to 9.4.48.v20220622 - closes [#199](https://github.com/apache/jspwiki/pull/199), thanks to dependabot
* Mockito to 4.6.1 - closes [#198](https://github.com/apache/jspwiki/pull/198), thanks to dependabot
* Maven plugins: release to 3.0.0-M6 (closes [#201](https://github.com/apache/jspwiki/pull/201), thanks to dependabot), junit5-tree-reporter to 1.0.1 (closes [#200](https://github.com/apache/jspwiki/pull/200), thanks to dependabot)
**2022-07-12 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-09_
* New `CsrfProtectionFilter` to protect POST requests from CSRF attacks
* `org.apache.wiki.api.core.Session` gains new `String antiCsrfToken()` method
* [`org.apache.wiki.markdown.migration.WikiSyntaxConverter`](https://github.com/apache/jspwiki/blob/master/jspwiki-markdown/src/test/java/org/apache/wiki/markdown/migration/WikiSyntaxConverter.java) to convert from JSPWiki syntax to markdown
* does not keep pages' history nor attachments (yet), but it's enough to generate the basic set of wikipages from jspwiki-wikipages artifacts
* Fixed logout modal dialog not showing up
* `TestEngine` is able to not clean up directories / ensure they have unique names if `jspwiki.test.disable-clean-props` wiki property is set to `true`
* Fixed integration tests
* Upgrade to cargo-maven3 broke the launch configuration
* Latest Selenide upgrades broke SearchIT, which wasn't hovering on search form
* Merged PRs with several code improvements [#192](https://github.com/apache/jspwiki/pull/192), [#193](https://github.com/apache/jspwiki/pull/193), [#195](https://github.com/apache/jspwiki/pull/195) and [#196](https://github.com/apache/jspwiki/pull/196), provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* Log4J to 2.18.0
* Lucene to 8.11.2
* Selenide to 6.6.6
* Tika to 2.4.1 - closes [#187](https://github.com/apache/jspwiki/pull/187)
* Tomcat to 9.0.64 - closes [#189](https://github.com/apache/jspwiki/pull/189)
* Maven plugins: antrun to 3.1.0 (closes [#190](https://github.com/apache/jspwiki/pull/190), thanks to dependabot), assembly to 3.4.1, enforcer to 3.1.0, surefire to 3.0.0-M7, cargo-maven3 to 1.9.13 (closes [#197](https://github.com/apache/jspwiki/pull/197), thanks to dependabot)
**2022-05-01 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-08_
* `TestEngine#shutdown` now cleans cache, wiki pages dir and their associated attachments, if any. This allows cleaning up a handful of tests
* `TestEngine#emptyWikiDir` deletes both page and attachment directories
* Dependency updates
* Jetty to 9.4.46.v20220331 - closes [#181](https://github.com/apache/jspwiki/pull/181), thanks to dependabot
* Mockito to 4.5.1 - closes [#185](https://github.com/apache/jspwiki/pull/185), thanks to dependabot
* Maven project info reports plugin to 3.3.0 - closes [#186](https://github.com/apache/jspwiki/pull/186), thanks to dependabot
**2022-04-24 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-07_
* Ensure Lucene indexes all pages and attachments, even when they don't fit in the cache. Should fix [JSPWIKI-1171](https://issues.apache.org/jira/browse/JSPWIKI-1171)
* Add a memory profiling test, so it can be used to estimate the cache configuration & other memory requirements. To run it just `mvn test -Dtest=MemoryProfiling` on the `jspwiki-main` module
* Dependency updates
* Awaitility to 4.2.0
* Apache parent pom to 26 - closes [#182](https://github.com/apache/jspwiki/pull/182), thanks to dependabot
* Maven javadoc plugin to 3.4.0
* Mockito to 4.5.0
* Selenide to 6.4.0 - closes [#183](https://github.com/apache/jspwiki/pull/183), thanks to dependabot
**2022-03-28 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-06_
* `DefaultUserManager#validateProfile`: requires always a non-null password in order to avoid CSRF attacks
* Fixing italian locale - PR [#173](https://github.com/apache/jspwiki/pull/173), provided by [Thiago Coutinho](https://github.com/selialkile), thanks!
* Dependency updates
* Tomcat to 9.0.62
* Maven clean plugin to 3.2.0
* Maven surefire plugin to 3.0.0-M6, now with JUnit 5 tree reporter - closes [#180](https://github.com/apache/jspwiki/pull/180), thanks to dependabot
**2022-03-28 Dirk Frederickx (brushed AT apache DOT org)**
* _2.11.3-git-05_
* Weblog plugin: sanities the plugin output to protect against Xss attacks.
**2022-03-22 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-04_
* [JSPWIKI-802](https://issues.apache.org/jira/browse/JSPWIKI-802) - Markdown syntax Support: initial support for plain editor.
* Currently, can be activated by setting the `jspwiki.syntax.plain` property to `plain/wiki-snips-markdown.js`.
* Alternatively, as of 2.11.3-git-02, whole Markdown support configuration can be set up by setting the `jspwiki.syntax` property to `markdown`.
* Details at [Markdown support page](https://jspwiki-wiki.apache.org/Wiki.jsp?page=Markdown%20Support).
* `TemplateManager` now understands resources beginning with `engine://` to be keys of `Engine`'s wiki properties. In those cases, if the key and its associated value exist, the latter will be used as the requested resource.
* Dependency updates
* Mockito to 4.4.0 - closes [#176](https://github.com/apache/jspwiki/pull/176), thanks to dependabot
* Selenide to 6.3.5
* Tomcat to 9.0.60
* XStream to 1.4.19 - closes [#177](https://github.com/apache/jspwiki/pull/177), thanks to dependabot
* Maven JXR plugin to 3.2.0, dependency plugin to 3.3.0 - closes [#178](https://github.com/apache/jspwiki/pull/178), thanks to dependabot
**2022-03-15 Dirk Frederickx (brushed AT apache DOT org)**
* _2.11.3-git-03_
* Denounce plugin: sanities the plugin attributes to protect against Xss attacks.
**2022-03-11 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.3-git-02_
* Introduce [Engine Lifecycle Extensions](https://jspwiki-wiki.apache.org/Wiki.jsp?page=HowToWriteAnEngineLifecycleExtension) into JSPWiki's [public API](https://jspwiki-wiki.apache.org/Wiki.jsp?page=JSPWikiPublicAPI).
* Extracted `org.apache.wiki.htmltowiki` to its own module, `jspwiki-wysiwyg`
* Dependency updates
* Apache parent pom to 25 - closes [#172](https://github.com/apache/jspwiki/pull/172), thanks to dependabot
* AWS Kendra Java SDK to 1.12.176
* Gson to 2.9.0
* Jetty to 9.4.45.v20220203 - closes [#175](https://github.com/apache/jspwiki/pull/175), thanks to dependabot
* Log4J to 2.17.2
* Nekohtml migrated to [CodeLibs' fork](https://github.com/codelibs/nekohtml), version 2.0.2
* Selenide to 6.3.4
* Tomcat to 9.0.59
* Maven compiler plugin to 3.10.1, project info reports plugin to 3.2.2 - closes [#174](https://github.com/apache/jspwiki/pull/174), thanks to dependabot
**2022-03-05 Dirk Frederickx (brushed AT apache DOT org)**
* _2.11.3-git-01_
* Fix for Xss vulnerability on XHRHtml2Markup.jsp. Adding additional protection against
malicious injection of invalid html/xml.
**2022-02-20 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.2-git-04_
* [JSPWIKI-79](https://issues.apache.org/jira/browse/JSPWIKI-79) - Ounce Labs Security Finding: Authentication - Change Password
* Refactored the `org.apache.wiki.htmltowiki` package, so it doesn't use `Stack` but instead a `Deque`. May split the package on the main module to its own module later on.
* Dependency updates
* Mockito 4.3.1
* Selenide to 6.3.3 - closes [#168](https://github.com/apache/jspwiki/pull/168)
* SLF4J to 1.7.36
* Tika to 2.3.0 - closes [#170](https://github.com/apache/jspwiki/pull/170)
* Tomcat to 9.0.58
* Maven compiler (3.10.0), project info reports (3.2.1 - closes [#169](https://github.com/apache/jspwiki/pull/169)), javadocs (3.3.2) and cargo-maven3 (1.9.10) plugins
**2022-01-13 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.2-git-03_
* Added [DefinitionExtension](https://github.com/vsch/flexmark-java/wiki/Extensions#definition-lists) and [TablesExtension](https://github.com/vsch/flexmark-java/wiki/Extensions#tables) to `jspwiki-markdown` in order to add support for definition lists and tables.
* [JSPWIKI-802](https://issues.apache.org/jira/browse/JSPWIKI-802) - Markdown syntax Support: added Markdown support for WYSIWYG editor.
* Currently, can be activated by setting the `jspwiki.syntax.decorator` property to `org.apache.wiki.htmltowiki.syntax.markdown.MarkdownSyntaxDecorator`.
* Details at [Markdown support page](https://jspwiki-wiki.apache.org/Wiki.jsp?page=Markdown%20Support).
* Last item pending for full Markdown support is Plain Editor integration.
* `XMLUserDatabase#getWikiNames()` now discards null and empty wiki names.
* It was discarding only `null` wiki names, but JDom returns an empty string (that is, not null) for missing attributes, which resulted in unreachable code.
* This change inlines with the logic of the UI on the registration form, which mandates a not empty value for the wiki name.
* Same on `JDBCUserDatabase#getWikiNames()` which seems to have been developed from the former (log message references XMLUserDatabase).
* Dependency updates
* Selenide to 6.2.0, thanks to dependabot [#165](https://github.com/apache/jspwiki/pull/165)
* Maven release (3.0.0-M5) and cargo plugins (1.9.9), thanks to dependabot [#164](https://github.com/apache/jspwiki/pull/164), [#166](https://github.com/apache/jspwiki/pull/166)
* Maven compiler (3.9.0) and jar (3.2.2) plugins
**2022-01-12 Dirk Frederickx (brushed AT apache DOT org)**
* _2.11.2-git-02_
* Protect the meta 'wikiUserName' tag against potential XSS attack.
(reported by Paulos Yibelo)
**2021-12-31 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.2-git-01_
* [JSPWIKI-1168](https://issues.apache.org/jira/projects/JSPWIKI/issues/JSPWIKI-1168) - Simplify required configuration to log on file: Added an unused rolling file appender configuration to `jspwiki.properties`, so switching log to file only requires referencing/overwritting a bit of configuration.
* Added [AttributesExtension](https://github.com/vsch/flexmark-java/wiki/Extensions#attributes) to `jspwiki-markdown` in order to add support for [Markdown Extra attributes](https://michelf.ca/projects/php-markdown/extra/#spe-attr).
* [JSPWIKI-1169](https://issues.apache.org/jira/projects/JSPWIKI/issues/JSPWIKI-1169) - Add Bill of materials module to build.
* `DefaultReferenceManager` now only synchronizes when (un)serializing data, since the underlying maps used are already handling concurrency.
* Some small refactors on htmltowiki decorators. Most notably, `<a>` syntax decorator only performs tasks related to syntax decoration.
* Dependency updates
* Log4J2 to 2.17.1, thanks to dependabot [#161](https://github.com/apache/jspwiki/pull/161)
* Lucene to 8.11.1, thanks to dependabot [#162](https://github.com/apache/jspwiki/pull/162)
* Mockito to 4.2.0, thanks to dependabot [#160](https://github.com/apache/jspwiki/pull/160)
* Selenide to 6.1.2
* Tika to 2.2.1, thanks to dependabot [#163](https://github.com/apache/jspwiki/pull/163)
**2021-12-13 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.1-git-02_
* Decoupled `XHtmlElementToWikiTranslator` from jspwiki syntax, so it will be able in a near future to output other wiki syntaxes.
* `XHtmlElementToWikiTranslator` acts as a chain in a chain of responsability pattern, delegating to a `SyntaxDecorator` the output of specific wiki syntaxes.
* Refactored classes may still change a little.
* Dependency updates
* Mockito to 4.1.0, thanks to dependabot [#152](https://github.com/apache/jspwiki/pull/152)
* Log4J2 to 2.15.0, thanks to [Paulino Calderon](https://github.com/cldrn) [#155](https://github.com/apache/jspwiki/pull/155) and then to 2.16.0, thanks to dependabot [#157](https://github.com/apache/jspwiki/pull/157)
* Sonar maven plugin to 3.9.1.2184, thanks to dependabot [#153](https://github.com/apache/jspwiki/pull/153)
* Tomcat to 9.0.56
**2021-12-02 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.1-git-01_
* Cache management moved to a new maven module, jspwiki-cache
* Cache backend can now be overriden by providing a custom CachingManager via [classmappings-extra.xml](https://jspwiki-wiki.apache.org/Wiki.jsp?page=JSPWikiPublicAPI#section-JSPWikiPublicAPI-RegisteringCustomManagersInTheWikiEngine)
* Default cache manager remains ehcache-based, with default configuration file located at ehcache-jspwiki.xml
* Tests wanting to invalidate cache(s) should call either `Engine#shutdown()` or `Engine#getManager( CachingManager.class ).shutdown()`
* The `jspwiki.cache.config-file` setting on the `jspwiki[-custom].properties` file allows to use a custom ehcache configuration file, located elsewhere on classpath
* Fixed [JSPWIKI-873](https://issues.apache.org/jira/projects/JSPWIKI/issues/JSPWIKI-873) - AttachmentManager#getAllAttachments() does not return more than exactly 1000 attachments
* Introduced `TextUtil#get[Required|String]Property( Properties, String key, String deprecatedKey[, String defval] )` to allow deprecation of properties, so they can be removed later on
* Deprecated key will be looked first and, if found, a warning will be logged asking to move to the new property
* If there's no deprecated key on the properties set, the normal key will be looked, and if not found, the default value will be returned (or exception thrown)
* The idea is to move related configuration towards common "namespaces"
* A few properties are deprecated
* `jspwiki.usePageCache` -> `jspwiki.cache.enable` should be used instead
* `jspwiki.attachmentProvider` -> `jspwiki.attachment.provider` should be used instead
* `jspwiki.attachmentProvider.adapter.impl` -> `jspwiki.attachment.provider.adapter.impl` should be used instead
* `WikiEngine#initComponent()` now asks the `mappedClass` if it is `Initializable` instead of asking the `requestedClass` on `classmappings.xml`.
* This allows to decouple `Initializable` from the mapped managers, as it should only matter if their implementations are `Initializable` in order to init them.
* Moved site generation to [jspwiki-site's Jenkinsfile](https://github.com/apache/jspwiki-site/blob/jbake/Jenkinsfile)
* This second build is decoupled from the main one, so CI feedback is gathered faster
* Dockerfile's maven build does not rely on jspwiki-main:tests being available on a repo, thus avoiding [#1](https://jspwiki-wiki.apache.org/Wiki.jsp?page=Common%20problems%20when%20building%20JSPWiki#section-Common+problems+when+building+JSPWiki-JspwikiMainJarTestsX.Y.ZNotFoundAtJspwikiMarkdown) when building new versions
* Dependency updates
* Awaitility to 4.1.1, thanks to dependabot [#152](https://github.com/apache/jspwiki/pull/152)
* JUnit to 5.8.2
* Selenide to 6.1.1
**2021-11-18 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-14_
* [JSPWIKI-1160](https://issues.apache.org/jira/browse/JSPWIKI-1160) - Ensure JSPWiki builds with JDKs 8, 11 and 17
* Dependency updates
* Lucene to 8.11.0
**2021-11-17 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-13_
* [JSPWIKI-1159](https://issues.apache.org/jira/browse/JSPWIKI-1159) - [ReferredPagesPlugin](https://jspwiki-wiki.apache.org/Wiki.jsp?page=ReferredPagesPlugin), [ReferringPagesPlugin](https://jspwiki-wiki.apache.org/Wiki.jsp?page=ReferringPagesPlugin), [ReferringUndefinedPagesPlugin](https://jspwiki-wiki.apache.org/Wiki.jsp?page=ReferringUndefinedPagesPlugin), [UndefinedPagesPlugin](https://jspwiki-wiki.apache.org/Wiki.jsp?page=UndefinedPagesPlugin) and [UnusedPagesPlugin](https://jspwiki-wiki.apache.org/Wiki.jsp?page=UnusedPagesPlugin) now accept a `columns` parameter to split the results into
* `CookieAuthenticationLoginModule#clearLoginCookie` ensures that the cookie to be deleted belongs to the logincookie directory
* Fixed login when using `CookieAuthenticationLoginModule`, http response was being written after being committed
* Fixed Dockerfile/JDK8 build
* Dependency updates
* cargo-maven2-plugin to cargo-maven3-plugin
* hsqldb to 2.6.1, thanks to dependabot [#151](https://github.com/apache/jspwiki/pull/151)
* Tomcat to 9.0.55
**2021-10-28 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-12_
* [#148](https://github.com/apache/jspwiki/pull/148) - Added missing translation de/german - Thanks to [Peter Hormanns](https://github.com/phormanns)!
* Several code improvements, all relevant PRs provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* [JSPWIKI-1155](https://issues.apache.org/jira/browse/JSPWIKI-1155) - String concat in StringBuilder [#140](https://github.com/apache/jspwiki/pull/140)
* [JSPWIKI-1156](https://issues.apache.org/jira/browse/JSPWIKI-1156) - Remove `protected` member in `final` class [#141](https://github.com/apache/jspwiki/pull/141)
* [JSPWIKI-1157](https://issues.apache.org/jira/browse/JSPWIKI-1157) - Remove redundant String [#142](https://github.com/apache/jspwiki/pull/142)
* [JSPWIKI-1158](https://issues.apache.org/jira/browse/JSPWIKI-1158) - Remove unnecessary ToString [#147](https://github.com/apache/jspwiki/pull/147)
* Dependency updates
* Gson to 2.8.9, thanks to dependabot [#150](https://github.com/apache/jspwiki/pull/150)
* Lucene to 8.10.1, thanks to dependabot [#149](https://github.com/apache/jspwiki/pull/149)
* Selenide to 6.0.3 [#145](https://github.com/apache/jspwiki/pull/145)
**2021-10-16 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-11_
* [JSPWIKI-1140](https://issues.apache.org/jira/browse/JSPWIKI-1140) - Autogenerate changenote on page comments
* [JSPWIKI-1149](https://issues.apache.org/jira/browse/JSPWIKI-1149) - Missing legacy Lucene codec [#143](https://github.com/apache/jspwiki/pull/143)
* First stab at `XHtmlElementToWikiTranslator` refactor, so it'll be easier in the future to make it output other types of wiki syntaxes
* Dependency updates, provided by dependabot
* Jetty-all to 9.4.44.v20210927 [#139](https://github.com/apache/jspwiki/pull/139)
* Lucene to 8.10.0 [#143](https://github.com/apache/jspwiki/pull/143)
* Mockito to 4.0.0 [#144](https://github.com/apache/jspwiki/pull/144)
* Selenide to 5.25.0 [#138](https://github.com/apache/jspwiki/pull/138)
* Tomcat to 9.0.54
**2021-09-27 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-10_
* Several code improvements, all relevant PRs provided by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* [JSPWIKI-1148](https://issues.apache.org/jira/browse/JSPWIKI-1148) - Avoid File Stream [#47](https://github.com/apache/jspwiki/pull/47)
* [JSPWIKI-1151](https://issues.apache.org/jira/browse/JSPWIKI-1151) - Simplify assertion with simpler and equivalent calls [#134](https://github.com/apache/jspwiki/pull/134)
* [JSPWIKI-1152](https://issues.apache.org/jira/browse/JSPWIKI-1152) - Make final variable when is possible [#135](https://github.com/apache/jspwiki/pull/135)
* [JSPWIKI-1153](https://issues.apache.org/jira/browse/JSPWIKI-1153) - Inline Variable [#136](https://github.com/apache/jspwiki/pull/136)
* [JSPWIKI-1154](https://issues.apache.org/jira/browse/JSPWIKI-1154) - Replace ´if´ with switch statements [#137](https://github.com/apache/jspwiki/pull/137)
* Dependency updates, provided by dependabot
* JUnit to 5.8.1 [#132](https://github.com/apache/jspwiki/pull/132)
* Selenide to 5.24.4 [#131](https://github.com/apache/jspwiki/pull/131)
* Tomcat to 9.0.53 [#127](https://github.com/apache/jspwiki/pull/127)
* XStream to 1.4.18 [#128](https://github.com/apache/jspwiki/pull/128)
**2021-09-11 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-09_
* Docker images pushed to Docker Hub
* Dependency updates
* Commons IO to 2.11.0 [#125](https://github.com/apache/jspwiki/pull/125)
* GSON to 2.8.8 [#126](https://github.com/apache/jspwiki/pull/126)
* Mockito to 3.12.4 [#123](https://github.com/apache/jspwiki/pull/123)
* Selenide to 5.24.2
* Some maven plugins [#121](https://github.com/apache/jspwiki/pull/121), [#122](https://github.com/apache/jspwiki/pull/122), [#124](https://github.com/apache/jspwiki/pull/124)
**2021-09-01 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-08_
* [JSPWIKI-1143](https://issues.apache.org/jira/browse/JSPWIKI-1143) - Allow SpamFilter to exclude certain users/groups from checks
* `jspwiki.filters.spamfilter.allowedgroups` property can be used to set a comma separated list of groups that will bypass the filter
* Denounce plugin checks for valid URLs
* Dependency updates
* ASF parent pom to 24
* AWS java sdk kendra to 1.12.59
* EhCache to 2.10.9.2
* Jetty to 9.4.43.v20210629 [#117](https://github.com/apache/jspwiki/pull/117)
* Lucene to 8.9.0 [#115](https://github.com/apache/jspwiki/pull/115)
* Selenide to 5.24.1
* Tika to 2.1.0
* Tomcat to 9.0.52
* Some maven plugins [#58](https://github.com/apache/jspwiki/pull/58), [#114](https://github.com/apache/jspwiki/pull/114), [#119](https://github.com/apache/jspwiki/pull/119), [#120](https://github.com/apache/jspwiki/pull/120)
**2021-07-30 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-07_
* [JSPWIKI-795](https://issues.apache.org/jira/browse/JSPWIKI-795) - Update Logging subsystem to Log4J2
* Replace all Log4J code with Log4J2.
* `PropertyReader#loadWebAppProps( ServletContext )` now takes the following properties sources:
* 1.- Default JSPWiki properties
* 2.- System environment
* 3.- JSPWiki custom property files
* 4.- JSPWiki cascading properties
* 5.- System properties
* With the later ones taking precedence over the previous ones. To avoid leaking system information, only System
environment and properties beginning with `jspwiki` (case unsensitive) are taken into account.
* Also, to ease docker integration, System env properties containing "_" are turned into ".". F.ex.,
`ENV jspwiki_fileSystemProvider_pageDir` would be loaded as `jspwiki.fileSystemProvider.pageDir`.
* Minor Dockerfile updates
* Dependency updates
* Selenide to 5.23.1
* SLF4J to 1.7.32
* Tika to 2.0.0
**2021-07-12 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-06_
* [JSPWIKI-795](https://issues.apache.org/jira/browse/JSPWIKI-795) - Update Logging subsystem to Log4J2
* Log4J2 is the new logging framework used by JSPWiki. Although all Log4J calls are transparently routed to Log4J2,
the configuration inside jspwiki.properties has changed, so installations with customized logging configuration will
need to be set up again.
* Existing 3rd party plugins, filters and providers will continue to work as expected, as Log4J calls will be routed
to Log4J2, but the use of Log4J2 should be preferred onwards.
* Note that Log4J calls are still used throughout JSPWiki; they'll be replaced by equivalent Log4J2 calls later on,
but this will be an implementation detail that should be transparent to end users.
* This should be the last breaking change towards 2.11.0.
* Dependency updates
* Awaitility to 4.1.0
* AWS Kendra to 1.12.21 [#113](https://github.com/apache/jspwiki/pull/113)
* Commons Lang to 3.12.0 [#61](https://github.com/apache/jspwiki/pull/61)
* EhCache to 2.10.9.2 [#64](https://github.com/apache/jspwiki/pull/64)
* JUnit to 5.7.2
* Log4J replaced by Log4J2, 2.14.1
* Lucene to 8.9.0 [#62](https://github.com/apache/jspwiki/pull/62)
* Mockito to 3.11.2
* Selenide to 5.22.2
* Tika to 1.27
* Tomcat to 9.0.50
**2021-04-24 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-05_
* [JSPWIKI-1145](https://issues.apache.org/jira/browse/JSPWIKI-1145) - Weak one-way hash used
* Merged [PR #51](https://github.com/apache/jspwiki/pull/51), contributed by [takalat](https://github.com/takalat), [samhareem](https://github.com/samhareem), thanks!
* Dependency & plugin updates provided by dependabot (PRs [#34](https://github.com/apache/jspwiki/pull/34), [#35](https://github.com/apache/jspwiki/pull/35), [#39](https://github.com/apache/jspwiki/pull/39), [#52](https://github.com/apache/jspwiki/pull/52), [#55](https://github.com/apache/jspwiki/pull/55), [#56](https://github.com/apache/jspwiki/pull/56), [#57](https://github.com/apache/jspwiki/pull/57) and [#59](https://github.com/apache/jspwiki/pull/59)), most notably
* HSQLDB to 2.6.0
* JUnit to 5.7.1
* Mockito to 3.9.0
* Selenide to 5.20.4
* Tomcat to 9.0.45
**2021-03-09 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-04_
* [JSPWIKI-1146](https://issues.apache.org/jira/browse/JSPWIKI-1146) - Add [AWS Kendra as a Search Provider](https://jspwiki-wiki.apache.org/Wiki.jsp?page=KendraSearchProvider)
* Merged [PR #46](https://github.com/apache/jspwiki/pull/46), contributed by Julien Masnada, thanks!
* [JSPWIKI-1144](https://issues.apache.org/jira/browse/JSPWIKI-1144) - Minor performance improvement
* Merged [PR #36](https://github.com/apache/jspwiki/pull/36), contributed by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* [JSPWIKI-1147](https://issues.apache.org/jira/browse/JSPWIKI-1147) - The button "Clear user preferences"
doesn't clear user preferences
**2021-01-11 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-03_
* [JSPWIKI-1142](https://issues.apache.org/jira/browse/JSPWIKI-1142) - Minor performance improvements
* Merged [PR #32](https://github.com/apache/jspwiki/pull/32), contributed by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* `PropertyReader` logs stacktrace if unable to load the `jspwiki.properties` file
* `WikiEngine` unregisters all event delegates from `WikiEventManager` on shutdown. Under some circumstances, unit tests
using a `TestEngine` could end up processing events using managers registered by previous `TestEngine`s.
* Tests using in-memory `Hsql` servers start them on random ports, in order to allow concurrent builds.
* Dependency updates
* Selenide to 5.17.3
**2021-01-01 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-02_
* Dependency updates provided by dependabot (PRs [#18](https://github.com/apache/jspwiki/pull/18), [#19](https://github.com/apache/jspwiki/pull/19), [#20](https://github.com/apache/jspwiki/pull/20), [#21](https://github.com/apache/jspwiki/pull/21), [#22](https://github.com/apache/jspwiki/pull/22), [#23](https://github.com/apache/jspwiki/pull/23), [#24](https://github.com/apache/jspwiki/pull/24), [#25](https://github.com/apache/jspwiki/pull/25), [#26](https://github.com/apache/jspwiki/pull/26), [#27](https://github.com/apache/jspwiki/pull/27), [#28](https://github.com/apache/jspwiki/pull/28), [#29](https://github.com/apache/jspwiki/pull/29) and [#30](https://github.com/apache/jspwiki/pull/30)), most notably
* jsp-api to 2.3.3
* Selenide to 5.17.2
**2020-12-17 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-git-01_
* [JSPWIKI-1135](https://issues.apache.org/jira/browse/JSPWIKI-1135) - Add dependabot config file
* Merged [PR #15](https://github.com/apache/jspwiki/pull/15), contributed by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* [JSPWIKI-1136](https://issues.apache.org/jira/browse/JSPWIKI-1136) - Refine Class member fields
* Merged [PR #16](https://github.com/apache/jspwiki/pull/16), contributed by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* [JSPWIKI-1137](https://issues.apache.org/jira/browse/JSPWIKI-1137) - Minor Improvement
* Merged [PR #17](https://github.com/apache/jspwiki/pull/17), contributed by [Arturo Bernal](https://github.com/arturobernalg), thanks!
* Dependency updates
* Gson to 2.8.6
* Tomcat to 9.0.41
**2020-12-01 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M8-git-06_
* Completed french translation - thanks to Ainara González Pérez!
* Dependency updates
* Tika to 1.25
**2020-11-29 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M8-git-05_
* [JSPWIKI-1134](https://issues.apache.org/jira/browse/JSPWIKI-1134): german translation improved
* Patches provided by Dietrich Schmidt - thanks!
* Extracted hidden input fields expected by the SpamFilter into its own custom tag and applied it to editor-related JSPs.
* Ensure IndexPlugin works with non-blank page references.
* Use ConcurrentHashMap inside DefaultReferenceManager, to avoid possible thread safety issues.
* Dependency updates
* Selenide 5.16.2
* Tomcat to 9.0.40
**2020-11-10 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M8-git-04_
* [JSPWIKI-1131](https://issues.apache.org/jira/browse/JSPWIKI-1131): Lucene Index not updated on edits/new page
* Ensure latest version of page gets indexed, so changes using `VersioningFileProvider` get returned by searches.
* Removed unused publishers from `Jenkinsfile` in order to speed up the CI build.
**2020-11-07 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M8-git-03_
* Added functional tests for page edits and page searches.
* Simplified generation of portable build native binaries, a simple `mvn clean install -Dgenerate-native-launchers=true`
is all that is needed to generate the binaries. As this takes some more time, is only needed when upgrading tomcat and
needs to download artifacts not present on Maven's central repo, it is not enabled by default.
* Jenkinsfile uses JDK 11 to perform the build, as this is now the minimum [required by SonarQube](https://sonarcloud.io/documentation/appendices/end-of-support/).
The build itself still requires at least JDK 1.8.
* Dependency updates
* Cargo plugin to 1.8.2
* Lucene to 8.7.0
* Mockito 3.6.0
* Selenide 5.15.1
* Tomcat to 9.0.39
**2020-10-14 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M8-git-02_
* [JSPWIKI-1114](https://issues.apache.org/jira/browse/JSPWIKI-1114): Show only part of Weblog entry on the overview page.
* Preview parameter cutting now only at newlines, patch suggested by Ulf Dittmer - thanks!
* LuceneSearchProvider using now NIOFSDirectory instead of (deprecated) SimpleFSDirectory. Also, all Lucene's index
writes are synchronized, whereas reads are not. This should help with issues noted at [JSPWIKI-1131](https://issues.apache.org/jira/browse/JSPWIKI-1131).
* _2.11.0-M8-git-01_
* [JSPWIKI-1131](https://issues.apache.org/jira/browse/JSPWIKI-1131): Lucene Index not updated on edits/new page
* Dependency updates
* Awaitility to 4.0.3
* Commons IO to 2.8.0
* Commons Lang to 3.11
* Commons Text to 1.9
* Flexmark to 0.62.2
* Hsqldb to 2.5.1
* JUnit to 5.7.0
* Lucene to 8.6.2
* Mockito 3.5.13
* Selenide 5.15.0
* Tomcat to 9.0.38
**2020-05-21 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-20_
* Dependency updates
* Flexmark to 0.61.32
* Tomcat to 9.0.35
**2020-04-09 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-19_
* [JSPWIKI-304](https://issues.apache.org/jira/browse/JSPWIKI-304): Workflows are not Serializable
* Dependency updates
* Flexmark to 0.61.26
* JUnit to 5.6.2
* Lucene to 8.5.1
* Selenide to 5.11.1
* Tika to 1.24
**2020-04-09 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-18_
* [JSPWIKI-303](https://issues.apache.org/jira/browse/JSPWIKI-303): [JSPWiki API](https://jspwiki-wiki.apache.org/Wiki.jsp?page=JSPWikiPublicAPI) library creation
* Promote `RenderingManager#textToHtml( Context, String )` to the public API
* Dependency updates
* Tomcat to 9.0.34
**2020-03-29 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-17_
* Extracted Wiki initialization servlet context listener to its own module `jspwiki-bootstrap`
* This module is responsible for the startup procedures of the application, before the Engine is created:
* Locate and instantiate Wiki's SPIs implementations
* Log configuration
* Begin to prepare [JSPWIKI-795](https://issues.apache.org/jira/projects/JSPWIKI/issues/JSPWIKI-795) - Update logging subsystem in JSPWiki
* Log4J will now be configured only if present in classpath. Right now this means always, but once
the logging subsystem is updated and in order to allow backwards compatibility with existing custom
extensions, it will have to be explicitly added.
* Small usability improvement on login page: make tab key follow login form fields
* Dependency updates
* Commons Lang to 3.10
* Introduced Mockito 3.3.3 as mock testing library
**2020-03-29 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-16_
* [JSPWIKI-303](https://issues.apache.org/jira/browse/JSPWIKI-303): [JSPWiki API](https://jspwiki-wiki.apache.org/Wiki.jsp?page=JSPWikiPublicAPI) library creation
* SPI to retrieve / create objects from the `o.a.w.api.core` package
* it is possible to provide custom implementations of objects from the `o.a.w.api.core` package
* for a custom `Engine`, an implementation of `o.a.w.api.spi.EngineSPI`, and set the
`jspwiki.provider.impl.engine` property on the `jspwiki-[custom].properties` file with the
fully qualified name of the implementation
* for a custom `Context`, an implementation of `o.a.w.api.spi.ContextSPI`, and set the
`jspwiki.provider.impl.context` property on the `jspwiki-[custom].properties` file with the
fully qualified name of the implementation
* for a custom `Session`, an implementation of `o.a.w.api.spi.SessionSPI`, and set the
`jspwiki.provider.impl.session` property on the `jspwiki-[custom].properties` file with the
fully qualified name of the implementation
* for custom `Page` or `Attachment`, an implementation of `o.a.w.api.spi.ContentsSPI`, and set the
`jspwiki.provider.impl.contents` property on the `jspwiki-[custom].properties` file with the
fully qualified name of the implementation
* for custom `Acl` or `AclEntry`, an implementation of `o.a.w.api.spi.AclsSPI`, and set the
`jspwiki.provider.impl.acls` property on the `jspwiki-[custom].properties` file with the
fully qualified name of the implementation
* [JSPWIKI-806](https://issues.apache.org/jira/browse/JSPWIKI-806) (EntityManager Proposal): add the possibility of loading custom managers on `WikiEngine`
* `WikiEngine` will look on classpath for an `ini/classmappings-extra.xml` file, with the same structure as
`ini/classmappings.xml`
* if found, will register each `requestedClass` with its correspondent `mappedClass`
* these custom manager must have a no-arg constructor
* if there's a need to perform some initialization tasks querying the `Engine`, the custom manager should
implement `o.a.w.api.engine.Initializable` and perform those tasks there
* `SisterSites.jsp` now honours page ACLs
**2020-03-25 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-15_
* [JSPWIKI-303](https://issues.apache.org/jira/browse/JSPWIKI-303): JSPWiki-API library creation
* `Page` deals with ACLs
* Refactor `WikiEngine` initialization, in order to prepare for building and configuring custom
managers (somewhat related to [JSPWIKI-806](https://issues.apache.org/jira/browse/JSPWIKI-806) - EntityManager Proposal)
* Dependency updates
* Lucene to 8.5.0
* JUnit to 5.6.1
**2020-03-21 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-14_
* [JSPWIKI-303](https://issues.apache.org/jira/browse/JSPWIKI-303): JSPWiki-API library creation
* added compatibility to page / attachment providers not using the public API
* `jspwiki.pageProvider` should be set to `WikiPageAdapterProvider` and then `jspwiki.pageProvider.adapter.impl`
to the actual page provider
* `jspwiki.attachmentProvider` should be set to `WikiAttachmentAdapterProvider` and then `jspwiki.attachmentProvider.adapter.impl`
to the actual attachment provider
* see `WikiProviderAdaptersTest` on the jspwiki-210-adapters module for an example
* `Page` does not deal with ACLs yet
* SPI to create objects from the `o.a.w.api.core` package still needs to be done
* Added more helper methods to `TestEngine` to ease building customized instances (again, see `WikiProviderAdaptersTest` on the
jspwiki-210-adapters module for an example)
* Dependency updates
* Tika to 1.24
* Tomcat to 9.0.33
* Selenide to 5.10.0
**2020-03-16 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-13_
* [JSPWIKI-303](https://issues.apache.org/jira/browse/JSPWIKI-303): JSPWiki-API library creation
* Extracted `jspwiki-event` and `jspwiki-api` maven modules from `jspwiki-main`
* Created `jspwiki-210-adapters` and `jspwiki-210-test-adaptees` maven modules to ensure backwards
compatibility with custom plugin / filters / page providers not using public API
* JSPWiki Plugins, Filters and Page Providers are using the public API
* Use of `o.a.w.api.core.Command` instead of `o.a.w.ui.Command` and of `o.a.w.api.search.QueryItem` and
`o.a.w.api.search.SearchResult` instead of their counterparts from the `o.a.w.search` package
* Start to introduce `Page`, `Attachment` and `Context` instead of `WikiPage`, `WikiAttachment` and `WikiContext`
* JSPWiki API still needs some polishing
* `Page` does not deal with ACLs yet
* SPI to create objects from the `o.a.w.api.core` package still needs to be done
* `WikiPageProvider` and `WikiAttachmentProvider` backwards compatibility still needs to be done
**2020-03-06 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-12_
* [JSPWIKI-303](https://issues.apache.org/jira/browse/JSPWIKI-303): JSPWiki-API library creation
* Extracted `o.a.w.api.core.Session` from `o.a.w.WikiSession`, and use it throughout the code
* Removed `o.a.w.api.engine` package, moving the interfaces there to their appropiate packages.
* Promote `o.a.w.Release` to the `o.a.w.api` package
* Internal classes' refactors in order to break some class / packages cycles.
* Updated Tomcat to 9.0.31 in order to get JDK 8 level to compile and run JSPs when using the Cargo
plugin. Baseline is still servlet 3.1 (i.e.: Tomcat 8.x), though.
**2002-03-04 Dirk Frederickx (brushed AT apache DOT org)**
* _2.11.0-M7-git-11_
* Links with target="_blank" can expose your site to performance and security issues.
Add rel="noreferrer" as protect against this issue.
**2020-02-24 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-10_
* Finally, finished [JSPWIKI-120](https://issues.apache.org/jira/browse/JSPWIKI-120):
* Use `Engine` instead of `WikiEngine` throughout the code as much as possible.
* `URLConstructor#initialize(..)` receives an `Engine` instead of a `WikiEngine`.
* `InitializablePlugin` and implementing classes receive an `Engine` instead of a `WikiEngine`.
* `PageFilter`s receive an `Engine` instead of a `WikiEngine` on `initialize` method.
* Rename + extract interfaces from `EditorManager`, `InternationalizationManager`, `SearchManager`,
and `TemplateManager`.
* Updated Flexmark to 0.60.2
**2020-02-24 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-09_
* [JSPWIKI-120](https://issues.apache.org/jira/browse/JSPWIKI-120):
* Use `Engine` inside `WikiContext`, `WikiSession`, `WikiPage`, `Attachment` and `SessionMonitor`.
* e.g. `WikiContext#getEngine()` now returns an `Engine` instead of a `WikiEngine`. To retrieve a manager
from it just use `Engine#getManager( DesiredManager.class )`. See implementations on `getXXXManager()`
methods on `WikiEngine` for details.
* `WikiProvider#initialize(..)` receives an `Engine` instead of a `WikiEngine`.
* `Engine` gains an `adapt( Class< E > cls )`, to facilitate downcasting to `Engine` implementation classes.
* Removed `Engine#getCurrentWatchDog()`, as it was a pass-through and introduced a package cycle; use instead
`WatchDog#getCurrentWathDog( Engine )`.
`o.a.wiki` and `o.a.w.event`. To obtain the `WikiEngine` reference from the event just use `getSrc()`
* Rename + extract interfaces from `AttachmentManager`, `AuthenticationManager`, `AuthorizationManager`,
`GroupManager` and `UserManager`.
**2020-02-20 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-08_
* [JSPWIKI-120](https://issues.apache.org/jira/browse/JSPWIKI-120): finally, extracted `Engine` interface from
`WikiEngine`. It will be part of JSPWiki public API later on.
* removed direct reference to `WikiEngine` on `WikiEngineEvent`, in order to break package cycle between
`o.a.wiki` and `o.a.w.event`. To obtain the `WikiEngine` reference from the event just use `getSrc()`
* extract new `PluginElement` interface from `PluginContent` in order to break a package/class cycle between
`PluginContent` and `ParserStagePlugin`
* Merged [PR #13](https://github.com/apache/jspwiki/pull/13) from [Kideath](https://github.com/kideath) in order
to fix russian translation. Thanks!
* Dependency updates
* Flexmark to 0.50.50
* Selenide to 5.7.0
* Tomcat to 8.5.51
**2002-02-14 Dirk Frederickx (brushed AT apache DOT org)**
* _2.11.0-M7-git-07_
* AttachmentManager: fix the order of processing. Added a few extra unit tests.
* Few minor SonarCloud fixes
**2020-01-28 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-06_
* [JSPWIKI-120](https://issues.apache.org/jira/browse/JSPWIKI-120): Separate rendering engine from core
* `CommandResolver` renamed as `org.apache.wiki.ui.DefaultCommandResolver`, with new
`org.apache.wiki.ui.CommandResolver` extracted as interface of the latter
* `ProgressManager` renamed as `org.apache.wiki.ui.progress.DefaultProgressManager`, with new
`org.apache.wiki.ui.progress.ProgressManager` extracted as interface of the latter
* removed `createContext(..)` method from `WikiEngine` use new constructor on `WikiContext` instead
* removed `WikiEngine#getRedirectURL(..)` use same method on `WikiContext`
* Removed `WikiEventUtils` if relying on it use directly `WikiEventManager.getInstance().addWikiEventListener( client, listener )`
* Fixed possible synchronization issues on `DefaultProgressManager` and `WikiAjaxDispatcherServlet`
* `PageEventFilter` moved from `event` to `filters` package
* `WikiEngine#init(..)` now enforces at least a 3.1 servlet api environment, inline with the servlet-api dependency version
* [JSPWIKI-1127](https://issues.apache.org/jira/browse/JSPWIKI-1127): Get rid of `jspwiki.referenceStyle`
* Dependency updates
* ASF parent pom to version 23
* Awaitility to 4.0.2
* Flexmark to 0.50.48
* JUnit to 5.6.0
* Lucene to 8.4.1
* SLF4J to 1.7.30
**2020-01-16 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-05_
* [JSPWIKI-120](https://issues.apache.org/jira/browse/JSPWIKI-120): Separate rendering engine from core
* `RenderingManager` renamed as `org.apache.wiki.render.DefaultRenderingManager`, with new
`org.apache.wiki.render.RenderingManager` extracted as interface of the latter
* moved `textToHtml(..)` methods from `WikiEngine` to `RenderingManager`
* moved `getHTML(..)` methods from `WikiEngine` to `RenderingManager`
* moved `beautifyTitle( String )` and `beautifyTitleNoBreak` methods from `WikiEngine` to `RenderingManager`
* `VAR_EXECUTE_PLUGINS` and `WYSIWYG_EDITOR_MODE` constants from `RenderingManager` moved to `WikiContext` (the latter
as `VAR_WYSIWYG_EDITOR_MODE`)
* constant `PROP_RUNFILTERS` from `WikiEngine` moved to `VariableManager` as `VAR_RUNFILTERS`.
* constants `PUNCTUATION_CHARS_ALLOWED` and `LEGACY_CHARS_ALLOWED` from `MarkupParser` moved to `TextUtil`.
* Update ASF parent pom + plugin definitions to support, as far as possible, [reproducible builds](https://maven.apache.org/guides/mini/guide-reproducible-builds.html)
**2020-01-09 Juan Pablo Santos (juanpablo AT apache DOT org)**
* _2.11.0-M7-git-04_
* [JSPWIKI-120](https://issues.apache.org/jira/browse/JSPWIKI-120): Separate rendering engine from core - following methods moved from
`WikiEngine` to `PageManager`
* `deletePage(..)` and `deleteVersion(..)` methods
* `getPage(..)`
* `pageExist(..)` methods, renamed as `wikiPageExist(..)`
* `saveText()`
* `getText(..)` methods
* `getPureText( String, int )`