# Revision history for Perl extension SOAP::Lite.

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

Numbers with # are CPANRT tracker IDs from


1.27 May 14, 2018
    ! Problem with compression in server mode

1.26 December 30, 2017
    ! typo fix https://anonscm.debian.org/cgit/pkg-perl/packages/libsoap-lite-perl.git/tree/debian/patches/spelling-error.patch

1.25 December 29, 2017
    ! Bad usage of UNIVERSAL::isa (See RT#62667)

1.24 December 19, 2017
    + Consistent Versioning https://github.com/redhotpenguin/soaplite/pull/24
    ! Remove is_utf8() check from 78588

1.23 December 18, 2017
    ! RT #78588 unicode data not correct encoded

1.22 August 15, 2017
    ! Noindex URI::tcp module [github/JaSei]
    ! Correct the soap namespace declaration when calling services defined in WSDL [github/waaeer]
    ! Fix typos [github/kmhl]

1.21 November 6, 2016
    ! #118654 consistently use '#!/usr/bin/env perl' throughout (@mototimo) [github/moto-timo]

1.20 June 9, 2016
    ! Minor kwalitee updates (@oeuftete)
    ! #106688 encode utf8 content in test which fails under RHES 6.6

1.19 August 26, 2015
    ! #106665 Correct the version manually, no autoversioning, and the maintainer screwed up

1.18 August 25, 2015
    ! Fix a couple of cases where undefined values were being passed to functions [github/redhotpenguin]
    ! Do not set content_length for compressed request [github/bor]
    ! Add test for check return of send_receive(), add titles for some tests [github/bor]

1.17 July 30, 2015
    ! #106051 Fix utf8 encoding for CGI test (thanks cpan/ETHER for tips)

1.16 July 23, 2015
    ! Fix empty release. Note to self - do not release code when wife is in early labor

1.15 July 21, 2015
    + Preventing "billion laughs" exponential entity expansion attack [github/thilo-fester]

1.14 March 24, 2015
    + Add header and body tags [@bubi6608]
    ! Fixed typo in trace logging example [@oschwald]
    + Converted the dist from using ExtUtils::MakeMaker to using Dist::Zilla [@mvuets]
    ! Cleaned up prereqs [@mvuets]
    ! Cleaned up author and release tests [@mvuets]

1.13 December 30, 2014
    ! Fixed undefined value error when using bugzilla's xmlrpc.cgi (bugzilla's API) [dbeusee]

1.12 November 26, 2014
    ! #100557 Redefined sub in SOAP::Lite::Deserializer::XMLSchema2001

1.11 February 21, 2014
    ! #93080 bug when SOAP::Lite is trying to parse WSDL definition by https with custom settings

1.10 January 23, 2014 
    ! Fixed uninitialized warning when Context-Length is not set [github/dbeusee]
    ! avoid string eval in as_base64 [github/otrosien]
    ! #88915 warnings issued with using importing with +trace

1.09 January 14, 2013
    ! #92025 tighten multipart content-type matching [dmn@debian.org]

1.08 November 8, 2013
    ! #15703 add no_index for examples to prevent CPAN pollution [githumb.com/sergeyromanov]

1.07 November 7, 2013
    ! #89948 Remove warning when Content-Id is not present

1.06 August 21, 2013
    ! #87935 skip all MIME-Parser tests if it is not installed
    ! #87787 Use of uninitialized value $ns in Lite.pm 

1.05 August 18, 2013
    ! #87848 Fix manifest, fix invalid http version from release blunder

1.04 August 9, 2013
    ! #87605 Skip XML::Parser::Lite tests if it is missing [github.com/omega] 

1.03 August 4, 2013
    ! #87195 Remove DIME::Tools dep until we can work around its issues

1.02 July 30, 2013
    ! #87421 1.01 release blew out xml versions. mea culpa.

