blob: ea9215720b4f97e040accfbdd8f73512531c84e6 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Robert A. van Engelen">
<meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
</head>
<body bgcolor="#e6e6e6">
<h1>Changelog</h1>
<ul>
<li>Version 1.1</li>
<ul>
<li>Added typedef conventions</li>
<li>Added enumerations</li>
<li>Added hexBinary encoding</li>
<li>Added base64 encoding</li>
<li>Enable pass by reference operator (&amp;) for output parameter</li>
<li>Enable specification of methods in classes</li>
</ul>
<li>Version 1.2 (9/9/2001)</li>
<ul>
<li>Added WSDL&nbsp;generator</li>
</ul>
<li>Version 1.2w (9/14/2001)</li>
<ul>
<li>Win32 port</li>
<li>Fixed a socket communication problem in win32 version</li>
<li>Added namespace name pattern matching to ease validation</li>
</ul>
<li>Version 1.2.1 (10/24/2001)</li>
<ul>
<li>Chunked HTTP 1.1 transfer support</li>
<li>Improved buffering</li>
<li>Fixed a problem with nested vector allocation</li>
</ul>
<li>Version 1.2.2 (11/2/2001)</li>
<ul>
<li>Support for special XML element names with dots, underscores, and center dots (see documentation section 5.3)</li>
<li>Fixed a decoding problem with dynamic array of pointers to polymorphic objects</li>
<li>Fixed an encoding problem with enumerations</li>
<li>Added a "safe-mode" flag to disable serialization of multi-referenced objects:
<pre>
soap_disable_href = 1;
</pre>
You can set this global flag anywere in the code, but at least before serialization is performed.
It will disable the use of href attributes when sending multi-reference data. Instead, the data is copied
in the payload.
<b>When set, this flag will hang the serializer when sending cyclic data structures.</b>
</li>
</ul>
<li>Version 1.2.3 (12/5/2001)</li>
<ul>
<li>Added <i>bool</i> type encoding/decoding.</li>
<li>Added dynamic multi-dimensional arrays.</li>
<li>Added support for primitive polymorphic types.</li>
<li>Added full support for CDATA content decoding.</li>
<li>More convenient customization of SOAP Headers and Faults. No separate <tt>soapheader.h</tt> and <tt>soapfault.h</tt> files
required (and therefore no <tt>.cpp</tt> files have to be created for these). Instead, the compiler generates customized SOAP
Header and SOAP Fault marshalling routines when struct/class <tt>SOAP_ENV__Fault</tt> and/or <tt>SOAP_ENV__Header</tt> are
specified in the header file input to the compiler.
</li>
<li>On-demand generation of the marshalling routines for the primitive types, which reduces the size of the executables.</li>
<li>Fixed a WSDL incompatibility problem in the WSDL generator.</li>
<li>Improved decoding of multi-reference elements (no <tt>xsi:type</tt> required anymore in receiving message so gSOAP does not break).</li>
<li>Improved support for encoding/decoding indirect data (e.g. pointers to pointers to data).</li>
<li>
Improved encoding of data with the same pointers to shared data but with the shared data declared with different XML schema types
(formerly encoded as multi-reference data which could cause type incmpatibilities at the receiving side). For example, in the
declarations <tt>typedef char *xsd__NCName; xsd__NCName *s="SOAP"; char *t = s;</tt> the pointers <tt>s</tt> and <tt>t</tt> point
to the same data, but will not be encoded as multi-reference data since the types are different.
</li>
<li>Added flag:
<pre>
soap_enable_null = 1;
</pre>
When set, all NULL pointers will be explicitly encoded. By default, NULL pointers are omitted from the SOAP payload. For example,
with this flag set all NULL strings and other NULL pointer data will appear as nil values in the SOAP payload.
</li>
<li>Added flag:
<pre>
soap_enable_embedding = 1;
</pre>
When set, multi-reference data will be encoded inline which will guarantee the exact preservation of the structure of the data
transmitted. However, some SOAP implementations do not support embedding inline multi-reference data although this encoding style
is likely to be included in future verions of the SOAP protocol. The flag is useful when creating C++ applications that need to
communicate data to eachother and the data structures need to be preserved. Setting this flag may cause a duplication of
multi-reference data by the receiver created with the SOAP stub compiler when the data is part of a struct/class or array. The
data is not copied by the receiver when the struct/class or arrays use pointers to the data type.
</li>
<li>Added the ability to declare virtual destructors.</li>
<li>Fixed a compilation error with fixed-size array of pointers.</li>
<li>Fixed a problem with padding in Base64 (en/de)coding.</li>
<li>Fixed XML entity decoding (hexadecimal).</li>
<li>Added encoding of sparse arrays. A sparse array MUST be declared as a (fixed-size of dynamic) array of pointers. NULL pointer
values are omitted from the output and SOAP-ENC:position attributes are used for non-NULL elements.</li>
<li>Changed soap_put and soap_get functions to include explicit schema type parameters. This fixed a problem with Web services that need to return typedef-ed XML schema types The new stdsoap.cpp and stdsoap.h files are incompatible with the previous version(s).
</li>
<li>Added the ability to ignore the names of accessors when decoding fields through the use of a leading
<tt>_</tt> in a field name. For example:
<pre>
ns__mymethod(xsd__string in, xsd__string &amp;_return);
</pre>
When used to invoke a remote method, the actual element name of the remote return parameter used by the service is insignificant.
</li>
<li>Improved memory management. Added new function: <tt>soap_destroy()</tt> to remove all class instances.</li>
<li>Improved documentation.</li>
<li>Added <i>time_t</i> type support, but still need to add encoding/decoding routines to the runtime (next version).</li>
<li>Added <i>wchar_t</i> type support, but still need to add encoding/decoding routines to the runtime (next version).</li>
</ul>
<li>Version 1.2.4 (12/17/2001)</li>
<ul>
<li>Added support for wide character strings (<i>wchar_t*</i>).</li>
<li>Added support for <i>time_t</i> type.</li>
<li>Added support for SOAP literal encoding.</li>
<li>Fixed an obscure bug in the deserialization of data from the SOAP4R toolkit that caused the deserializer to hang.</li>
<li>Fixed a problem with the soap_disable_href flag.</li>
<li>Fixed a problem with the position attributes in sparse multi-dimensional arrays.</li>
<li>Fixed a problem with the generation of .nsmap files.</li>
<li>Fixed a problem with mixed content decoding in strings.</li>
</ul>
<li>Version 1.2.5 (12/27/2001)</li>
<ul>
<li>Fixed a memory leak in the block allocation scheme used for strings, hexBinary, and base64 types.</li>
<li>Fixed a bug in the WSDL generator for fixed-size arrays.</li>
<li>Fixed a problem with the use of trailing underscores in field names in struct/class declarations.</li>
</ul>
<li>Version 1.2.6 (1/25/2002)</li>
<ul>
<li>Improved portability.</li>
<li>Improved id/href hash table efficiency and storage.</li>
<li>Improved namespace URI matching with wildcards.</li>
<li>Improved stand-alone deployment.</li>
<li>Added <tt>soap_disable_response_count</tt> flag.</li>
<li>Fixed operator declaration parsing (cast operators).</li>
<li>Fixed a WSDL generator bug for output parameters and enumeration types.</li>
<li>Renamed function <tt>soap_return_fault()</tt> into <tt>soap_send_fault()</tt>.</li>
</ul>
<li>Version 2.0 (2/2/2002)</li>
<ul>
<li>Rewrote the compiler and the run-time to create a thread safe implementation.</li>
</ul>
<li>Versions 1.2.7 and 2.0.1 (2/11/2002)</li>
<ul>
<li>Added compiler options (-h -c -d -p).</li>
<li>Added optional specification of service name, location, and namespace URI in header file.</li>
<li>Improved interoperability.</li>
</ul>
<li>Versions 1.2.8 and 2.0.2 (2/24/2002)</li>
<ul>
<li>Added function callbacks to support customized I/O and HTTP operations. This allows for plug-in HTTP code, NSAPI interface code,
reading/writing from/to files or string buffers, etc.</li>
<li>Added HTTP 1.0/1.1 keep-alive support.</li>
<li>Added HTTP 1.1 chunked transfer support.</li>
<li>Added <tt>soap_disable_request_count</tt> flag.</li>
<li>Added <tt>soap_enable_array_overflow</tt> flag.</li>
<li>Added type naming conventions to serialize elements without generating <tt>xsi:type</tt> attributes.</li>
<li>Fixed a fixed-size array decoding problem (type mismatch).</li>
<li>Fixed &lt;/sequence/&gt; bug in the WSDL generators.</li>
</ul>
<li>Versions 1.3 and 2.1 (3/10/2002)</li>
<ul>
<li>Added client-side SSL (HTTPS) support (thanks to Massimo Cafaro for his suggestions).</li>
<li>Added a naming convention for dynamic array <tt>__ptr</tt> fields which enables the naming of the XML tags of array elements.</li>
<li>Added WSDL Header and Fault schema generation.</li>
<li>Improved doc/literal encoding style.</li>
<li>Improved WSDL service/schema namespace generation.</li>
<li>Fixed SOAP-ENV:Headers to be self contained.</li>
<li>Fixed WSDL generation of xsd schema types declared as string.</li>
<li>Fixed a method overriding type clash for derived classes.</li>
<li>Fixed spurious occurrence of id="-1" with soap_enable_null flag enabled.</li>
<li>Fixed a front-end gSOAP compiler problem with forward and cyclic struct declarations.</li>
</ul>
<li>Versions 1.3.1 and 2.1.1 (3/25/2002)</li>
<ul>
<li>Added header file source constructs to support transient data types and transient struct/class fields to control gSOAP's code generatiion window for (de)serialization routines.</li>
<li>Added callback for handling XML elements that are ignored on the receiving side (e.g. because of schema type problems). This feature is intended to enhance the reliability of services/clients.</li>
<li>Added server-side SSL support and included an example multi-threaded stand-alone SSL secure SOAP server example.</li>
<li>Added proxy server support.</li>
<li>Improved message logging in gSOAP 2.1.1 (thanks to Jessie Ragsdale for his suggestions).</li>
<li>Fixed WSDL generation for dynamic arrays.</li>
<li>Fixed deserialization of empty multi-ref derived class instances.</li>
</ul>
<li>Versions 1.3.2 and 2.1.2 (4/15/2002)</li>
<ul>
<li>Added socket timeout management.</li>
<li>Added optional client and server cookie support.</li>
<li>Added support for maxOccurs="unbounded" for arbitrary elements in complexTypes (not just limited to SOAP arrays).</li>
<li>Improved generation of schema &lt;extension&gt; definitions to allow XML validation in the presence of class overriding.</li>
<li>Fixed ULONG64 type handling.</li>
<li>Fixed light validation problem (now rejects invalid XML schema URIs).</li>
<li>Fixed a deserialization type mismatch with typedef-ed pointer primitives.</li>
<li>Fixed WSDL and schema interoperability problems.</li>
</ul>
<li>Versions 1.3.3 and 2.1.3 (4/27/2002)</li>
<ul>
<li>Added 'mustUnderstand' declaration qualifier for SOAP Header processing.</li>
<li>Added soap.actor attribute for SOAP Header processing.</li>
<li>Added method-header-part directive to identify methods with header message associations (WSDL requirement).</li>
<li>Added bitmask (de)serialization.</li>
<li>Added FastCGI support.</li>
<li>Improved DLL build support (gSOAP 2.1.3 only).</li>
<li>Improved WinCE support (gSOAP 2.1.3 only, thanks to Sean Ryan for his suggestions).</li>
<li>Improved Mac OS X support.</li>
<li>WSDL generator improvements and fixes.</li>
<li>Workaround a bug in .NET SOAP Headers (non-unique id name values in .NET).</li>
<li>Fixed disable_href=1 bug.</li>
<li>Fixed `XML in string parsing' code generation problem.</li>
</ul>
<li>Versions 1.3.4 and 2.1.4 (6/9/2002)</li>
<ul>
<li>Added non-blocking soap_accept() with timeout management.</li>
<li>Added support for SOAP Header and Fault declared as classes.</li>
<li>Added syntax for 'extern' declarations for transient types and fields.</li>
<li>Added support for SOAP Headers in SOAP Fault messages.</li>
<li>Added one-way SOAP messages (2.1.4 only).</li>
<li>Added support for user-defined (de)serializers (2.1.4 only).</li>
<li>Improved object memory management.</li>
<li>Improved support for AIX and HP platforms.</li>
<li>Fixed proxy server connect bug.</li>
<li>Fixed an OpenSSL bug.</li>
<li>Fixed soap_instantiate_ClassX() derived class allocation problem.</li>
<li>Fixed generation of spurious .xsd files when lots of trailing underscores are used by identifiers in the header file.</li>
<li>Fixed syntax error that occured with header files containing cyclic class declarations.</li>
<li>Fixed 'class in struct' and 'vector of classes' VMT initialization bugs.</li>
</ul>
<li>Version 2.1.5 (6/22/2002)</li>
<ul>
<li>Added non-blocking remote method calls (not supported in win32 version).</li>
<li>Added specification of default values for struct/class fields.</li>
<li>Added specification of minOccurs and maxOccurs for struct/class fields.</li>
<li>Added resolution operator '::' parsing.</li>
<li>Added abstract method declaration support.</li>
<li>Fixed WSDL generation of SOAP doc/lit.</li>
<li>Fixed WITH_FASTCGI option.</li>
</ul>
<li>Version 2.1.6 (7/10/2002)</li>
<ul>
<li>Added DIME attachment support.</li>
<li>Added win32 non-blocking sockets.</li>
<li>Changed "%lld"/"%llu" format strings into "%I64d"/"%I64u" format string for win32.</li>
<li>Improved I/O.</li>
<li>Fixed multi-dimensional dynamic array (de)serialization.</li>
<li>Fixed WSDL enum and header namespace generation.</li>
</ul>
<li>Version 2.1.7 (8/6/2002)</li>
<ul>
<li>Added generation of example SOAP/XML request and response messages by the compiler.</li>
<li>Added RSA to SSL stack.</li>
<li>Added two callbacks to the HTTP stack for efficient handling of HTTP headers in Apache-mod and IIS.</li>
<li>Added compiler option -m (malloc() memory control) and updated doc on memory allocation policies.</li>
<li>Added compiler option -i to support #include and #define directives.</li>
<li>Improved HTTP cookie support to handle new and old cookie protocols.</li>
<li>Improved external class (de)serialization support (std::string example is included).</li>
<li>Fixed a SSL+proxy connect problem.</li>
<li>Fixed uninitialized '//gsoap..executable:' string which caused sporadic exits.</li>
<li>Fixed XML literal string encoding problem introduced with DIME.</li>
<li>Fixed and removed WSDL duplicate response elements.</li>
<li>Fixed LONG64 and ULONG64 types for WinCE.</li>
</ul>
<li>Version 2.1.8 (8/28/2002)</li>
<ul>
<li>Added client-side proxy class source code generation.</li>
<li>Added soap.enable_strict flag to enable very strict validation of messages (unknown namespace URIs and XML elements are not allowed).</li>
<li>Added soap.socket_flags to control socket send() and recv() flags, e.g. to disable broken pipe signals (soap.socket_flags=MSG_NOSIGNAL).</li>
<li>Added '//gsoap ns service method-action' header file directive.</li>
<li>Added server-side soap_receiver_fault() and soap_sender_fault() functions to return SOAP 1.1 and SOAP 1.2 faults.</li>
<li>Added seeding of the PRNG for SSL.</li>
<li>Added soapcpp2 compiler option '-2' to automate SOAP 1.2 support (SOAP 1.2 features are Beta-release).</li>
<li>Changed keep-alive support (see docs).</li>
<li>Improved WSDL output.</li>
<li>Workaround Bison 1.6 for win32 bug in gSOAP win32 version.</li>
<li>Fixed a wild-card matching bug in soap_tag_cmp()</li>
<li>Fixed a string deserialization problem.</li>
<li>Fixed a deserialization bug that can occur in a client-server combination with gSOAP and Apache Axis.</li>
</ul>
<li>Version 2.1.9 (9/08/2002)</li>
<ul>
<li>Added HTTP proxy authentication.</li>
<li>Added plug-in registry (Beta).</li>
<li>Changed compiler exit status for compilation errors.</li>
<li>Fixed stdin/stdout binary mode for DIME transfer with gSOAP for win32.</li>
<li>Fixed win32 soapcpp2.exe bug in .res.xml file generation.</li>
</ul>
<li>Version 2.1.10 (10/14/2002)</li>
<ul>
<li>Added '//gsoap ns service method-documentation:' directive.</li>
<li>Added provision for additional documentation text with '//gsoap ns service name:' directive.</li>
<li>Added #import directive to (recursively) import gSOAP header files.</li>
<li>Added plugin features and included a plugin example in 'extras' directory.</li>
<li>Added automake/autoconf to generic gSOAP package (thanks to Christian Aberger).</li>
<li>Added -DWITH_LOCALTIME compilation option to control time_t (de)serialization.</li>
<li>Changed time_t (de)serialization (now uses timegm() and gmtime() to handle UTC). Found that mktime() library call is buggy on some systems.</li>
<li>Improved and reorganized package directory structure.</li>
<li>Fixed DDL linkage problem with instantiate/delete routines dealing with class instance memory management.</li>
<li>Fixed compilation problem with Sun Workshop CC compiler and other compilers that adopt a specfic class VMT structure that could break object (de)serializers.</li>
<li>Fixed bug in WSDL generator with multiple service namespaces.</li>
</ul>
<li>Version 2.1.11 (11/10/2002)</li>
<ul>
<li>Added a multi-functional SOAP router application (message forwarding and
message relay server).</li>
<li>Added keep-alive support for asynchronous one-way messages.</li>
<li>Improved parsing and handling of function prototypes and class methods.</li>
<li>Improved modular design to enable the compilation and linkage of multiple client and service modules.</li>
<li>Improved user-defined SOAP Fault detail handling.</li>
<li>Fixed SSL_accept bug.</li>
<li>Fixed serialization of pointers to dynamic arrays with multi-references.</li>
</ul>
<li>Version 2.2 (12/12/2002)</li>
<ul>
<li>Added XML attribute (de)serialization support.</li>
<li>Added XSD QName parsing and conversion support (typedef char *xsd__QName).</li>
<li>Added compression support (-DWITH_ZLIB requires Zlib).</li>
<li>Changed and improved transport and encoding settings by splitting up sending and
receiving side flags into separate sets. Depricated soap.enable_X and soap.disable_X flags.</li>
<li>Improved keep-alive support (automatic client and server sides).</li>
<li>Fixed a bug in mustUnderstand handling.</li>
<li>Fixed a sporadic crash of the gSOAP compiler under win32.</li>
<li>Fixed user-defined SOAP Fault output in WSDL generator.</li>
</ul>
<li>Version 2.2.1 (12/18/2002)</li>
<ul>
<li>Added callbacks to enable custom streaming of DIME attachments.</li>
<li>Fixed broken serialization of pointers to dynamic arrays with NULL
__ptr</li>
<li>Fixed some WSDL issues.</li>
</ul>
<li>Version 2.2.2 (1/25/2003)</li>
<ul>
<li>Added gzip support (-DWITH_GZIP requires Zlib).</li>
<li>Added faccept() callback.</li>
<li>Improved HTTP chunking.</li>
<li>Fixed OpenSSL and accept_timeout (OpenSSL requires blocking sockets).</li>
<li>Fixed HTTP header buffering.</li>
<li>Fixed UTF8 decoding of a subset of characters (2-octet UTF).</li>
<li>Fixed 'operator==' parsing.</li>
<li>Fixed a couple of WSDL issues.</li>
</ul>
<li>Version 2.2.3 (3/2/2003)</li>
<ul>
<li>Added server-side HTTP basic authentication.</li>
<li>Improved speed.</li>
<li>Improved Tru64 portability.</li>
<li>Changed fpost() function callback signature: added 'int port' argument and
added port number to the Host: HTTP header.</li>
<li>Fixed memory leak in SSL connect when using OpenSSL DH.</li>
<li>Fixed custom (de)serializer definitions parsing.</li>
<li>Fixed a gzip/deflate bug with large transfers.</li>
<li>Fixed use of ftime() for time_t (de)serialization with timezones.</li>
<li>Fixed a problem with concurrent access to global namespace table by multiple threads.</li>
<li>Fixed crash with //gsoap name directive.</li>
<li>Fixed deserialization bug with multi-ref object encoding by Apache Axis.</li>
</ul>
<li>Version 2.3.1-8 (9/24/2003)</li>
<ul>
<li>Updated SOAP 1.2 support (implements the SOAP 1.2 recommendation).</li>
<li>Added STL container support and built-in std::string encoding.</li>
<li>Added stand-alone Web server example to serve static and dynamic pages
with a new HTTP GET plugin.</li>
<li>Added void* (de)serialization, e.g. useful to support polymorphism with C
applications and as an alternative to union types.</li>
<li>Added XML DOM parser to support SOAP document encoding and for mixing of application data (de)serialization within an XML DOM.</li>
<li>Added WITH_LEAN and WITH_LEANER compilation flags to improve support for
small-memory devices such as WinCE and Palm.</li>
<li>Added SOAP_XML_CANONICAL flag for canonical XML output (XML-C14N support
and SOAP 1.2 normalization support).</li>
<li>Added '//gsoap ns method-encoding:' directive.</li>
<li>Added '//gsoap ns schema import:' directive.</li>
<li>Added optional class getter and setter methods for object (de)serialization.</li>
<li>Added 'volatile' qualifier to indicate that certain type declarations
should be treated 'as-is' when types are declared externally (e.g. part of a
library).</li>
<li>Added a new string notation for declarations to specify simpleType restriction patterns.</li>
<li>Added soapcpp2 -I option to indicate #import path.</li>
<li>Added support for (de)serialization of application data to C++ iostreams.</li>
<li>Added fsslauth() callback.</li>
<li>Added HTTP code error values.</li>
<li>Added SOAP_MALLOC and SOAP_FREE macros to replace malloc() and free().</li>
<li>Added soap_strdup(soap, string) to copy strings in gSOAP's memory space.</li>
<li>Added chunked streaming DIME output (thanks to J. Li for his
suggestions).</li>
<li>Added SOAP_SOCKET for win32 support (thanks to B. Gille for his suggestions).</li>
<li>Added SO_LINGER support (soap.connect_flags).</li>
<li>Added support for iso-8859-1 encoded XML parsing (default is utf8).</li>
<li>Added #module directive to build shared libraries.</li>
<li>Added C++ namespaces support to enable the compilation and linkage of
multiple client and service codes.</li>
<li>Added WITH_CASEINSENSITIVETAGS compilation flag to enable case insensitive
XML parsing.</li>
<li>Improved WSDL types schema output.</li>
<li>Improved custom (de)serialization (note: extras/stringtest example
has been changed).</li>
<li>Improved SOAP literal encoding.</li>
<li>Improved speed.</li>
<li>Improved HTTP1.0/1.1 support.</li>
<li>Removed soap.defaultNamespace in favor of automatic SOAP literal output based on soap.encodingStyle value.</li>
<li>Fixed GMT to DST localtime conversion, but still issues with Sun Solaris.</li>
<li>Fixed dynamic array __offset handling.</li>
<li>Fixed class definition order.</li>
<li>Fixed sporadic memory leak in HTTP cookie reader.</li>
<li>Fixed multi-threaded server-side OpenSSL initialization.</li>
<li>Fixed enumeration-based XML attribute deserialiation.</li>
<li>Fixed SOAP-ENC:position attribute placement when arrays of pointers are
mixed with nillable data.</li>
<li>Fixed crash when parsing incorrect SOAP/XML attribute content.</li>
</ul>
<li>Version 2.4 (12/20/2003)</li>
<ul>
<li>New WSDL parser and importer with improved support for SOAP document style and literal encoding.</li>
<li>Added optional full schema validation (partial by default). Use SOAP_XML_STRICT flag.</li>
<li>Added SSL session caching.</li>
<li>Added soap_set_namespaces() to switch namespace tables.</li>
<li>Fixed plugin memory leak. REQUIRED CHANGE to plugin allocation and copying.</li>
<li>Fixed server-side blocking SSL accept.</li>
</ul>
<li>Version 2.4.1 (01/07/2004)</li>
<ul>
<li>Changed _USCORE_ and _DOT_ naming conventions into _USCORE and _DOT to improve name
mapping.</li>
<li>Updated DOM parser (integrated into core gSOAP library).</li>
<li>Improved WSDL parser and included several new features.</li>
<li>Fixed WSDL schema import and WSDL literal output.</li>
</ul>
<li>Version 2.5 (01/28/2004)</li>
<ul>
<li>Changed default encoding to SOAP RPC literal, as mandated by WS-I Basic
Profile 1.0a and best practices.</li>
<li>Added soapcpp2 compiler option -e for backward compatibility to gSOAP
2.4.1 and earlier that use SOAP RPC
encoding defaults (helpful when migrating gSOAP projects to 2.5).</li>
<li>Added automatic compiler-side WS-I Basic Profile 1.0a compliance warnings
(warns before deployment).</li>
<li>Added fget() callback for HTTP GET responses.</li>
<li>Added IPv6 support contributed by Wind River Systems.</li>
<li>Added VxWorks support contributed by Wind River Systems.</li>
<li>Improved SOAP Fault handling.</li>
<li>Improved interop with Axis RPC encoded response messages.</li>
<li>Fixed std::string xsi:type attribute value.</li>
<li>Fixed gSOAP 2.4 problems with serialization of enumeration values outside enumeration range.</li>
<li>Fixed gSOAP 2.4 Pocket PC build problem.</li>
<li>Fixed wsdl2h SOAP Fault and Header output.</li>
</ul>
<li>Version 2.5.1 (02/12/2004)</li>
<ul>
<li>Improved WSDL output and WS-I BP1.0a compliance.</li>
<li>Improved WSDL parser stability.</li>
<li>Fixed problem parsing empty xsd:base64Binary elements.</li>
<li>Fixed VxWorks and TRU64 portability issues.</li>
<li>Fixed HTTP 400 error problem.</li>
<li>Fixed soapcpp2 2.5 stability problem with one-way messages.</li>
</ul>
<li>Version 2.5.2 (02/23/2004)</li>
<ul>
<li>Fixed WSDL generation warnings.</li>
<li>Fixed LONG64 problem for PalmOS.</li>
<li>Fixed module build link problem and 'components' example.</li>
</ul>
<li>Version 2.6.0 (03/28/2004)</li>
<ul>
<li>Changed default style to doc/lit.</li>
<li>Improved doc/lit WSDL handling.</li>
<li>Improved soapcpp2 sample SOAP/XML message output.</li>
<li>Added proxy support for wsdl2h.</li>
<li>Fixed CONNECT method for proxy+SSL+gzip.</li>
</ul>
<li>Version 2.6.1 (06/07/2004)</li>
<ul>
<li>Added optional multibyte character support.</li>
<li>Improved WSDL output.</li>
<li>Fixed STL container multi-ref deserialization problem with missing data.</li>
<li>Fixed doc/lit server code generation from doc/lit WSDL definitions.</li>
</ul>
<li>Version 2.6.2 (06/12/2004)</li>
<ul>
<li>Added Matlab(tm) code output (documentation is not availabel yet).</li>
<li>Improved wsdl2h output for schema facets.</li>
<li>Updated dom.cpp.</li>
<li>Changed wsdl2h std::string* --&gt; std::string generation (to avoid double
pointers std::string**). To obtain old behavior, add entry "xsd:string =
| std::string* | std::string*" to typemap.dat.</li>
<li>Fixed wsdl2h handling of &lt;xs:include&gt;.</li>
<li>Fixed wsdl2h handling of empty namespaces and absent targetNamespace
schema attributes.</li>
<li>Fixed MB char handling.</li>
</ul>
<li>Version 2.7.0a/b/c/d/e/f (09/10/2004, 2/1/2005)</li>
<ul>
<li>Added multipart/related support for SOAP with MIME attachments (SwA).</li>
<li>Added API functions for DIME open and closed layout support.</li>
<li>Added //gsoap schema elementForm/attributeForm directive.</li>
<li>Added fclosesocket, fshutdownsocket, fpoll, fserveloop callbacks.</li>
<li>Added soap.authrealm string attribute to set basic authentication realm.</li>
<li>Added soap.prolog string attribute to output optional XML prolog with processing instructions and directives.</li>
<li>Added soapcpp2 option -t.</li>
<li>Added wsdl2h options -e and -i.</li>
<li>Added Palm OS and Symbian instructions and examples.</li>
<li>Added xml-rpc support and examples.</li>
<li>New mod_gsoap directory with modules for Apache 1.x/2.x, IIS, and WinInet</li>
<li>Improved XML validation with SOAP_XML_STRICT flag.</li>
<li>Improved memory footprint (reduced code size and reduced serialization overhead).</li>
<li>Improved runtime id-ref serialization and deserialization.</li>
<li>Improved wsdl2h translation.</li>
<li>Updated dom.cpp.</li>
<li>Updated webserver.c.</li>
<li>Fixed issues with namespace qualification in doc/lit messages.</li>
<li>Fixed SOAP_HREF error.</li>
<li>Fixed proxy+SSL+zlib+chunking.</li>
<li>Fixed SSL select() polling in frecv().</li>
<li>Fixed wsdl2h multidimensional SOAP arrays generate problem.</li>
</ul>
<li>Version 2.7.1 (03/31/2005)</li>
<ul>
<li>Added new style of C++ proxy/object generation (objects derived from
soap struct), enabled with soapcpp2 option -i.</li>
<li>Added new features to wsdl2h generation to enable user-defined class/struct extensions such as member data and functions which are declared in typemap.dat.</li>
<li>Added MIME multipart/form-data parsing to support HTTP POST HTML form handling (example included in samples/webserver).</li>
<li>Added built-in memory leak detection enabled with -DDEBUG.</li>
<li>Added UDDI v2 API and examples.</li>
<li>Added 'WS' directory with WS-* protocols, such as WS-Addressing. This part will mature as more WS-* protocols will be added over time.</li>
<li>Added fseterror() callback.</li>
<li>Improved wsdl2h code output.</li>
<li>Enhanced Web server sample code, and httpget and logging plugins.</li>
<li>Fixed base64/hexBinary XML attribute serialization.</li>
<li>Fixed a missing min/maxOccurs check for validation.</li>
</ul>
<li>Version 2.7.2 (05/11/2005)</li>
<ul>
<li>Added SOAP-over-UDP IPv4/IPv6 support with examples.</li>
<li>Added UDDI v2 API publish example.</li>
<li>Improved wsdl2h parser accepting multiple WSDL/XSD files from the command
line.</li>
<li>Fixed wsdl2h schema import from included schema bug.</li>
<li>Fixed SOAP 1.2 Fault Subcode handling.</li>
</ul>
<li>Version 2.7.3 (06/27/2005)</li>
<ul>
<li>Added MTOM attachment support.</li>
<li>Added 'plugin' directory with example plug-ins.</li>
<li>Added 'import' directory for commonly #import-ed files such as stlvector.h.</li>
<li>Added HTTP digest authentication plug-in 'plugins/httpda.h'.</li>
<li>Added new import feature to wsdl2h using ns=&lt;uri&gt; convention for
typemap.dat files, which enables wsdl2h to parse a WSDL that imports known
WSDLs/schemas such as XOP, XML MIME, and WS-Addressing without actually
reading the imported WSDL/schemas.</li>
<li>Added soapcpp2 options -C and -S to generate client- or server-only
codes.</li>
<li>Added multi-path support for soappcpp2 option -I.</li>
<li>Added C and C++ examples to combine multiple clients and services into one
executable, see the samples/components directory in the package.</li>
<li>Improved soapcpp2 option -e to generate SOAP RPC encoding style client/server codes by
default (instead of document/literal by default).</li>
<li>Fixed wsdl2h circular import of schemas.</li>
<li>Fixed attributeGroup handling in wsdl2h.</li>
<li>Fixed soapcpp2 handling of 'invisible' tags, e.g. __any, that should only be
populated after all else failed to match the delivered XML content.</li>
<li>Fixed validation of numeric enum constants with SOAP_XML_STRICT validation.</li>
<li>Fixed engine's spurious log file generation issue.</li>
</ul>
<li>Version 2.7.4 (07/24/2005)</li>
<ul>
<li>Added union serialization.</li>
<li>Added '//gsoap ... type-documentation:' directive.</li>
<li>Added '//gsoap ... method-mime-type:' directive.</li>
<li>Added wsdl2h option -g for generating global element/attribute declarations for building modular .h files.</li>
<li>Added wsdl2 option -y for generating typedef synonyms for structs and enums, with improved handling of typedefs by soapcpp2.</li>
<li>Added wsdl2 option -u to disable union generation for xs:choice.</li>
<li>Improved wsdl2h documentation generation.</li>
<li>Improved wsdl2h and soapcpp2 MIME bindings.</li>
<li>Improved dynamic memory allocation in engine with look-aside buffering.</li>
<li>Fixed wsdl2h xs:complexContent/extension/attributeGroup translation.</li>
<li>Fixed wsdl2h xs:choice with min/maxOccurs != 1 translation.</li>
<li>Fixed wsdl2h soap:body parts attribute.</li>
</ul>
<li>Version 2.7.5 (08/01/2005)</li>
<ul>
<li>Added xs:redefine support to wsdl2h.</li>
<li>Added HTML POST application/x-www-form-urlencoded plugin httpform.c
(demo samples/webserver).</li>
<li>Improved wsdl2h output.</li>
<li>Fixed wsdl2h handling of duplicate values in single enum list.</li>
</ul>
<li>Version 2.7.6 revision a/b/c/d/e (08/19/2005-02/18/06)</li>
<ul>
<li>Added WS-Security authentication, tokens, and signatures with new 'wsse'
plugin, see documentation in 'doc' directory and 'samples/wsse'.</li>
<li>Added 'doc' directory for documentation and moved soapdoc2.html and soapdoc2.pdf.</li>
<li>Added SOAP_XML_INDENT flag.</li>
<li>Added soap_sender_fault_subcode() and soap_receiver_fault_subcode() for SOAP 1.2 subcodes.</li>
<li>Added WITH_DOM compile flag to enable flushing serialized and deserialized
data to DOM (as well as a stream).</li>
<li>Added soapcpp2 option -L.</li>
<li>Added soapcpp2 option -a.</li>
<li>Added wsdl2h option -a (for backward compatibility).</li>
<li>Added wsdl2h option -d.</li>
<li>Added WITH_TCPFIN comile flag to enable optional shutdown with how=1 (TCPFIN) after final sends to force EOF on other side (used to be the default behavior).</li>
<li>Added schema substitutionGroup support.</li>
<li>Added soap_ssl_init().</li>
<li>Improved DOM implementation and documentation.</li>
<li>Improved AS400 portability.</li>
<li>Improved schema choice support.</li>
<li>Fixed wsdl2h multiple schema include issue.</li>
<li>Fixed soaps2dateTime and soap_timegm functions when timegm is not available.</li>
<li>Fixed exc-c14n formatting.</li>
<li>Fixed SOAP 1.2 fault handling.</li>
<li>Fixed missing soap_flag___item2 issue.</li>
<li>Fixed partial MIME boundary parsing issue.</li>
<li>Fixed base64 parsing with WITH_FAST.</li>
<li>Fixed MIME encoding of \r\r sequence.</li>
<li>Fixed QName normalization issue.</li>
<li>Fixed relative path schema import.</li>
<li>Fixed MTOM cid matching with URL encoded IDs.</li>
<li>Fixed wide-character (wchar_t*) XML attribute handling.</li>
<li>Fixed std::vector element id-ref ordering in deserializer.</li>
</ul>
</ul>
</body>
</html>