wiki:ReleaseHistory
Last modified 3 years ago Last modified on 10/12/11 00:11:56
  • Release (0.4) RELEASED (r699)
    • Target Date: 4-30-2010 Released: 9-08-2010
    • Planned:
      • Add support for <xs:list/> in XSD package
      • Optimize caching of intermediate objects and raw xml.
    • Contains:
      • Updated caching to not cache intermediate wsdls.
      • Added DocumentCache which caches verified XML documents as text. User can choose.
      • Added cachingpolicy option to allow user to specify whether to cache XML documents or the WSDL object. Default: 0=document
      • Provided for repeating values in reply for message parts consistent with way handled in nested objects.
      • Added charset=utf-8 to stock content-type http header.
      • Added <?xml version="1.0" encoding="UTF-8"?> to outgoing SOAP messages.
      • Detection of faults in successful (http=200) replies and raise WebFault. Search for <soapenv:Fault/>.
      • Add plugins facility.
    • Bug Fixes:
  • Release (0.3.9) RELEASED (r658)
    • Target Date 01-31-2010
      • Feature Complete: (r655) 02-01-2010
      • Packaging: (r658) 02-18-2010
    • Planned:
      • WSSE enhancements <Timestamp/> and <Expires/> support.
      • Fix caching :)
      • Refit transports to use ProxyHandler instead of urllib2.Request.set_proxy().
    • Contains:
      • Updated caching.
        • Replaced stream-based caching in the transport package with document-based caching.
        • Caches pickled Document objects instead of XML text. 2x Faster!
        • No more SAX parsing exceptions on damaged or incomplete cached files.
      • Cached WSDL objects. Entire Definitions object including contained Schema object cached via pickle.
      • Copy of soap encoding schema packaged with suds.
      • Refactor Transports to use ProxyHandler instead of urllib2.Request.set_proxy().
      • Added WSSE enhancements <Timestamp/> and <Expires/> support. See: Timestamp token.
    • Bug Fixes:
      • #287 - NTLM Authentication Requires urllib2 ProxyHandler with Empty Proxy
      • #291 - Excessive string allocation when parsing long xml responses.
      • #294 - HTTP authentication ignored after wsdl is cached?
      • #295 - Bug with local WSDL files
      • #296 - soap encoded arrays with array element having attributes.
      • #256 - xml.sax._exceptions.SAXParseException: mismatched tag
  • Release (0.3.8) RELEASED (r628)
    • Target Date 12-17-09
    • Contains:
      • Windows NTLM Transport
      • Add missing self.messages in Client.clone().
      • Changed default behavior for WSDL message <part name="foo" type="bar"/> to be optional so when params are None or omitted, no element is sent in the message.
      • Add support for services/ports defined without <address/> element in WSDL.
      • Fix sax.attribute.Element.attrib() to find by name only when ns is not specified. Renamed to Element.getAttribute()
      • Update HttpTransport to pass timeout parameter to urllib2 open() methods when urllib2 version >= 2.6.
      • Add null class to pass explicit NULL values for parameters and optional elements.
      • Soap encoded array (soap-enc:Array) enhancement for rpc/encoded
        • Arrays passed as python arrays - works like document/literal now!
        • No more using the factory to create the Array
        • Automatically includes arrayType attribute. Eg: soap-enc:arrayType="Array[2]"
      • Reintroduced ability to pass complex (objects) using python dict instead of suds object via factory.
      • Added experimental option named: autoblend that ensures full mesh <xs:import/> for wsdl schemas.
    • Fixed tickets:
      • #84 Adding Windows NTLM Authentication
      • #261 wsdl.Service.setlocation not working (anymore)
      • #262 Exception when connection to JIRA
      • #263 Missing self. in suds/properties.py
      • #265 Error on notification operations
      • #266 SUDS does not handle Oracle generated WSDL
      • #278 Build 608 bug - problem unmarshalling soap encoded arrays
      • #280 Referenced xsd objects merged before qualified
      • #282 Connot import wsdl with r617.
    • Downloads
  • Release (0.3.7) RELEASED (r580)
    • Target Date 10-19-09
    • Highlights:
      • Better soap header support
      • Added new transport HttpAuthenticated for active (not passive) basic authentication.
      • New Options:
        • prefixes - Controls when prefixes are used.
        • timeout - Controls URL connection timeout.
        • retxml - Controls when raw XML is returned instead of objects.
      • WSDL processing enhancements.
      • Expanded builtin XSD type support.
      • Fixed <xs:iniclude/>
      • Better XML date/datetime conversion.
      • Client.clone() method added for lightweight copy of client object.
      • XSD processing fixes/enhancements.
      • Better <simpleType/> by <xs:restriction/> support.
      • Performance enhancements.
    • Contains:
      • Returned soap header support.
      • Modify marshaller to set xsi:type attribute on doc/lit services only for types derived by extension and not longer by restriction.
      • Add HttpAuthenticated to transport.http.py.
        • This class provides a primiative http authentication that adds http Authentication: header to all requests instead of waiting for a 401 response.
      • Fix ObjectAppender.optional() references content type instead of using the marshaller. This violated layering and breaks the Basic marshaller.
      • Move minOccurs and maxOccurs and associated optional() & unbounded() to base class.
        • Also, implement base class merge() that merges value when merging object has value of (None) and marged object has a value other then (None).
        • Retrofit subclasses to leverage base class merge().
      • Add 'prefixes' option to control whether to qualify elements (when necessary) using namespace prefixes vs. explicit namespace as xmlns="". The default is True
      • Update wsdl data model to only include message parts in <body/> as specified by binding definition <soap:body parts=""/>.
      • Add unset() to unset attributes on Element
      • Update binding to override explany() so that PartElements don't get set to type='xs:anyType'
      • Fix exception raised when query arg is not a qref.
      • Refactor bindings/marshaller.py into the marshaller XML (mx) package
      • Refactor the bindings/unmarshaller.py into the unmarshaller XML (umx) package.
      • Rework the wsdl, client and servicedefinition to handle wsdls with multiple services.
      • Add service option used to default the service just has the 'port' option sets the default service port name.
      • Fix typed unmarshaller so that when pushing content with type defined, it uses the resolver to lookup the known type and used as resolved arg to Frame constructor.
      • Update document/literal to exclude wrapper children that are attributes or contained by <choice/>.
      • Fix <xs:include/>.
      • Rework XML date, time & datetime classes (XDate, XTime & XDateTime) to use the new sax.date.py module classes.
      • Enhance the list of XSD builtin (simple) types.
      • Fix unqualified reference to Import.xsdns
      • Enhance wsdl Definitions to process <fault/> information.
      • Add option retxml that instructs the client to return the raw soap envelope (xml string) instead of sax parsing and returning a python object graph.
      • Add Client.clone() that provides a thin clone of the client. Clones share WSDL/XSD objects but support separate options.
      • In XSD, perform ns prefix resolution happens before merging so that it happens in proper context.
      • Refactor Options.
        • Needed to separate the general options from the Transport options because it was really strange that the Transport.options contained a Transport.
        • Also, needed to split to support proper cloning of the Client. Moved the Transport options to the transport package.
        • They are still cross-linked to the client options and as such can be manipulated as one big set of options.
        • Implemented __deepcopy__() in the HttpTransport
        base class to prevent copy of urllib2 stuff (which barfed) to support cloning.
      • Replace suds.__init__.properties with __version__ and __build__ and fix client.py.
      • Fix handling <simple type/> by restriction.
      • Fixed Tickets:
        • #65 Suds fails to load some WSDL pages
        • #232 Passing single Element object as soapheaders does not work
        • #233 custom soapheaders passed as suds.sax.element.Element are modified
        • #235 Boolean structure translation return error suds (general)
        • #241 Soap header parts are mixed up with soap body parts
        • #242 Get error while trying to get wsdl with Client( url )
        • #244 FileCache.clear contains several bugs
        • #247 support for multiple-service WSDLs
        • #254 Issues with simpleType parsing
        • #256 xml.sax._exceptions.SAXParseException: mismatched tag
        • #257 add the possibility to omit the parsing of xml into python structures
        • #258 RFE: suds option to specify a timeout
    • Downloads
  • Release (0.3.6) RELEASED (r526)
    • Date: 04-30-09
    • Contains:
      • Change hard coded /tmp/suds to tempfile.gettempdir() and create suds/ on demand.
      • Fix return type for Any.get_attribute().
      • Update http caching to ignore file:// urls.
      • Better logging of messages when only the reply is injected.
      • Fix XInteger and XFloat types to translate returned arrays properly.
      • Fix xs:import schema with same namespace.
      • Update parser to not load external references and add Import.bind() for XMLSchema.xsd location.
      • Add schema doctor - used to patch XSDs at runtime. (See Option.doctor)
      • Fix deprecation warnings in python 2.6.
      • Add behavior for @default defined on <element/>.
      • Change @xsi:type value to always be qualified for doc/literal. (reverts 0.3.5 change).
      • Add Option.xstq option to control when @xsi:type is qualified.
      • Fixed Tickets: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
    • Downloads
  • Release (0.3.5) RELEASED (r499)
    • Date: 04-16-09
    • Contains:
      • Adds http caching. Default is (1) day. Does not apply to method invocation. See: documentation for details.
      • Removed checking fedora version check in spec since no longer building < fc9.
      • Updated makefile to roll tarball with tar.sh.
      • Moved bare/wrapped determination to wsdl for document/literal.
      • Refactored Transport into a package (provides better logging of http headers).
      • Fixed Tickets: #207, #209, #210, #212, #214, #215
    • Downloads
  • Release (0.3.4) RELEASED (r505)
    • Date: 02-24-09
    • Contains:
      • Static (automatic) Import.bind('http://schemas.xmlsoap.org/soap/encoding/'), users no longer need to do this.
      • Basic ws-security with UsernameToken and clear-text password only.
      • Add support for sparse soap headers via passing dictionary
      • Add support for arbitrary user defined soap headers
      • Fixes service operations with multiple soap header entries.
      • Schema loading and dereferencing algorithm enhancements.
      • Nested soap multirefs fixed.
      • Better (true) support for elementFormDefault="unqualified" provides more accurate namespaing.
      • WSDL part types no longer default to WSDL targetNamespace.
      • Fixed Tickets: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201.
    • Downloads
  • Release (0.3.3) RELEASED (r456)
    • Date:
    • Contains:
      • No longer installs (tests) package.
      • API3 Proposal
        • Keyword method arguments
        • Pluggable transport
        • Baisc http authentication in default transport
      • Add namespace prefix normalization in soap message.
      • Better soap message pruning of empty nodes.
      • Fixed Tickets: #51,#52,#53,#54,#55,#56,#57
  • Release (0.3.2) RELEASED (r386)
    • Date:
    • Contains:
      • SOAP MultiRef support (1st pass added r300)
      • Add support for new schema tags:
        • <xs:include/>
        • <xs:simpleContent/>
        • <xs:group/>
        • <xs:attributeGroup/>
      • Added support for new xs <--> python type conversions:
        • xs:int
        • xs:long
        • xs:float
        • xs:double
      • Revise marshaller and binding to further sharpen the namespacing of nodes produced.
      • Infinite recursion fixed in xsd package dereference() during schema loading.
      • Add support for <wsdl:import/> of schema files into the wsdl root <definitions/>.
      • Fix double encoding of (&)
      • Add Client API:
        • setheaders() - same as headers & soapheaders keywords but works for all invocations.
        • addprefix() - mapping of namespace prefixes.
        • setlocation() - Override the location in the wsdl; same as location keyword except for all calls.
        • setproxy() - same as proxy keyword but for all invocations.
      • Add proper namespace prefix for soap headers.
      • Fixed Tickets: #5, #12, #34, #37, #40,#44, #45, #46, #48, #49, #50
      • Basic ws-security
  • Release (0.3.1) RELEASED (r295)
    • Date: 10-01-08
    • Contains:
      • Mitigate API changes introduced in 0.3 to better handle multi-port services.