1.01 July 29, 2013
    ! #84168 Test t/02-payload.t fails under Perl 5.17.10
    ! #87127 TEST.pl removed from MANIFEST
    ! revert #85713 - various reports of environment failures

1.0 July 16, 2013
    ! #85713 SOAP::Transport::HTTP, 500 error skips parsing of response
    ! No more Windows 98 client support. Wait, wut?
    ! Merge SOAP::Transport::TCP back into SOAP::Lite (for now)
    ! #82416: xop href cid: URI encoded support reported by Michael R. Davis (mrdvt92)
    ! #85208 bad test plan
    ! #83750 different headers for mod_perl vs mod_perl2 [Mithun Bhattacharya]

0.716 May 10, 2013
    ! #17275 Client unable to detect fatal SOAP failure (e.g. unable to connect to host)
    ! #81471 Force array context for correct Apache header parsing in SOAP::Transport::HTTP
    ! #45611 deserializing SOAP message with composite attachment raises exception
    ! #84168 Test t/02-payload.t fails under Perl 5.17.10
    ! #85098 Monkey patch for LWP::Protocol confuses the toolchain
    ! #78692 / #84724 / #83715 Sending large object (many levels deep) throws error Incorrect parameter
    ! #78502 t/08-schema.t noisy under 5.17.2 (unescaped left brace in regex  is deprecated)
    ! #78608 Documentation for "+trace"
    ! #78639 Spelling error reported by Debian tools
    ! #75938 Change to warning / add configuration variable to allow XML tags starting with /xml/i
    ! #76902 Missing info in "SSL CERTIFICATE AUTHENTICATION" documentation
	! #74577 work around/fixes for success with MS WS https/compressed
    ! #74308 SOAP-Lite fails for operations with period in name
    ! #73802 client did not set the encoding of the soap-envelope to 'iso-8859-1' in HTTP-request
    ! #75019 HTTP server doesn't process PIPE signal
    ! #72836 Processing a SOAP 1.2 request breaks the next SOAP 1.1 response
    ! #70381 SOAP-Lite performance
    ! #53375 comments after <?xml .. >
    ! #63693 Uninitalized value (again)
    ! #37360 Use of uninitialized variables in SOAP tests
    ! fixed encoding in xmlrpc keys
    ! #15176 problems with SOAP::Header ->value 
    Moved SOAP::Transport::TCP into SOAP-Transport-TPC distribution
    ! #70329 - not generating attributes properly (deleting id attribute)
    ! #52637 error sending a request in perl 5.10.0 containing utf-8 data using the string data type
	! #48775 Small bug in SOAP::Packager
	! #51178 Emailing: SOAP-Lite-0.710.10.patch
	! #55962 Spelling errors
	! #52015 defined(%hash) deprecated in Perl 5.11
	! #63693 Uninitalized value
	! #65655 Assignment of shift to list
	! #58538 regression from 0.710.08 soap:Client,Application failed during request deserialization
	! #64250 Bleadperl v5.13.7-297-g558b442 breaks SOAP::Lite 0.712
	! #68088 XML::Parser::Lite fails tests under perl 5.14 RC1
	! #69825 Bug in SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.pm
    ! #57409 SOAP::Lite installation problem
    ! #52015 defined(%hash) deprecated in Perl 5.11
    ! #39546 use of version.pm
    ! #52637 error sending a request in perl 5.10.0 containing utf-8 data using the string data type
    ! #55962 Spelling errors 
   SOAP::Transport::JABBER, SOAP::Transport::MQ and SOAP::Tranport::FTP
   are now in their own distributions.
   ! [2790747] Bugtracker specification in META.yml missing
   ! #45997: Inconsistency in SOAP::Serializer documentation
   ! #55618: HTTP_TRANSFER_ENCODING can be undefined in SOAP/Transpo
   ! [2946245] / #54106 Only last Cookie Set
   ! #50178: Win32 isuue with IO::SessionData and IO::SessionSet
   ! #41527: SOAP::Lite 0.69 with Apache2 HTTP Server module and mod_perl 2 
           returns 500 Internal 
   ! #49981: UDDI::Lite version not parsable by cpanplus (again)
   ! #46444: use SOAP::Lite::Deserializer::XMLSchemaSOAP1_2 missing
   ! #37151: Strawberry perl 5.10 - Tests fail and then later hang
   ! #49981: UDDI::Lite version not parsable by cpanplus
   ! #49011: Fails to install under strawberry perl
   ! [2825166] In Constant DEFAULT_HTTP_CONTENT_TYPE
   ! [2832939] chunked client requests are returned 411(Length Required) 
   ! [2860559] serious utf8 bug
   ! #44568 Tracing unavailable when SOAP::Lite is used as a server 
   ! #44195 submitting patches / mention Nginx transport module in documentation
   ! [2777361] SOAP 1.2 Content-Type rejected
   ! #41937 ([patch] enable more tests)
   ! #39101: Apache2::Const::HTTP_BAD_REQUEST not defined
   ! #39672: serialization and autotype 'off'
   ! #41348: t/SOAP/Transport/HTTP/CGI.t failing on 5.6.x
   ! #20569: XMLRPC::Lite "wrong element 'nil'" exception on '<value><nil/></value>'
   + require Task::Weaken
   + better META.yml generated (Alexandr Ciornii)

