#
# Revision history for Perl extension SOAP::Lite.
#
# $Id: Changes,v 1.5 2003/08/18 18:12:28 paulclinger Exp $
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 '!'.
-----------------------------------------------------------------------
THIS RELEASE
-----------------------------------------------------------------------
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)
-----------------------------------------------------------------------
PREVIOUS RELEASES
-----------------------------------------------------------------------
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 <import> 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 <string> 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