<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Changes</title>
<link rel="stylesheet" href="perldav.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body>




<div id="content">
<h1>
Revision history for HTTP::DAV
</h1>
</div>
<div id="content">

<h2 id="v0.50-released-2024-10-16">v0.50 (released 2024/10/16):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<p>Fixed missing custom headers when calling PUT methods. Closes <code>RT#100756</code>. Thanks Georg Acher for the patch and for patiently waiting a decade (!) for a fix.</p>

</li>
</ul>

<h2 id="v0.49-released-2018-11-28">v0.49 (released 2018/11/28):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<p>Fixed perl shebang line in <code>dave</code> script, for ExtUtils::MakeMaker to correctly replace it. Closes <code>RT#127819</code>.</p>

<p>Fixed <code>propfind</code> response handling to also consider successful an HTTP 207 status code. Closes <code>RT#127591</code>.</p>

<p>Fixed <code>clone()</code> method to properly respect the class name. Closes <code>RT#123528</code>. Thanks to Ricardo Signes for the patch.</p>

</li>
<li><p><b>documentation fixes</b></p>

<p>Fixed various pod issues raised by Debian contributor <code>fsfs@debian.org</code>. Closes <code>RT#119878</code>.</p>

</li>
</ul>

<h2 id="v0.48-released-2015-03-26">v0.48 (released 2015/03/26):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<p><code>RT#103126</code>, fixed faulty code to add trailing slash to URLs.</p>

</li>
</ul>

<h2 id="v0.47-released-2012-03-24">v0.47 (released 2012/03/24):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<p>Improve <code>propfind()</code> resilience when server response contains broken, truncated or no XML at all. RT#75011.</p>

</li>
</ul>

<h2 id="v0.46-released-2012-01-11">v0.46 (released 2012/01/11):</h2>

<ul>

<li><p><b>improvements</b></p>

<p>HTTP::DAV should now be working with more WebDAV servers.</p>

<p>We are more flexible in what content types we consider to be XML. Thanks Ron1 and Adam for the feedback and patches.</p>

</li>
</ul>

<h2 id="v0.45-released-2011-09-18">v0.45 (released 2011/09/18):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #69439 (http://rt.cpan.org/Public/Bug/Display.html?id=69439),
  insecure /tmp files handling in dave client.</code></pre>

</li>
<li><p><b>improvements</b></p>

<pre><code>- Added -tmpdir option to dave client.
- Reorganized distribution layout to match usual CPAN practice
- Removed remains of svn-era ($Id and such...)</code></pre>

</li>
</ul>

<h2 id="v0.44-released-2011-06-19">v0.44 (released 2011/06/19):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #68936 (http://rt.cpan.org/Public/Bug/Display.html?id=68936),
  Fixed errors() method that would bomb out when the &quot;_errors&quot; attribute
  wasn&#39;t initialized. Thanks to Michael Lackoff for reporting.</code></pre>

</li>
</ul>

<h2 id="v0.43-released-2011-04-12">v0.43 (released 2011/04/12):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #38677 (http://rt.cpan.org/Public/Bug/Display.html?id=38677),
  Intercept correctly 405 (Method now allowed) errors and report them
  to the clients.</code></pre>

</li>
</ul>

<h2 id="v0.42-released-2010-11-07">v0.42 (released 2010/11/07):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #60457 (http://rt.cpan.org/Public/Bug/Display.html?id=60457),
  Added and documented possibility to pass your own custom HTTP headers.
- Fixed errors in the code examples in the synopsis.</code></pre>

</li>
</ul>

<h2 id="v0.41-released-2010-07-24">v0.41 (released 2010/07/24):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #59674 (http://rt.cpan.org/Public/Bug/Display.html?id=59674),
      When SSL support is needed but not installed, a more specific
  error messages is now displayed, instead of &quot;not DAV enabled or not accessible&quot;.</code></pre>

</li>
</ul>

<h2 id="v0.40-released-2010-01-27">v0.40 (released 2010/01/27):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #47500 (http://rt.cpan.org/Public/Bug/Display.html?id=47500),
      HTTP::DAV::Comms-&gt;credentials() method erroneously autovivified
      basic authentication internal values, causing wrong or undefined
      credentials to be sent out, or credentials to be &quot;forgot&quot; by HTTP::DAV.</code></pre>

</li>
</ul>

