Change for xxx released xxx: - Make XMLSchema.py work in cases where threading isn't built in - Add client-side Cookie Support (Jorgen Frojk Kjaersgaard) - For cookies, getheaders() is Python 2.3; use getallmatchingheaders - In SoapWriter, put nsdecls on body, not envelope - Record facets (restrictions) in XMLSchema.py <vchen@datapower.com> - Remove Send()'s kwargs out of _args list <efrain@bogotron.net> Change for 2.0.0 released 2-Feb-2007: - Improvements to ZSI wsdl2py users guide, added a wsdl2dispatch chapter - Various bug fixes Change for 2.0.0rc3 released 26-Oct-2006: - Updated ZSI developers guide - Added ZSI wsdl2py users guide - Added support for setuptools in setup script. If setuptools is installed use it, else revert to distutils. - Removed "requestclass" keyword argument to Binding.Send - simplified and retooled Binding/NamedParamBinding and dispatch, added "typesmodule" back into Binding. Now it's mirror image of dispatch. - Microseconds to TCtime - BUG [ 1525567 ] Amazon ECommerce Issues: local element declarations overriding global element declarations with the same name within the same namespace. - new module "schema", contains "all" the code for dealing with global Schema instance. Change for 2.0.0rc2 released 28-March-2006: - Replace many/most id() with _get_idstr() to hide negative numbers - Added ZSI.twisted package w/client and server, requires Python 2.4 - If Python >= 2.4, build/install ZSI.twisted package - Add Typecode.typed to control xsi:type data system-wide - Replace many/most id() with _get_idstr() to hide negative numbers Changes for 1.7 released 16-Feb-2005: - Add support for jonpy (http://jonpy.sourceforge.net) FastCGI courtesy of Guan Yang - Avoid FutureWarning with Python 2.3.x - Make sure generated ID values are legal IDs under Python 2.3 and newer - Don't need _textunprotect (via Grahame Bowland) - Fix ZSI.wstools.XMLname.toXMLname() so namespace prefix isn't lost Changes for 1.5, released 10-Mar-2004: - TypeCode honoring for response parameters - String adherence to wsdl for request/response params via ServiceProxy - wsdl2py bug fixes - Numerous bug fixes Changes for 1.4.1 released 11-Nov-2003: - Make "docstyle" work for returning data, too (Alexis Marrero-Narvaez) - TC.Struct.typed will output xsi:type parameter now. - Numerous bug fixes Changes for 1.4, released 09-Sep-2003: - Ouput XML prolog in SoapWriter - Added nsdict parameter to dispatch.AsCGI and dispatch.AsServer - Fixed bug where xmlns attribute was included in closing elements - Added support for "wrapped" complexTypes in response messages - TypeCode enabled classes now support parameters in the constructor - Automatic parsing of ComplexTypes in response messages - WSDL Parsing and operation invocation via ServiceProxy - Tuple returned from dates and times (instead of a list) - Arrays of ComplexTypes can now be deserialized - User can specify which module contains complex type definitions - Mod_Python support for dispatch to multiple functions within a module - In client.py, try to get port from URL if available (Wichert Akkerman) - Add ZSIException as parent for ZSI exception classes, FaultException class, and raise that if we get unexpected fault in client (Wichert) - Add auth_header keyword param to client Send method (Phillip Pearson) - Added support for conversion between WSDL and Python classes Changes for 1.3, released xx-May-2002: - Fixed parsing bug evidenced by dW article - Style: use defaulted parameters not kw.get() - Style: avoid __dict__ and use standard attribute fetch - Fix dispatch to actually dispatch (Laroche Denis) - Fix some typo's (thanks adalke) - In TCCompound, include class name in exception, not just object name - ZSI homepage is at pywebsvcs.sf.net now, not www.zolera.com (sigh...) - Add nsdict parameter to dispatch's AsServer() Changes for 1.2, released 05-Mar-2002: - Replace with X copyright; GNU compatible now - newver writes date into version.tex - Use "raise x(a)" always, never "raise x, a" (that's oldschool:) - Don't delete tb in FaultFromException; add try/except for robustness - Ignore -1 values for DST, etc., in Python time tuples - Remove needless __init__ when just calling parent __init__ - Added 'undeclared' parameter to TC.Array - Added 'repeatable' parameter to TC.TypeCode - Add 'aname' parameter to TC.Typecode - Move 'unique' keyword from TC.String up to TC.TypeCode - Add 'wrapped' keyword to TC.XML - Added _find_attr lambda - Had path backwards in backtrace, add [1] to uniqify when needed - Complain if extra elements in TC.Struct and hasextras=0 - Duration.lex_pattern was wrong (old schema) <grahamd@dscpl.com.au> - Newline after output gDateTime, not a space - Newline before Base64string - Incorrect test in RegisterType <grahamd@dscpl.com.au> - Add Boolean.serialize <grahamd@dscpl.com.au> - Anchor all TCtime lex_pattern's <grahamd@dscpl.com.au> - Allow class object (not just class name) in TC.seriallist - TC.Void can serialize None (useful for TC.Any) - RegisterType(TC.Void) <grahamd@dscpl.com.au> - Fix consistency and interop in dispatching <grahamd@dscpl.com.au> - Array interop fix <gisle@activestate.com> - SOAPAction header needs quotes <gisle@activestate.com> - Add Apache SOAPArray <gisle@activestate.com> - Properly use 'ns' in client to set default namespace - Convert client.py to use "new" HTTP objects - Sign isn't optional on numeric timezones in dates <grahamd@dscpl.com.au> - Document limits on date/time conversions. - Add TC.XML.copyit and 'copyit' keyword to constructor - Spelt EvaluateException wrong in dispatch.py <grahamd@dscpl.com.au> - xsi:nil not xsi:null in TC.Void <grahamd@dscpl.com.au> - Address issues with client/dispatch and None <grahamd@dscpl.com.au> - Use formatted output, not strftime - TC.Any defaults to optional if not set, for None <grahamd@dscpl.com.au> - TC.Any tries to serialize its datatype as its tagname - Add 'typed' support to TC.Any - Allow keyword args in Fault.AsSOAP, passed to SoapWriter ctor - SoapWriter's self.memo always uses id() (even for strings) - Add SoapWriter.Forget() - Add 'envelope' and 'encoding' keywords to SoapWriter - Added 'mutable' parameter to TC.Struct - TC.oname now properly defaults to TC.pname - Remove "None" if it was second arg to dictionary get() method - Add 'format' parameter to TC.Decimal and TC.Integer - Fix TC.Decimal to work where float('INF') doesn't - Fix TC.Decimal to handle NaN more portably <grahamd@dscpl.com.au> - Add samples directory - Binding() omits typing from the outermost RPC wrapper - Fix HTML docs to include the ZSI schema - Add readerclass parameter to client Binding - Ignore <> around Content-ID in resolver; fix test to have it - Docfix for Placer.typecode (paul@prescod.net) - TC.Any will call pyobj's typecode if attr exists (paul@prescod.net) - Binding replytype is optional; standards replytype not replyclass - Document other tests to-do in interop/README - Document ZSI typecode naming better. - Add 'docstyle' to AsServer - Handle HTTP 100 responses (httplib should...) (aspinei@internal.metawings.com) Changes for 1.1, released 14-Sep-2001: - Works with PyXML0.6 now! - Create this CHANGES file, include it in doc files - Lots of editing and new material in the documentation - Fix TC.String to handle empty strings - Renamed NodeBacktrace to _backtrace - Renamed HasValidEncoding to _valid_encoding - Add 'textprotect' keyword argument to TC.String - TC.Any() can now serialize dictionaries, lists, tuples - TC.Any() can now parse arrays - Add aslist to TC.Any() - Add TC.Apache.Map typecode - GetMyHeaderElements includes header with no actor attribute - Fix formatting of error message when TC.Struct caught eval exception - Fix TC.Struct for case when all kids are optional (could-be-zero-sized) - Fix SimpleHREF calling sequence; boolean, Gregorian, duration now work - Fix typo when generating backtrace on EvaluateException - Exception backtraces are now in XPath syntax - Fix zsi.xsd to conform to proper XSD-Rec style - Fix zsi.xsd nits found by free IBM schema quality checker - Added Z:BasicAuth to zsi.xsd - CIDResolver now takes an optional "next" parameter, instead of creating a NetworkResolver automatically; the "prefixes" parameter is gone from the CIDResolver constructor - Rename CIDResolver to MIMEResolver, and add Content-Location handling - Changed resolver.seekable default from 1 to 0 - Resolvers raise EvaluateException, not TypeError - Fix FindLocalHREF to search the serialization root, too - Use and prefer Fault.AsSOAP, although Fault.AsSoap still exists - Change FindLocalHREF to cache all id's as it finds them - Add boolean, decimal, and hexbinary to interop server - Add simple CGI dispatching - Put version in setup.cfg and make newver use it for version.{py,tex} - Add ZSI.Version() to retrieve version tuple - Use len(_children(elt)) not elt.hasChildNodes()