Quick follow up to the 0.3 release that made working multi-port service definitions harder then necessary. After consideration (and a good night sleep), it seemed obvious that a few changes would make this much easier. 1) Filter out the non-soap bindings - they were causing the real trouble 2) Since most servers are happy with any of the soap bindings (soap 1.1 and 1.2), ambigious references to methods when invoking then without the port qualification will work just fine in almost every case. So, why not just allow suds to select the port. Let's not make the user do it when it's not necessary. In most cases, uses on 0.2.9 and earlier will not have to update there code when moving to 0.3.1 as they might have in 0.3.

  • Release (0.3) RELEASED (r294)
    • Date: 9-31-08
    • Contains:
      • Extends the support for multi-port services introduced in 0.2.9. See README SERVICES WITH MULTIPLE PORTS:
      • Add support for multi-document document/literal soap binding style. See README MULTI-DOCUMENT Docuemnt/Literal:
      • Add support for (xs:group, xs:attributeGroup) tags.
      • Add Client.last_sent() and Client.last_received().
  • Release (0.2.9) RELEASED (r268)
    • Date: 9-16-08
    • Contains:
      • Support for multiple ports within a service.
      • Attribute references <xs:attribute ref=""/>
      • Make XML special character encoder in sax package - pluggable
  • Release (0.2.8) RELEASED (r250)
    • Date: 8/28/08
    • Contains:
      • Improved document/literal binding.
      • Add support for 'binding' schemaLocations to namespace-uri.
      • Update client to pass kwargs to send() and add /location/ kwarg for overriding the service location in the wsdl.
      • Schema loading updates.
      • See README for more ...
  • Release (0.2.7) RELEASED (r236)
    • Date: 8/11/08
    • Contains:
      • Add detection/support for document/literal - wrapped and unwrapped.
      • Update document/literal wrapped to set document root (under <body/>) to be the
        wrapper element (w/ proper namespace).
      • Add support for <sequence/>, <all/> and <choice/> having maxOccurs and have the
        which causes the unmarshaller to set values for elements contained in an unbounded
        collection as a list.
      • Update client.factory (builder) to omit children of <choice/> since the 'user' really needs
        to decide which children to include.
      • Update flattening algorithm to prevent re-flattening of types from imported schemas.
      • Adjustments to flattening/merging algorithms.
  • Release (0.2.6) RELEASED (r229)
    • Date: 8/5/08
    • Contains:
      • Fix ENUMs broken during xsd package overhaul.
      • Fix type as defined in ticket #24.
      • Fix duplicate param names in method signatures as reported in ticket #30.
      • Suds licensed as LGPL.
      • Remove logging setup in suds.init() as suggested by patch in ticket #31.
      • Add support for Client.Factory.create() alt: syntax for fully qualifying the type to be built as: {namespace}name.
  • Release ( 0.2.5 ) RELEASED (r217)
    • Date: 8-01-08
    • Contains:
      • Overhauled xsd package.
        • This should fix <xs:extension/> related problems.
        • Better performance
      • Fixed dateTime printing bug
  • Release ( 0.2.4 ) RELEASED (r211)
    • Date: 7-28-08
    • Contains:
      • Added support for WSDL imports: <wsdl:import/>
      • Added support for xsd<->python type conversions (thanks: Nathan Van Gheem) for:
        • xs:date
        • xs:time
        • xs:dateTime
    • Fixed:
      • Bug: Schema <import/> with schemaLocation specified.
      • Bug: Namespaces specified in service description not valid until client/proxy is printed.
  • Release ( 0.2.3 ) RELEASED (r199)