<h2 id="v0.39-released-2009-12-12">v0.39 (released 2009/12/12):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #52665 (http://rt.cpan.org/Public/Bug/Display.html?id=52665),
      Using dave or propfind() on URLs containing escaped chars (%xx) could fail,
      due to upper/lower case differences. Thanks to cebjyre for the patch
      and the test case.</code></pre>

</li>
</ul>

<h2 id="v0.38-released-2009-06-09">v0.38 (released 2009/06/09):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #14506 (http://rt.cpan.org/Public/Bug/Display.html?id=14506),
  about the missing get_lastresponse() method. It was a documentation bug.

- Fixed RT #29788 (http://rt.cpan.org/Public/Bug/Display.html?id=29788),
  avoid file corruptions on Win32 when calling HTTP::DAV::get() method.

- Fixed RT #31014 (http://rt.cpan.org/Public/Bug/Display.html?id=31014),
  probably already in v0.34, since it seems related to propfind() &quot;depth&quot; bug.</code></pre>

</li>
</ul>

<h2 id="v0.37-released-2009-03-24">v0.37 (released 2009/03/24):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #44409 (http://rt.cpan.org/Public/Bug/Display.html?id=44409),
  Small bug in HTTP::DAV::put(). Passing a reference as local content resulted
      in the &quot;SCALAR(0x12345678)&quot; being logged instead of the real scalar.</code></pre>

</li>
</ul>

<h2 id="v0.36-released-2009-02-25">v0.36 (released 2009/02/25):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #19616 (http://rt.cpan.org/Public/Bug/Display.html?id=19616),
  LWP::UserAgent::redirect_ok() is not changed anymore. We&#39;re subclassing
  it from HTTP::DAV::UserAgent and overriding redirect_ok() there.

- Fixed RT #42877 (http://rt.cpan.org/Public/Bug/Display.html?id=42877),
  HTTP::DAV::UserAgent::credentials() has been modified to behave like
  LWP::UserAgent::credentials(), otherwise basic authentication breakages
  can occur.

- Fixed a problem with C&lt;-depth&gt; argument to C&lt;HTTP::DAV::propfind()&gt; that
  could lead to massive performance degradation, especially when running
      C&lt;propfind()&gt; against large folders.
      C&lt;-depth&gt; was set to 1 even when passed as zero.</code></pre>

</li>
</ul>

<h2 id="v0.35-released-2008-11-03">v0.35 (released 2008/11/03):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #40318 (http://rt.cpan.org/Public/Bug/Display.html?id=40318),
  about getting single or multiple files directly to \*STDOUT.</code></pre>

</li>
</ul>

<h2 id="v0.34-released-2008-09-11">v0.34 (released 2008/09/11):</h2>

<ul>

<li><p><b>bug fixes</b></p>

<pre><code>- Fixed RT #39150 (http://rt.cpan.org/Public/Bug/Display.html?id=39150),
  about downloading multiple files in the same directory.</code></pre>

</li>
</ul>

<h2 id="v0.33-released-2008-08-24">v0.33 (released 2008/08/24):</h2>

<ul>

<li><p><b>documentation</b></p>

<pre><code>- Clearly state that opera software asa is now co-maintainer of http::dav

- Fixed various inconsistencies in the v0.32 documentation</code></pre>

</li>
</ul>

<h2 id="v0.32-released-2008-08-24">v0.32 (released 2008/08/24):</h2>

<ul>

<li><p><b>incompatibilities</b></p>

<pre><code>- Now HTTP::DAV requires Perl 5.6.0+ and Scalar::Util (core in 5.8.x).</code></pre>

</li>
<li><p><b>bug fixes</b></p>

<pre><code>- Now HTTP::DAV objects are correctly released from memory when
  they go out of scope. Now it should be possible to use multiple instances
  of HTTP::DAV even in long-running processes.

  Was caused by circular references between HTTP::DAV and HTTP::DAV::Resource.</code></pre>

</li>
</ul>

<h2 id="v0.31-released-2002-04-13">v0.31 (released 2002/04/13):</h2>

<ul>

<li><p><b>Apache 2 mod_dav support</b></p>

<pre><code>- Now works with mod_dav under Apache 2.</code></pre>

</li>
<li><p><b>bug fixes</b></p>

<pre><code>- Fixed bug to correctly handle the put/get of filenames with spaces in them.

- Fixed bug to allow the PUT of empty files.

- put() now uses binmode so that it works under Windows.

