0.9.3 (July 2 2009)

Setting WebDAV v2 as default because LOCK and UNLOCK seem
to be stable by now. -J parameter is ignored and will go away.
[Simon Pamies]

Fix for PROPFIND to return all properties
[Cedric Krier]

Fixed do_PUT initialisation
[Cedric Krier]

Added REPORT support
[Cedric Krier]

Added support for gzip encoding
[Cedric Krier]

Fix for wrong –port option
[Martin Wendt]

Handle paths correctly for Windows related env
[Martin Wendt]

Included mimetype check for files
based on magic.py from Jason Petrone. Included
magic.py into this package. All magic.py code
(c) 2000 Jason Petrone. Included from
http://www.jsnp.net/code/magic.py.
[Joerg Friedrich, Simon Pamies]

utils.py: Makes use of DOMImplementation class to create a new xml document
Uses dom namespace features to create elements within DAV: namespace
[Stephane Bonhomme]

davcmd.py: Missing an indent in loop on remove and copy operations on trees, the
effect was that only the last object was removed/copied : always leads
to a failure when copying collections.
[Stephane Bonhomme]

propfind.py: missing a return at the end of the createResponse method (case of a
propfind without xml body, should act as a allprops).
[Stephane Bonhomme]

Changes since 0.5.1

Updated to work with latest 4Suite

Changes since 0.5

added constants.py
data.py must now return COLLECTION or OBJECT when getting asked for
resourcetype. propfind.py will automatically generate the right xml
element.
<href> now only contains the path
changed HTTP/1.0 header to HTTP/1.1 which makes it work with WebFolders
added DO_AUTH constant to AuthServer.py to control whether authentication
should be done or not.
added chunked responses in davserver.py
One step in order to get a server with keep-alive one day.
we now use 4DOM instead if PyDOM
the URI in a href is quoted
complete rewrite of the PROPFIND stuff:
error responses are now generated when a property if not found or not accessible
namespace handling is now better. We forget any prefix and create them ourselves later in the response.
added superclass iface.py in DAV/ in order to make implementing
interface classes easier. See data.py for how to use it.
Also note that the way data.py handles things might have changed from
the previous release (if you don’t like it wait for 1.0!)
added functions to iface.py which format creationdate and lastmodified
implemented HEAD

lots of bugfixes

Changes since 0.3

removed hard coded base uri from davserver.py and replaced by
a reference to the dataclass. Added this to iface.py where you
have to define it in your subclass.
added davcmd.py which contains utility functions for copy and move
reimplemented DELETE and removed dependencies to pydom. move actual
delete method to davcmd.
implemented COPY
implemented MOVE
fixed bugs in errors.py, needs revisiting anyway..
URIs are now unquoted in davserver.py before being used
paths in data.py are quoted in system calls in order to support
blanks in pathnames (e.g. mkdir ‘%s’ )
switched to exceptions when catching errors from the interface class
added exists() method to data.py
added more uri utility functions to utils.py
millenium bugfixes ;-)