| # Release Notes - Axis2/C Version 2.0.0 | |
| Version 2.0.0 is a major release that includes 17 years of accumulated fixes and improvements since version 1.6.0 (2009). This release resolves over 115 issues from the Apache Jira issue tracker. | |
| ## Bug Fixes | |
| | Issue | Summary | | |
| |-------|---------| | |
| | [AXIS2C-787](https://issues.apache.org/jira/browse/AXIS2C-787) | axutil_qname_to_string serialize with the prefix | | |
| | [AXIS2C-936](https://issues.apache.org/jira/browse/AXIS2C-936) | On incomplete response message, the client receives response data for the elements up to the error, but no indication of the error | | |
| | [AXIS2C-1001](https://issues.apache.org/jira/browse/AXIS2C-1001) | Axis2/C Stress tests fail | | |
| | [AXIS2C-1005](https://issues.apache.org/jira/browse/AXIS2C-1005) | dual clients report an error in log | | |
| | [AXIS2C-1153](https://issues.apache.org/jira/browse/AXIS2C-1153) | memory leak in code generated by WSDL2C, op not freed in axis2_stub_populate_services_for_myService | | |
| | [AXIS2C-1182](https://issues.apache.org/jira/browse/AXIS2C-1182) | adb_XXXX_add_nodes(_XXXX, env, _Y) FAILURES | | |
| | [AXIS2C-1192](https://issues.apache.org/jira/browse/AXIS2C-1192) | axis2c dual sample clients give a memory corruption in consecutive execution | | |
| | [AXIS2C-1197](https://issues.apache.org/jira/browse/AXIS2C-1197) | CodeGenerationException thrown without info about input files problem | | |
| | [AXIS2C-1204](https://issues.apache.org/jira/browse/AXIS2C-1204) | memory leak for In-Only message with no parameter | | |
| | [AXIS2C-1214](https://issues.apache.org/jira/browse/AXIS2C-1214) | memory leak when server returns an error | | |
| | [AXIS2C-1217](https://issues.apache.org/jira/browse/AXIS2C-1217) | multiple memory leaks on the client side | | |
| | [AXIS2C-1222](https://issues.apache.org/jira/browse/AXIS2C-1222) | Axis2/C AXIOM libxml2 parser frees the IO context before calling the AXIS2_CLOSE_INPUT_CALLBACK | | |
| | [AXIS2C-1224](https://issues.apache.org/jira/browse/AXIS2C-1224) | Error in WSDL2C while generating stubs in C | | |
| | [AXIS2C-1227](https://issues.apache.org/jira/browse/AXIS2C-1227) | engine not freed when server return an error | | |
| | [AXIS2C-1236](https://issues.apache.org/jira/browse/AXIS2C-1236) | Memory issues in Axis2/C service client | | |
| | [AXIS2C-1239](https://issues.apache.org/jira/browse/AXIS2C-1239) | Build failure in freebsd | | |
| | [AXIS2C-1258](https://issues.apache.org/jira/browse/AXIS2C-1258) | memory leaks in when using tls | | |
| | [AXIS2C-1261](https://issues.apache.org/jira/browse/AXIS2C-1261) | When several fire and forget sends are done using svc client it segfaults | | |
| | [AXIS2C-1262](https://issues.apache.org/jira/browse/AXIS2C-1262) | Leaking a axiom_soap_envelope_t in axiom_soap_builder_create error path | | |
| | [AXIS2C-1275](https://issues.apache.org/jira/browse/AXIS2C-1275) | Axiom default namespace serialization and deserialization are not compatible | | |
| | [AXIS2C-1289](https://issues.apache.org/jira/browse/AXIS2C-1289) | Incorrect deserialization when the first child is an empty element | | |
| | [AXIS2C-1294](https://issues.apache.org/jira/browse/AXIS2C-1294) | Same handler inserted in two places | | |
| | [AXIS2C-1312](https://issues.apache.org/jira/browse/AXIS2C-1312) | axis2_http_client_connect_ssl_host() cannot make an https connection through http proxy when the proxy requires authentication | | |
| | [AXIS2C-1338](https://issues.apache.org/jira/browse/AXIS2C-1338) | "make install" overly eager | | |
| | [AXIS2C-1339](https://issues.apache.org/jira/browse/AXIS2C-1339) | Wrong unique class names generation | | |
| | [AXIS2C-1342](https://issues.apache.org/jira/browse/AXIS2C-1342) | When enable "persistOperationContext" parameter in axis2.xml, server crashes | | |
| | [AXIS2C-1353](https://issues.apache.org/jira/browse/AXIS2C-1353) | Externally passed configuration context and service should not be freed within service client | | |
| | [AXIS2C-1355](https://issues.apache.org/jira/browse/AXIS2C-1355) | Changing service client options between messages | | |
| | [AXIS2C-1367](https://issues.apache.org/jira/browse/AXIS2C-1367) | sprintf format I32d not supported by Visual C++ 6.0 | | |
| | [AXIS2C-1373](https://issues.apache.org/jira/browse/AXIS2C-1373) | Name matching fails with choice element | | |
| | [AXIS2C-1374](https://issues.apache.org/jira/browse/AXIS2C-1374) | adb generated code has warnings | | |
| | [AXIS2C-1376](https://issues.apache.org/jira/browse/AXIS2C-1376) | Lots of memory leak in axis2/c library | | |
| | [AXIS2C-1378](https://issues.apache.org/jira/browse/AXIS2C-1378) | operation name is corrupted by the time it reaches dispatcher | | |
| | [AXIS2C-1379](https://issues.apache.org/jira/browse/AXIS2C-1379) | typedef done too late in special cases - CADBBeanTemplateHeader.xsl | | |
| | [AXIS2C-1388](https://issues.apache.org/jira/browse/AXIS2C-1388) | Memory leak AXIS2C | | |
| | [AXIS2C-1390](https://issues.apache.org/jira/browse/AXIS2C-1390) | When creating the build.sh script for C-language the flatten-file option is not properly used | | |
| | [AXIS2C-1401](https://issues.apache.org/jira/browse/AXIS2C-1401) | WSDL2C produces to WSDL2JAVA incompatible ADB-Binding for WSDL file | | |
| | [AXIS2C-1403](https://issues.apache.org/jira/browse/AXIS2C-1403) | Code generation having problem in Windows | | |
| | [AXIS2C-1404](https://issues.apache.org/jira/browse/AXIS2C-1404) | MTOM does not work with CGI installation of Axis | | |
| | [AXIS2C-1408](https://issues.apache.org/jira/browse/AXIS2C-1408) | axis2_dep_engine_load_client exits with the env status to AXIS2FAILURE | | |
| | [AXIS2C-1411](https://issues.apache.org/jira/browse/AXIS2C-1411) | thread_unix and thread_windows inconsistency as for axutil_thread_exit | | |
| | [AXIS2C-1421](https://issues.apache.org/jira/browse/AXIS2C-1421) | adb-bindings for typeless parameter only gives access to the first element if passed an array | | |
| | [AXIS2C-1447](https://issues.apache.org/jira/browse/AXIS2C-1447) | axutil_hash_free() should free using ht->env | | |
| | [AXIS2C-1465](https://issues.apache.org/jira/browse/AXIS2C-1465) | crash in axis2_http_sender_configure_proxy_auth | | |
| | [AXIS2C-1475](https://issues.apache.org/jira/browse/AXIS2C-1475) | Bad interaction between AXIS2_XML_PARSER_TYPE_BUFFER, axiom_soap_body_has_fault and XML escape sequence | | |
| | [AXIS2C-1482](https://issues.apache.org/jira/browse/AXIS2C-1482) | excessive retrying by client if server busy | | |
| | [AXIS2C-1486](https://issues.apache.org/jira/browse/AXIS2C-1486) | ADB generated code generates memory leak | | |
| | [AXIS2C-1490](https://issues.apache.org/jira/browse/AXIS2C-1490) | axiom_soap_builder_construct_node should check that the Header element is in a Soap namespace | | |
| | [AXIS2C-1491](https://issues.apache.org/jira/browse/AXIS2C-1491) | memory leak at axis2_dep_engine_get_svc_dir | | |
| | [AXIS2C-1492](https://issues.apache.org/jira/browse/AXIS2C-1492) | maximum value of xsd:unsignedInt cannot exceed maximum value of signed integer (2147483647) | | |
| | [AXIS2C-1495](https://issues.apache.org/jira/browse/AXIS2C-1495) | An error found while receiving www-form-urlencoded parameter values sent by POST method in REST style | | |
| | [AXIS2C-1499](https://issues.apache.org/jira/browse/AXIS2C-1499) | double-freeing in axis2_http_worker_process_request() | | |
| | [AXIS2C-1506](https://issues.apache.org/jira/browse/AXIS2C-1506) | 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch) | | |
| | [AXIS2C-1507](https://issues.apache.org/jira/browse/AXIS2C-1507) | SOAP Exception fields not available | | |
| | [AXIS2C-1508](https://issues.apache.org/jira/browse/AXIS2C-1508) | function axutil_strtol in util/src/types.c can't convert negative number from string | | |
| | [AXIS2C-1509](https://issues.apache.org/jira/browse/AXIS2C-1509) | The response message from axis2/c has not charSet in the ContentType | | |
| | [AXIS2C-1513](https://issues.apache.org/jira/browse/AXIS2C-1513) | C-language using unwrapped code does not compile | | |
| | [AXIS2C-1515](https://issues.apache.org/jira/browse/AXIS2C-1515) | WSDL2C: generated code in axis2_svc_skel_invoke() should not set error on NULL return value | | |
| | [AXIS2C-1516](https://issues.apache.org/jira/browse/AXIS2C-1516) | code generated from WSDL2C is not compiling | | |
| | [AXIS2C-1519](https://issues.apache.org/jira/browse/AXIS2C-1519) | WSDL2C with xml mapping generates client code with memory leak | | |
| | [AXIS2C-1520](https://issues.apache.org/jira/browse/AXIS2C-1520) | Unknown Error when using diacritic marks in XML request element value | | |
| | [AXIS2C-1527](https://issues.apache.org/jira/browse/AXIS2C-1527) | Local to UTC time calculation wrong | | |
| | [AXIS2C-1529](https://issues.apache.org/jira/browse/AXIS2C-1529) | wsdl2c generates skeleton code with memoryleak inside | | |
| | [AXIS2C-1531](https://issues.apache.org/jira/browse/AXIS2C-1531) | Last POST char truncated | | |
| | [AXIS2C-1532](https://issues.apache.org/jira/browse/AXIS2C-1532) | Last POST parameter is skipped when it has no value | | |
| | [AXIS2C-1533](https://issues.apache.org/jira/browse/AXIS2C-1533) | Redundant redeclarations and undefined macros | | |
| | [AXIS2C-1534](https://issues.apache.org/jira/browse/AXIS2C-1534) | XML writers handle errors differently, add char offset in case of errors | | |
| | [AXIS2C-1535](https://issues.apache.org/jira/browse/AXIS2C-1535) | Getting HTTP Status Code as 0 instead of 408 | | |
| | [AXIS2C-1536](https://issues.apache.org/jira/browse/AXIS2C-1536) | guththila stucked with empty XML comments | | |
| | [AXIS2C-1537](https://issues.apache.org/jira/browse/AXIS2C-1537) | HTTP server crashes during shutdown | | |
| | [AXIS2C-1539](https://issues.apache.org/jira/browse/AXIS2C-1539) | Initialization/finalization of libxml2 in wrong place | | |
| | [AXIS2C-1540](https://issues.apache.org/jira/browse/AXIS2C-1540) | axis2/c does not build on Mac OS X | | |
| | [AXIS2C-1542](https://issues.apache.org/jira/browse/AXIS2C-1542) | Memory leak in axis2c generated code | | |
| | [AXIS2C-1546](https://issues.apache.org/jira/browse/AXIS2C-1546) | Logging of long input/output messages contains garbage data on Windows | | |
| | [AXIS2C-1548](https://issues.apache.org/jira/browse/AXIS2C-1548) | WSDL2C generates improper code | | |
| | [AXIS2C-1550](https://issues.apache.org/jira/browse/AXIS2C-1550) | HTTPS using axis2c.xml or embedded axis2 lib does not work with SSL authentication | | |
| | [AXIS2C-1551](https://issues.apache.org/jira/browse/AXIS2C-1551) | Crash when reusing svc_client with non-blocking call | | |
| | [AXIS2C-1555](https://issues.apache.org/jira/browse/AXIS2C-1555) | Proxy authentication not working when using HTTPS | | |
| | [AXIS2C-1559](https://issues.apache.org/jira/browse/AXIS2C-1559) | axiom_node_to_string() doesn't return elements containing special latin characters | | |
| | [AXIS2C-1564](https://issues.apache.org/jira/browse/AXIS2C-1564) | axutil_uri_parse_string() only parses URLs, not URIs | | |
| | [AXIS2C-1566](https://issues.apache.org/jira/browse/AXIS2C-1566) | Client sends cookie only just after server sends Set-Cookie header | | |
| | [AXIS2C-1567](https://issues.apache.org/jira/browse/AXIS2C-1567) | F_OK not defined with MacOSX builds | | |
| | [AXIS2C-1568](https://issues.apache.org/jira/browse/AXIS2C-1568) | In keep alive mode, client reuses a connection even if the connection has already closed | | |
| | [AXIS2C-1573](https://issues.apache.org/jira/browse/AXIS2C-1573) | Generated code failed to compile when the type names in WSDL has '.' | | |
| | [AXIS2C-1574](https://issues.apache.org/jira/browse/AXIS2C-1574) | Generated code has duplicate property_Type definitions | | |
| | [AXIS2C-1575](https://issues.apache.org/jira/browse/AXIS2C-1575) | Generated code has undefined variables qname_uri and qname_prefix | | |
| | [AXIS2C-1579](https://issues.apache.org/jira/browse/AXIS2C-1579) | Wrong xsi:type in the response | | |
| | [AXIS2C-1580](https://issues.apache.org/jira/browse/AXIS2C-1580) | Generated code crashed when it deserializes 'any' type | | |
| | [AXIS2C-1581](https://issues.apache.org/jira/browse/AXIS2C-1581) | Generated code creates bad action in multi-parts request | | |
| | [AXIS2C-1584](https://issues.apache.org/jira/browse/AXIS2C-1584) | Asynchronous call crashes and memory leaks | | |
| | [AXIS2C-1586](https://issues.apache.org/jira/browse/AXIS2C-1586) | Memory leak in axis2_http_worker_process_request (http_worker.c) | | |
| | [AXIS2C-1590](https://issues.apache.org/jira/browse/AXIS2C-1590) | axiom_attribute reference counting broken | | |
| | [AXIS2C-1591](https://issues.apache.org/jira/browse/AXIS2C-1591) | axiom_element_add_attribute and duplicate names | | |
| | [AXIS2C-1593](https://issues.apache.org/jira/browse/AXIS2C-1593) | Strange handling of xsi:type in requests | | |
| | [AXIS2C-1595](https://issues.apache.org/jira/browse/AXIS2C-1595) | Memory leak in http_worker.c: array_list allocated by axutil_tokenize() | | |
| | [AXIS2C-1596](https://issues.apache.org/jira/browse/AXIS2C-1596) | Memory leaks in http_transport_utils.c | | |
| | [AXIS2C-1605](https://issues.apache.org/jira/browse/AXIS2C-1605) | sockets are being left in CLOSE_WAIT state by client when using SSL | | |
| | [AXIS2C-1608](https://issues.apache.org/jira/browse/AXIS2C-1608) | Segmentation fault when HTTP request includes multiple cookies in a cookie HTTP-header | | |
| | [AXIS2C-1609](https://issues.apache.org/jira/browse/AXIS2C-1609) | memory leak in axutil_hash_first() / axutil_hash_next() in generated xml deserializer code | | |
| | [AXIS2C-1613](https://issues.apache.org/jira/browse/AXIS2C-1613) | No error is set during deserialization when an unexpected NULL value is return | | |
| | [AXIS2C-1614](https://issues.apache.org/jira/browse/AXIS2C-1614) | Stop deserialization process when a required attribute is missing | | |
| | [AXIS2C-1616](https://issues.apache.org/jira/browse/AXIS2C-1616) | Conflict with data type names | | |
| | [AXIS2C-1617](https://issues.apache.org/jira/browse/AXIS2C-1617) | Fixes for memory leaks in generated code | | |
| | [AXIS2C-1618](https://issues.apache.org/jira/browse/AXIS2C-1618) | Error by reading SSL-stream | | |
| | [AXIS2C-1622](https://issues.apache.org/jira/browse/AXIS2C-1622) | echo_rest sample seg fault with libcurl | | |
| | [AXIS2C-1626](https://issues.apache.org/jira/browse/AXIS2C-1626) | query string not passed when http get rest without soap | | |
| | [AXIS2C-1632](https://issues.apache.org/jira/browse/AXIS2C-1632) | Patch to fix Stability issues and memory leaks on hash keys | | |
| | [AXIS2C-1635](https://issues.apache.org/jira/browse/AXIS2C-1635) | Fix for various memleaks & corruptions | | |
| | [AXIS2C-1651](https://issues.apache.org/jira/browse/AXIS2C-1651) | Static-WSDL retrieval does strange string operation | | |
| | [AXIS2C-1659](https://issues.apache.org/jira/browse/AXIS2C-1659) | Segmentation fault in axutil_hash_find_entry | | |
| | [AXIS2C-1662](https://issues.apache.org/jira/browse/AXIS2C-1662) | mod_log may corrupt the node list (on a chunked fault) | | |
| | [AXIS2C-1664](https://issues.apache.org/jira/browse/AXIS2C-1664) | Memory leak when replacing value of item in hash table | | |
| | [AXIS2C-1669](https://issues.apache.org/jira/browse/AXIS2C-1669) | Misc patches for mem leak, REST Call, SSL, XPATH | | |
| | [AXIS2C-1670](https://issues.apache.org/jira/browse/AXIS2C-1670) | Contents of every file in current directory read during axis2_stub_create_with_endpoint_ref_and_client_home() | | |
| | [AXIS2C-1672](https://issues.apache.org/jira/browse/AXIS2C-1672) | Build error on MacOSX | | |
| | [AXIS2C-1685](https://issues.apache.org/jira/browse/AXIS2C-1685) | Unable to serialize/deserialize object, wrong element type or null node | | |
| | [AXIS2C-1696](https://issues.apache.org/jira/browse/AXIS2C-1696) | Document GTest-related build requirements | | |
| | [AXIS2C-1699](https://issues.apache.org/jira/browse/AXIS2C-1699) | Wrong C code generation for sequence types | | |
| | [AXIS2C-1700](https://issues.apache.org/jira/browse/AXIS2C-1700) | Enable SSL/TLS peer name validation by default | | |
| | [AXIS2C-1701](https://issues.apache.org/jira/browse/AXIS2C-1701) | Memory leak on duplicate XML namespace declaration | | |
| | [AXIS2C-1702](https://issues.apache.org/jira/browse/AXIS2C-1702) | Memory leak in http transport | | |
| ## New Features | |
| | Issue | Summary | | |
| |-------|---------| | |
| | [AXIS2C-677](https://issues.apache.org/jira/browse/AXIS2C-677) | Clone method required for axiom_node | | |
| | [AXIS2C-1181](https://issues.apache.org/jira/browse/AXIS2C-1181) | Unable to support MTOM for code generation with adb | | |
| | [AXIS2C-1383](https://issues.apache.org/jira/browse/AXIS2C-1383) | Ability to select the interface(s) that the axis2_http_server listens at for http requests | | |
| | [AXIS2C-1484](https://issues.apache.org/jira/browse/AXIS2C-1484) | Allow servers to bind to custom address only instead of INADDR_ANY | | |
| ## Improvements | |
| | Issue | Summary | | |
| |-------|---------| | |
| | [AXIS2C-1187](https://issues.apache.org/jira/browse/AXIS2C-1187) | HTTP Authentication related code should be moved to a separate method | | |
| | [AXIS2C-1328](https://issues.apache.org/jira/browse/AXIS2C-1328) | Implementing new transport to optimize Axis2/C when used in a multi-threading client environment | | |
| | [AXIS2C-1330](https://issues.apache.org/jira/browse/AXIS2C-1330) | Prevent name clashes when using multiple services that happen to have identical named items | | |
| | [AXIS2C-1371](https://issues.apache.org/jira/browse/AXIS2C-1371) | Axis should log libcurl debug information | | |
| | [AXIS2C-1480](https://issues.apache.org/jira/browse/AXIS2C-1480) | Improve performance of reading HTTP headers | | |
| | [AXIS2C-1494](https://issues.apache.org/jira/browse/AXIS2C-1494) | Response received from the server is partially erased when non-ascii characters present in xml tags | | |
| | [AXIS2C-1565](https://issues.apache.org/jira/browse/AXIS2C-1565) | CPU utilization is 100% for SOAP queries for synchronous calls | | |
| | [AXIS2C-1612](https://issues.apache.org/jira/browse/AXIS2C-1612) | Custom HTTP HEADER USER AGENT | | |
| | [AXIS2C-1636](https://issues.apache.org/jira/browse/AXIS2C-1636) | Enhanced REST support for Axis2/C | | |
| | [AXIS2C-1645](https://issues.apache.org/jira/browse/AXIS2C-1645) | JSON support for Axis2/C | | |
| | [AXIS2C-1666](https://issues.apache.org/jira/browse/AXIS2C-1666) | base64 ignore some whitespaces | | |
| | [AXIS2C-1706](https://issues.apache.org/jira/browse/AXIS2C-1706) | SNI support | | |
| ## Tasks | |
| | Issue | Summary | | |
| |-------|---------| | |
| | [AXIS2C-934](https://issues.apache.org/jira/browse/AXIS2C-934) | Organize Test Cases | | |
| | [AXIS2C-1419](https://issues.apache.org/jira/browse/AXIS2C-1419) | Fixing memory leak | | |
| | [AXIS2C-1679](https://issues.apache.org/jira/browse/AXIS2C-1679) | Support Multipart soap in code generation tool | | |
| | [AXIS2C-1707](https://issues.apache.org/jira/browse/AXIS2C-1707) | Add HTTP/2 transport support for JSON requests | | |
| | [AXIS2C-1708](https://issues.apache.org/jira/browse/AXIS2C-1708) | Modern security hardening | | |
| ## Removed Features | |
| The following features have been removed in version 2.0.0 as part of security hardening ([AXIS2C-1708](https://issues.apache.org/jira/browse/AXIS2C-1708)) and deprecation cleanup: | |
| - **NTLM Authentication** (`--enable-heimdal`, `--enable-libntlm`): Removed due to critical security vulnerabilities including pass-the-hash attacks, NTLM relay attacks, and weak cryptography. Microsoft is deprecating NTLM in Windows systems. Use Kerberos, OAuth 2.0, or mutual TLS instead. | |
| - **TCP Transport** (`--enable-tcp`): Obsolete transport that lacks HTTP semantics (no Content-Length, chunked encoding, headers, status codes). Incompatible with TLS (requires HTTP for ALPN negotiation) and web infrastructure (proxies, load balancers, firewalls expect HTTP). Use HTTP/2 instead, which provides multiplexing benefits with full HTTP semantics. | |
| - **CGI Transport** (`--enable-cgi`): Obsolete deployment model with security concerns and performance overhead of process-per-request. Use mod_axis2 with Apache httpd instead. | |
| - **libcurl HTTP Backend** (`--enable-libcurl`): Redundant with native HTTP client implementation. MTOM was broken with libcurl ([AXIS2C-1270](https://issues.apache.org/jira/browse/AXIS2C-1270)). HTTP/2 support uses nghttp2 instead. | |
| - **AMQP Transport** (`--with-qpid`): Unmaintained since 2010. Apache Qpid C++ is in maintenance mode. Modern messaging systems use REST APIs, gRPC, or native AMQP 1.0 clients. ([AXIS2C-1641](https://issues.apache.org/jira/browse/AXIS2C-1641)) | |
| - **IIS/ISAPI Integration**: Unmaintained since 2009. Windows users should use WSL2 with Apache httpd instead. | |
| ## Upgrade Notes | |
| ### Breaking Changes | |
| 1. **SSL/TLS Peer Validation**: SSL/TLS peer name validation is now enabled by default ([AXIS2C-1700](https://issues.apache.org/jira/browse/AXIS2C-1700)). Applications that previously connected to servers with invalid certificates will now fail. To restore the old behavior (not recommended), disable peer verification in your SSL configuration. | |
| 2. **NTLM Authentication Removed**: Applications using NTLM authentication must migrate to Kerberos (for Windows/AD environments), OAuth 2.0/OpenID Connect (for modern applications), or mutual TLS (for service-to-service communication). | |
| 3. **TCP Transport Removed**: Applications using raw TCP transport (`AXIS2_TRANSPORT_TCP`) must migrate to HTTP/1.1 or HTTP/2 transport. HTTP/2 provides similar multiplexing benefits with full HTTP semantics and TLS support. | |
| 4. **CGI Deployment Removed**: Applications deployed via CGI must migrate to mod_axis2 with Apache httpd or the standalone axis2_http_server. | |
| 5. **libcurl Backend Removed**: Applications that explicitly enabled libcurl (`--enable-libcurl`) will now use the native HTTP client. This should be transparent for most use cases. | |
| 6. **AMQP Transport Removed**: Applications using AMQP transport must migrate to alternative messaging solutions or REST-based APIs. | |
| 7. **IIS Support Removed**: Applications using IIS integration must migrate to Apache httpd (running natively or via WSL2 on Windows). | |
| ### New Dependencies | |
| - **json-c** (optional): Required for JSON support. Install via `apt install libjson-c-dev` on Debian/Ubuntu. | |
| - **nghttp2** (optional): Required for HTTP/2 support. Install via `apt install libnghttp2-dev` on Debian/Ubuntu. |