# # Revision history for Perl extension SOAP::Lite. # # $Id: Changes 250 2008-05-05 21:44:30Z kutterma $ The contents of this file provides a change history for the SOAP::Lite Perl module. New features are designated with a '+' and bug fixes with a '!'. Numbers in square brackets are sourceforge tracker IDs from https://sourceforge.net/tracker/?group_id=66000&atid=513017 Numbers with # are CPANRT tracker IDs from http://rt.cpan.org/Public/Dist/Display.html?Name=SOAP-Lite ----------------------------------------------------------------------- THIS RELEASE ----------------------------------------------------------------------- 0.710.05 ! got version number right, finally. Thanks to Graham Barr, Andreas J. Koenig and Matt S Trout (in alphabetical order) for support 0.071.04 ! updated version number and fixed declaring version, so that perl 5.6.2 can parse it, too ! fixed memory leaks with XMLRPC::Lite v0.71.03 ! #35041: SOAP::Lite Passes Decoded Strings to LWP ! #35133: Version Unparsable by ExtUtils::MakeMaker ! #33973: KeepAlive fails to function ! #33773: redefined warnings ! #34514: Subclasses of XMLRPC::Serializer misbehave because of a "ref" call in SOAP::Lite (actually fixed in 0.71.01, but I forgot to add it to Changes) 0.71.02 ! [1942233] Memory leak in 0.69 && 0.71 0.71.01 ! #34515: Printing UTF-8 through SOAP::Transport::HTTP throws a warning ! Version numbers updated ! [1904955] Subclassing XMLRPC::Serializer broken 0.71 Feb 2008 - bumped up version. Just curious about commit e-mail. 0.70_08 Feb 25 2008 - bumped up version - accidentally uploaded a ppm to CPAN 0.70_07 Feb 25 2008 + Added additional callbacks to XML::Parser::Lite and made it work under (at least) perl5.6.2, 5.8.7, 5.8.8 and 5.10. Thanks to Adam Leggett. ! Fixes failing test on 5.10. The mechanism for determining whether a class is loaded in SOAP::Server has been changed to the following: Assume loaded if - the class is main - the class implements the required method - the corresponding module (file) exists in %INC This is still error prone - if you know a better algorithm, please help me out. 0.70_06 Feb 16 2008 ! Fixes failing test without FCGI installed 0.70_05 Feb 13 2008 ! Fixes #32971 Undefined subroutine &Apache::Constant::BAD_REQUEST called ! Fixes [ 1867264 ] [PATCH] handle empty complexTypes correctly ! Fixes #32810: [PATCH] handle empty complexTypes correctly (duplicate) ! Fixes [ 1864481 ] XML::Parser::Lite documentation is incomplete + Fixes [ 747302 ] Make tainting work with XML::Parser::Lite + Fixes [ 1864480 ] Make XML::Parser::Lite's private subs private ! Fixes [ uncategorized ] bad XML::Parser::Lite behaviour under perl 5.8 0.70_04 Jan 02 2008 ! Fixes #32008: Failed t/03-server.t tests 2-5 under Perl 5.10 on Mac OS X 10.3.9 ! Fixes [ 1855575 ] "P" autotyped as xsd:duration ! Fixes [ 1842314 ] Expect: 100-Continue does not work with Apache::SOAP ! Fixes #13140 unable to use local file as WSDL service description file Acually there is no bug, but just a missing comment in the examples... 0.70_03 Nov 18 2007 ! Fixes [ 1816906 ] 7/06_modules.t fails with Apache 1.27 ! Fixes [ 1414914 ] longs are serialized into xsd:int by default - ! Fixes [ 1833803 ] int numbers serialized as long ! Fixes #21113: sending xml files using SOAP::Transport::HTTP::CGI (actually trapped a documentation error) ! Fixes #3677: Line > 1000 characters breaks perl parser ! Fixes #11797: SOAP::Transport::HTTP::CGI returns HTTP response headers terminated by "\n" instead of "\r\n" ! Fixed #24211: strings with leading zero mistreated as int ! Fixed #25668: cannot build SOAP::Lite with mod_perl 1.29 ! Fixed #16897: SOAP::Lite 0.66 fails with UNIVERSAL::use ! Fixed #30741: SOAP::Transport::HTTP::Apache 0.70_02 Nov 08 2007 ! Fixed [ 1828412 ] SOAP::Lite serializes faults with wrong element order, thanks to Tom Fischer. ! Fixed [ 1073360 ] Failure to read() long requests under mod_perl (fixed for mod_perl before thanks to JT Justman, now fixed for CGI, too). ! Fixed #30339: envelope subroutine() in XMLRPC/Lite.pm incorrectly requires method parameter for a response envelope ! Fixed #26408: SOAP::Transport::HTTP needs to call extract_cookies when dealing with a cookie jar ! Fixed #22730 test failure on bleedperl ! Fixed #30271 Don't give strings with utf8 flag set to MIME::Base64::encode_base64(). ! Fixed [ 1816907 ] t/01_core.t fails on 5.6.x ! Fixed #24810 missing prerequisite LWP::UserAgent 0.70_01 Oct 18 2007 + Added LOOPBACK test transport backend. + Added more core tests ! Fixed #14052: 'use base' pragma no longer works for SOAP::Lite ! Fixed #27032: Some debugging-aid patches ! Fixed #22732: Documentation error for use_prefix() ! Fixed [ 1044270 ] Suppress type for array when autotyping off ! Fixed [ 1665916 ] encode_scalar needs "no strict 'refs'"? ! Fixed [ 1481017 ] Typo on CPAN's documentation ! Fixed [ 1750846 ] Error with ENV{EXPECT} ! Fixed [ 887015 ] Memory Leak ! Fixed [ 1700326 ] encode_data called incorrectly in envelope ! Fixed [ 1612405 ] Incorrect deserialization of arrays/vectors ! Fixed [ 1204279 ] Boolean serialization error and added test ! Fixed [ 1569418 ] anyURI Serialization problem 0.68 July 6 2006 ! Patched support for mod_perl Apache2 (thanks to JT Justman) ! Fixed bug where SOAP::SOM objects were not properly detected, serialized and returned (thanks chris at prather dot o r g) ! Fixed bug with default_ns and ns functions so that they serialized XML properly. + Started to add experimental DIME support - possible impacts to MIME support as well 0.65-beta7 May 12 2005 + Added default_ns and ns to replace the confusing use of uri() and use_prefex() 0.65-beta6 June 3 2005 ! Fixed bug resulting in XMLRPC requests to be serialized using the doc/literal serializer if serializing arrays 0.65-beta5 May 6 2005 ! Fixed critical bug which prevented all XMLRPC servers from working 0.65-beta4 Apr 3 2005 ! Fixed bug 1160881 - HTTP headers are now terminated by \r\n for compatibility with .NET and compliance with HTTP spec. ! Fixed 1158666 - stubmaker.pl no longer call deprecated subroutine + stubmaker.pl got a lot of enhancements - now has help and version output, run time options, etc. See 'man stubmaker.pl' for more. + Classes generated by stub_maker.pl now have a special subroutine called 'want_som.' When set to 1, the stub class will return a SOAP::SOM object for every request. ! Fixed bug 1149427 - now capable of returning SOAP::SOM objects from generated stub classes. 0.65-beta3 Mon Oct 25 2004 + SOAP::Lite will only warn you once when you call a doc/literal service + Added SOAP::Schema->cache_dir() and SOAP::Schema->cache_ttl(), which control how code stubs generated from WSDLs are cached to prevent constant reparsing of WSDL files. ! Tested SOAP::Lite against Google, Salesforce, and FedEx. So far, clients can successfully call these service providers (at least some of their operations) - testing does not provide 100% coverage of their APIs. 0.65-beta2.1 Mon Oct 25 2004 + Fixed bug in unit tests in which MIME::Tools was not properly detected resulting in failed unit tests for some users. + Fixed some documentation issues (speling, etc). 0.65-beta2 Mon Oct 25 2004 ** WARNING ** substantial changes have been made to SOAP::Lite in this release in regards to how it manages attachments. The changes may introduce instabilities into your software that relies on this functionality. Please test your software with 0.65 prior to moving it to a production environment. + Added ReleaseNotes.txt + Added section REPORTING BUGS to pod comments + Deprecated SOAP::Lite->schema removed + Deprecated SOAP::Lite->on_debug removed + Deprecated SOAP::Schema->schema in favor of SOAP::Schema->schema_url + Added SOAP::Schema->useragent - which returns the LWP::UserAgent instance that will be used when accessing WSDLs via the SOAP::Lite->service call. This is helpful when access to a WSDL requires authentication, etc. + Made changes that allow messages to be constructed using a NULL body: + Added constant OBJS_BY_REF_KEEPALIVE which defaults to 600 - this is so that services can configure how long to cache objects marked as persistent using SOAP::Server::Object->objects_by_reference() + Added the ability for a user to modify the UserAgent class used by SOAP::Transport::HTTP::Client, updated Transport.pm's documentation to reflect this. Added $SOAP::Transport::HTTP::Client::USERAGENT_CLASS variable as a means of setting this. + Added initial DIME support + SOAP Packager package/unpackage now take in a context variable as input because DIME needs to know what version of SOAP you are using. + Refactored and rewrote README + Renamed SOAP::Schema->stub() to SOAP::Schema->generate_stub. This populates a private variable called C with the autogenerate Perl code. + Added SOAP::Schema->stub() which returns the autogenerated Perl code used internally by SOAP::Lite. This can be helpful for debugging SOAP::Lite's utilization of WSDL, as well as helpful to developers working on S::L's WSDL support. 0.65-beta1 Mon Oct 18 15:55:00 2004 + Made SOAP::Serializer->readable actually produce readable XML! ! Fixed bug 747312 - Made XML Schema 2001 the default schema + Changed typelookup of base64 to base64Binary to conform with 2001 schema + Added support for [almost] all XML Schema 2001 built-in datatypes + Added register_ns subroutine to SOAP::Serializer + Added find_prefix subroutine to SOAP::Serializer + Added use_prefix subroutine to SOAP::Serializer + Added a necessary set of initial subroutinues to support wsdl2perl project + Added format_datetime to SOAP::Utils + Documented SOAP::SOM->parts + Added SOAP::SOM->is_multipart + Properly escaped characters to facilitate emacs syntax highlighting + Ran podchecker to validate all POD comments ! Fixed bug 749636 - changed a croak to a warn to enable socket timeouts in SOAP::Transport::TCP::Server + Added support for UDDI 2/3 + Majorly revamped product documentation thanks to the kind contribution made by O'Reilly. Appendix B from "Programming Web Services with Perl" has been completely integrated. + To better segment SOAP::Lite documentation, many modules have been added that contain documentation only. For those who loved the old documentation, it can be found in lib/OldDocs/SOAP/*.pm and lib/OldDocs/SOAP/Transport/*.pm ! Fix a bug in which doclit style arrays were not being deserialized properly. IOW, Repeated elements were not made into an array, only the last occurring value was recorded. + Added the ability for a SOAP Client to gain direct access to the HTTP::Request and HTTP::Response objects. + Changed default envelope namespace prefix from SOAP-ENV to soap + Changed default encoding namespace prefix from SOAP-ENC to soapenc + Reachitected MIME support to decouple MIME layer from transport layer. This only impacts the HTTP layer since that is the only transport in SOAP::Lite that supports attachments. + Creation of SOAP::Packager - decoupled in an extensible way the packaging of parts (a.k.a. attachments). This is used for encoding and decoding. This enables a more seemless addition of DIME support. Changes were made throughout SOAP::Lite to accomodate this functionality. - a call "context" was added to SOAP::Server and SOAP::Deserializer so that those classes could have access to the global SOAP::Packager instance - deprecated many function calls and packages having to do with attachment support - fixed several of the SOAP::*::new() methods so that they don't inadvertantly reinitialize themselves and destroy precious context information in the process + Gave developers direct access to MIME::Parser object so that they can optimize its use. See the following URL to optimize it for memory consumption, parsing speed, disk utilization, etc: http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm#OPTIMIZING_YOUR_PARSER + Added a context variable to SOAP::Serializer and SOAP::Deserializer so that they have mechanisms for getting instance data from the calling context. The value of context is either SOAP::Lite or SOAP::Server depending upon the role the service is playing in the transaction. Contexts are initialized when a call is made, and destroyed when a call is completed. + Greater than character '>' has been added to list of characters that will be automatically escaped. This is not a requirement by the XML spec, it is a MAY, but I am doing it after seeing a minority of people report a compatibility problem. - Removed deprecated methods: SOAP::Serializer::namespace and encodingspace + Added SOAP::Serializer::encodingStyle method which allows users to set the URI for default encodingStyle. + Added initial support for literal encoding style. EXPERIMENTAL + Added some true constant values representing various SOAP namespace URIs + Added SOAP::Constants::SUPPORTED_ENCODING_STYLES for better tracking of the set of encoding styles that the toolkit can [de]serialize ! Fixed bug 840172 - "Makefile.PL --noprompt flag broken," now fixed + Updated SOAP 1.2 URIs to the latest (TODO - maintain support for older ones) + Added HTTPS support for HTTP::Server Daemon class - thanks to Nils Sowen for this contribution ----------------------------------------------------------------------- PREVIOUS RELEASES ----------------------------------------------------------------------- 0.60 Mon Aug 18 12:10:27 2003 + Merged SOAP::MIME into SOAP::Lite's core + Cleaned up the UI for the Makefile.PL script - it now detects and indicated whether certain Perl modules have been detected. The table displaying installation preferences has been substantially cleaned up, the code is much more modular and relies on a simple data structure representing potential module dependencies. + Made the Makefile.PL script iterative - meaning, the user will be continually be presented with their preferences until they explicity choose to accept them and continue (bug 747295) + Differentiate between xsd:int and xsd:long to fix interoperability bug with Java Web services ! Fixed MIME interoperability bug with Apache Axis - Axis' MIME parser requires that MIME boundaries are terminiated by a CRLF character where the MIME::Tools package only outputs a CR character. A patch was integrated into the MIME::Tools module which allows SOAP::Lite to specify its own MIME Boundary delimiter ! SOAP Faultcodes are now properly typed a xsd:QName, whereas before they were xsd:string - to be honest, they are left untyped so that toolkits can serialize them according to the schema (bug 747283) ! Fixed documentation error around turning on a trace for multiple "channels" (bug 747310) ! Disabled SOAPStruct (bug 747316) ! Fixed XML::Parser::Expat vulnerability (bug 747265) ! Added item in TROUBLESHOOTING section explaining that there is a bug in Perl 5.8 that prevents +autodispatch from working properly. The workaround is to use dispatch_from instead (bug 747290) ! Fixed warning when autodispatched call has no parameters (bug 747286) ! Fixed warning when empty SOAPAction specified (bug 747278) ! Turned off HTTP keep alive patch by default, however users can now turn on the patch by setting the constant PATCH_HTTP_KEEPALIVE to 1 (bug 747281) ! Removed dependency on the URI module for non-HTTP transports (bug 747306) 0.55 Mon Apr 15 22:20:39 2002 ! fixed security vulnerability with fully qualified method names (thanks to Randal Schwartz, Ilya Martynov and many others) ! fixed problem with TCP transport and SSL (thanks to Chris Hurd) ! fixed TCP transport to specify correct length with utf8 strings (thanks to Robin Fuller) ! fixed incorrect encoding when parameters list includes undefined values (thanks to Chris Radcliff) ! updated 'xmlsoap' prefix (thanks to Pierre Denis) ! updated MIME parser to accept messages that start with 'From' (thanks to Chris Davies) + added check for TCP transport on Mac (thanks to Robin Fuller) + added check for shutdown() method on AIX (thanks to Jos Clijmans) + added check for blocking() method in TCP transport (thanks to Jos Clijmans) + optimized parsing strings with entity encoding (thanks to Mathieu Longtin) + added check for entity size for CGI transport ($SOAP::Constant::MAX_CONTENT_SIZE) (thanks to J. Klunder) + added example (google.pl) + updated tests and examples with new endpoints 0.52 Mon Oct 18 21:20:19 2001 ! fixed content_type returned under mod_perl with 500 SERVER ERROR status (thanks to Geoffrey Young and Scott Hutton) ! fixed problem with multiple bindings in WSDL file generated by MS SOAP toolkit ! fixed handling of boolean type in 1999 Schema and hexBinary type in 2001 Schema ! fixed warning and problem with WOULDBLOCK state in IO::SessionData (thanks to Marty Pauley) ! fixed miscalculation in position within sparse arrays ! fixed problem with URI when methods of SOAP::Data are called in certain order (thanks to Taras Shkvarchuk) ! fixed CRLF problem in CGI module on Windows platform under IIS (thanks to Werner Ackerl) ! fixed hex and hexBinary datatypes generation ! fixed content-length calculation when payload has multibyte utf8 characters ! fixed problem with XMLRPC and nested packages with more than two levels (thanks to Leonid Gernovski) ! fixed (again) memory leak in SOAP::Parser (thanks to Craig Johnston) + updated Jabber interface for new format of 'use Net::Jabber ...' does not work with Net::Jabber 1.022 and later + updated XMLRPC::Lite to not detect value as float for 'NaN' and 'INF' strings + updated XMLRPC::Lite to return 200OK on errors + updated XMLRPC do not specify charset in content-type + updated Makefile.PL to allow configuration from command line (thanks to Dana Powers) + updated publishing API tests for UDDI server to call a new server (GLUE) + changed close() to shutdown() in Daemon transport (thanks to Sean Meisner) + added support for HTTP_proxy and HTTP_proxy_* in WSDL access (thanks to Stephen Shortland) + added XMLRPC support in COM interface. XMLRPC client and server can be created using COM interface + added DO_NOT_PROCESS_XML_IN_MIME option for MIME parts with text/xml content type + modified deserialization algorithm that allows to properly deserialize SOAP1.2 messages when default is set to SOAP1.1 and vice versa + added fault in XMLRPC::Lite for incorrect datatypes specified by user (thanks to Paul Prescod) + added option to not generate XML declaration + added encoding for ']]>' (thanks to Matt Sergeant and James Amrhein) + added '\r' => ' ' conversion in strings + added complaint on incorrect simple types + added byNameOrOrder and byName functions for SOAP::Server::Parameters (thanks to Matt Stum) + added handling relative locations in in WSDL + added stringification of SOAP::Fault (thanks to Tim Jenness) + added documentation for SSL certificate authentication + added more examples (terraserver.pl, joke.pl, weblog.pl) + added more tests 0.51 Tue Jul 18 15:15:14 2001 ! fixed memory leak in SOAP::Parser (thanks to Ryan Adams and Michael Brown) ! fixed skipping undef elements in arrays under Perl 5.005 (thanks to Arne Georg Gleditsch) ! fixed warning from undefined type in out parameters (thanks to Jrg Ziefle) ! fixed autovivification warnings on 5.7.x (thanks to Igor Pechersky) ! fixed tests on 64bit systems (thanks to Gurusamy Sarathy) ! fixed installation problem with long filenames on MacOS (thanks to Alex Harper) ! fixed POP3 server (thanks to Kevin Hutchinson) ! number of fixes in XMLRPC::Lite o fixed requirement (thanks to Matthew Krenzer and Dana Powers) o fixed empty slot skipping (thanks to Jon Udell) o fixed serialization of "0"/""/undef values (thanks to Michael E. Gage) o fixed autodispatch (thanks to Craig Kelley) + added support for SOAP 1.2 (spec is still in draft, implementation is subject to change) + added extended array support (only in deserializer) sparse arrays multidimensional arrays (deserialized as array of arrays) partially transmitted arrays + modified XML::Parser::Lite to work on Perl 5.005 (thanks to John Gotts) fixed handling empty attributes as undef fixed minors (thanks to Duncan Cameron) + modified deserializer to work with different schemas (1999/2001) + added JABBER transport + added MQ transport + added mod_xmlrpc transport (Apache::XMLRPC::Lite) + added TCP over SSL transport + added non-blocking TCP multiserver + included FastCGI transport (thanks to Marko Asplund) + added support for APOP authentication in POP3 transport + added Encoding parameter for MAILTO transport (to choose base64/binary) + added 'autoresult' option (thanks to Mathieu Longtin) + added support for import directive in WSDL + added support for short (tModel) WSDL service descriptions + added support for multiple services/ports and allowed non-SOAP bindings in WSDL + added full search example UDDI->WSDL->SOAP (fullsearch.pl) + added charset in response message for HTTP transport + modified SOAPsh/XMLRPCsh to return all parameters (thanks to Chris Davies) + modified dispatch for XMLRPC server to work exactly as for SOAP server examples included in examples/XMLRPC directory + added example with Inline::C module (inline.daemon). Dispatch to C, C++, assembler, Java, Python and Tcl :). Thanks to Brian Ingerson for his Inline module. + all transport are available for both SOAP::Lite and XMLRPC::Lite: HTTP (daemon, CGI, mod_perl), SMTP/POP3, TCP, IO, JABBER, MQ + updated INCOMPATIBILITY section in README file + tested on Perl 5.00503, 5.6.0, 5.6.1, 5.7.1 and 5.7.2 + added SOAP Cookbook (http://cookbook.soaplite.com/) + added server scripts for MQ and JABBER transports + added roundtrip example for JABBER transport + updated documentation and added new examples + added more tests (more than 700 for now) 0.50 Wed Apr 18 11:45:14 2001 ! fixed tests on Windows platform ! fixed authInfo in UDDI publishing interface ! fixed mod_soap (Apache::SOAP) on Perl 5.005/5.004 ! fixed namespace prefix on arrays of arrays ! modified Content-encoding from 'compress' to 'deflate' + added XML::Parser::Lite, regexp-based XML parser used automatically when XML::Parser is not available + added examples of custom serialization and deserialization (XML::DOM) + added XMLRPC::Lite (XMLRPC client and server interface) all transports and features of SOAP::Lite should be available + added XMLRPC interactive shell (XMLRPCsh.pl) + added dispatching based on URI and SOAPAction (dispatch_with) + added dispatching to object (in addition to class/method) + added dispatch from specific class(es) (dispatch_from) + added limited support for mustUnderstand and actor attributes + added SOAP::Fault class for customization of returning Fault message + added charset in HTTP header for requests + added check for namespace and types resolving + added namespaces declarations from WSDL interface + added INCOMPATIBILITY section in README file + added live tests/examples for UDDI publishing interface + added live tests/examples for basic authentication + added XMLRPC server code that validates with Userland's validator + added more examples, tests and documentation 0.47 Wed Feb 21 17:11:12 2001 ! fixed lack of parameter in MAILTO transport ! fixed minimal version of COM interface to not require absent modules + added compression for HTTP transport + added mod_soap interface, add SOAP server functionality with couple of lines in .htaccess or httpd.conf file + added proper serialization of circular multiple references + significantly redesigned handling types and URIs ! incompatibilities with ApacheSOAP clients may occur + added handling PIPE and INT signals in Daemon server implementation + changed return from autodispatched calls: result() in scalar context and paramsall() in list context + redesigned tests and split on core and optional for smooth CPAN installation + added examples for cookie-based authorization + added examples in C# and PerlScript for COM interface + added more documentation for COM interface + updated documentation and added new examples 0.46 Wed Jan 31 16:30:24 2001 ! fixed SOAP:: prefix with SOAP::Lite objects ! fixed documentation installation on Unix ! changed interface of schema() method. Use service() instead + added COM interface single dll (standalone or minimal version, downloadable separately) doesn't require ROPE.dll, MSXML.dll or listener.asp tested on Windows 98/2K, and should work on Windows 9x/Me/NT/2K ASP and daemon server implementations examples in VB/VBS, Excel/VBA, JavaScript, Perl and ASP + added parsing multipart/form-data SOAP server can accept SOAP requests directly from web form examples are provided (examples/forms/*) + added Map type for hash encoding. Tested with ApacheSOAP + added function that maps classes to URI (maptype) + allowed multiple ports in WSDL + tested object interoperability with Apache SOAP + optimized internal functions 0.45 Tue Jan 16 00:38:04 2001 ! fixed interoperability problem with incorrect Array prefix for Apache SOAP + added interoperability tests for Apache SOAP + added interoperability tests with MS SOAP, 4s4c and Lucin implementations + added attachment parsing (singlepart/multipart MIME) Content-ID and Content-Location are supported text/xml fragments are supported and parsed all implementations support MIME encoded messages + added IO server implementation (for pipes, mail handlers, FTP and file processing) + added FTP client implementation + added global settings, shareable between objects + allowed empty URI and non-prefixed method (documentation included) + added tests for xml, xml with headers, single and multipart MIME + updated documentation and added examples + more that 300 tests in test suite 0.44 Tue Dec 12 23:52:12 2000 ! fixed mod_perl server to return '500 Server Error' in case of error ! fixed CGI server to work under PerlIS and PerlEx (thanks to Murray Nesbitt) + tested publishing API for UDDI::Lite, examples provided (thanks to Petr Janata for access to UDDI server and provided help) + added bi-directional TCP client/server, examples and tests provided + enabled de/serializer overloading on server side (in addition to client) + added optimization for objects-by-reference + added ForkingDaemon server implementation (thanks to Peter Fraenkel) + added SOAP::Custom::XML for XML processing, examples and tests provided + added SOAP::Test as simple test framework + added documentation for UDDI publishing API + redesigned examples and tests (~240 tests for now) 0.43 Tue Nov 28 01:47:02 2000 ! fixed bug in UDDI interface that made UDDI client almost useless ! fixed Makefile.PL ! tests confirmed that memory leak is gone + changed syntax for UDDI client to more flexible/convenient + added limited support for WSDL schemas. Dynamic and stub access supported + added script for stub generation (stubmaker.pl) + optimized code on server side + object interface for SOAP, UDDI and schemas are supported consistently + allowed manipulation of method's attributes and namespaces + added attributes encoding ('&', '<' and '"' are encoded) + updated documentation (thanks to Robert Barta who basically did this work) + added more examples and tests (154 for now) 0.42 Tue Nov 14 23:14:18 2000 + added UDDI client (UDDI::Lite) with documentation + added M-POST functionality in HTTP::Client + added redirect (3??) functionality in HTTP::Client + added session cache for M-POSTs and redirects + added conversion of all objects to o-b-r in parameters + changed passing envelope into method + allowed \x0d and \x0a in strings (will not do base64 encode) + added die with object that allows to specify complex Fault detail + optimized XML encoding + allowed function call with autodispatch + improved syntax for 'use SOAP::Lite' + added soap.tcp example for TCP server implementation + added tests with Microsoft implementation + added documentation and tests (145 for now) 0.41 Tue Oct 31 01:24:51 2000 ! fixed memory leak on server side ! fixed die on absence of HTTP::* modules on server side ! fixed working with keep-alive connections (added test with Xmethods) + changed autotyping from double to float + added support for proxy authorization (thanks to Murray Nesbitt) + added TCP client/server implementation + added benchmark for all implementations except smtp/pop3 + added SOAP::Trace for detail logging on client/server side + added examples/tests for Apache::Registry implementations + added more examples, documentation and tests (127 for now) 0.40 Sun Oct 15 18:20:55 2000 ! fixed die in mailto: protocol if you don't have URI::URL installed ! fixed misbehavior on Mac platform (thanks to Carl K. Cunningham) + added default namespace processing [xmlns] (thanks to Petr Janata) + added objects-by-reference, simple garbage collection and activation + added full access to envelope on server side + added versionMismatch reaction + added local: protocol for local binding without any transport + added examples for objects-by-reference: persistent/session iterators and chat (40 lines on server and 25 lines on client side) 0.39 Sun Oct 8 22:55:20 2000 ! fixed incompatibility with Perl 5.005 + added interactive Makefile.PL for CPAN installation 0.38 Thu Oct 5 22:06:20 2000 ! fixed namespace for base64 encoding ! fixed security problem on server side, upgrade is highly recommended + added HTTPS/SSL support + added SMTP client implementation + added POP3 server implementation + added support for Basic/Digest server authentication + added support for header(s) on client/server side with SOAP::Header + added Array and SOAPStruct for interoperability with ApacheSOAP + added generic class for server support SOAP::Server + added Actor attribute + added more examples, documentation and tests (88 for now) 0.36 Sun Sep 24 20:12:10 2000 ! fixed output parameters autobinding + added mod_perl server implementation + added recognizing all simple types mentioned in specification + added support for 'hex' type + added more documentation (twice as much as before) + added more tests (74 for now) 0.35 Sun Sep 17 23:57:10 2000 ! fixed minors (Response instead of Respond, server will map client's URI) + cleaned HTTP::Server internals (will go to SOAP::Server in the future) + test.pl won't abort on transport errors. Failed test will be skipped + added daemon server implementation + added cgi/daemon server implementation examples + added deserialization into blessed reference + added dynamic/static class/method binding + added output parameters matching based on signature (name/type) + added real object transferring back and forth (see example of Chatbot::Eliza, fixed for CODE references) + added more interoperability with on_action on client and server side + added new events (on_action, on_fault, on_nonserialized) + added global class settings with 'use SOAP::Lite ...' + added code for returning application errors on server + added autodispatch + added SOAP prefix to method calls + added more documentation + added more tests (54 for now) + added more examples (Chatbot::Eliza, My::PingPong) 0.32 Sun Sep 10 23:27:10 2000 ! fixed warnings with -w ! fixed blessed reference serialization. Assigned type has top priority + added working with current node in SOAP::SOM + SOAP::SOM::valueof returns nodeset + SOAP::SOM::match returns boolean in boolean context + added raw xml accepting and output + added UserAgent parameters to SOAP::Transport (understands timeout) + added better diagnostic on transport errors in test.pl + added 'method', 'fault', 'freeform' types of Envelope + added server implementation + added CGI interface to server implementation + added My::Examples.pm as example of loaded class for SOAP server + added more tests (47 for now) 0.31 Wed Sep 6 00:36:15 2000 + added expressions to SOAP::SOM->match method + added deserialization of circular references + added tests for deserialization + added documentation 0.3 Mon Sep 4 00:59:04 2000 + first public beta version + added live SOAP calls + added test suite (25 tests) + added documentation + added interactive shell (SOAPsh.pl) 0.2 Mon Aug 24 19:34:24 2000 - next stable version; works with public test servers 0.1 Mon Aug 11 23:12:02 2000 - first version; serialization part only