A fork of https://github.com/Synerty/SOAPpy-py3 This is a working tree till fixes get imported upstream.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

685 lines
23 KiB

  1. CHANGELOG
  2. =====================
  3. 0.52.23 (unreleased)
  4. --------------------
  5. - Port to Python 3.5
  6. - Added TwistedSOAPPublisher and Proxy
  7. These are located in twisted.web.soap, but thats only for Python 2.
  8. 0.12.23 (unreleased)
  9. --------------------
  10. - Nothing changed yet.
  11. 0.12.22 (2014-06-20)
  12. --------------------
  13. - proper usage of config property inside objects. [Davorin Kunstelj]
  14. - dump user defined types with handler functions (can be used to override dump
  15. of built-in types). [Davorin Kunstelj]
  16. 0.12.21 (2014-05-27)
  17. --------------------
  18. - Dispatching custom objects, slots supported.
  19. [Davorin Kunstelj]
  20. 0.12.20 (2014-05-15)
  21. --------------------
  22. - better version handling [kiorky]
  23. - display summary on pypi [kiorky]
  24. - non disclosed intermediate release to polish pypi output [kiorky]
  25. 0.12.6 (2014-05-15)
  26. -------------------
  27. - fix cve CVE Request ---- SOAPpy 0.12.5 Multiple Vulnerabilities -- LOL part
  28. [kiorky]
  29. - fix cve CVE Request ---- SOAPpy 0.12.5 Multiple Vulnerabilities -- XXE part
  30. [kiorky]
  31. - Remove dependency on fpconst.
  32. - adding maptype [Sandro Knauß]
  33. - Support / (and other reserved characters) in the password. [Ionut Turturica]
  34. - Client.HTTPWithTimeout: fixed constructor's docstring and comments -named the diferences
  35. with respect to the overriden method -fixed
  36. wrong reference to class in module 'httplib' -added documentation of param 't[German Larrain
  37. - fixed module docstring location (all imports must be below them)[German Larrain]f
  38. - fix error "Bad types (class java.math.BigInteger -> class java.lang.Integer)" - Clayton Caetano de Sousa]
  39. 0.12.5 (2011-08-01)
  40. -------------------
  41. - Fix for multi-dimensional arrays. [Ionut Turturica]
  42. - Credits
  43. 0.12.3 (2011-02-21)
  44. -------------------
  45. - Fixed url
  46. 0.12.2 (2011-02-21)
  47. -------------------
  48. - Fixed url
  49. 0.12.1 (2011-02-21)
  50. -------------------
  51. - Forked intially from https://github.com/pelletier/SOAPpy
  52. - main interresting enhancements grabbed:
  53. - from __future__ imports must occur at the beginning of the file
  54. - try install requires
  55. - Grabbed others changeset from https://bitbucket.org/cmclaughlin/soappy-0.12.0/ (fpconst)
  56. - Grabbed others changeset from https://bitbucket.org/zeus/soappy (ssl key support)
  57. - Depend directly on wstools not to bundle a duplicated version.
  58. - Grabbed from original svn:
  59. - rpm spec file
  60. - tools/
  61. - zope/
  62. - bid/
  63. - .cvsignore files
  64. - Make it proper packaged, specially toward setuptools.
  65. Release 0.12.0 of SOAPpy
  66. ------------------------
  67. This release primarily foces on bug fixes. Primary changes:
  68. - Fixes for bug reports that have accumulated over the last year
  69. [ 916265] "Arrays of unicode do not serialize correctly (patch included)"
  70. [ 918216] "Parsing faults in SOAPpy 0.11.3"
  71. [ 925077] "SOAPpy prints out SOAP fault" (even when Config.debug is off).
  72. [1001646] "SOAPpy stomps headers when sending multirefs"
  73. [1001646] "SOAPpy stomps headers when sending multirefs.
  74. [1064233] "Bug fixes for complex types"
  75. [1064248] "Bugs in _asdict() and _asarray() in Types.py"
  76. [1078051] "Arrays of complex types (doc/lit)"
  77. [1096971] "Parse error: missing HTTP header 'Content-length'"
  78. [1106450] "Floats are truncated to 10 digits, causing precision loss"
  79. [1122991] "error from SOAPpy/Client.py for content_length evaluation?"
  80. - Fixes for 'rules' which allow control of the data types of *incoming* messages.
  81. As a consequence TCtest.py now passes all tests.
  82. - WSDL support has been improving, due to work on the 'wstools'
  83. module which is shared between ZSI and SOAPpy.
  84. - Some work has been done to improve documentation.
  85. Release 0.11.6 of SOAPpy
  86. ------------------------
  87. Changes to URLs and email addresses in documentation.
  88. Release 0.11.5 of SOAPpy
  89. ------------------------
  90. - Bug fixes
  91. - Fix string format error in fault handling
  92. Release 0.11.4 of SOAPpy
  93. ------------------------
  94. - Bug fixes
  95. - SOAPpy/Server.py: Check if header information contains SOAPAction
  96. key before checking its value.
  97. - Fixes for generating SOAP from complexType arrays, contributed by
  98. antonio.beamud@linkend.com
  99. - Fixed bug that caused typedArrayTypes to lose their type
  100. information when rendered to SOAP and added corresponding
  101. test case.
  102. - New Features
  103. - Enhancements to fault handling: The faultType Faultstring is now
  104. a non-variable string (i.e. no nsmethod in it) so that it can be
  105. programmatically checked. In addition fault handlers can now be
  106. registered to handle specific types of faults.
  107. - SOAPpy/Server.py: Modified unregsiterObject function to take
  108. optional namespace/path args to be consistent with registerObject.
  109. - SOAPpy/Server.py: Added an unregisterObject function
  110. - Changes to allow SOAPBuilder so it can handle a 'raw' Python object.
  111. Release 0.11.2 of SOAPpy
  112. ------------------------
  113. - News:
  114. Ivan R. Judson has joined the SOAPpy team. He is focused on
  115. Globus support but is also responsible for a lot of other work for
  116. this release,
  117. - Bug fixes:
  118. - Code in Types.py assumes nested scopes, so I added the proper import so
  119. this will work under python 2.2.x
  120. - Fixing namespace collision
  121. - Fixed handing of named arguments bug introduced in 0.11.1.
  122. - Fix memory leak when exceptions are raised.
  123. - Fix bug when content-length is not present in parsed SOAP message.
  124. - Fix bug #888345: Python 2.3 boolean type serialized as int
  125. - Fix bug #875977: no escaping of bad tagnames for NoneTypes
  126. - New features:
  127. - Improved Globus support and documentation. Thanks Ivan!
  128. - Added context handling
  129. - Changed the use of SOAPAction, it used to default to setting it
  130. to "", now it defaults to setting it to the method (not the
  131. nsmethod). There is a clause in Server.py that catches 'old style'
  132. SOAPActions (aka "") and sets them to the method. When this is
  133. confirmed to be what everyone wants and we decide it's alright to
  134. (possibly) break client/server interop, we can take the clause out
  135. of Server.py and just handle SOAPActions of "" as a possible
  136. error/warning.
  137. - Additional test code.
  138. - Raise a SOAPException instead of returning a SOAPpy.faultType
  139. when a SOAP Fault is encountered and simplify_objects is enabled.
  140. Release 0.11.1 of SOAPpy
  141. ------------------------
  142. - Bug fixes:
  143. - Fixed bug [ 792258 ] "SOAPBuilder.SOAPBuilder.dump can catch
  144. wrong exceptions" in SOAPBuilder.dump() submitted by Greg Chapman
  145. (glchapman).
  146. - Changes suggested by Richard Au (richardau) to fix ssl support.
  147. See bug report [ 752882 ] "SSL SOAP Server no longer working."
  148. - Remove call to gentag from 'dump' and add to 'dump_float', per
  149. bug report [ 792600 ] "SOAPBuilder.SOAPBuilder.dump possibly should
  150. not call gentag" by Greg Chapman (glchapman).
  151. - Add a tests for handling of nil="true" and nil="false". This
  152. fixes bug [ pywebsvcs-Bugs-858168 ] 'xsi:nil="true" causes
  153. exception' reported by Robert Zimmermann (robertzett):
  154. - testClient1.py now works properly. It had been failing to start the
  155. server thread on the second unit test. It turned out that the
  156. variable 'quit' needed to be reset to zero after the SOAP server
  157. thread for the first unit test exited. With the solution of this
  158. problem testClient1 can now be extended to run unit tests of both
  159. client and server components.
  160. - Added 'strict' option to the WSDL class. If strict is true, a
  161. RuntimeException will be raised if an unrecogned message is recieved.
  162. If strict is false, a warning will be printed to the console, the
  163. message type will be added to the WSDL schema, and processing will
  164. continue. This is in response to the second half of bug report [
  165. 817331 ] "Some WSDL.py changes", submitted by Rudolf Ruland.
  166. Release 0.11.0 of SOAPpy
  167. ------------------------
  168. - New/Changed configuration settings:
  169. - Config.simplify_objects=1 now converts all SOAPpy objects into basic
  170. Python types (list, dictionary, tuple, double, float, etc.). By default,
  171. Config.simplify_objects=0 for backward compatibility.
  172. - Config.dict_encoding='ascii' converts the keys of dictionaries
  173. (e.g. created when Config.simplify_objects=1) to ascii == plain python
  174. strings instead of unicode strings. This variable can be set to any
  175. encoding known to string.encode().
  176. - Config.strict_range=1 forces the SOAP parsing routines to perform
  177. range checks on recieved SOAP float and double objects. When
  178. Config.strict_range=0, the default, parsing does not perform range
  179. checking (except for detecting overflows, which always occurs). In
  180. either case, range checking is performed when
  181. generating SOAP float and double objects.
  182. - Fixes for WSDLProxy.
  183. - Scripts in the test/ directory
  184. - Verbose debugging messages have been turned off..
  185. - SOAPtest.py now functions when Config.simplify_objects=1
  186. - SOAPtest.py now sets Config.strict_range=1 so that range
  187. checks are be properly tested.
  188. - New README file listing what test scripts fail and why.
  189. - Initial support for Globus via pyGlobus contributed by Ivan
  190. R. Judson <judson@mcs.anl.gov>.
  191. Release 0.10.4 of SOAPpy
  192. ------------------------
  193. Dramatic performance improvements for large data transfers.
  194. Release 0.10.1 of SOAPpy
  195. ------------------------
  196. only minor changes
  197. 1) Code now uses a single file to store version number
  198. 2) Client and server now report 'SOAPpy' as the server/user-agent.
  199. 3) All test scripts now use the local SOAPpy source instead of the
  200. globally installed version.
  201. Release 0.10.0 of SOAPpy
  202. ------------------------
  203. Enhancements:
  204. 1) The new name handling mechanism has been enabled by default.
  205. The primary purpose of this release is to allow users to test this
  206. to see if it causes problems. Please take the time to do so. If
  207. there are no problems reported by April 15, 2003, 0.9.9 will be
  208. released with this feature enabled by default.
  209. Note that running a client under an old release of SOAPpy and a
  210. server under this release will be likely to generate errors due to
  211. the different name handling mechanisms.
  212. 2) MS-Windows systems should now be fully supported.
  213. This required implementing a new module, ieee754, which provides
  214. functions for detecting and generating IEEE 754 special floating
  215. point values (+Inf, -Inf, NaN) which are not properly handled by
  216. the Windows implementation of the float() function.
  217. 3) Code reorganization: The huge file SOAPpy/SOAP.py (4,122 lines,
  218. 131K) has been split into 10 separate files. In addition code
  219. shared with ZSI has been moved into a separate subdirectory and a
  220. separate CVS module.
  221. 4) Fixed bug 678239 which caused loss of namespace information in the
  222. client.
  223. 5) Mark Bucciarelli's <mark@hubcapconsulting.com> has ported client
  224. support for WSDL from ZSI, as well as providing a mechanism for
  225. SOAPpy servers to provide WSDL on properly structured .GET
  226. requests.
  227. 6) Added ThreadingSOAPServer which inherits from ThreadingTCPServer
  228. server so that multiple clients will be automatically multiplexed.
  229. VERSION 0.10.4
  230. --------------
  231. - Integrated a simple patch submitted by Erik Westra that dramatically
  232. improves parser performance.
  233. - WSDL tools now uses m2crypto for SSL if it's installed.
  234. - Various other WSDL changes.
  235. VERSION 0.10.3
  236. --------------
  237. - Removed import of obsoleted ieee753.py. Now use the fpconst module
  238. proposed by PEP 754, available from
  239. <http://research.warnes.net/Zope/projects/fpconst/>
  240. - SOAPpy should no longer depend on pyXML.
  241. VERSION 0.10.2
  242. --------------
  243. - Fixed client support for basic authentication
  244. - Fixed import error in Client.py
  245. - Improved Client parsing of namespaces to support stateful SOAP servers.
  246. VERSION 0.10.1
  247. --------------
  248. - Modified setup.py, Server.py, and Client.py to obtain SOAPpy version
  249. number from a new file, version.py.
  250. - SOAP server/user-agent is now to 'SOAPpy' instead of 'SOAP.py'.
  251. - Added ident string containing CVS version to all files that were
  252. lacking this.
  253. VERSION 0.10.0
  254. --------------
  255. CHANGES SINCE VERSION 0.9.9-pre5
  256. - Major Change: The huge file SOAPpy/SOAP.py (4,122 lines, 131K) has
  257. been split into 10 separate files::
  258. Client.py NS.py SOAPBuilder.py Utilities.py
  259. Config.py Parser.py Server.py
  260. Errors.py SOAP.py Types.py
  261. This should ease navigation and maintenance.
  262. - A new CVS module 'wstools' was created to hold code which is used by
  263. both ZSI and SOAPpy. While this module is stored separately in CVS,
  264. it will be distributed as an integral part of both ZSI and SOAPpy,
  265. and will be included as an 'internal' module by both. In the SOAPpy
  266. source, it lives in the directory SOAPpy/wstools.
  267. - The files XMLname.py, ieee754.py, have been moved into SOAPpy/wstools.
  268. - Added TODO file
  269. - Fix bug in getNS that caused loss of namespace by using better
  270. pattern matching to find the namespace in the SOAP message. Fixes bug
  271. 678239
  272. - Added Mark Bucciarelli's <mark@hubcapconsulting.com> patch to
  273. provide wsdl code on properly structured .GET requests to the server.
  274. - Added client support for WSDL, ported from ZSI by Mark Bucciarelli
  275. <mark@hubcapconsulting.com>
  276. - Added ThreadingSOAPServer which inherits from ThreadingTCPServer
  277. server so that muliple clients will be automatically multiplexed.
  278. - Removed some files from /test for services that no longer exist.
  279. CHANGES SINCE VERSION 0.9.9-pre4
  280. --------------------------------
  281. - Added client support for WSDL, ported from ZSI by Mark Bucciarelli
  282. <mark@hubcapconsulting.com>.
  283. CHANGES SINCE VERSION 0.9.9-pre3
  284. --------------------------------
  285. - Code shared between SOAPpy and ZSI now lives in
  286. SOAPpy/SOAPpy/wstools and is stored in a separate CVS package. This
  287. will allow ZSI and SOAPpy to keep these files synchronized.
  288. CHANGES SINCE VERSION 0.9.9-pre2
  289. --------------------------------
  290. - Fixed trivial compilation bug on Win32: Only define
  291. SOAPUnixSocketServer if the Unix domain sockets are supported
  292. CHANGES SINCE VERSION 0.9.9-pre1
  293. --------------------------------
  294. - Added request for nested scopes, should now work properly in python
  295. 2.1 with named argument calls.
  296. - Fixed bug caused by omission of the ieee754 module from __init__.py.
  297. - SOAPpy now provides a SOAPUnixSocketServer class, which uses a unix
  298. domain socket instead of a network TCP/IP socket for communication. A
  299. corresponding client will be provided in the future. [This class
  300. has not yet been tested.]
  301. CHANGES SINCE VERSION 0.9.8
  302. ---------------------------
  303. - IEEE 754 floating point specials (Inf, -Inf, NaN) should now be
  304. properly and consistently handled on all platforms.
  305. Added code to explicitly check for and handle IEEE 754 floating
  306. point specials (Inf, -Inf, NaN). This replaces an ugly hack for
  307. systems whose python float() doesn't understand the strings "Inf",
  308. "NaN", etc. Floating point specials should now be properly handled
  309. on all operating systems.
  310. ***SOAPpy should now work properly on all versions of Microsoft Windows.***
  311. A new module, ieee754 contains the functions required to detect and
  312. create NaN, Inf, and -Inf values. This module should be usable in
  313. other contexts.
  314. - *** The new argument handling method (via SOAPpy.SOAP.Config.specialArgs=1)
  315. is now enabled by default.***
  316. - Changed all references to actzero.com in SOAP.py to pywebscvs.sf.net.
  317. - Fixed a bug where lists included as parameters to SOAP method calls
  318. were being incorrectly named 'Results' even when another name was
  319. given.
  320. CHANGES SINCE VERSION 0.9.7
  321. ---------------------------
  322. - Modified structure to allow installation using Python distutils
  323. (i.e. setup.py). Access to the SOAPpy library now requires:
  324. from SOAPpy import SOAP
  325. - I (Gregory R. Warnes) have implemented an experimental and
  326. non-standard method of handling named and unnamed arguments. This
  327. mechanism is enabled in SOAPpy by setting
  328. SOAPpy.SOAP.Config.specialArgs=1.
  329. When enabled, parameters with names of the form _#### (i.e.,
  330. matching the regexp "^_[0-9]+") are assumed to be unnamed parameters
  331. and are passed to the method in numeric order. All other parameters
  332. are assumed to be named and are passed using the xml tag id as the
  333. parameter name. Outgoing SOAP method calls now always generate
  334. names in this way--whether or not specialArgs is enabled--instead of
  335. using the pattern v#####.
  336. See the file README.MethodParameterNaming for more details.
  337. - Added noroot parameter to the SOAPBuilder and SOAPProxy objects
  338. in order to provide compatibility with an older version of
  339. EasySOAP (v0.2) that balked if the SOAP-ENC:root parameter was
  340. included.(Brad Knotwell)
  341. - Added support for namespace-rewriting (used by Apache v2.x SOAP server for
  342. error conditions as well as stateful communication) (Christopher Blunck)
  343. - Added string <-> str conversion for array types (Python 2.2+)
  344. (Christopher Blunck)
  345. - Added convenience method (invoke) to SOAPProxy that calls __call (not sure
  346. if it is necessary - feel free to remove if you want) (Christopher Blunck)
  347. - Python 'float' are equivalent to SOAP 'double'. Modified dump_float
  348. and dump_list to use SOAP type string 'double'
  349. appropriately. (Gregory R. Warnes)
  350. - Add basic authentication (Brad Knotwell)
  351. - Fixes to enable proper handling of SOAP faults by the client:
  352. - Fixed test of whether message content is text/xml when recieving a fault.
  353. - Added __call__ method to exception classes to match the current API.
  354. - The faultType.__repr__() method now print details if present
  355. (Gregory R. Warnes)
  356. - Added XMLnam.py which provides toXMLname() and fromXMLname() for
  357. properly encoding xml tag names per the SOAP 2.1 (draft)
  358. specification. (Gregory R. Warnes)
  359. - Added calls to toXMLname() and fromXMLname() so that tags names are
  360. properly encoded. This resolves bug [ 548785 ] 'Error passing dict
  361. keys containing space.' (Gregory R. Warnes)
  362. - Added code to cgi encode contents of tags when they are not a
  363. recognized type. Fixes bug [ 549551 ] 'Error when passing
  364. non-standard types'. (Gregory R. Warnes)
  365. - Added __init__.py, so that SOAPpy can be used like a standard python
  366. module. (Gregory R. Warnes)
  367. VERSION 0.9.7 (6/27/01)
  368. -----------------------
  369. - Fixed the unamed ordered parameters bug
  370. - Added the ability to specify a http_proxy
  371. - Added a patch provided by Tim MiddelKoop to allow printing of proxy objects
  372. - Added the contrib directory and included a medusa implementation of a
  373. SOAP.py server by Ng Pheng Siong
  374. VERSION 0.9.6 (6/08/01)
  375. -----------------------
  376. - The date and time types now check their initial values when the type
  377. is created, not when the data is marshalled.
  378. - The date and time types are now parsed and returned as tuples (for
  379. multi-element types) or scalars (for single element types) in UTC and thus
  380. can represent the entire range of SOAP dates.
  381. - If an element doesn't have a type but has a name with a namespace, the
  382. name is tried as the type.
  383. - Untyped compound types with more than one element and all the elements
  384. the same name are turned into an array when parsing.
  385. - When parsing a structType, elements with the same name are placed in a
  386. list instead of saving just the last one. _getItemsAsList can be used to
  387. get an element of a structure as a list, whether there was one or many
  388. occurances of the item.
  389. - Added schemaNamespace, schemaNamespaceURI, and namespaceStyle
  390. configuration options. namespaceStyle takes one of 1999, 2000, or 2001,
  391. and sets typesNamespace, typesNamespaceURI, schemaNamespace, and
  392. schemaNamespaceURI.
  393. - Normalized the type class names, replacing Compound with compoundType,
  394. Struct with structType, Header with headerType, Body with bodyType, Array
  395. with arrayType, TypedArray with typedArrayType, Fault with faultType, and
  396. urType with anyType.
  397. - Attributes now appear on an element itself instead of the element's
  398. parent. For elements parsed to builtin python types, the attributes are
  399. stored in a dictionary keyed by the element's python id. The dictionary
  400. is in the Context object, can be returned from parseSOAP*, and can be
  401. returned from method calls if the returnAllAttrs configuration option
  402. is set.
  403. - isinstance is used to check for a class, so classes can be subtyped.
  404. - An encoding of None can be specified to not include encoding information.
  405. - Problems with the SOAPProxy URL are now reported when the SOAPProxy
  406. instance is created instead of when the first method call is made.
  407. - The Binary, Boolean and DateTime types have been removed in favor of
  408. binaryType, booleanType, and dateTimeType.
  409. VERSION 0.9.5 (5/16/01)
  410. -----------------------
  411. - Should parse and build all 1999, 2000, 2001, and SOAP-ENC datatypes.
  412. - Initial handling of multi-dimensional, partial, and sparse arrays.
  413. - Supports SSL clients (if Python built with OpenSSL).
  414. - Supports SSL servers (if M2Crypto installed).
  415. - Applies defaults to SOAPproxy URLs (nice for command-line tools).
  416. - Added the _SOAPContext object, gives registered server functions more info
  417. about the current call.
  418. - Now assumes that any type that isn't in a schema could be a struct.
  419. - Added the Config object, now config options can be set globally or on an
  420. individual call level.
  421. - Deprecated the DateTime, Binary and Boolean types, should now
  422. use dateTimeType, binaryType and booleanType.
  423. - Includes N+I interop suite.
  424. - Various bug fixes and improvements.
  425. VERSION 0.9 (5/01/01)
  426. -----------------------
  427. - The Envelope now just contains definitions for namespaces actually used
  428. (Builder)
  429. - Namespace definitions are inherited by children but not siblings (Builder)
  430. - Further improved multi-reference parsing -- it handles circular references
  431. (Parser)
  432. - Added support for building recursive and circular types using references
  433. (Builder)
  434. - More types
  435. - Proper handling of overflow and underflow integral and floating point
  436. types (Parser)
  437. - More interop
  438. - Various bug fixes and improvements
  439. VERSION 0.8.5 (4/25/01)
  440. -----------------------
  441. - buildSOAP, SOAPProxy, SOAPServer now taking encoding argument
  442. - Much improved multi-referencing (Parser)
  443. - Added base64 and dateTime to interop suite
  444. - Various bug fixes
  445. VERSION 0.8 (4/23/01)
  446. -----------------------
  447. - Added more types
  448. - Early multi-referencing support (Parser)
  449. - Reorganized the parser, much cleaner now
  450. - Preserve whitepsace in strings (per the standard)
  451. - Full XML attribute support (Parser/Builder)
  452. - Object (de)serialization now maintains element order
  453. - Fixed the zero-length array problem
  454. - Made indentation uniform (spaces not tabs)
  455. - Made Header and Body work more like real structs
  456. - Changed the parseSOAP api, now returns the body structure,
  457. instead of a list of body elements
  458. - Changed the soapaction and namespaces for the interop server
  459. - New silabclient options
  460. - Initial encoding support
  461. VERSION 0.7 (4/19/01)
  462. -----------------------
  463. - Fixed a bug that caused nothing to work with Python 2.1
  464. - Float work arounds for WIN32 (others?)
  465. - DateTime parsing for WIN32
  466. - Beginnings of XML attribute support
  467. - Better interop
  468. VERSION 0.6 (4/18/01)
  469. -----------------------
  470. - Fixed numerous bugs (dateTime, float precision, Response Element, null
  471. strings)
  472. - Added more types
  473. - Homogeneous typed arrays
  474. - Added support for more schemas
  475. - Early Header support and mustUnderstand and actor
  476. - Added interop suite
  477. - Passes validator
  478. - Interop greatly improved, passes all client tests for Frontier,
  479. SOAP::LITE.
  480. VERSION 0.5 (4/17/01)
  481. -----------------------
  482. - Initial public release