0.710.08 - Jul 13 2008
   ! [ 2015071 ] HTTP header is no more accessible
   The HTTP header can be pre-filled again. Now, the HTTP header is cloned
   from a (possibly user defined) header for every request
   ! #37358: Test Failure in Strawberry perl - IO::SessionData
   ! #37359: Test Failure in Strawberry perl - IO::SessionSet
   ! [ 2005296 ] CPANTS says META.yml broken
   ! [ 2005288 ] CPANTS: has_humanreadable_license not ok
   ! #37040: Memory leak when calling WS using wsdl
   SOAP::Transport::HTTP->new() was leaking two scalars per call
   ! [ 1963995 ] > not deserialized in result
   ! [ 1833218 ] < and > not deserialized in faultstring/detail
   ! [ 1959329 ] Incorrect Content-Type while sending requests with no parts
   ! [ 1945385 ] Incorrect starting part detection for Multipart/Related
   ! #36477 SOAP::Lite Envelope not stripped down for XMLRPC
   ! #36455 XMLRPC::Transport::HTTP::CGI generates extra params
   ! got version number right, finally. Thanks to Graham Barr,
   Andreas J. Koenig and Matt S Trout (in alphabetical order) for support
   ! updated version number and fixed declaring version, so that perl 5.6.2
   can parse it, too
   ! fixed memory leaks with XMLRPC::Lite
   ! #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)
   ! [1942233] Memory leak in 0.69 && 0.71
   ! #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

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
  ! 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

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
  + 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:
    <Envelope><Body /></Envelope>
  + 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<stub> 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
  + 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
  + 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
  ! 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
    - 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:
  + 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
  + 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
  + 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


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
  + 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
  ! 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
  + 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
  + changed close() to shutdown() in Daemon transport (thanks to Sean
  + 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
  + added '\r' => '&#xd;' 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
  ! 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
    o fixed empty slot skipping (thanks to Jon Udell)
    o fixed serialization of "0"/""/undef values (thanks to Michael E.
    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
    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
  + 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
  + 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
  + 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
  + 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
  + 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
  + 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
  + 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
  + 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
  + added optimization for objects-by-reference
  + added ForkingDaemon server implementation (thanks to Peter
  + added SOAP::Custom::XML for XML processing, examples and tests
  + 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
  + added script for stub generation (stubmaker.pl)
  + optimized code on server side
  + object interface for SOAP, UDDI and schemas are supported
  + 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
  + 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
  + 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
  + 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
  + cleaned HTTP::Server internals (will go to SOAP::Server in the
  + test.pl won't abort on transport errors. Failed test will be
  + 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
  + 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
  + 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