Release notes for SOAP::WSDL 3.00.00_1
-------

o.  fix a hash randomization bug that was causing random failures in t/SOAP/WSDL/05_simpleType-list.t

o.  2624a9 for #86142, adding the XML declaration to the output, broke another part of the system, so work around that.
    I accidentally stopped doing "recursive" tests (tests in subdirs) at some point and missed some of this fun breakage.

o.  dam@cpan.org's fix for using not using ->usa('UNIVERSAL') to test if something loaded apparently works in a situation
    where mine doesn't, that was causing tests to fail; use that version instead.

Release notes for SOAP::WSDL 3.00.00_1
-------

Scott Walters has assumed co-maint of this module and is ashamed to release 3.00.00_1.
Numerous fixes have been made to get tests to pass again on newer perls.
Please see the git log at http://github.com/scrottie/SOAP-WSDL for additional detail.

o.  applied patch from ticket #86142: Missing XML declaration in request
    https://rt.cpan.org/Public/Bug/Display.html?id=86142
    tests still pass, so, good enough, right?

o.  Huh.  Between 5.12 and 5.16 somewhere, the behavior of ClassName->isa('UNIVERSAL') changed.
    It used to be that that would return true if and only if that namespace existed.
    Now it always returns true for any random non-existant made up name.
    Changed this to do ->can() on a known existing method modules with this API have (serialize)
    instead after floundering around for a bit.  exists ${"main::"}{$type.'::'} worked a little
    bit but made it barf for some reason I didn't investigate.
    This is the problem apparently behind the previous "haunted house level shit" fixes and
    reversions.  This thing does automatically load these modules on the fly.  Would be nice
    if the unit tests had some comments in them.

o.  There were two calls to get_port() right next to
    each other, in the very same ? :, and one of them had a ->[0]
    tacked on the end and the other one didn't.  Well guess what...
    the one without was returning an arrayref, which caused these
    failures in the unit tests:
    Can't call method "get_binding" on unblessed reference at /home/scott/projects/SOAP-WSDL/blib/lib/SOAP/WSDL.pm line 186.

o.  protip:  reverse %hash with '#default' => 'urn:myNamespace', 'tns' =>
    'urn:myNamespace' results in misery.  random hash ordering made a pile of
    tests in t/003_wsdl_based_serializer.t randomly pass and fail in unison.

o.  "vectors" (totally not the same thing as a vector in other languages or on a Cray 1)
    have been deprecated and removed.  pretend like they never existed.

o.  fix two instances of the "Can't modify non-lvalue subroutine call at lib/SOAP/WSDL.pm line 167." error.
    it looks like the author wrote
        return $a ? $b : $c = $d
    Intending it to mean:
        return $a ? $b : ($c = $d);
    ... but perl parses it as:
        return ( $a ? $b : $c) = $d;
    ... and perl 5.16 is more astute about lvalue errors like that.

Release notes for SOAP::WSDL 2.00.10
-------

I'm proud to present a new release of SOAP::WSDL.

SOAP::WSDL is a toolkit for creating WSDL-based SOAP client interfaces in perl.

Features:

    * WSDL based SOAP client
          o SOAP1.1 support
          o Supports document/literal message style/encoding
    * Code generator for generating WSDL-based interface classes
          o Generated code includes usage documentation for the web service interface
    * Easy-to use API
          o Automatically encodes perl data structures as message data
          o Automatically sets HTTP headers right
          o Datatypes provide hints on method names on calls to non-existant
          methods
    * Efficient documentation
          o SOAP::WSDL::Manual guides you at getting your work done, not at
          the module's internals
    * Examples in Perl and Java
    * Thorough test suite
          o SOAP::WSDL is heavily regression tested, with a test coverage of
          over 95% (excluding documentation - you wouldn't want to read
          through it all).
    * SOAP::Lite like look and feel
          o Where possible, SOAP::WSDL mimics SOAP::Lite's API to allow easy migration
    * XML schema based class library for creating data objects
    * High-performance SOAP Message parser
    * Plugin support. SOAP::WSDL can be extended through plugins in various aspects.
      The following plugins are supported:
          o Transport plugins via SOAP::WSDL::Factory::Transport
          o Serializer plugins via SOAP::WSDL::Factory::Serializer
          o Deserializer plugins via SOAP::WSDL::Factory::Deserializer