Testing against very large WSDL(s) revealed some performance issues.

  • Date: 7-17-08
  • Contains:
    • Performance enhancements/fixes based on python profiler results:
      • Logging (tuning)
      • WSDL load (tuning)
      • Schema (xsd) indexes added.
      • Textual description created on-demand (when first printing the client)
      • Sax tuning
  • Release ( 0.2.2 ) RELEASED (r195)
    • Date: 6-31-08
    • Contains:
      • new Client (2nd generation) API
      • soap headers (partial)
      • Performance enhancements
      • Closed Tickets: 1,2,7,10,13,14
      • Fixed HTTP Authentication
      • Better logging
      • python <=> xs type mapping (partial)
  • Release ( 0.2.1 ) RELEASED (r112)
    • Date: 5-8-08
    • Contains:
      • schema processing (fixes/enhancements)
      • more schema constructs:
        • <element ref=""/> ref attributes (fixed in r107)
        • <attribute/> (fixed in r108)
      • fix logging (fixed in r108)
  • Release ( 0.2 ) RELEASED (r102)
    • Date:
    • Contains:
      • Move from httplib to urllib2
      • Support basic http authentication
      • RPC/Encoded binding
      • Proxy support
      • Cookie support
  • Roadmap Items:
    • mapping schema built-in types <=> python types
      • xs:date
      • xs:time
      • xs:datetime
      • ...
    • multi-ref support
    • soap headers
    • ws-security
    • see also: enhancement tickets ...