|
-
- Release 0.12.0 of SOAPpy
- ------------------------
-
- This release primarily foces on bug fixes. Primary changes:
-
- - Fixes for bug reports that have accumulated over the last year
-
- [ 916265] "Arrays of unicode do not serialize correctly (patch included)"
- [ 918216] "Parsing faults in SOAPpy 0.11.3"
- [ 925077] "SOAPpy prints out SOAP fault" (even when Config.debug is off).
- [1001646] "SOAPpy stomps headers when sending multirefs"
- [1001646] "SOAPpy stomps headers when sending multirefs.
- [1064233] "Bug fixes for complex types"
- [1064248] "Bugs in _asdict() and _asarray() in Types.py"
- [1078051] "Arrays of complex types (doc/lit)"
- [1096971] "Parse error: missing HTTP header 'Content-length'"
- [1106450] "Floats are truncated to 10 digits, causing precision loss"
- [1122991] "error from SOAPpy/Client.py for content_length evaluation?"
-
- - Fixes for 'rules' which allow control of the data types of *incoming* messages.
- As a consequence TCtest.py now passes all tests.
-
- - WSDL support has been improving, due to work on the 'wstools'
- module which is shared between ZSI and SOAPpy.
-
- - Some work has been done to improve documentation.
-
-
- Release 0.11.6 of SOAPpy
- ------------------------
-
- Changes to URLs and email addresses in documentation.
-
-
- Release 0.11.5 of SOAPpy
- ------------------------
-
- - Bug fixes
-
- - Fix string format error in fault handling
-
-
- Release 0.11.4 of SOAPpy
- ------------------------
-
- - Bug fixes:
-
- - SOAPpy/Server.py: Check if header information contains SOAPAction
- key before checking its value.
-
- - Fixes for generating SOAP from complexType arrays, contributed by
- antonio.beamud@linkend.com
-
- - Fixed bug that caused typedArrayTypes to lose their type
- information when rendered to SOAP and added corresponding
- test case.
-
- - New Features
-
- - Enhancements to fault handling: The faultType Faultstring is now
- a non-variable string (i.e. no nsmethod in it) so that it can be
- programmatically checked. In addition fault handlers can now be
- registered to handle specific types of faults.
-
-
- - SOAPpy/Server.py: Modified unregsiterObject function to take
- optional namespace/path args to be consistent with registerObject.
-
- - SOAPpy/Server.py: Added an unregisterObject function
-
-
- - Changes to allow SOAPBuilder so it can handle a 'raw' Python object.
-
-
-
- Release 0.11.2 of SOAPpy
- ------------------------
-
- - News:
-
- Ivan R. Judson has joined the SOAPpy team. He is focused on
- Globus support but is also responsible for a lot of other work for
- this release,
-
- - Bug fixes:
-
- - Code in Types.py assumes nested scopes, so I added the proper import so
- this will work under python 2.2.x
-
- - Fixing namespace collision
-
- - Fixed handing of named arguments bug introduced in 0.11.1.
-
- - Fix memory leak when exceptions are raised.
-
- - Fix bug when content-length is not present in parsed SOAP message.
-
- - Fix bug #888345: Python 2.3 boolean type serialized as int
-
- - Fix bug #875977: no escaping of bad tagnames for NoneTypes
-
-
- - New features:
-
- - Improved Globus support and documentation. Thanks Ivan!
-
- - Added context handling
-
- - Changed the use of SOAPAction, it used to default to setting it
- to "", now it defaults to setting it to the method (not the
- nsmethod). There is a clause in Server.py that catches 'old style'
- SOAPActions (aka "") and sets them to the method. When this is
- confirmed to be what everyone wants and we decide it's alright to
- (possibly) break client/server interop, we can take the clause out
- of Server.py and just handle SOAPActions of "" as a possible
- error/warning.
-
- - Additional test code.
-
- - Raise a SOAPException instead of returning a SOAPpy.faultType
- when a SOAP Fault is encountered and simplify_objects is enabled.
-
-
- Release 0.11.1 of SOAPpy
- ------------------------
-
- - Bug fixes:
-
- - Fixed bug [ 792258 ] "SOAPBuilder.SOAPBuilder.dump can catch
- wrong exceptions" in SOAPBuilder.dump() submitted by Greg Chapman
- (glchapman).
-
- - Changes suggested by Richard Au (richardau) to fix ssl support.
- See bug report [ 752882 ] "SSL SOAP Server no longer working."
-
- - Remove call to gentag from 'dump' and add to 'dump_float', per
- bug report [ 792600 ] "SOAPBuilder.SOAPBuilder.dump possibly should
- not call gentag" by Greg Chapman (glchapman).
-
- - Add a tests for handling of nil="true" and nil="false". This
- fixes bug [ pywebsvcs-Bugs-858168 ] 'xsi:nil="true" causes
- exception' reported by Robert Zimmermann (robertzett):
-
- - testClient1.py now works properly. It had been failing to start the
- server thread on the second unit test. It turned out that the
- variable 'quit' needed to be reset to zero after the SOAP server
- thread for the first unit test exited. With the solution of this
- problem testClient1 can now be extended to run unit tests of both
- client and server components.
-
- - Added 'strict' option to the WSDL class. If strict is true, a
- RuntimeException will be raised if an unrecogned message is recieved.
- If strict is false, a warning will be printed to the console, the
- message type will be added to the WSDL schema, and processing will
- continue. This is in response to the second half of bug report [
- 817331 ] "Some WSDL.py changes", submitted by Rudolf Ruland.
-
-
- Release 0.11.0 of SOAPpy
- ------------------------
-
- - New/Changed configuration settings:
-
- - Config.simplify_objects=1 now converts all SOAPpy objects into basic
- Python types (list, dictionary, tuple, double, float, etc.). By default,
- Config.simplify_objects=0 for backward compatibility.
-
- - Config.dict_encoding='ascii' converts the keys of dictionaries
- (e.g. created when Config.simplify_objects=1) to ascii == plain python
- strings instead of unicode strings. This variable can be set to any
- encoding known to string.encode().
-
- - Config.strict_range=1 forces the SOAP parsing routines to perform
- range checks on recieved SOAP float and double objects. When
- Config.strict_range=0, the default, parsing does not perform range
- checking (except for detecting overflows, which always occurs). In
- either case, range checking is performed when
- generating SOAP float and double objects.
-
- - Fixes for WSDLProxy.
-
- - Scripts in the test/ directory
-
- - Verbose debugging messages have been turned off..
-
- - SOAPtest.py now functions when Config.simplify_objects=1
-
- - SOAPtest.py now sets Config.strict_range=1 so that range
- checks are be properly tested.
-
- - New README file listing what test scripts fail and why.
-
- - Initial support for Globus via pyGlobus contributed by Ivan
- R. Judson <judson@mcs.anl.gov>.
-
- Release 0.10.4 of SOAPpy
- ------------------------
-
- Dramatic performance improvements for large data transfers.
-
- Release 0.10.1 of SOAPpy
- ------------------------
-
- only minor changes
-
- 1) Code now uses a single file to store version number
-
- 2) Client and server now report 'SOAPpy' as the server/user-agent.
-
- 3) All test scripts now use the local SOAPpy source instead of the
- globally installed version.
-
- Release 0.10.0 of SOAPpy
- ------------------------
-
- Enhancements:
-
- 1) The new name handling mechanism has been enabled by default.
-
- The primary purpose of this release is to allow users to test this
- to see if it causes problems. Please take the time to do so. If
- there are no problems reported by April 15, 2003, 0.9.9 will be
- released with this feature enabled by default.
-
- Note that running a client under an old release of SOAPpy and a
- server under this release will be likely to generate errors due to
- the different name handling mechanisms.
-
- 2) MS-Windows systems should now be fully supported.
-
- This required implementing a new module, ieee754, which provides
- functions for detecting and generating IEEE 754 special floating
- point values (+Inf, -Inf, NaN) which are not properly handled by
- the Windows implementation of the float() function.
-
- 3) Code reorganization: The huge file SOAPpy/SOAP.py (4,122 lines,
- 131K) has been split into 10 separate files. In addition code
- shared with ZSI has been moved into a separate subdirectory and a
- separate CVS module.
-
- 4) Fixed bug 678239 which caused loss of namespace information in the
- client.
-
- 5) Mark Bucciarelli's <mark@hubcapconsulting.com> has ported client
- support for WSDL from ZSI, as well as providing a mechanism for
- SOAPpy servers to provide WSDL on properly structured .GET
- requests.
-
- 6) Added ThreadingSOAPServer which inherits from ThreadingTCPServer
- server so that multiple clients will be automatically multiplexed.
-
-
- VERSION 0.10.4
- --------------
-
- - Integrated a simple patch submitted by Erik Westra that dramatically
- improves parser performance.
-
- - WSDL tools now uses m2crypto for SSL if it's installed.
-
- - Various other WSDL changes.
-
- VERSION 0.10.3
- --------------
-
- - Removed import of obsoleted ieee753.py. Now use the fpconst module
- proposed by PEP 754, available from
- <http://research.warnes.net/Zope/projects/fpconst/>
-
- - SOAPpy should no longer depend on pyXML.
-
- VERSION 0.10.2
- --------------
-
- - Fixed client support for basic authentication
-
- - Fixed import error in Client.py
-
- - Improved Client parsing of namespaces to support stateful SOAP servers.
-
- VERSION 0.10.1
- --------------
-
- - Modified setup.py, Server.py, and Client.py to obtain SOAPpy version
- number from a new file, version.py.
-
- - SOAP server/user-agent is now to 'SOAPpy' instead of 'SOAP.py'.
-
- - Added ident string containing CVS version to all files that were
- lacking this.
-
- VERSION 0.10.0
- --------------
-
- CHANGES SINCE VERSION 0.9.9-pre5
-
- - Major Change: The huge file SOAPpy/SOAP.py (4,122 lines, 131K) has
- been split into 10 separate files:
- Client.py NS.py SOAPBuilder.py Utilities.py
- Config.py Parser.py Server.py
- Errors.py SOAP.py Types.py
- This should ease navigation and maintenance.
-
- - A new CVS module 'wstools' was created to hold code which is used by
- both ZSI and SOAPpy. While this module is stored separately in CVS,
- it will be distributed as an integral part of both ZSI and SOAPpy,
- and will be included as an 'internal' module by both. In the SOAPpy
- source, it lives in the directory SOAPpy/wstools.
-
- - The files XMLname.py, ieee754.py, have been moved into SOAPpy/wstools.
-
- - Added TODO file
-
- - Fix bug in getNS that caused loss of namespace by using better
- pattern matching to find the namespace in the SOAP message. Fixes bug
- 678239
-
- - Added Mark Bucciarelli's <mark@hubcapconsulting.com> patch to
- provide wsdl code on properly structured .GET requests to the server.
-
- - Added client support for WSDL, ported from ZSI by Mark Bucciarelli
- <mark@hubcapconsulting.com>
-
- - Added ThreadingSOAPServer which inherits from ThreadingTCPServer
- server so that muliple clients will be automatically multiplexed.
-
- - Removed some files from /test for services that no longer exist.
-
-
- CHANGES SINCE VERSION 0.9.9-pre4
- --------------------------------
-
- - Added client support for WSDL, ported from ZSI by Mark Bucciarelli
- <mark@hubcapconsulting.com>.
-
- CHANGES SINCE VERSION 0.9.9-pre3
- --------------------------------
-
- - Code shared between SOAPpy and ZSI now lives in
- SOAPpy/SOAPpy/wstools and is stored in a separate CVS package. This
- will allow ZSI and SOAPpy to keep these files synchronized.
-
- CHANGES SINCE VERSION 0.9.9-pre2
- --------------------------------
-
- - Fixed trivial compilation bug on Win32: Only define
- SOAPUnixSocketServer if the Unix domain sockets are supported
-
- CHANGES SINCE VERSION 0.9.9-pre1
- --------------------------------
-
- - Added request for nested scopes, should now work properly in python
- 2.1 with named argument calls.
-
- - Fixed bug caused by omission of the ieee754 module from __init__.py.
-
- - SOAPpy now provides a SOAPUnixSocketServer class, which uses a unix
- domain socket instead of a network TCP/IP socket for communication. A
- corresponding client will be provided in the future. [This class
- has not yet been tested.]
-
- CHANGES SINCE VERSION 0.9.8
- ---------------------------
-
- - IEEE 754 floating point specials (Inf, -Inf, NaN) should now be
- properly and consistently handled on all platforms.
-
- Added code to explicitly check for and handle IEEE 754 floating
- point specials (Inf, -Inf, NaN). This replaces an ugly hack for
- systems whose python float() doesn't understand the strings "Inf",
- "NaN", etc. Floating point specials should now be properly handled
- on all operating systems.
-
- ***SOAPpy should now work properly on all versions of Microsoft Windows.***
-
- A new module, ieee754 contains the functions required to detect and
- create NaN, Inf, and -Inf values. This module should be usable in
- other contexts.
-
- - *** The new argument handling method (via SOAPpy.SOAP.Config.specialArgs=1)
- is now enabled by default.***
-
- - Changed all references to actzero.com in SOAP.py to pywebscvs.sf.net.
-
- - Fixed a bug where lists included as parameters to SOAP method calls
- were being incorrectly named 'Results' even when another name was
- given.
-
- CHANGES SINCE VERSION 0.9.7
- ---------------------------
-
- - Modified structure to allow installation using Python distutils
- (i.e. setup.py). Access to the SOAPpy library now requires:
- from SOAPpy import SOAP
-
- - I (Gregory R. Warnes) have implemented an experimental and
- non-standard method of handling named and unnamed arguments. This
- mechanism is enabled in SOAPpy by setting
- SOAPpy.SOAP.Config.specialArgs=1.
-
- When enabled, parameters with names of the form _#### (i.e.,
- matching the regexp "^_[0-9]+") are assumed to be unnamed parameters
- and are passed to the method in numeric order. All other parameters
- are assumed to be named and are passed using the xml tag id as the
- parameter name. Outgoing SOAP method calls now always generate
- names in this way--whether or not specialArgs is enabled--instead of
- using the pattern v#####.
-
- See the file README.MethodParameterNaming for more details.
-
- - Added noroot parameter to the SOAPBuilder and SOAPProxy objects
- in order to provide compatibility with an older version of
- EasySOAP (v0.2) that balked if the SOAP-ENC:root parameter was
- included.(Brad Knotwell)
-
- - Added support for namespace-rewriting (used by Apache v2.x SOAP server for
- error conditions as well as stateful communication) (Christopher Blunck)
-
- - Added string <-> str conversion for array types (Python 2.2+)
- (Christopher Blunck)
-
- - Added convenience method (invoke) to SOAPProxy that calls __call (not sure
- if it is necessary - feel free to remove if you want) (Christopher Blunck)
-
- - Python 'float' are equivalent to SOAP 'double'. Modified dump_float
- and dump_list to use SOAP type string 'double'
- appropriately. (Gregory R. Warnes)
-
- - Add basic authentication (Brad Knotwell)
-
- - Fixes to enable proper handling of SOAP faults by the client:
- - Fixed test of whether message content is text/xml when recieving a fault.
- - Added __call__ method to exception classes to match the current API.
- - The faultType.__repr__() method now print details if present
- (Gregory R. Warnes)
-
- - Added XMLnam.py which provides toXMLname() and fromXMLname() for
- properly encoding xml tag names per the SOAP 2.1 (draft)
- specification. (Gregory R. Warnes)
-
- - Added calls to toXMLname() and fromXMLname() so that tags names are
- properly encoded. This resolves bug [ 548785 ] 'Error passing dict
- keys containing space.' (Gregory R. Warnes)
-
- - Added code to cgi encode contents of tags when they are not a
- recognized type. Fixes bug [ 549551 ] 'Error when passing
- non-standard types'. (Gregory R. Warnes)
-
- - Added __init__.py, so that SOAPpy can be used like a standard python
- module. (Gregory R. Warnes)
-
-
- VERSION 0.9.7 (6/27/01)
- -----------------------
-
- - Fixed the unamed ordered parameters bug
- - Added the ability to specify a http_proxy
- - Added a patch provided by Tim MiddelKoop to allow printing of proxy objects
- - Added the contrib directory and included a medusa implementation of a
- SOAP.py server by Ng Pheng Siong
-
-
- VERSION 0.9.6 (6/08/01)
- -----------------------
-
- - The date and time types now check their initial values when the type
- is created, not when the data is marshalled.
- - The date and time types are now parsed and returned as tuples (for
- multi-element types) or scalars (for single element types) in UTC and thus
- can represent the entire range of SOAP dates.
- - If an element doesn't have a type but has a name with a namespace, the
- name is tried as the type.
- - Untyped compound types with more than one element and all the elements
- the same name are turned into an array when parsing.
- - When parsing a structType, elements with the same name are placed in a
- list instead of saving just the last one. _getItemsAsList can be used to
- get an element of a structure as a list, whether there was one or many
- occurances of the item.
- - Added schemaNamespace, schemaNamespaceURI, and namespaceStyle
- configuration options. namespaceStyle takes one of 1999, 2000, or 2001,
- and sets typesNamespace, typesNamespaceURI, schemaNamespace, and
- schemaNamespaceURI.
- - Normalized the type class names, replacing Compound with compoundType,
- Struct with structType, Header with headerType, Body with bodyType, Array
- with arrayType, TypedArray with typedArrayType, Fault with faultType, and
- urType with anyType.
- - Attributes now appear on an element itself instead of the element's
- parent. For elements parsed to builtin python types, the attributes are
- stored in a dictionary keyed by the element's python id. The dictionary
- is in the Context object, can be returned from parseSOAP*, and can be
- returned from method calls if the returnAllAttrs configuration option
- is set.
- - isinstance is used to check for a class, so classes can be subtyped.
- - An encoding of None can be specified to not include encoding information.
- - Problems with the SOAPProxy URL are now reported when the SOAPProxy
- instance is created instead of when the first method call is made.
- - The Binary, Boolean and DateTime types have been removed in favor of
- binaryType, booleanType, and dateTimeType.
-
-
- VERSION 0.9.5 (5/16/01)
- -----------------------
-
- - Should parse and build all 1999, 2000, 2001, and SOAP-ENC datatypes.
- - Initial handling of multi-dimensional, partial, and sparse arrays.
- - Supports SSL clients (if Python built with OpenSSL).
- - Supports SSL servers (if M2Crypto installed).
- - Applies defaults to SOAPproxy URLs (nice for command-line tools).
- - Added the _SOAPContext object, gives registered server functions more info
- about the current call.
- - Now assumes that any type that isn't in a schema could be a struct.
- - Added the Config object, now config options can be set globally or on an
- individual call level.
- - Deprecated the DateTime, Binary and Boolean types, should now
- use dateTimeType, binaryType and booleanType.
- - Includes N+I interop suite.
- - Various bug fixes and improvements.
-
- VERSION 0.9 (5/01/01)
- -----------------------
-
- - The Envelope now just contains definitions for namespaces actually used
- (Builder)
- - Namespace definitions are inherited by children but not siblings (Builder)
- - Further improved multi-reference parsing -- it handles circular references
- (Parser)
- - Added support for building recursive and circular types using references
- (Builder)
- - More types
- - Proper handling of overflow and underflow integral and floating point
- types (Parser)
- - More interop
- - Various bug fixes and improvements
-
- VERSION 0.8.5 (4/25/01)
- -----------------------
-
- - buildSOAP, SOAPProxy, SOAPServer now taking encoding argument
- - Much improved multi-referencing (Parser)
- - Added base64 and dateTime to interop suite
- - Various bug fixes
-
- VERSION 0.8 (4/23/01)
- -----------------------
-
- - Added more types
- - Early multi-referencing support (Parser)
- - Reorganized the parser, much cleaner now
- - Preserve whitepsace in strings (per the standard)
- - Full XML attribute support (Parser/Builder)
- - Object (de)serialization now maintains element order
- - Fixed the zero-length array problem
- - Made indentation uniform (spaces not tabs)
- - Made Header and Body work more like real structs
- - Changed the parseSOAP api, now returns the body structure,
- instead of a list of body elements
- - Changed the soapaction and namespaces for the interop server
- - New silabclient options
- - Initial encoding support
-
- VERSION 0.7 (4/19/01)
- -----------------------
-
- - Fixed a bug that caused nothing to work with Python 2.1
- - Float work arounds for WIN32 (others?)
- - DateTime parsing for WIN32
- - Beginnings of XML attribute support
- - Better interop
-
- VERSION 0.6 (4/18/01)
- -----------------------
-
- - Fixed numerous bugs (dateTime, float precision, Response Element, null
- strings)
- - Added more types
- - Homogeneous typed arrays
- - Added support for more schemas
- - Early Header support and mustUnderstand and actor
- - Added interop suite
- - Passes validator
- - Interop greatly improved, passes all client tests for Frontier,
- SOAP::LITE.
-
- VERSION 0.5 (4/17/01)
- -----------------------
-
- - Initial public release
-
|