The following changes have been made:

2.00.10 - May 15 2009

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * #44546: XML Schema types with names cuase errors when including anonymous types
   SOAP::WSDL now handles element names with "." correctly

   * #45037 ComplexTypes' elements in different namespaces not serialized 
   correctly
   SOAP::WSDL now serializes elements in different namespaces correctly

   * #43769 Fault11 serialization issue when passed Element for detail
   The detail fault element is now automatically wrapped into an appropriate
   detail object and serialized correctly.
   Note that passing a list as details content is not supported yet.

   * #43674 Fault not caught/propagated in SOAP::WSDL::Client::call
   Deserializer faults in SOAP::WSDL::Client now propagate correctly to the
   caller.

The following uncategorized improvements have been made:

   * improved Java example: Commented test class
   
   * improved documentation: Added Cookbook entry for HTTP Negotiate Authentication
   (Kerberos).

2.00.09 - Feb 22 2009

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 2631555 ] Template used without version
   * [ 2631220 ] Faults generated with soap:Server actor

2.00.08 - Feb 22 2009

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [2628386] SOAP::WSDL::Generator::Visitor::Typelib still used in tests

   * #41453: Content-Type 'charset=...' not set in HTTP header
   Already fixed in 2.00.07

2.00.07 - Feb 21 2009

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 2621474 ] Add Non-Perl examples / test client / Servers
   The distribution now includes a Java / Apache CXF example.

   * [ 2585274 ] Create a HTTP::Server::Simple based SOAP Server
   SOAP::WSDL now ships with a server class to use with HTTP::Server::Simple
   for testing purposes. See SOAP::WSDL::Server::Simple for details.

   * [ 1911232 ] Allow skipping unknown XML elements
   See SOAP::WSDL::Manual::Cookbook on how to use this feature

   * [ 2505421 ] include XML attributes in as_hash_ref
   ComplexTypes now include XML attributes in as_hash_ref's result under the
   special key "xmlattr".
   As a side effect, as_hash ref now works for ComplexType objects with a
   simpleContent content model, too (though the results may be misleading:
   Their value is included under the hash key "value", the only other
   possible hash key is "xmlattr").

   * [ 1960062 ] Use POSIX::strftime for date conversion
   Not really a feature, but a little speedup. The Feature request is
   obsoleted by resorting to good old sprintf for date formatting.
   Speeds up set_value in date and dateTime Objects by around 30% for non-
   XML-formatted strings.
   As a side effect, dateTime now does not allow setting 0 as date.

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 2621471 ] SOAP::WSDL::Server sends fault with invalid namespace prefix
   Faults now use the correct prefix.

   * [ 2560208 ] elementFormDefault always "qualified"
   SOAP::WSDL now respects the elementFormDefault attribute in embedded
   XML Schemas.

   * #42049: [PATCH] SOAP::WSDL uses default User-Agent
   SOAP::WSDL now announces itself as "SOAP::WSDL $VERSION" instead of
   "libwww/perl $VERSION" in HTTP requests. Note however, that this only
   applies for wsdl2perl, SOAP::WSDL and SOAP::WSDL::Transport::HTTP.
   SOAP::Transport HTTP (from the SOAP-Lite distribution) is not affected.

   * [ 2533903 ] Imported schema overwrites existing XML namespace/prefix map
   Importing a schema which defined the same XML namespace prefix as the
   importing schema, but with a different URI resulted in having the URI
   of the associated with the prefix from the imported schema set in the
   importing schema.

   * #42388 [PATCH] Disabling 'die' in Typemaps
   Duplicate of [1911232] Allow skipping unknown XML elements - see added
   features.

   * #42179 Problem deserializing SOAP messages that contain only a simpleType
   Now the top-level element may consist of a simpleType only, too.

