These are the notes for the Struts version 7.0.0-M distribution.
For prior notes in this release series, see Version Notes 6.7.0
Maven users
If you are a Maven user, you might want to get started using the Maven Archetype.
Maven Dependency
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>7.0.0</version> </dependency>
You can also use Struts Archetype Catalog like below
Struts Archetype Catalog
mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/
Staging Repository
<repositories> <repository> <id>apache.nexus</id> <name>ASF Nexus Staging</name> <url>https://repository.apache.org/content/groups/staging/</url> </repository> </repositories>
Internal Changes
- Java 17 is used as minimal supported version
- Migrated to JakartaEE
- Stronger security options
- All classes from package
com.opensymphony.xwork
(and subpackages) have been moved intoorg.apache.struts2
- Classes related to
text
&locale
have been moved toorg.apache.struts2.text
ororg.apache.struts2.locale
Please read all the previous milestones related versions notes as well:
- Version Notes 7.0.0-M10
- Version Notes 7.0.0-M9
- Version Notes 7.0.0-M8
- Version Notes 7.0.0-M7
- Version Notes 7.0.0-M6
- Version Notes 7.0.0-M3
- Version Notes 7.0.0-M2
- Version Notes 7.0.0-M1
Bug
- [WW-5110] - java.lang.ClassCastException: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter cannot be cast to jakarta.servlet.Filter
- [WW-5390] - Fix missing assembly packages when preparing a new release
- [WW-5396] - Javatemplates s:file shows server/file location
- [WW-5423] - Query Parameters in Multipart Requests not working in v7 M6
- [WW-5438] - Wrong scope on weld dependencies
- [WW-5440] - Fix OGNL allowlist compatibility with Convention plugin
- [WW-5450] - ServletDispatcherResult Forwarding GET Instead of FORWARD
- [WW-5457] - Struts Home Page Linked to old version of Struts 7
- [WW-5461] - Multiple uploaded files cannot be processed individually
- [WW-5463] - SiteMesh 3.2.1 does not resolve jsp path after Struts Filter
- [WW-5464] - Struts Wildcard actions are failing from v7.0.0-M7
- [WW-5468] - ModelDriven is not compatible with @StrutsParameter
- [WW-5473] - ActionFileUploadInterceptor doesn't support multiple HttpServletRequestWrapper
- [WW-5486] - Parameters which are added via ServletDispatcherResult aren't availabe in #parameters
New Feature
- [WW-5141] - Support for JEE 9+
- [WW-5372] - JEE9 Support(Jakarta namespacing) for struts2 core
- [WW-5481] - Move text related classes into org.apache.struts2.text
- [WW-5482] - Move locale related classes into dedicated packages
Improvement
- [WW-3499] - AnnotationParameterFilterIntereptor should support deep OGNL
- [WW-4807] - Allow define custom Voters to be used with SecurityMemberAccess
- [WW-5251] - Remove deprecated interfaces used with ServletConfigInterceptor
- [WW-5306] - Remove the Portlet plugin
- [WW-5335] - Adjusts Jenkins & Github build files to use JDK17
- [WW-5353] - Implement stronger security defaults in Struts 7.0
- [WW-5388] - Upgrade Commons Fileupload to FileUpload Jakarta Servlet 6
- [WW-5405] - Renames master branch to main branch
- [WW-5428] - Allowlist capability should resolve Hibernate proxies when disableProxyObjects is not set
- [WW-5429] - Log parameter annotation issues at ERROR level when in DevMode
- [WW-5433] - Remove deprecated constants in FreemarkerManager
- [WW-5439] - Fix and clean up DevMode excluded class configuration
- [WW-5449] - Make Velocity Tools dependency optional for Velocity plugin
- [WW-5453] - Rename VelocityManager interface and default implementation
- [WW-5454] - Log warnings on startup for disabled critical security features
- [WW-5458] - Address e.printStackTrace
- [WW-5459] - Move Action and ActionChainResult to proper packages
- [WW-5465] - Rename tag's parameters into attributes
- [WW-5472] - Remove deprecated Struts Sitemesh plugin
- [WW-5485] - Remove deprecated plugins
Task
- [WW-3714] - Rename org.opensymphony.xwork2 to org.apache.struts2.xwork2
- [WW-5384] - Upgrade Log4j to version 2.22.1
- [WW-5386] - Remove deprecated FileUploadInterceptor
- [WW-5411] - Delete deprecated classes and members
Dependency
- [WW-5209] - Upgrade to Jakarta Bean Validation 3.0
- [WW-5393] - Update caffeine to 3.1.8
- [WW-5427] - Enable incompatible_improvements in Freemaker