What's Changed
- upgrade Felix m-bundle-p: reproducible builds by @hboutemy in #555
- Bump junit from 4.13 to 4.13.1 by @dependabot in #547
- [WW-5182] Upgrade to Servlet API 3.1 by @lukaszlenart in #550
- [WW-5181] Blocks permanently access to static methods by @lukaszlenart in #549
- Bump xercesImpl from 2.12.0 to 2.12.2 by @dependabot in #551
- Potential expression cache enhancement for 2.6 series by @JCgH4164838Gh792C124B5 in #528
- Basic LocalDateTime support by @gregh3269 in #532
- [WW-5165] Upgrades Spring to version 5.3.20 by @lukaszlenart in #552
- [WW-5179] Set default value of struts.ognl.expressionMaxLength to 256 by @lukaszlenart in #553
- Add basic LocalDateTime support WW-5175 by @gregh3269 in #554
- [WW-5168] Support submit unchecked in Javatemplates and fixes logic for FTL template by @lukaszlenart in #531
- [WW-5016] Adds support for LocalDate and adjusts tests to use the new Java 8 API by @lukaszlenart in #529
- Update mvnw to 3.1.0 and migrate from takari to apache by @sepe81 in #516
- [WW-5161] Update spring to 4.3.30 by @sepe81 in #517
- upgrade Felix maven-bundle-plugin to 5.1.3 by @hboutemy in #518
- upgrade maven-war-plugin to 3.3.1 by @hboutemy in #519
- REST Showcase fix for broken JSPs using S2 link tags by @JCgH4164838Gh792C124B5 in #520
- Update log4j to 2.17.1 to address CVE-2021-44832. by @Chromico in #521
- [WW-4792] Uses proper names for constants by @lukaszlenart in #522
- [WW-5117] Evaluates dynamic attributes - cherrypick by @lukaszlenart in #525
- [WW-5022] Sets escapeHtmlBody to false by default and defines a new flag by @lukaszlenart in #523
- [WW-5112] Reduces logging in logic around missing resource key by @lukaszlenart in #527
- [WW-5115] Reduces logging for ignored DMI related params when DMI is disabled by @lukaszlenart in #526
- WW-4558 contentType override ignored for JSONInterceptor by @victorsosa in #87
- WW-4634 Centre alignment doesn't seem to work in Velocity tags by @victorsosa in #95
- add allowed methods to handleUnknownAction by @justinjmiller in #99
- WW-4650 Json deserialization does not work in 2.5.1 by @victorsosa in #103
- sync up execution ids with top-level Apache pom, otherwise the sources are deployed twice during release by @pbruski in #101
- action parameters should be included when building the URL to action by @pbruski in #102
- WW-4652 fixed a concurrency issue in addDefaultResourceBundle by @pbruski in #106
- WW-4572 Http parameters by @lukaszlenart in #58
- WW-4638 - TestNG 6.9.10 dependency error by @victorsosa in #98
- Change to the documentation by @andrea-ligios in #107
- Fix freemaker error in checkbox.ftl of css_xhtml template by @tiv-source in #109
- [WW-4620] Improve XWorkListPropertyAccessor to against DOS attack by @quaff in #105
- updated javadoc after changing to enum by @sdutry in #110
- replaced String constants for marking status with enum by @sdutry in #111
- WW-4690 added version to jshint-maven-plugin by @sdutry in #112
- ConversionErrorInterceptor to extend MethodFilterIntercept by @gregh3269 in #108
- WW-4636 - File upload error message always in default language by @aleksandr-m in #113
- Virtual file representation by @lukaszlenart in #114
- WW-4737 Properly handle arrays containing nulls by @ThrawnCA in #115
- [WW-4694] annotation processing improved by @yasserzamani in #117
- [WW-4528] handling ChainingInterceptor excludes and includes lists by @yasserzamani in #116
- [WW-4741] Do not force session creation on locale read operation by @yasserzamani in #119
- WW-4753: Injectable context by @lukaszlenart in #120
- WW-4714: Localized bean by @lukaszlenart in #121
- WW-4757: LocaleProvider factory by @lukaszlenart in #122
- WW-4756: Introduce TextFactoryProvider by @lukaszlenart in #123
- WW-4744: AnnotationUtils supports non-public methods by @yasserzamani in #124
- WW-4578: Multidimensional validation by @lukaszlenart in #128
- WW-4780 : upgraded version of log4j2 to 2.8.2 by @sdutry in #132
- WW-4210: Type conversion class by @lukaszlenart in #131
- WW-3952: Credit card validator by @lukaszlenart in #130
- WW-4749: Buffer/Flush behaviour in FreemarkerResult by @lukaszlenart in #134
- WW-4105 Unwraps Spring proxy in actions chain by @yasserzamani in #135
- WW-4762: Default provider by @lukaszlenart in #137
- WW-3171 WW-3650 WW-4581: Locale aware converters by @lukaszlenart in #138
- WW-4800 Executes aspects when chaining AOPed actions by @yasserzamani in #139
- WW-4801 Only one hidden field per checkboxlist. by @gregh3269 in #140
- WW-4805 Blocks ognl access to class members of Spring proxy by @yasserzamani in #142
- WW-4794 Fixes wrapField's where clause by @yasserzamani in #143
- WW-4744 WW-4694 Removes annotation search to commons lang 3.6 by @yasserzamani in #144
- add constant to control proxy member access by @aleksandr-m in #146
- WW-4821 Upgrade Commons IO to 2.5 by @sdutry in #149
- WW-4819 fixed commons-collections groupId in dependency management by @sdutry in #150
- WW-4818 change default Multipart validation regex to comply with RFC1341 by @sdutry in #151
- WW-4826 upgrade to ASM version 5.2 by @sdutry in #152
- WW-4808: Multiple suffixes by @lukaszlenart in #148
- WW-4831 properly convert nulls in arrays by @ThrawnCA in #154
- WW-4834 Improve RegEx used to validate URLs by @sdutry in #156
- WW-4827 Not fully initialized ObjectFactory tries to create beans by @aleksandr-m in #153
- WW-4835: Configurable handlers by @lukaszlenart in #158
- WW-4834 fixed faulty regex by @sdutry in #157
- WW-4840 Build Fails Due to Unused com.sun Import by @swiftelan in #161
- WW-4839 JakartaStreamMultiPartRequest Should Honor "struts.multipart.… by @swiftelan in #160
- return request HTTP method to fix problem for portlets with multipart validation by @pheaber in #162
- WW-4843 DefaultUrlHelper().buildUrl() not outputting port when used as parameter by @aleksandr-m in #163
- WW-4846 Does not traverse/include proxy info in JSONResult by @yasserzamani in #164
- WW-4851 Upgrade to Log4j2 2.9.0 by @sdutry in #166
- Fixes a snippet typo by @yasserzamani in #170
- WW-4849: Initializable interface by @lukaszlenart in #168
- remove an obsolete TODO comment by @pengyunie in #171
- WW-4034 Allows to use custom JSONwriter by @yasserzamani in #167
- Site generation by @lukaszlenart in #174
- WW-4877: adds missing header with license by @lukaszlenart in #175
- WW-4862: Multipart regex by @lukaszlenart in #176
- WW-4884: Allow define just a TextProvider by @lukaszlenart in #178
- WW-4846 Adds unit tests by @yasserzamani in #180
- WW-4869 Fixes JarEntryRevision by @yasserzamani in #172
- WW-4888 add escaping possibilities to text-tag by @sdutry in #181
- WW-4871 Fixes StringConverter and improves it's tests by @yasserzamani in #173
- WW-4713 Added deprecation warnings as preparation to drop searchValue… by @sdutry in #184
- WW-4876 WW-4841 Parses validators after all injections done by @yasserzamani in #185
- Pimp my struts by @lukaszlenart in #183
- WW-4892 WW-4893: Use Jackson to handle JSON request by @lukaszlenart in #187
- changed Map iterations to use entrySet when both key and value are used by @sdutry in #186
- WW-4900 Makes BackgroundProcess transient by @yasserzamani in #191
- WW-4901 Decouples from URL.openConnection implementation of container by @yasserzamani in #190
- WW-4873 Makes ActionInvocation not serializable and InvocationSessionStore$InvocationContext transient by @yasserzamani in #192
- Increases the coverage of DefaultActionInvocation by @yasserzamani in #193
- used char instead of a single character string by @sdutry in #194
- WW-4903: fixes PrefixBasedActionProxyFactory by @lukaszlenart in #195
- Minor Formatting changes by @sdutry in #197
- add tests to UIBean class by @sdutry in #198
- WW-4905: Allows Initializable interface on implementing class instead of interface by @lukaszlenart in #196
- fix conversion by annotation and WW-4906 by @yasserzamani in #199
- WW-4907 support JSR 303 Validation Groups in BeanValidation-Plugin by @HedjuHor in #200
- WW-4909: Renames a constant and adds a test by @lukaszlenart in #202
- add tests for initializable to cover more scopes by @yasserzamani in #203
- WW-4891 Debug tag should not display anything when not in dev mode by @HedjuHor in #201
- Initial test dedicated for the DefaultUnknownHandlerManager by @zalsaeed in #205
- WW-4899: upgrade Spring by @lukaszlenart in #189
- WW-4912: scan package-info and class at the same time by @lukaszlenart in #206
- WW-4741: Do not create session by @lukaszlenart in #207
- WW-4921 initialize session like WW-3442 by @yasserzamani in #214
- WW-4920 fix java.net.JarURLConnection#parseSpecs by @yasserzamani in #211
- WW-4923 Null check to avoid NPE when not passing a JDBC connection by @zepernick in #212
- WW-4922: Jackson XML by @lukaszlenart in #210
- WW-4910 Align OptGroup with Select by @quaff in #204
- WW-4875 Add ability to use Java based configuration by @aleksandr-m in #177
- WW-4915 Replace deprecated commons-lang3 classes by @aleksandr-m in #208
- WW-685 Add generic type conversion error message by @aleksandr-m in #215
- WW-4874 Introduces Async plugin (adds support for async methods) by @yasserzamani in #179
- WW-4928 Using the same default value delimiter by @aleksandr-m in #217
- WW-4865: Add "requiredValue" parameter to Checkbox Struts Tag by @burtonrhodes in #169
- Upgrade to Java EE5 by @lukaszlenart in #216
- Immutable context by @lukaszlenart in #125
- WW-4937 Add SortedSet support to JSON plugin by @loomchild in #219
- WW-4887 upgrade Tiles to 3.0.8 by @yasserzamani in #220
- drop searchValueStack attribute from the s:text tag by @sdutry in #222
- drop deprecated logging layer by @sdutry in #223
- WW-4932 honor .properties file before the generic parametrics by @yasserzamani in #221
- WW-4779 Remove profiling layer by @sdutry in #224
- update commons-beanutils dependency to version 1.9.3 by @sdutry in #225
- WW-4931 update Apache FreeMarker to version 2.3.28 by @sdutry in #228
- WW-4792 Removes deprecated XWork constants by @sdutry in #227
- WW-4769 add unit tests to verify immutable collections by @sullis in #232
- add 'sun.misc.' to struts.excludedPackageNames by @sullis in #231
- add 'com.opensymphony.xwork2.ognl.' to excludedPackageNames by @sullis in #239
- add unit test for Dispatcher init() by @sullis in #236
- fix typos in README by @ThrawnCA in #240
- Fix logging messages by @benelog in #241
- Better logging message (for WW-4954) by @aleksandr-m in #246
- WW-4954 Moves XWorkList out of util package by @lukaszlenart in #249
- Fixed grammar by @zmacomber in #251
- Fix typo in a local variable naming by @thinkshihang in #253
- increase test coverage by @yasserzamani in #254
- WW-4967 Jackson 2.9.6 by @sullis in #237
- Minor config fixes for the Showcase Application: by @JCgH4164838Gh792C124B5 in #255
- WW-4963 Implement new Aware interfaces by @lukaszlenart in #252
- [WW-4973] Upgrades to OGNL 3.2.8 by @lukaszlenart in #258
- Proposed unit test improvement for Windows, plus one additional minor change by @JCgH4164838Gh792C124B5 in #261
- Update maven-wrapper to 3.5.4 and add maven-wrapper.jar to .gitignore by @sepe81 in #266
- Update Struts 2.6.0 build with some newer (compatible) library versions. by @JCgH4164838Gh792C124B5 in #265
- Remove dependencies cglib and cglib-nodep by @sepe81 in #268
- WW-4930 Add constant to enable smi inheritance by @pHeidelbach in #267
- WW-4845 pass all current tests with java 9 by @yasserzamani in #262
- Refactor environment dependant tests and replace deprecated classes by @sepe81 in #272
- WW-4982 Remove the deprecated JsonLibHandler and json-lib dependency by @sepe81 in #273
- [WW-4977] Fixing flaky test in Jsr168DispatcherTest and Jsr286DispatcherTest. by @OrDTesters in #263
- Update various plugin dependencies by @sepe81 in #269
- Update maven bundle plugin by @sepe81 in #274
- [WW-4981] Adds support for JDK11 by @lukaszlenart in #270
- WW-4983 Set private access modifier for HttpParameters.toMap by @sepe81 in #276
- Fix: Resources should be closed by @sepe81 in #277
- Remove unused private methods by @sepe81 in #278
- WW-4985 Update persistence-api from 1.0 to 1.0.2 by @sepe81 in #279
- Enhance after_success for Travis CI by @sepe81 in #280
- Minor update to Struts 2.6 SecurityMemberAccess. by @JCgH4164838Gh792C124B5 in #282
- Fix various sonar warnings for class ActionSupport by @sepe81 in #284
- Upgrade DWR from 1.x to 2.x by @JCgH4164838Gh792C124B5 in #283
- WW-4069 upgrade to DWR 3 with a showcase by @yasserzamani in #285
- WW-4987 Add list attributes to optgroup tag by @aleksandr-m in #286
- [WW-4889] Adds XML handler based on Apache Juneau by @lukaszlenart in #287
- [WW-4964] Drops duplicated import of utils.js by @lukaszlenart in #290
- [WW-4989] Uses JacksonXML handler a default handler for XML in the REST plugin by @lukaszlenart in #288
- Update Struts 2.6 to the latest OGNL 3.2.x version available. by @JCgH4164838Gh792C124B5 in #294
- [WW-4938] Uses container to create an instance of the class by @lukaszlenart in #295
- Updates and cleanup for some configuration-related items (2.6.x) by @JCgH4164838Gh792C124B5 in #292
- Enhancement for s:set tag to allow better tag body whitespace control. by @JCgH4164838Gh792C124B5 in #299
- [WW-4938] Reverts dropping injecting internal beans in Spring Factory by @lukaszlenart in #300
- [WW-4938] Adds missing test case and properly fixes injecting internal beans by @lukaszlenart in #302
- [WW-4975] Upgrades commons-fileupload to version 1.4 - Struts 2.6 by @lukaszlenart in #303
- Fix sonar warnings for DefaultTypeConverter by @sepe81 in #298
- introduce integration tests with minimum needed changes by @yasserzamani in #301
- [WW-4996] Refactor DefaultTypeConverterCreator to use ObjectFactory#buildConverter by @lukaszlenart in #297
- [WW-4972] Switches incompatible_improvements to VERSION_2_3_28 by @lukaszlenart in #289
- Update Embedded JSP Plugin (more current Juli/Jasper versions) by @JCgH4164838Gh792C124B5 in #307
- Equivalent to PR#309, but for the master (2.6.x) branch. by @JCgH4164838Gh792C124B5 in #311
- [WW-5001] Adds support for struts-conversion.properties files by @lukaszlenart in #313
- [WW-5007] Upgrades Jackson libraries to version 2.9.8 by @lukaszlenart in #319
- Fix for access issue for 2.6 discovered in WW-5004: by @JCgH4164838Gh792C124B5 in #320
- Upgrades OWASP dependency-check-plugin to version 4.0.2 by @lukaszlenart in #325
- Switch to Java 8 by @aleksandr-m in #312
- WW-5009 EmptyStackException in JSON plugin due to concurrency by @aleksandr-m in #329
- Update jenkins badge by @aleksandr-m in #331
- WW-5016 Support java8 date/time in date tag by @aleksandr-m in #330
- Improve SecurityMemberAccess by @aleksandr-m in #323
- WW-5020 delete deprecated sitegraph plugin by @yasserzamani in #332
- Fix 2.6 Showcase bean-validator Java 11 failures. by @JCgH4164838Gh792C124B5 in #335
- Fix for default (un-configured) allowStaticFieldAccess state, Showcase Application in 2.6.x by @JCgH4164838Gh792C124B5 in #334
- Upgrade SLF4J to 1.7.26 (WW-5023) by @JCgH4164838Gh792C124B5 in #337
- Update maven-wrapper to 0.5.3 and maven to 3.6.0 by @sepe81 in #338
- Forward-port fix for WW-5026 to 2.6 by @JCgH4164838Gh792C124B5 in #345
- Forward port fix for WW-5024 to 2.6: by @JCgH4164838Gh792C124B5 in #346
- Add common .gitignore patterns from gitignore.io by @sepe81 in #351
- WW-5011 use Tiles already provided URLApplicationResource by @yasserzamani in #352
- Update maven-wrapper to 0.5.5 and maven to 3.6.1 by @sepe81 in #359
- [WW-5034] Forward port - Minor enhancement/fix to AbstractLocalizedTextProvider: by @JCgH4164838Gh792C124B5 in #360
- Fix typo in MultiselectInterceptor javadoc by @sehaas in #363
- Defines a Docker build by @lukaszlenart in #364
- [WW-5038] Upgrades jackson-databind to version 2.9.9.3 by @lukaszlenart in #365
- Forward-port PR#354 from 2.5.x to 2.6.x (cherry-pick) by @JCgH4164838Gh792C124B5 in #368
- Forward-port PR#366 from 2.5.x to 2.6.x (cherry-pick) by @JCgH4164838Gh792C124B5 in #369
- Forward-port PR#367 from 2.5.x to 2.6.x (cherry-pick) by @JCgH4164838Gh792C124B5 in #370
- Update dependencies by @sepe81 in #374
- Remove duplicate attribute by @Scaralu in #375
- Add more consistency to code by @gabrielmcoelho in #377
- Proposed fix for WW-5022 (escape html tag body control flag) by @JCgH4164838Gh792C124B5 in #373
- WW-5045 Update jasperreports to 6.10.0 by @sepe81 in #379
- Fix xml configuration provider test by @sepe81 in #381
- WW-5048 Update various dependencies to newest version by @sepe81 in #382
- Fix incorrect encoding strings in FileUploadInterceptorTest (cherry-pick fix for 2.6.x) by @JCgH4164838Gh792C124B5 in #386
- Update maven-wrapper to 0.5.6 and maven to 3.6.3 by @sepe81 in #389
- Update OWASP dependency-check-maven to 5.2.4 by @sepe81 in #388
- WW-5050 cherry pick #371 and related commits by @yasserzamani in #390
- [WW-5003] Drops XWorkException and uses StrutsException instead by @lukaszlenart in #391
- [WW-5049] Velocity plugin by @lukaszlenart in #384
- Minor follow-up to WW-5050 changes to ContainerImpl by @JCgH4164838Gh792C124B5 in #392
- WW-5057 Showcase cleanup for 2.6 branch by @JCgH4164838Gh792C124B5 in #395
- debug docker by @yasserzamani in #396
- [WW-5054] debug=browser by @lukaszlenart in #393
- [WW-5047] Upgrades to VelocityEngine 2.1 and VelocityTools 3.0 by @lukaszlenart in #394
- Proposed implementation to address WW-5030. by @JCgH4164838Gh792C124B5 in #398
- WW5052 TypeConversionException instead StrutsException by @santosr09 in #399
- Proposed WW-5068 change by @JCgH4164838Gh792C124B5 in #403
- Cherry-Pick PR#404 into master by @JCgH4164838Gh792C124B5 in #409
- [WW-4043] Moves TestUtils into junit-plugin by @lukaszlenart in #408
- WW-4796 Rename springconstants to have a uniform naming pattern by @sdutry in #229
- [WW-5017] Drops deprecated Validation annotation as not needed by @lukaszlenart in #407
- [WW-5070] Adds more sophisticated logic to search for the Root by @lukaszlenart in #406
- [WW-5065] Defines a new flag to control appending params - cherry-pick by @lukaszlenart in #410
- Cherry-Pick PR#411 into master by @JCgH4164838Gh792C124B5 in #412
- Proposed WW-5074 Fix by @JCgH4164838Gh792C124B5 in #413
- [WW-4789] [WW-3788] ActionContext refactoring by @lukaszlenart in #397
- Tiny improvements by @lukaszlenart in #414
- Minor post WW-5030 Cleanup for 2.6.x by @JCgH4164838Gh792C124B5 in #415
- Cherry-pick PR#416 and PR#417 from 2.5.x into 2.6.x by @JCgH4164838Gh792C124B5 in #418
- [WW-5077] Uses better logging to inform user about excluded params (cherry-pick) by @lukaszlenart in #420
- [WW-5081] Makes textarea compatible with W3C by @lukaszlenart in #423
- [WW-5080] Defines a new result type plain to use directly with Java code by @lukaszlenart in #422
- WW-5083: Adds support for Fetch Metadata in Struts2. by @salcho in #426
- WW-5083 PR#426 follow-up. by @JCgH4164838Gh792C124B5 in #428
- WW-5085: Add Cross-Origin Opener Policy (COOP) and Cross-Origin Embedder Policy (COEP) support by @gchatz22 in #432
- WW-5075 Fixes for OSGi plugin in 2.6.x by @JCgH4164838Gh792C124B5 in #433
- WW-5084: Add Content Security Policy support to Struts by @salcho in #430
- [WW-5088] Empty file upload, storeLocation null gives wrong error message. by @gregh3269 in #435
- WW-5087 handle Parameter.Empty properly by @yasserzamani in #439
- Refactoring Nonce Propagation in Struts Tags for CSP by @eozmen410 in #434
- WW-5088: Fix empty file upload with commons-fileupload:1.4. by @pys-arhs in #440
- WW-5088: Integration test for empty file upload. by @pys-arhs in #441
- Update RestfulActionMapper.java by @peutch in #443
- Update Restful2ActionMapper.java by @peutch in #444
- Fix meaningless close by @lcc in #445
- [WW-5098] Upgrade asm to 9.0 by @sepe81 in #448
- [WW-5095] Cherry picks changes from 2-5-x branch by @lukaszlenart in #447
- [WW-5096] Fix StaticParametersInterceptor param overwrite by @yasserzamani in #449
- [WW-3730] Avoids conversion to String[] of passed params by @lukaszlenart in #450
- [WW-4929] Adds support for Accept-Language header when looking up Locale by @lukaszlenart in #451
- [WW-5078] Removes support for DTDs by @lukaszlenart in #452
- WW-5093 - Improve tag var attribute comments. by @JCgH4164838Gh792C124B5 in #454
- sort getMethods for deterministic iteration order by @Yilinwang in #455
- [WW-3877] Drops altSyntax option by @lukaszlenart in #453
- [WW-5100] Applies encoding to response as well by @lukaszlenart in #456
- [WW-3877] Removes comments about altSyntax by @lukaszlenart in #459
- [WW-5063] Adds null check for ActionInvocation by @lukaszlenart in #461
- Initial attempt to address WW-5101 by @JCgH4164838Gh792C124B5 in #460
- Proposed TextProvider feature addition (and cleanup) by @JCgH4164838Gh792C124B5 in #467
- [WW-4742] Stops evaluating default message as a OGNL expression by @lukaszlenart in #463
- [WW-5000] Extracts string literals as constants by @lukaszlenart in #464
- [WW-5099] Upgrades JFreeChart to version 1.5.1 by @lukaszlenart in #465
- [WW-5056] Accepts dashes in param names by @lukaszlenart in #466
- [WW-5021] Introduces a new constant to allow define a path to static content by @lukaszlenart in #462
- [WW-4799] Adding struts.date.format as a conversion format for DateConverter by @lukaszlenart in #468
- [WW-5113] [WW-5114] Drops deprecated config options by @lukaszlenart in #470
- WW-5116: Fix wrong regex range by @Marcono1234 in #471
- WW-2411 Add a maxlength attribute to the textarea tag by @kerttup in #474
- [WW-5119] Fix: remove contention during localized text lookup (JDK 1.8+) by @davoustp in #476
- [WW-5121] Fix: remove contention during Scope.SINGLETON injection by @davoustp in #478
- [WW-5117] Keeps Action always on top of the ValueStack by @lukaszlenart in #480
- [WW-5125] use .get(...) instead of [...] for fieldErrors by @yasserzamani in #487
- [WW-5126] use == instead of .equals in ModelDrivenInterceptor by @yasserzamani in #486
- add 'java.lang.Thread' to struts.excludedClasses by @sullis in #488
- Fix NPE in XmlConfigurationProvider.java by @containerAnalyzer in #491
- [WW-5132] [WW-5123] labelposition - cherry-pick by @lukaszlenart in #492
- [WW-5136] Makes class attribute deprecated - cherry-pick by @lukaszlenart in #494
- [WW-5073] - simplify AbstractMatcher convertParam by @sdutry in #497
- [WW-5064] Move XWork Spring support into struts2-spring-plugin by @sdutry in #498
- [WW-5143] [WW-5142] Upgrades OVal to ver. 3.2.1 and upgrades XStream to ver 1.4.18 by @lukaszlenart in #499
- fixed flakiness in JacksonXmlHandlerTest.java by @FanYuliang in #500
- [WW-5129] Supports dynamic attributes in second control by @lukaszlenart in #502
- Add test codes to check the encoding of response by @powercomsmt in #505
- Cache all OGNL expressions (when enabled) irrespective of their execution status [Fixes WW-5147] by @davoustp in #504
- Fix flaky test testDynamicAttributesSupport. by @yyfMichaelYan in #506
- Update maven to 3.8.3 by @sepe81 in #508
- [WW-5148] Upgrade ASM to version 9.2 by @sepe81 in #509
- fix double evaluations... by @yasserzamani in #483
- WW-5124 - Proposed fix for Struts JSP tag behaviour with tag pooling (re-target to 2.6.x) by @JCgH4164838Gh792C124B5 in #501
- [WW-5151] Bump to 2.15.0 to fix log4j vulnerability by @cldrn in #511
- Update maven to 3.8.4 by @sepe81 in #512
- Update slf4j to 1.7.32 by @sepe81 in #513
- log4j 2.17.0 by @sullis in #514
New Contributors
- @dependabot made their first contribution in #547
- @Chromico made their first contribution in #521
- @justinjmiller made their first contribution in #99
- @tiv-source made their first contribution in #109
- @ThrawnCA made their first contribution in #115
- @pheaber made their first contribution in #162
- @pengyunie made their first contribution in #171
- @HedjuHor made their first contribution in #200
- @zalsaeed made their first contribution in #205
- @zepernick made their first contribution in #212
- @burtonrhodes made their first contribution in #169
- @loomchild made their first contribution in #219
- @sullis made their first contribution in #232
- @zmacomber made their first contribution in #251
- @thinkshihang made their first contribution in #253
- @pHeidelbach made their first contribution in #267
- @OrDTesters made their first contribution in #263
- @sehaas made their first contribution in #363
- @Scaralu made their first contribution in #375
- @gabrielmcoelho made their first contribution in #377
- @santosr09 made their first contribution in #399
- @salcho made their first contribution in #426
- @gchatz22 made their first contribution in #432
- @eozmen410 made their first contribution in #434
- @pys-arhs made their first contribution in #440
- @peutch made their first contribution in #443
- @lcc made their first contribution in #445
- @Yilinwang made their first contribution in #455
- @kerttup made their first contribution in #474
- @containerAnalyzer made their first contribution in #491
- @FanYuliang made their first contribution in #500
- @powercomsmt made their first contribution in #505
- @yyfMichaelYan made their first contribution in #506
- @cldrn made their first contribution in #511
Full Changelog: STRUTS_2_5_30...STRUTS_6_0_0
Staging Maven repo
https://repository.apache.org/content/groups/staging/
Standalone artifacts
https://dist.apache.org/repos/dist/dev/struts/6.0.0/
Release notes
https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.0.0