The following uncategorized improvements have been made:

   * Fixed a =back error in element POD generation
   * Improved test suite
   * Improved documentation
   * Improved TEST_COVERAGE to report coverage correctly

2.00.06 - Dec 03 2008

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

    * #40658 wsdl2perl - prefix option
    The prefix option is now changed to behave more practical
    * #40802 wsdl2perl problems with special url
    The "fixed" attribute caused an error.
    * #40650 Deserialization on inherited types
    The inherited complexType variety (sequence/all/choice...) did not get
    propagated to derived complexTypes. Thus, derived complexTypes which did
    not add elements lost all inherited elements.
    * #40108 Test failure on Cygwin
    Fixes a test failure on Cygwin due to a malformed file:// URL
    * #40021 charset: utf-8
    Removed duplicate charset in HTTP requests issued by
    SOAP::WSDL::Transport::HTTP. Replaced the utf8 by utf-8 in HTTP requests
    * #39715 Error with complexType extension base without child elements
    A rather subtle error caused by a wrong init value (undef) for the list
    of child elements in a complexType sequence.
    * [ 2005693 ] <maxLength fixed ="true"> causes error
    * [ 2023797 ] type extensions not handled correctly
    ComplexType objects now test their elements with ->isa, not with ref
    * [ 2021755 ] Generating nested complexType extensions throws errors

2.00.05 - Jul 13 2008

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

    * [ 2014482 ] Big-O memory hole when parsing WSDL
    SOAP::WSDL still leaks memory when using SOAP::Lite's transport backend
    This is to be fixed in 0.710.08 in SOAP::Lite
    * #36865 wsdl2perl.pl fails on Expat error
    Resolved by dropping a note for Solaris in README
    * [ 2005693 ] <maxLength fixed ="true"> causes error
    The >fixed< attribute is now recognized (but has no effect yet)

The following uncategorized improvements have been made:

    * added missing Class::Std::Storable::Fast import flags to
    SOAP::WSDL::XSD::Typelib::Builtin::IDREFS
    * some code cleanup

2.00.04

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

    * [ 1972059 ] Can't set timeout via SOAP::WSDL
    * [ 1961409 ] Error with unqualified references in imported schema
    * #35873: SOAP::WSDL -- Can't locate object method "set_Action" via package "SOAP::WSDL::OpMessage"
    * [ 1969427 ] Mod_Perl.t broken when mod_perl is unavailable
    * #35610 Test fails when Test::Without::Module is installed