- HTTP redirect code added in the previous release was incorrectly returning a HTTP::Response instead of a HTTP::DAV::Response

- Fixed bug to allow https for copy and move (http:// was hardcoded).

- Fixed strange copy/move bug for Apache2.0&#39;s mod_dav.</code></pre>

</li>
</ul>

<h2 id="v0.29-released-2001-10-31">v0.29 (released 2001/10/31):</h2>

<ul>

<li><p><b>https</b></p>

<p>https support as provided from the underlying LWP library has been tested against mod_dav and mod_ssl. Seems to work well. See INSTALLATION for more detail.</p>

</li>
<li><p><b>Digest authentication</b></p>

<p>Requires MD5 to be installed. See INSTALLATION notes.</p>

</li>
<li><p><b>various bug fixes</b></p>

</li>
<li><p><b>more powerful callback support for get()</b></p>

<p>Useful for giving progress indicators.</p>

</li>
<li><p><b>get() to filehandles and scalar references</b></p>

<p>the get() routine now allows you to pass by reference a filehandle or scalar in which to save the contents of the GET request.</p>

</li>
<li><p><b>added namespace abbreviations in proppatch</b></p>

<p>Thanks to Jeremy for this patch.</p>

</li>
<li><p><b>improved redirect handling in Comms.pm</b></p>

<p>Thanks to Jeremy for this patch.</p>

</li>
</ul>

<h2 id="v0.23-released-2001-09-07">v0.23 (released 2001/09/07):</h2>

<ul>

<li><p><b>file globbing for get and put</b></p>

<p>HTTP::DAV::get() and HTTP::DAV::put() now supports file globs. This functionality also propagates to dave. This allows you to do the following:</p>

<pre><code>dav&gt; put /tmp/index*.html
dav&gt; get index[12].htm? /tmp

?,* and sets ([]) are supported. See the docs for details.</code></pre>

<p>HTTP::DAV now requires the Perl module File::Glob which comes bundled with perl5.6 and later.</p>

</li>
<li><p>bug fix in -overwrite flag in HTTP::DAV::copy/move.</p>

</li>
</ul>

<h2 id="v0.22-released-2001-09-03">v0.22 (released 2001/09/03)</h2>

<p>Complete overhaul of API, recursive get and put, addition of dave.</p>

<ul>

<li><p><b>dave -- the new command line client</b></p>

<p>I wrote dave (the DAV Explorer) because I needed an end-user application that allowed me to &quot;feel&quot; how well the HTTP::DAV API was performing. dave is quite similar to Joe Orton&#39;s C-based DAV client called cadaver (yes, imitation is the best form of flattery).</p>

</li>
<li><p><b>A new and simpler API</b></p>

<p>This new API is accessed directly through the HTTP::DAV module and is based on the core API written in previous releases.</p>

</li>
<li><p><b>new methods</b></p>

<p>The new API now supports, proppatch, recursive get and put.</p>

</li>
<li><p><b>A substantial core API overhaul</b></p>

<p>Moving from v0.05 to v0.22 in one release might indicate the amount of work gone into this release.</p>

</li>
<li><p><b>A new interoperability test suite</b></p>

<p>is now included in PerlDAV. The test suite is built on top of the standard Perl Test::Harness modules. Still in development, the test suite is highlighting interoperability problems with DAV-servers a lot quicker than before. See <a href="#the-test-suite-interoperability">&quot;the test suite &amp; interoperability&quot;</a> section.</p>

</li>
</ul>

<h2 id="v0.05-released-2001-07-24">v0.05 (released 2001/07/24)</h2>

<p>General bug fixes and addition of proppatch</p>

<pre><code>- added PROPPATCH method to HTTP::DAV::Resource, thanks to Sylvain Plancon.
- fixed uninitialized warnings in test scripts.
- fixed new lock bug in DAV::Lock, thanks to Ben Evans
- fixed dumb mistake where PUT was calling get instead of put, 
  thanks to Sylvain and Ben again.
- fixed call to Utils::bad, thanks to Sylvain</code></pre>

<h2 id="v0.04-released-2000-04-25">v0.04 (released 2000/04/25)</h2>

<p>Initial Release</p>

<pre><code>- supports PUT,GET,MLCOL,DELETE,OPTIONS,PROPFIND,LOCK,UNLOCK,steal_lock,lock_discovery</code></pre>


</div>


</body>

</html>