blob: 4f2ef5b6408c5fcefa4871e25e79433ca4ee77cb [file] [view]
Apache Axis2 2.0.1 Release Notes
--------------------------------
## Java Version Support
Apache Axis2 2.0.1 adds **OpenJDK 21 and 25 support** and **requires OpenJDK 17 as the minimum version** (upgraded from Java 8). The SecurityManager APIs removed in Java 21 are handled transparently, and legacy Date/Calendar APIs have been modernized to use java.time APIs. All features are fully tested and supported on Java 17, 21, and 25.
## New Features
- **AXIS2-6098**: HTTP/2 transport module with multiplexing, ALPN negotiation, and adaptive timeouts. Includes standalone HTTP/2 Java client example (`Http2JsonClient`).
- **AXIS2-6103**: Streaming JSON message formatters (`MoshiStreamingMessageFormatter`, `JSONStreamingMessageFormatter`) with `FlushingOutputStream` that flushes every 64KB. Prevents reverse proxy 502 errors on large responses. Field-level filtering via `FieldFilteringMessageFormatter` and `?fields=` query parameter. MCP (Model Context Protocol) support for AI agents with auto-generated `inputSchema` from Java method parameter types.
- **AXIS2-6100**: OpenAPI 3.0.1 spec generation and Swagger UI from Axis2 service definitions.
- **axis2-spring-boot-starter**: New module for Spring Boot autoconfiguration of Axis2.
- **AXIS2-6040**: `Automatic-Module-Name` defined for Java 9+ module system compatibility.
## Removed Features
- **AXIS2-6105**: Eclipse codegen and service plugins, IntelliJ IDEA plugin, OSGi module (AXIS2-6076), JiBX data binding, SOAPMonitor, Scripting (BSF/JSR-223), FastInfoset. See [AXIS2-6105](https://issues.apache.org/jira/browse/AXIS2-6105) for details.
- **AXIS2-6102**: WSDL 2.0 (Woden) implementation removed. WSDL 1.1 remains fully supported.
- **AXIS2-6097**: Clustering feature removed.
- **AXIS2-6079**: Java Security Manager / AccessController code removed (deprecated in Java 17, removed in Java 24).
## Breaking Changes
- **Minimum Java Version**: Requires **Java 17** (previously Java 8)
- **API Modernization**: Legacy Date/Calendar usage replaced with java.time.Instant APIs
- **Security**: SecurityManager dependent code removed for Java 21+ compatibility
- **Removed modules**: Users of JiBX, SOAPMonitor, Scripting, FastInfoset, Eclipse/IDEA plugins, OSGi, WSDL 2.0, or Clustering must migrate before upgrading from 2.0.0
<h2> Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-4146'>AXIS2-4146</a>] - HTTP status code 400 is changed to 500
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5696'>AXIS2-5696</a>] - Axis 2 threads are not closing properly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5788'>AXIS2-5788</a>] - ConfigurationContext.getServiceGroupContext(id) always touches the id - (&quot;Observer Effect&quot;)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5852'>AXIS2-5852</a>] - &#39;Axis2 task&#39; threads stays in waiting state without terminating
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5858'>AXIS2-5858</a>] - soap:address location&#39;s value is wrong with IPv6
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5862'>AXIS2-5862</a>] - Handler / Phase Indexes incorrect?
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5904'>AXIS2-5904</a>] - Intermittent Rampart policy configuration missing Error
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5965'>AXIS2-5965</a>] - .class files up to 3 times redundantly in jar file
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5966'>AXIS2-5966</a>] - Axis2 1.8.0-SNAPSHOT fix did not work for JDK 11
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5972'>AXIS2-5972</a>] - missing namespace declaration - attribute present in multiple XSD&#39;s not parsed correctly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6031'>AXIS2-6031</a>] - xmlbeans generator generates methods with @deprecated in javadoc only, but not marked with @Deprecated annotation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6047'>AXIS2-6047</a>] - Missing Port in the Host header of the requests coming from HTTPClient4TransportSender implementation.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6055'>AXIS2-6055</a>] - Basic Auth credentials are missing in request
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6061'>AXIS2-6061</a>] - Axis2 client parses soap envolope in case of a http-404
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6074'>AXIS2-6074</a>] - Issue with empty enum tags
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6083'>AXIS2-6083</a>] - Cookie Handling not work with 2.0.0
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6086'>AXIS2-6086</a>] - AxisServlet - processAxisFault - does not guard against NumberFormatException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6087'>AXIS2-6087</a>] - Master branch using 1.8.0 AAR/MAR dependencies - switch to 2.0.0?
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6090'>AXIS2-6090</a>] - Tomcat Version too high?
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6091'>AXIS2-6091</a>] - Problem handling HTTP Response in OutInAxisOperationClient / TransportUtils
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6094'>AXIS2-6094</a>] - CRC of some axis2 jars distributed via WAR archive is different than CRC of jars distributed via public repositories
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6095'>AXIS2-6095</a>] - Axis2&#39;s IDL parser (Corba Module) gives fault on valid comment
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6096'>AXIS2-6096</a>] - Attempted read on closed stream for multithreaded environment
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6101'>AXIS2-6101</a>] - Adapt to changes in HttpClient 5.6
</li>
</ul>
<h2> Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-3879'>AXIS2-3879</a>] - Ability to change the http status code in the response being sent to the client
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5762'>AXIS2-5762</a>] - Add Transport Ports to MessageContext
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-5881'>AXIS2-5881</a>] - Small improvement to the listServices.jsp to sort services and operations
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6040'>AXIS2-6040</a>] - Define Automatic-Module-Name for Java9 module system compatibility
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6053'>AXIS2-6053</a>] - cvc-complex-type.3.2.2: Attribute &#39;contentType&#39; is not allowed to appear in element ...
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6082'>AXIS2-6082</a>] - Make Axis2 build reproducible
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6085'>AXIS2-6085</a>] - Build instructions in README don&#39;t mention bash requirement
</li>
</ul>
<h2> Task
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6076'>AXIS2-6076</a>] - OSGI jakarta support is unmaintained
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6079'>AXIS2-6079</a>] - Remove the Java Security Manager from AccessController and Java2SecTest
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6097'>AXIS2-6097</a>] - Remove Clustering feature
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6098'>AXIS2-6098</a>] - Add HTTP/2 transport and docs explaining the benefits
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6100'>AXIS2-6100</a>] - Add REST support for OpenAPI (formerly known as Swagger)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6102'>AXIS2-6102</a>] - Woden (WSDL 2.0) Removal
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6103'>AXIS2-6103</a>] - Add MCP protocol support for AI agents
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6105'>AXIS2-6105</a>] - Remove OSGi bundle packaging from transport modules
</li>
<li>[<a href='https://issues.apache.org/jira/browse/AXIS2-6106'>AXIS2-6106</a>] - Remove unmaintained XMPP transport module
</li>
</ul>