The following uncategorized improvements have been made:

    * Changed the environment variable for author tests to "RELEASE_TESTING",
    as defined by the Oslo QA Hackathon 2008
    (see http://perl-qa.hexten.net/wiki/index.php/Oslo_QA_Hackathon_2008_:Achievements)
    * Enhanced documentation
    * Fixed a wrong error message
    * Cleaned up test suite (removed duplicate tests)

2.00.03 - May 18 2008

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

    * [ 1966575 ] 2.00.02 produced bad code with complexType extensions

2.00.02 - May 16 2008

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

    * [ 1941134 ] Server for mod_perl2. Thanks to Noah Robin for contributing.
    (I actually forgot to include it in 2.00.01)

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

    * [ 1963613 ] ComplexTypes die on ->can('FOOBAR');
    * [ 1943667 ] Error parsing complexType/extension
    * [ 1960650 ] multi-level inheritance of complexTypes fails
    * [ 1960319 ] ComplexType as_hash_ref returns objects on maximum depth
    * [ 1943673 ] Relative schemaLocation="" URLs not resolved in <import>
    * [ 1953598 ] Cannot set server and attribute prefixes with wsdl2perl
    * [ 1941080 ] 017_generator.t (test 2) fails with Template-Toolkit 2.15
    * [ 1949209 ] spelling/grammar in Mod_Perl2.pm
    * [ 1950670 ] on_action removed in SOAP::WSDL >= 2.00
    * #35346 element ref="" not handled properly

The following uncategorized improvements have been made:

2.00.01

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

    * [ 1941134 ] Server for mod_perl2. Thanks to Noah Robin for contributing.

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

    * [ 1944368 ] SOAP/WSDL/XSD/Typelib/SimpleType.pm spelling
    * [ 1944367 ] SOAP/WSDL/XSD/Typelib/ComplexType.pm spelling
    * [ 1944364 ] SOAP/WSDL/XSD/Typelib/Builtin.pm spelling
    * [ 1944362 ] SOAP/WSDL/SOAP/Typelib/Fault11.pm spelling
    * [ 1944361 ] SOAP/WSDL/Generator/Visitor.pm spelling
    * [ 1944360 ] SOAP/WSDL/Generator/Iterator/WSDL11.pm spelling
    * [ 1944359 ] SOAP::WSDL::Factory::Transport spelling
    * [ 1944355 ] SOAP::WSDL::Deserializer::XSD.pm spelling
    Thanks to "nobody" for correcting these errors.

    * [ 1942576 ] SOAP/WSDL/Deserializer/SOM.pm spelling.
    * [ 1942568 ] SOAP/WSDL/Client.pm minor spelling/grammar/style cleanup.
    * [ 1942562 ] WSDL.pm spelling corrections.
    Thanks to Noah Robin for providing patches for these errors.

    * #34642 booleans in WSDL attributes don't get converted to perl's
    representation (for now - not all attributes covered yet)
    * #34714: MessageParser misses character data in elements just below SOAP-ENV:Body
    * #34688: wsdl2perl.pl croaks when WSDL operation uses a header

The following uncategorized improvements have been made:

   * Storable freeze/thaw speedup in conjunction with upcoming version of
   Class::Std::Fast
   * improved server doc generation
   * improved xsi:nil handling
   * serializing an attribute from  http://www.w3.org/XML/1998/namespace now
   serializes it with xml: prefix. This should probably be moved into the
   generator, to avoid testing every attribute

2.00_33 - Mar 30 2008

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1925336 ] Create a Prefix Resolver Plugin Interface for Code Generator
   * [ 1898591 ] object stringify returns undef
   * [ 1906753 ] Hypens in MyTypes/* cause runtime syntax errors
   Hypens and dots in variable and method names are now replaced by _

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * #33616: Bugs in the META.yml file
   * [ 1892895 ] Test failures on RHEL4
   * [ 1844956 ] t/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS fails test on OS X
   * #33376: HTTP Authentication (not implemented or not documented)

The following uncategorized improvements have been made:

   * Some minor performance improvements have been made
   * The XSD generator now asserts the soap:operation style is "document"
   * <wsdl:import> and <xsd:import> now import namespace declarations, too
   * The XSD generator now uses the relevant <wsdl:portType>'s
   targetNamespace for finding operation messages, not the <wsdl:definition>
   element's targetNamespace
   * Attribute handling has been improved so it could possibly work.
   Attributes from different namespaces are probably still broken.
   * Attribute ref handling has been added (though probably broken on
   ref cascades).
   * <xsd:attributeGroup> elements are now parsed, but have no effect yet.
   * <xsd:enumeration> elements are now parsed, but have no effect yet.

2.00_32 - Feb 14 2008

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 1893147 ] Segfault on 2.0.0_31

The following uncategorized improvements have been made:

   * changed SOAP::WSDL::XSD::ComplexType's set_/get_flavor methods to
     set_/get_variety to reflect the XML standard more closely.
     get_flavor is retained for compatibility reasons.
   * added initial support for complexType/simpleContent definitions. Right
     now, only restriction derivations are supported.
   * fixed an error in the generator_test.wsdl

2.00_31 - Feb 11 2007

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1883843 ] Support wsdl:import
   * [ 1883863 ] Support xsd:import

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

The following uncategorized improvements have been made:

   * The WSDL Parser now warns about unsupported WSDL / XML schema elements
   * Fixed path handling in t/006_client.t
   * Removed useless ms regex flag in SOAP::WSDL::Factory::Transport
   * The test suite has been improved

2.00_30 - unreleased

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1875288 ] Support XML attributes (partial)

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 1876435 ] Test on perl-5.10 fails
   * #32611 empty complexType structure classes are missing 'use Class::Std::Fast::Storable'

The following uncategorized improvements have been made:

   * ComplexType objects now accept { foo => undef } in constructor and handle
   it as non-present child element foo.
   * Updated test suite
   * Updated SOAP::WSDL::Client::Base to correctly handle SOAP calls with
   no parameters (empty parts)
   * Test on perl-5.10 fails when SOAP::Lite is not installed

2.00_29

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * #32188: minor bug found and fixed in WSDL generation
   * [ 1871175 ] Can't delete attributes from ComplexType objects

The following uncategorized improvements have been made:

   * Updated SOAP::WSDL::Manual::XSD
   * Removed pod directives from templates to avoid confusing CPAN's pod
   viewer
   * Initial (incomplete) XML attribute support
   * Updated test suite

2.00_28

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * #32062: minor doc fixes
   * [ 1852988 ] Generated Interface POD is invalid
   * [ 1855583 ] t/SOAP/WSDL/XSD/Typelib/ComplexType.t requires Test::Warn

The following uncategorized improvements have been made:

   * Updated SOAP::WSDL::Manual::WS_I to reflect new Server modules

2.00_27

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1850793 ] Add a to_hash_ref method
   * [ 1844427 ] Support multiple parts in body

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 1850795 ] attributes referencing types in default namespace throw
   * [ 1844458 ] Add warning when generating Interface with multiple parts
   * [ 1843841 ] Grammar/typos in Manual.pod
   * [ 1843799 ] ./Build test fails due to testcount mismatch not IO::Scalar
   * [ 1845077 ] Top level simpleType elements don't serialize correctly

The following uncategorized improvements have been made:

   * Fixed serializing complexType elements with no elements to empty element
   * Enhanced test suite
   * Documentation improvements

2.00_26

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 1843195 ] t/013_complexType.t still requires Class::Std::Storable
   * [ 1843590 ] Tests broken on Cygwin

The following uncategorized improvements have been made:

   * Added examples
   * Added Content-length header to CGI output

2.00_25
---
WARNING: INCOMPATIBLE CHANGE:

   SOAP::WSDL now uses Class::Std::Fast. Read the MIGRATING guide for
   upgrading from previous versions.
   You probably need to re-generate all your interfaces.

WARNING: INCOMPATIBLE CHANGE:

   SOAP::WSDL::XSD::Typelib::anySimpleType based objects no longer serialize
   to their XML value on stringification.
   This means that strings are no longer XML-escaped when the simpleType
   containing the string is printed or used like this:

    my $value = "$simpleType";

   Note that ComplexType objects still serialize to their XML on
   stringification. This Change is due to the demands of applications
   embedding SOAP::WSDL::XSD::Typelib objects in templates - it would mean
   a nasty ->get_value for every (simple) value.

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1837347 ] Use Class::Std::Fast
   Class::Std::Fast allows optimizations which almost double SOAP::WSDL's
   performance and reduce code size. Class::Std::Fast also opens the door
   for even faster XS implementations.
   * [ 1842436 ] Add SOAP Server

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * [ 1842418 ] Message parser eats up whitespaces between entities
   * [ 1839820 ] encoding parameter of Content-Type header set incorrectly
   * [ 1839851 ] token in UPPERCASE in default typemap
   * [ 1839690 ] Can't use two prefixes for namespace in WSDL
   * [ 1839833 ] incorrect encoding/decoding of double-quote

The following uncategorized improvements have been made:

   * Errors in typemap generation have been fixed
   * XML parser speedups
   * The test suite has been improved

2.00_24
---
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1832998 ] Make interface methods complain when called as class method
   * [ 1826833 ] listify all XSD type objects when called as @{}

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).

   * #30685: Error in MessageParser when using __SKIP__ in typemap
   * [ 1831398 ] Badd class names for atomic typed elements
   * [ 1828240 ] POD Defects
   * [ 1792348 ] 006_client.t requires SOAP::Lite (again)

The following uncategorized improvements have been made:

   * The test suite has been improved
   * Documentation has been improved

2.00_23
---

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1826382 ] nillable elements not serialized as xsi:nil
   * [ 1826337 ] Second element in complexType gets eaten up
   * [ 1792348 ] 006_client.t requires SOAP::Lite (again)

The following uncategorized improvements have been made:

   * Test for complexType containing element with atomic simpleType added

2.00_22
----

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1817697 ] Dots in service/port names lead to broken interfaces
   * [ 1817699 ] Templates not found on all OS

The following uncategorized improvements have been made:

   * Code cleanup. The XSD library has been cleaned up a bit. Should result
   in a minor speedup in serializing and deserializing XML messages,

2.00_21 - not released
----
The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1810058 ] .tt's pod indexed on CPAN (again)
   * [ 1809284 ] Rename SOAP::WSDL::Deserializer::SOAP11 to ::XSD

The following uncategorized improvements have been made:

   * Requires at least perl 5.8.0. This is due to a bug in perls before -
   see http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/929746

2.00_20
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1815646 ] Only include last part of port name in interface
   * [ 1815648 ] Methods with empty body cannot be called as ->method()
   * [ 1815651 ] Empty complexType definitions not supported

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1815643 ] ComplexTypes cannot be freezed/thawed

The following uncategorized improvements have been made:

   * WSDL definitions are decoded into utf8
   * fixed tests to use correct path on windows

2.00_19
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1810395 ] Implement complexType complexContent extension

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1813144 ] Typemap not used in interface class
   * [ 1810058 ] .tt's pod indexed on CPAN

The following uncategorized improvements have been made:

   * Documentation improvements

2.00_18
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1790983 ] Create generator Plugin API
   Generator factory is SOAP::WSDL::Factory::Generator

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1805252 ] t/SOAP/WSDL/XSD/Typelib/Builtin/004_time.t fails
   The default timezone conversion has been fixed.

The following uncategorized improvements have been made:

   * Documentation improvements
   * Test updates
   * readable() has been converted into a no-op, as it already had no effect
   any more

2.00_17
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1772617 ] SOAP Header not working
   Added header support. Currently, SOAP headers are only supported with
   the SOM or the XSD (SOAP11) serializer.

   * [ 1805238 ] Tests in t/SOAP/WSDL don't work when run from t/

   * [ 1805241 ] explain() broken in SOAP::WSDL
   explain has been removed from SOAP::WSDL

The following uncategorized improvements have been made:

   * Added limited support for complexType complexContent content model with
   restriction variety.
   SOAP::WSDL now supports this XML Schema definition variant, although no
   constraints are imposed on derived types yet.
   Derived types do not serialize with a xsi:type attribute (and the xsi:type
   attribute is not recognized by the XML parser), so you cannot use derived
   types as a substitute for theri parent, yet.

   * Added support for complexType choice variety
   complexType definitions using the choice variety are now supported,
   even though the content is not checked (if you pass in invalid data,
   invalid XML will be generated).

   * Added Loopback Transport backend.
   SOAP::WSDL::Tranport::Loopback just returns the request as respons, but
   allows testing the whole chain from user interface to transport backend.

   * Fixed SOAP::WSDL::Factory::Transport prefer user-registered
   transport backend

   * Fixed set_soap_version method in SOAP::WSDL::Client.
   Re-setting the SOAP version now invalidates (resets) serializer and
   deserializer, but not the transport backend.

   * Fixed SOAP::WSDL::XSD::Typelib::Builtin::boolean to return false
   when false and true when true.

   * SOAP::WSDL::XSD::Typelib::Builtin::normalizedString now replaces all
   occurences of tab, newline and carriage return by whitespce on set_value.

   * Code cleanup
      o Lots of orphan methods now replaced by the SOAP::WSDL::Generator
        hierarchy have been removed.
      o Unused (and unusable) readable option checking has been removed in
        SOAP::WSDL::Serializer::SOAP11.
      o Unused XML Schema facet attributes have been removed from XSD Builtin
        classes
      o Methods common to all expat parser classes have been factored out
        into a common base class.

   * XML serialization speedup for SOAP::WSDL::XSD::* objects

   * Tests added to improve test coverage.

   * A few documentation errors have been fixed

   * Misspelled default Typemap and Interface prefixes have been corrected

2.00_16
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1761532 ] Support embedded atomic types
   SOAP::WSDL now supports a greater variety of XML Schema type definitions.
   Note that XML Schema support is still incomplete, though.

   * [ 1797943 ] Create Perl Hash Deserializer
   There's a new deserializer which outputs perl hashes as data structures.
   Much like XML::Simple, but faster. No XML Attribute support, though.

   * [ 1797678 ] Move Code generator from WSDL::Definitions to separate class

   * [ 1803330 ] Create one interface per port
   SOAP::WSDL now creates one interface per port, not one per service.

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1804441 ] parts from binding not regarded in SOAP::WSDL
   SOAP::WSDL (interpreter mode) now respects the body parts specified in the
   binding.

   * [ 1803763 ] nonNegativeInteger misspelled in Schema::Builtin

   * [ 1793965 ] _expand() does not work on non-root-node ns declarations

   * [ 1792348 ] 006_client.t requires SOAP::Lite in 2.00_15
   SOAP::WSDL no longer attempts to load SOAP::WSDL::Deserializer::SOM when
   no_dispatch is set.
   006_client.t now sets outputxml(1), to be really sure.

The following uncategorized improvements have been made:

   * Code generator only generates interface for the first port in a service
   The code generator now generates interfaces for all ports.
   Note: The naming scheme has changed. It is now
    InterfacePrefix::Service::Port

   * XML Parser speedup
   The XML parser has received a little speedup.

   * A number of errors in parsing / traversing WSDL documents have been
   corrected.

   * Documentation has been improved

   * A number of (incorrect, but passing) tests have been fixed.

   * Code cleanup: The SOAP::WSDL::SAX* modules are no longer included, as they
   are not supported any more. They can still be found in SOAP::WSDL's
   subversion repository in the attic directory, though.

2.00_15
----

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1792321 ] 2.00_14 requires SOAP::Lite for passing tests

2.00_14
----

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1792235 ] SOAP::WSDL::Transport::Test missing from 2.00_13
   The package has been re-added

   * [ 1792221 ] class_resolver not set from ::Client in 2.00_13
   Changed to set class_resolver correctly.

The following uncategorized improvements have been made:

   * The ::SOM deserializer has been simplified to be just a subclass
   of SOAP::Deserializer from SOAP::Lite
   * Factories now emit more useful error messages when no class is registered
   for the protocol/soap_version requested
   * Documentation has been improved
      - refined ::Factory:: modules' documentation
   * Several tests have been added
   * XSD classes have been improved for testability

2.00_13
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

   * [ 1790619 ] Test transport backend
   A test transport backend has been implemented (SOAP::WSDL::Transport::Test).
   It returns the contents from a file and discards the response.
   The filename is determined from the soap_action field.

   * [ 1785196 ] Replace outputsom(1) by deserializer plugin
   outputsom(1) in SOAP::WSDL is now implemented via using the deserializer
   plugin SOAP::WSDL::Deserializer::SOM.

   * [1785195] Support deserializer plugins
   Deserializer plugin API added via SOAP::WSDL::Factory::Deserializer.

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [1789581] Support ComplexType mixed
   WSDL parser now supports using the mixed="true" attribute in complexType
   definitions. Mixed content in messages is only supported via SOAP::SOM yet.

   * [1787975] 016_client_object.t fails due to testing XML as string
   Removed string test.

   * [1787959] Test wsdl seems to be broken
   Corrected typo.

   * [1787955] ::XSD::Typelib::date is broken
   SOAP::WSDL::XSD::Typelib::Builtin::date now converts time-zoned dates properly,
   and adds the local time zone if none is given.

   * [1785646] SOAPAction header not set from soap:operation soapAction
   SOAP::WSDL now sets the SOAPAction header correctly.

The following uncategorized improvements have been made:

   * Documentation improvements

2.00_12
----

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [1787146] SOAP::WSDL still uses XML::LibXML
   The superficious usage of XML::LibXML has been removed. XML::LibXML with
   sax filter has been replaced by SOAP::WSDL::Expat::WSDLParser.

   * [1787054] Test suite requires XML::LibXML in 2.00_11
   The test suite no longer requires XML::LibXML to pass.

   * [1785678] SOAP envelope not checked for namespace
   The SOAP envelope is now checked for the correct namespace.

   * [1786644] SOAP::WSDL::Manual - doc error
   Documentation improvements

The following uncategorized improvements have been made

   * The SOAPAction header is now alway quoted (R1109 in WS-I BP 1.0).

2.00_11
----

The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):

  * [1767963] Transport plugins via SOAP::WSDL::Factory::Transport.
    SOAP::WSDL uses SOAP::Lite's tranport modules as default, with a
    lightweight HTTP(S) transport plugin as fallback.
    Custom transport modules can be registered via SOAP::WSDL::Factory::Transport.

  * [ 1772730 ] Serializer plugins via SOAP::WSDL::Factory::Serializer
    The default serializer for SOAP1.1 is SOAP::WSDL::Serializer::SOAP11.
    Custom serializers classes can be registered via
    SOAP::WSDL::Factory::Serializer or set via SOAP::WSDL's set_serializer
    method.

The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):

   * [ 1764854 ] Port WSDL parser to expat and remove XML::LibXML dependency
     SOAP::WSDL now requires only XML::Parser to be installed.
     XML::LibXML is not required any more, though XML::LibXML based modules still
     exist.

The following uncategorized improvements have been made

   * The number of dependencies has been reduced. SOAP::WSDL no longer requires the
     following modules to be installed:
        - XML::SAX::Base
        - XML::SAX::ParserFactory
        - Pod::Simple::Text
        - XML::LibXML

   * The missing prerequisite Template has been added.
   * Documentation has been improved:
        - WS-I Compliance document added.


2.00_10
----
   * Changed Makefile.PL to use Module::Build (passthrough mode)
   * fixed element ref="" handling

2.00_09
----
   * SOAP::WSDL::XSD::Typelib::Builtin::boolean objects now return their numerical
     value in bool context, not "true" or "false" (always true...)
   * date/time test are now timezone-sensitive
   * examples added

2.00_08
---
   * SOAP::WSDL::XSD::Typelib::ComplexType objects now check the class of their
     child objects.
     This provides early feedback to developers.
   * SOAP message parser can skip unwanted parts of the message to improve parsing
     speed - see SOAP::WSDL::Expat::MessageParser for details.
   * HTTP Content-Type is configurable
   * SOAP::WSDL::XSD::Typelib::ComplexType based objects accept any combination of
     hash refs, list refs and objects as parameter to set_value() and new().
   * SOAP::WSDL::XSD::Typelib::Builtin::dateTime and ::date convert date
      strings into XML date strings
   * SOAP::WSDL::Definitions::create now
      - converts '.' in service names to '::' (.NET class separator to perl class
      separator)
      - outputs Typemaps and Interface classes in UTF8 to allow proper inclusion
      of UTF8 documentation from WSDL
   * SOAP::WSDL::Definitions::create() includes doc in generated interface classes
   * WSDLHandler now handles <wsdl:documentation> tags
   * fixed explain in SimpleType, ComplexType and Element

2.00_07 and below
---
   * Implemented a Code generator for creating SOAP interfaces based on WSDL definitions
   * Implemented a high-speed stream based SOAP message parser
     SOAP message parser returns a objects based on XML schema based class library
   * Implemented a XML schema based class library
   * Implemented a stream based WSDL parser.
     Parses WSDL into objects. Objects can serialize data, and explain how to use the
     service(s) they make up (output documentation).