1Change history for libwww-perl
2
36.59      2021-12-02 21:16:04Z
4    - Use American English aspell master dictionary for POD spelling tests (GH#394) (Ville Skyttä)
5    - Remove unnecessary string concatenations in mirror error messages (GH#391) (Ville Skyttä)
6    - Spelling and grammar fixes (GH#390) (Ville Skyttä)
7
86.58      2021-10-25 20:40:59Z
9    - Add a test for "response_redirect" (GH#387) (James Raspass)
10    - Improve documentation readability (GH#388) (Julien Fiegehenn)
11    - Replace remaining uses of "base" with "parent" (GH#389) (James Raspass)
12
136.57      2021-09-20 20:20:14Z
14    - Update docs for protocols_allowed and protocols forbidden (GH#386) (Olaf Alders)
15
166.56      2021-08-17 13:57:12Z
17    - Update the CONTRIBUTING doc to no longer reference TravisCI. (GH #384) (Slaven Rezić)
18    - Increase test coverage for env_proxy() (GH#383) (Slaven Rezić)
19    - When a truthy Content-Type is provided, override the default (GH#385)
20      (Matthew Horsfall (alh))
21
226.55      2021-06-17 13:57:06Z
23    - Attempt to avoid rare fails in redirect.t (GH#380) (Arne Johannessen)
24
256.54      2021-05-06 17:53:56Z
26    - Be explicit in the prerequisite of HTTP::Status (GH#378) (Max Maischein)
27    - Remove Authority section from dist.ini (GH#377) (Olaf Alders)
28
296.53      2021-03-07 16:54:48Z
30    - Require HTTP::Daemon 6.12 for test (GH#374, GH#375) (fitzmorrispr, skaji)
31
326.52      2021-01-07 21:20:51Z
33    - Remove block of code which creates message-digest auth request field
34      (GH#369) (Olaf Alders)
35
366.51      2020-12-29 22:09:04Z
37    - Fix proxy test on Windows (GH#358) (Olaf Alders)
38    - Sort keys in Pod example of constructor defaults (GH#356) (Olaf Alders)
39
406.50      2020-12-16 18:35:08Z
41    - Fix RT #81381 - Make LWP::UserAgent robust to 5.17.6/5.18 hash
42      randomization (GH#355) (Yves Orton and Olaf Alders)
43
446.49      2020-09-24 00:27:56Z
45    - Require network testing enabled for t/redirect.t (GH#351) (Olaf Alders)
46
476.48      2020-09-20 15:25:51Z
48    - Support 308 Permanent Redirect (GH#349) (Galen Huntington)
49
506.47      2020-08-18 15:27:27Z
51    - Only add cookies from the jar if there aren't cookies in the request
52      (GH#347) (Doug Bell and Olaf Alders)
53
546.46      2020-06-23 21:19:26Z
55    - Fix a looping regression in 6.45 for redirect responses without
56      a Location header (GH PR#342, Niko Tyni)
57
586.45      2020-06-08 14:51:28Z
59    - Fix Client-Warning: Internal response sometimes reset (GH#341) (Jonathan
60      Dahan and Julien Fiegehenn)
61
626.44      2020-04-14 19:37:45Z
63    - Support basic authentication charset per RFC 7617 (GH#339) (Ville Skytt)
64    - Fixed POD mistake. (GH PR#338. Sebastian Paaske Tørholm)
65
666.43      2019-11-26 13:54:43Z
67    - Continue trying different Authentication challenge schemes if
68      credentials are wrong (Roman Galeev, Julien Fiegehenn)
69
706.42      2019-11-20 17:40:52Z
71    - Add retry handling for a stale nonce with digest authentication (marmotil
72      and Frank Maas) (GH#40, GH#313, GH#321)
73    - Add the patch method to LWP::UserAgent. (GH#334) (Chase Whitener)
74    - Fix docs to match keep_alive => undef behavior, add some trivial tests
75      (GH#333) (Ville Skyttä)
76    - Documentation grammar fixes (GH#331) (Ville Skyttä)
77
786.41      2019-10-28 14:42:06Z
79    - Allow mirroring to files called '0' (GH#329) (Mark Fowler)
80
816.40      2019-10-24 12:55:45Z
82    - Let Digest authentication act on nonce expiry (GH#313) (Frank Maas)
83    - Make file arg for mirror mandatory #304 (GH#326) (Julien Fiegehenn)
84    - Doc fix: fields starting with ":" have to be quoted (GH#324) (Slaven
85      Rezić)
86    - Fix documentation for removing all handlers (GH#319) (leedo)
87    - Ensure proper version of Dist::Zilla::Plugin::MakeMaker::Awesome
88    - Add TravisCI testing for Perl v5.30
89    - Clean up .perltidyrc
90
916.39      2019-05-06 14:18:39Z
92    - Document current best practices (GH#314) (Olaf Alders)
93    - Document order in which handlers fire (GH#315) (Olaf Alders)
94    - SKIP nntp test for now (GH#317) (Olaf Alders)
95
966.38      2019-03-25 18:58:58Z
97    - Update Net::HTTP dependency from 6.07 to 6.18 (GH#310) (Olaf Alders)
98    - Remove s.c.o. from SYNOPSIS (GH#308) (Olaf Alders)
99
1006.37      2019-03-06 20:49:26Z
101    - Improve ->add_handler documentation (GH #272) (Julien Fiegehenn)
102    - Alter our rule set to allow IPv6 proxy hosts beginning with [. (GH #237)
103    - Add a jigsaw test for 307 redirects (GH#285) (Nik LaBelle)
104
1056.36      2018-10-10 02:20:58Z
106    - fix broken link https://metacpan.org/pod/LWP::Simple by fixing pod
107      header (thanks for the report, traumschule!)
108
1096.35      2018-07-16 04:48:54Z
110    - fix file descriptor leak in LWP::Protocol (introduced in version 6.17)
111      that occurs for perl versions earlier than 5.18. (GH #296)
112
1136.34      2018-06-05 18:48:59Z
114    - timeout() documentation has more details about the response (thanks,
115      Andrew Grangaard!)
116    - HTTP::Status is now upgraded to 6.18 if 6.17 is installed (which had a
117      bug).
118
1196.33      2018-02-27 03:51:36Z
120    - Fix send_te change from previous release, which was breaking
121      LWP::Parallel::UserAgent and Test::Override::UserAgent (GH #281) (Doug
122      Bell)
123
1246.32      2018-02-20 19:39:20Z
125    - Suggest LWP::ConsoleLogger as an alternative to the deprecated LWP::Debug
126      (GH#278) (Olaf Alders)
127    - add send_te configuration to disable sending the TE header (GH#126)
128      (Doug Bell)
129    - Added a developer feature to the http.t tests. (GH#257) (colinnewell)
130
1316.31      2017-12-11 01:55:53Z
132    - fix version numbering (RT#123841)
133
1346.30      2017-12-07
135    - Use tr/// instead of s/// where appropriate (Ville Skyttä) (GH #265)
136    - Use parent -norequire instead of base to not look for external
137      dependencies (Fabian Zeindler) (GH #259)
138    - Fix run_handlers to allow assigning to the request / response (Gianni
139      Ceccarelli) (GH #274)
140
1416.29      2017-11-06
142    - Fix some version numbers
143
1446.28      2017-11-06
145    - Remove last use of Geopt::Std (Sergey Remanov) (GH #267)
146    - Include unmatched connect error in status string (Patrik Lundin) (GH
147      #269)
148    - Fix insecure open FILEHANDLE,EXPR (Takumi Akiyama) (GH #270)
149
1506.27      2017-09-21
151    - Switch to Getopt::Long in lwp-download (GH #262)
152    - Fix lwp-request -C (GH #261)
153    - Hide LWP::Protocol::http::Socket, LWP::Protocol::http::SocketMethods and
154      LWP::Debug::TraceHTTP::Socket from PAUSE
155    - Add tests for the "get" & "head" functions (GH #252)
156    - Update lwpcook.pod (GH #256)
157    - Handle undefined values in ->credentials (GH #157)
158    - Fix lwp-mirror options checks.
159    - Update bin/ scripts to use $LWP::VERSION instead of ->Version()
160    - Improve lwp-download --help (GH #262)
161
1626.26      2017-04-12
163    - Perltidy all apps in the bin/ directory
164    - Make all apps in bin/ use strict and warnings (RT #92633)
165    - Fix bug tracker URL in metadata
166
1676.25      2017-04-03
168    - Fix LWP::UserAgent docs for request and request_simple that pointed to
169      functions in LWP::Simple rather than LWP::UserAgent
170    - Moved the official bug tracker to GitHub rather than RT.
171
1726.24      2017-03-14
173    - Document clone methods inability to clone cookie jars (RT #13542)
174    - It is now possible to set the proxy and no_proxy attributes from the
175      constructor of LWP::UserAgent. (GH #124)
176
1776.23      2017-03-06
178    - Fix bug where Protocol::NNTP called undef on a variable before being done
179      using it. (GH PR #121)
180    - Ran perltidy on LWP::Protocol::NNTP
181    - Re-organized current documentation set.
182
1836.22      2017-03-01
184    - Update Travis-CI to test on minimum versions of prereqs. (GH PR #109)
185    - Fix tests that depended on a newer version of HTTP::Message (GH PR #119)
186    - Update documentation to reflect behavior difference in ->put() depending
187      on the version of HTTP::Message installed. (GH PR #120)
188
1896.21      2017-02-21
190    - Ensure that LWP::Simple re-exports some HTTP::Status functions
191
1926.20      2017-02-21
193    - Converted to use Dist::Zilla
194    - Moved several tests to xt/author
195
1966.19    2017-02-14
197    - Call HTTP::Status constant functions without & (GH#110)
198    - Make bin scripts use LWP's version and not maintain their own (PR #54)
199    - Fix bug triggered in some cases of auth challenges not having a viable
200      protocol (PR#111)
201    - Remove usage of the 'vars' pragma (GH#113)
202
2036.18    2017-02-03
204    - Update "timeout" when reusing sockets (PR#90)
205    - Fix bug triggered when calling simple_request() with a malformed URL
206      (PR#108)
207
2086.17    2017-01-31
209    - Noted another protocol failure message (PR#65)
210    - Removed old use of UNIVERSAL::isa() and swapped evals for Try::Tiny (PR#105)
211    - Standardized the Changes file (GH#106)
212    - Fixed documentation error in lwp-request.
213
2146.16    2017-01-18
215    - Moved LWP::Protocol::GHTTP into its own dist and removed from here (PR#81)
216    - Updated test suite to use strict/warnings and Test::More (PR#88)
217    - Additional tests for UserAgent coverage (PR#79)
218    - Cleaned up documentation formatting and fixed several typos (PR#87, PR#93)
219    - Stop promoting use of HTTP::Cookies and instead use HTTP::CookieJar::LWP
220      (PR#102)
221    - Added some new documentation to UserAgent and tutorial (PR#68)
222    - Allow default header to carry over when using ->post() in UA (PR#100)
223
2246.15    2015-12-15
225    - tests now use localhost rather than a net-accessible address (PR#76,
226      RT#94959)
227    - fixed some tests to do what they intended (regex rather than boolean
228      checks) (from PR#28)
229    - conversion of some tests from Test.pm to Test::More (from PR#29)
230    - use File::Temp for randomized tempdir (PR#53)
231
2326.13    2015-02-14
233    - fixed Makefile.PL compatibility with older ExtUtils::MakeMaker (from
234        release 6.12)
235
2366.12    2015-02-13
237    - fixed prereq declarations in release 6.11
238
2396.11    2015-02-13
240    - cleanup of the test running mechanism; allowing greater flexibility and
241        should also resolve RT#102083
242
2436.10    2015-02-12
244    - lower runtime prereqs recommendation on LWP::Protocol::https to suggests,
245        to work around a circular dependency in CPAN clients when the 'install
246        recommendations' option is enabled (RT#101732)
247
2486.09    2015-02-09
249    - checks for EINTR now also check EWOULDBLOCK (they sometimes differ on
250        MSWin32)
251    - fixed pod syntax
252    - Fixed checking the % character in address regex
253    - Improved regex for literal IPv6 addresses
254
2556.08    2014-07-24
256    - Requiring Net::HTTP 6.07 to fix IPv6 support (RT#75618 and
257        https://github.com/libwww-perl/net-http/pull/10)
258    - When the hostname is an IPv6 literal, encapsulate it with [brackets]
259        before calling Net::HTTP  [rt.cpan.org #29468]
260    - Extra steps to make sure that the host address that has a ":" contains
261        only characters appropriate for an IPv6 address.
262    - Fix doc typo for cookie_jar
263
2646.07    2014-07-01
265    - Removed Data::Dump references in test suite and dependency in Makefile.PL
266    - Added MANIFEST.SKIP to enable "make manifest".
267    - release script now checks for MacOS to avoid incompatible tarballs
268    - Bumped version number to 6.07
269    - Fixed gnu-incompatible tarball problem ([rt.cpan.org #94844])
270
2716.06    2014-04-16
272    - Merge pull request #44 from dsteinbrunner/master
273    - Spelling fixes.
274    - Merge pull request #55 from oalders/master
275    - Merge pull request #38 from mbeijen/typo-sting
276    - Merge pull request #43 from dsteinbrunner/master
277    - Spelling corrections
278    - Typo fixes.
279    - correct behavior for https_proxy,
280        - e.g. don't send plain https:// requests to proxy, but instead
281            establish CONNECT tunnel and then send requests inside tunnel. This
282            change does together with a change in LWP::Protocol::https. The
283            change supports LWP::Protocol::https with the default IO::Socket::SSL
284            backend, but also with Net::SSL. Also:
285            - proxy authorization is supported (http://user:pass@host:port as
286                proxy URL, Net::SSL still needs special HTTPS_PROXY_* ENV
287                variables, as before)
288            - CONNECT request does not need to be the first request inside the
289                tunnel (not with Net::SSL)
290            - conn_cache is read and written inside request(), instead of
291                writing in request() and reading in _new_socket(). If a https
292                tunnel is established the cache_key no longer depends only on
293                proxy host,port but also on the tunnel endpoint
294            - CONNECT is a proxy request and must always use Proxy-Authorization,
295                not Authorization header
296    - fix: auth-header of Digest auth did not conform to
297    - RFC 2617 when WWW-Authenticate has 'qop' parameter.
298    - SSL libs might trigger ENOTTY on read
299    - Small typo.
300
3016.05    2013-03-11
302    - Derive message from status code if it was not provided
303    - Merge pull request #33 from tomhukins/fix-readme
304    - fix typo in comment
305    - Spelling fixes.
306    - Spelling fix.
307    - Merge pull request #34 from berekuk/fix-github-path
308    - Update repo URL
309    - With Net::HTTP 6.04 we don't need our own can_read() and sysread override
310    - $ENV{HTTP_PROXY} might override our test setup [RT#81381]
311    - fix github url in perldoc
312    - * Pod is utf-8
313    - Match required perl in Makefile.PL
314    - Fix Github URLs
315
3166.04    2012-02-18
317    - Typo fix; envirionment [RT#72386]
318    - Implement $ua->is_online test
319    - Add separate option to enable the live jigsaw tests
320    - Merge pull request #10 from trcjr/master
321    - now with put and delete helpers
322    - updated POD
323    - unit tests for ua->put and ua->delete
324    - These modules work with 5.8.1
325
3266.03    2011-10-15
327    - Link updates.
328    - Attribute documentation wording improvements.
329    - Don't parse robots.txt response content unless it's textual.
330    - Decode robots.txt response content before attempting to parse it.
331    - RobotUA robots.txt response parsing cleanups.
332    - Don't parse HEAD of robots.txt responses.
333    - Request handler doc grammar fixes.
334    - Pass on HTTP/1.0 if set as request protocol
335    - Remove outdated docs (not touched since 1996 :-)
336    - Merge pull request #22 from madsen/RT67947-verify_hostname
337    - PERL_LWP_ENV_PROXY tweaks
338    - lwp-request didn't respect -H Content-type [RT#70488]
339    - lwp-request -H didn't allow repeated headers
340    - verify_hostname defaults to 0 if ssl_opts provided [RT#67947]
341    - Test verify_hostname setting
342    - Fix expect header support to work with content refs.
343    - add PERL_LWP_ENV_PROXY env variable to enable env_proxy globally
344
3456.02    2011-03-27
346    - This is the release where we try to help the CPAN-toolchain be able to
347        install the modules required for https-support in LWP. We have done this
348        by unbundling the LWP::Protocol::https module from the libwww-perl
349        distribution. In order to have https support you now need to install
350        (or depend on) 'LWP::Protocol::https' and then this will make sure that
351        all the prerequisite modules comes along. See [RT#66838].
352    - This release also removes the old http10 modules that has really been
353        deprecated since v5.60. These should have been removed at the v6.00
354        jump, but I forgot.
355    - Ignores env variables when ssl_opts provided [RT#66663]
356    - Fix typo; Authen::NTLM [RT#66884]
357    - Support LWP::ConnCache->new(total_capacity => undef)
358
3596.01    2011-03-09
360    - Add missing HTTP::Daemon dependency for the tests.
361
3626.00    2011-03-08
363    - Unbundled all modules not in the LWP:: namespace from the distribution.
364        The new broken out CPAN distributions are
365        File-Listing, HTML-Form, HTTP-Cookies, HTTP-Daemon, HTTP-Date,
366        HTTP-Message, HTTP-Negotiate, Net-HTTP, and WWW-RobotRules.
367        libwww-perl-6 require these to be installed.
368    - This release also drops the unmaintained lwp-rget script from the distribution.
369    - Perl v5.8.8 or better is now required. For older versions of perl please
370        stay with libwww-perl-5.837.
371    - For https://... default to verified connections with require
372        IO::Socket::SSL and Mozilla::CA modules to be installed. Old behaviour
373        can be requested bysetting the PERL_LWP_SSL_VERIFY_HOSTNAME environment
374        variable to 0. The LWP::UserAgent got new ssl_opts method to control
375        this as well.
376    - Support internationalized URLs from command line scripts and in the proxy
377        environment variables.
378    - The lwp-dump script got new --request option.
379    - The lwp-request script got new -E option, contributed by Tony Finch.
380    - Protocol handlers and callbacks can raise HTTP::Response objects as
381        exceptions. This will abort the current request and make LWP return the
382        raised response.
383
3845.837   2010-09-20
385    - Fix for Encode 2.40
386    - Fix Perl syntax error in synopsis
387    - Allow ISO 8601 date strings when parsing Apache file listings
388
3895.836   2010-05-13
390    - Fix problem where $resp->base would downcase its return value
391
3925.835   2010-05-05
393    - simple string can be simplified
394    - Make $mess->decoded_content remove XML encoding declarations [RT#52572]
395    - Don't allow saving to filenames starting with '.' suggested by server
396    - Avoid race between testing for existence of output file and opening the file
397    - Minor doc fixup -- wrongly ucfirsted word
398    - Use decoded_content in HTTP:Response synopsis [RT#54139]
399    - sun.com is no more. rip!
400    - Trivial layout tweak to reduce variable scope.
401    - Add 'make test_hudson' target
402    - Implement alt_charset parameter for decoded_content()
403    - Test decoding with different charset parameters
404    - lwp-download now needs the -s option to honor the Content-Disposition header
405    - Make LWP::MediaTypes::media_suffix case insensitive.
406    - Skip XML decoding tests if XML::Simple is not available.
407    - Documentation fixes.
408    - Fix m_media_type => "xhtml" matching.
409    - Make parse_head() apply to data: requests.
410    - Documentation spelling fixes.
411    - Documentation grammar fixes.
412    - Use $uri->secure in m_secure if available.
413    - Fix handling of multiple (same) base headers, and parameters in them.
414    - Strip out empty lines separated by CRLF
415    - Best Practice: avoid indirect object notation
416    - Speed up as_string by 4% by having _sorted_field_names return a reference
417    - Speed up scan() a bit. as_string() from this branch is now 6% faster
418    - Port over as_string() optimizations from HTTP::Headers::Fast
419    - Link to referenced documentation.
420    - Update repository location.
421    - Remove needless (and actually harmful) local $_
422    - "Perl & LWP" is available online
423
4245.834   2009-11-21
425    - Check for sane default_headers argument [RT#50393]
426    - Add $ua->local_address attribute [RT#40912]
427    - Test that generation of boundary works [RT#49396]
428    - Page does not display the "standard" apache listing any more
429    - Remove unneeded executable permissions.
430    - Switch compression/decompression to use the IO::Compress/IO::Uncompress
431        and Compress::Raw::Zlib family of modules.
432    - lwp-request should use stderr for auth [RT#21620]
433
4345.833   2009-10-06
435    - Deal with cookies that expire far into the future [RT#50147]
436    - Deal with cookies that expire at or before epoch [RT#49467]
437    - Pass separate type for https to LWP::ConnCache [RT#48899]
438    - Improved handling of the User-Agent header [RT#48461]
439    - HTTP::Cookies add_cookie_header previous Cookies [RT#46106]
440    - Improve diagnostics from LWP::UserAgent::mirror [RT#48869]
441    - mirror should die in case X-Died is set [RT#48236]
442    - Increase default Net::HTTP max line length to 8k.
443
4445.832   2009-09-21
445    - Fix net test suite.
446    - Comment spelling fixes.
447    - Fix links to old Netscape cookie specification.
448    - Documentation spelling fixes.
449    - Improve max line length exceeded/read error messages.
450    - Do not warn about seemingly wellformed but unrecognized robots.txt lines.
451    - $mess->content_charset would fail for empty content
452    - Further restrict what variables env_proxy() process
453
4545.831   2009-08-13
455    - Fix bzip2 content encoding/decoding.
456    - send_te() doc grammar fix.
457    - Document time2str() behavior with an undefined argument.
458    - HTML::Message's content_charset trigger warnings from HTML::Parser [RT#48621]
459
4605.830   2009-07-26
461    - select doesn't return undef on failure [RT#32356]
462    - Add raw RFC 1951 deflate test case.
463
4645.829   2009-07-07
465    - This release removes callback handlers that were left over on the returned
466        HTTP::Responses. This was problematic because it created reference loops
467        preventing the Perl garbage collector from releasing their memory.
468        Another problem was that Storable by default would not serialize these
469        objects any more.
470    - This release also adds support for locating HTML::Form inputs by id or
471        class attribute; for instance $form->value("#foo", 42) will set the
472        value on the input with the ID of "foo".
473    - Make the example code 'use strict' clean by adding a my
474    - Avoid cycle in response
475    - Clean up handlers has from response after data processing is done
476    - Support finding inputs by id or class in HTML::Form
477    - Test HTML::Form selectors
478    - Tidy and document the internals of mirror() better [RT#23450]
479    - Avoid warnings from HTML::Form [RT#42654]
480
4815.828   2009-06-25
482    - A quick new release to restore compatibility with perl-5.6.
483    - Less noisy behaviour when we can't download the documents
484    - Restore perl-5.6 compatibility [RT#47054]
485    - Don't decode US-ASCII and ISO-8859-1 content
486    - Some versions of Encode don't support UTF-16-BE [RT#47152]
487    - Spelling fixes.
488
4895.827   2009-06-15
490    - The main news this time is better detection of what character set the
491        document in a response uses and the addition of the lwp-dump script that
492        I found useful.
493    - Added lwp-dump script
494    - Replace calls to $req->url with $req->uri
495    - Also need to encode strings in the latin1 range
496    - Ignore the value set for file inputs [RT#46911]
497    - Add docs to lwp-dump
498    - Don't let lwp-dump follow redirects
499    - Support --method options
500    - Implement the --agent option
501    - Dictionary order for the option docs; document --method
502    - Merge branch 'dump'
503    - Files are passed as an array and we must not stringify it.
504    - Add content_charset method to HTTP::Message
505    - Start guessing the charset for a message
506    - Let content_charset guess the charset to use for decoded_content
507    - Specify what's missing for the XML and HTML case
508    - Provide charset parameter for HTML::Form->parse()
509    - Make content_charset sniff for <meta> elements specifying the charset.
510    - Determine charset of XML documents
511    - Get rid of the _trivial_http_get() implementation
512    - Update the bundled media.types file
513    - LWP::Simple::get() now returns decoded_content [RT#44435]
514    - Implement content_type_charset method for HTTP::Headers
515    - Implement content_is_text method for HTTP::Headers
516    - Make use of content_is_text and content_type_charset in decoded_content
517    - Don't let the parse_head callback append to the HTTP headers
518    - Don't set Range header on request when max_size is used [RT#17208]
519    - Still show client headers for internal responses
520    - Document Client-Warning: Internal response
521    - Don't use 'no' as example domain for no_proxy docs [RT#43728]
522    - Drop exit from the Makefile.PL [RT#43060]
523    - Merge branch 'content_charset'
524    - Support "accept-charset" attribute in HTML::Form
525    - new tests for max_size and 206 responses [RT#46230]
526    - Reformulation of Client-Warning: Internal documentation
527
5285.826   2009-04-24
529    - Avoid returning stale Content-Type header after message parts have been updated
530    - Don't let content saved to file be affected by the $\ setting
531    - Issues around multipart boundaries [RT#28970]
532    - Ignore random _proxy env variables, allow only valid schemes
533    - README.SSL is not anymore available at the linpro.no URL.
534    - Make LWP::UserAgent constructor honor the default_headers option [RT#16637]
535
5365.825   2009-02-16
537    - Fixup test failure with perl-5.8.8 and older; qr/$/m doesn't work
538
5395.824   2009-02-13
540    - Make format_request() ensure that it returns bytes [RT#42396]
541    - Force bytes in all the format_* methods.
542    - Ignore Sitemap: lines in robots.txt [RT#42420]
543    - Refactor; use variable to hold the test port
544    - Add redirects method to HTTP::Message
545    - Setting $ua->max_redirect(0) didn't work [RT#40260]
546    - Convert files to UTF-8
547    - HTTP::Cookies destructor should not clobber $! and other globals.
548    - Deal with the Encode module distributed with perl-5.8.0
549    - Avoid failure if 127.0.0.1:8333 is in use [RT#42866]
550    - Documentation improvements, spelling fixes.
551
5525.823   2008-12-05
553    - Bring back the LWP::Debug code [RT#41759]
554    - Add documentation section about 'Network traffic monitoring'.
555    - Typo fixes
556    - Want to ensure we get a single value back here.
557
5585.822   2008-12-05
559    - A more modern user_agent example.
560    - Make it possible to unset the proxy settings again
561    - Prefer use specified Content-Length header [RT#41462]
562    - Deprecate LWP::Debug
563
5645.821   2008-11-25
565    - Various bug fixes.
566    - The Content-Length and Content-MD5 headers are no longer valid after encode/decode
567    - Add META information
568    - croak on bad proxy args [RT#39919]
569    - Skip a failing decoded_content on systems without Encode.pm [RT#40735]
570    - Skip LWP test when fork() is unimplemented
571    - redo used incorrectly in LWP::Protocol::http [RT#41116]
572    - HTTP::Cookies::Microsoft now handles user names with space [RT#40917]
573    - Avoid aborting requests saved to file early [RT#40985]
574
5755.820   2008-11-05
576    - Main news is the ability to control the heuristics used to determine the
577        expiry time for response objects.
578    - Reformat later parts of Changes
579    - Add a paragraph to summarize the motivation for releases since 5.815
580    - all_pod_files_ok();
581    - Fix POD markup error
582    - Calculation of current_age with missing Client-Date.
583    - The age/freshness methods now take an optional 'time' argument
584    - More correct matching of 'max-age' in freshness_lifetime method
585    - The freshness_lifetime method now support options to control its heuristics
586
5875.819   2008-10-20
588    - Release 5.815 to 5.818 had a severe bug that sometimes made LWP not
589        collect all data for the responses it received. This release is strongly
590        recommended as an upgrade for those releases.
591    - Don't override $Net::HTTPS::SSL_SOCKET_CLASS if it's already set.
592    - Wrong content handlers would sometimes be skipped [RT#40187]
593
5945.818   2008-10-16
595    - Main news in this release is the addition of the dump() method to the
596        request and response objects. If found that I often ended up printing
597        $resp->as_string for debugging and then regretting after the terminal
598        got into a strange mode or just kept on scrolling for the longest time.
599    - Use deflate compression instead of gzip for the test
600    - Simplify; Get rid of the $USE_STORABLE_DCLONE configuration
601    - Add dump method to HTTP::Message.
602    - Use $res->dump instead of rolling our own.
603    - Layout change; move headers() methods to a more logical place.
604    - Add support for x-bzip2 encoding; fix bzip2 decoding.
605    - Add send_header method to HTTP::Daemon
606    - Make the lwp-request User-Agent string include the LWP version.
607    - clone implemented in terms of Storable::dclone [RT#39611]
608
6095.817   2008-10-10
610    - This is the release where I played around with Devel::NYTProf to figure
611        where time was actually spent during the processing of requests with
612        LWP. The methods that manipulated header objects stood out, so this
613        release contains a few tweaks to make those parts faster.
614    - I also figured a few convenience methods to encode and decode the content
615        of request/response objects would be in order.
616    - Should store "wire" headers field names with _ without translation.
617    - Test HTTP::Request->parse().
618    - Restore pre-5.815 behaviour of returning "400 Bad Request" [RT#39694]
619    - Rename the HTTP::Status constants to have HTTP_ prefix
620    - Detection of unsupported schemes was broken [RT#37637]
621    - Allow tainted methods to be forwarded to HTTP::Headers [RT#38736]
622    - Add strict mode to HTML::Form
623    - Fix test now that less warnings are generated.
624    - Add content_is_xml method
625    - Make split_header_words() lower case returned tokens/keys
626    - Avoid invoking AUTOLOAD on object destruction [RT#39852]
627    - Add decode() method to HTTP::Message
628    - Add encode() method to HTTP::Message
629    - Allow multiple fields to be set with push_header().
630    - Make content_type and content_is_xhtml methods faster
631    - Faster push_header()
632
6335.816   2008-09-29
634    - Oops, release 5.815 broke download-to-file on Windows.
635    - Add missing binmode() [RT#39668]
636    - Doc tweaks
637
6385.815   2008-09-24
639    - The main change this time is the introduction of handlers to drive the
640        processing of requests in LWP::UserAgent. You can also register your
641        own handlers for modifying and processing requests or responses on their
642        way, which I think is a much more flexible approach that trying to
643        subclass LWP::UserAgent to customize it. If we have had these early on
644        then the LWP::UserAgent API could have been so much simpler as the
645        effect of most current attributes can easily be set up with trivial
646        handlers.
647    - Also thanks to contributions by Bron Gondwana LWP's Basic/Digest auth
648        modules now registers handlers which allow them to automatically fill
649        in the Authorization headers without first taking the round-trip of a
650        401 response when LWP knows the credentials for a given realm.
651    - We don't need to build the docs to run the tests.
652    - Style tweaks.
653    - The jigsaw service isn't up to much good these days.
654    - HTTP::Cookies produces warnings for undefined cookie param names [RT#38480]
655    - Typo fix; HTTP::Message will never include x-bzip2 in Accept-Encoding [RT#38617]
656    - Added HTTP::Config module
657    - Add methods to configure processing handlers.
658    - 100 Continue response not complete.
659    - Use 3-arg open when response content to files.
660    - Make the show_progress attribute official (by documenting it).
661    - Start using handlers for driving the inner logic of LWP::UserAgent.
662    - Expose the content_is_html and content_is_xhtml methods from HTTP::Headers.
663    - Make credentials method able to get/set values.
664    - An auth handler per realm.
665    - Match proxy setting for request.
666    - Set up separate handler for adding proxy authentication.
667    - Add request_preprepare to be able to initialize proxy early enough.
668    - Smarter get_my_handler() that can also create handlers.
669    - Refactor; introduce run_handlers method
670    - Pass in handler hash to the handler callback.
671    - Don't let version=1 override behaviour if specified with a plan Set-Cookie header.
672    - Remove handler when we don't have a username/password for the realm.
673    - Make tests use Test.pm
674    - Double-check that username or password has changed after a failed login.
675    - Update Digest Authen to subclass Basic.
676    - Avoid running out of filehandles with DYNAMIC_FILE_UPLOAD.
677    - Fixed parsing of header values starting with ':' [RT#39367]
678    - Documentation typo fixes [RT#38203]
679
6805.814   2008-07-25
681    - Typo fix.
682    - Add HTTP::Message::decodable()
683    - Use decoded_content in the synopsis
684    - Avoid adding an empty first part in $mess->add_part()
685    - Get rid of all the manual dependency tests.
686    - Simplify the Makefile.PL (no interactivity)
687    - Provide DELETE method in HTTP::Request::Common [RT#37481]
688    - Checkbox picks up nearby text in description of alternates [RT#36771]
689    - HTML::Form::possible_values() should not returned disabled values [RT#35248]
690    - File::Listing documentation claimed only 'unix' format was supported [RT#22021]
691    - File::Listing only support English locales [RT#28879]
692    - Make common-req.t use Test.pm
693    - Typo; CAN_TALK_TO_OUTSELF
694    - Fix up File::Listings fallback to dosftp [RT#23540]
695    - File::Listing parse failure on BSD Linux based systems [RT#26724]
696
6975.813   2008-06-17
698    - RobotUA constructor ignores delay, use_sleep [RT#35456]
699    - Spelling fixes [RT#35457]
700    - Add HTTP::Response->filename [RT#35458]
701    - Better diagnostics when the HTML::TokeParser constructor fails [RT#35607]
702    - Multiple forms with same-named <select> parse wrongly [RT#35607]
703    - Provide a progress method that does something that might be useful.
704    - Documentation typo fix [RT#36132]
705
7065.812   2008-04-16
707    - Typo fix.
708    - Simplified Net::HTTP::Methods constructor call.
709    - Croak if Net::HTTP constructor called with no argument.
710    - Avoid calling $self->peerport to figure out what the port is.
711    - 5.811 breaks SSL requests [RT#35090]
712    - Make test suite compatible with perl-5.6.1.
713    - Wrong treatment of qop value in Digest Authentication [RT#35055]
714
7155.811   2008-04-14
716    - Avoid "used only once" warning for $Config::Config.
717    - Make HTTP::Request::Common::PUT set Content-Length header [RT#34772]
718    - Added the add_content_utf8 method to HTTP::Message.
719    - Typo fix.
720    - Retry syscalls when they fail with EINTR or EAGAIN [RT#34093,32356]
721    - Allow HTTP::Content content that can be downgraded to bytes.
722    - HTML::Form does not recognise multiple select items with same name [RT#18993]
723    - Document how HTTP::Status codes correspond to the classification functions [RT#20819]
724    - Allow 100, 204, 304 responses to have content [RT#17907]
725    - HTTP::Request::Common::POST suppressed filename="0" in Content-Disposition [RT#18887]
726
7275.810   2008-04-08
728    - Small documentation issues [RT#31346]
729    - Explain $netloc argument to $ua->credentials [RT#31969]
730    - Make lwp-request honour option -b while dumping links [RT#31347]
731    - Ignore params for date convenience methods [RT#30579]
732    - Get rid of all the old CVS $Keyword:...$ templates. Set $VERSION to 5.810.
733    - Update Copyright year.
734    - Drop some sample URLs that were failing.
735    - Complement the HTTP::Status codes [RT#29619]
736    - Don't allow HTTP::Message content to be set to Unicode strings.
737    - Refactor test for Encode.pm
738    - Spelling fixes [RT#33272]
739    - Trigger HTML::HeadParser for XHTML [RT#33271]
740    - Escape status line in error_as_HTML, convert to lowercase [RT#33270]
741    - Typo fix [RT#33843]
742    - Protocol/file.pm: postpone load of URI::Escape and HTML::Entities [RT#33842]
743    - HTML::Form Module and <button> element clicks
744    - HTTP::Cookies handle malformed empty Set-Cookie badly [RT#29401]
745    - [HTTP::Request::Common] Does not handle filenames containing " [RT#30538]
746    - Allow malformed chars in $mess->decoded_content [RT#17368]
747    - Croak if LWP::UserAgent is constructed with hash ref as argument [RT#28597]
748    - Disabled, checked radiobutton being submitted [RT#33512]
749    - warn if TextInput's maxlength exceeded [RT#32239]
750
7515.808   2007-08-05
752    - Get rid of t/live/validator test. Too much JavaScript madness for it to
753        be a sane LWP test.
754
7555.807   2007-07-31
756    - Apply patch correction from CPAN RT #26152
757    - More laxed t/live/validator test.
758
7595.806   2007-07-19
760    - Added progress callback to LWP::UserAgent.
761    - HTTP::Daemon didn't avoid content in responses to HEAD requests
762    - Add support for HTTP Expect header to HTTP::Daemon (CPAN RT #27933)
763    - Fix t/base/message.t so tests are skipped if Encode is not installed.
764        (RT #25286)
765    - Add HTML::Tagset as a prerequisite to Makefile.PL
766    - Do not clobber $_ in LWP::Protocol::nntp (CPAN RT #25132)
767    - Fix lwp-download so it can download files with an "_" in the filename
768        (CPAN RT#26207)
769    - Quiet complaints from HTML::HeadParser when dealing with undecoded UTF-8
770        data. (CPAN RT#20274)
771    - When both IO::Socket::SSL and Net::SSL are loaded, use the latter
772        (CPAN RT #26152)
773    - Allows SSL to work much more reliably: (CPAN RT #23372)
774    - Allow text/vnd.wap.wml and application/vnd.oasis.opendocument.text in
775        content-type field in lwp-request (CPAN RT #26151)
776    - Add default media type for XML in LWP::MediaTypes (CPAN RT #21093)
777    - Added chunked test by Andreas J. Koenig
778
7795.805   2005-12-08
780    - HTTP::Date: The str2time function returned wrong values for years in the
781        early 20th century, because timelocal() actually expects the year to be
782        provided on a different scale than what localtime() returns.
783    - HTTP::Headers can now be constructed with field names that repeat. The
784        $h->header function now also accept repeating field names and can also
785        remove headers if passed undef as value.
786    - HTML::Form: The parse method now takes hash style optional arguments and
787        the old verbose behaviour is now off by default.
788    - HTML::Form: Accept <select multiple=""> for compatibility with other
789        browsers. Patch by Josh Rai <josh@rai.name>.
790    - HTML::Form: Sane handling of 'disabled' for ListInput. Based on patch by
791        Joao Lopes <developer@st3tailor.com.br>.
792    - HTTP::Negotiate: Fixed matching of partial language tags. Dan Kubb.
793    - HTTP::Response: The as_string method now returns a status line that
794        doesn't add the "official" code name in the message field. This improves
795        the ability to round-trip response objects via
796        HTTP::Response->parse($res->as_string) and makes the first line of the
797        string returned agree with $res->status_line.
798    - Net::HTTP: The host attribute can now be set undef in order to suppress
799        this header for HTTP/1.0 requests.
800    - Net::HTTP: The default Host: header does not include the port number if
801        it is the default (80 for plain HTTP). Some servers get confused by this.
802    - Net::HTTP: Ignore bogus Content-Length headers. Don't get confused by
803        leading or trailing whitespace.
804    - LWP::Protocol::http: More efficient sending of small PUT/POST requests by
805        trying harder to pass off the whole request in a single call to syswrite.
806    - lwp-request now give better error messages if you used the -o option
807        without having the HTML-Tree distribution installed. Also document this
808        dependency.
809
8105.804   2005-12-06
811    - HTTP::Message->parse did not work when the first line of the body was
812        something that looked like a header.
813    - HTTP::Header::Auth needs HTTP::Headers to be loaded before it replace
814        its functions.
815    - LWP::Protocol::nntp improvements by Ville Skyttä <ville.skytta@iki.fi>:
816        - Support the nntp: scheme.
817        - Support hostname in news: and nntp: URIs.
818        - Close connection and preserve headers also in non-OK responses.
819        - HEAD support for URIs identifying a newsgroup.
820        - Comment spelling fixes.
821    - Fix quotes in Net::HTTP example.
822        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283916
823    - Detect EOF when expecting a chunk header. Should address the warnings
824        shown in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286775
825    - WWW::RobotRules: Improved parsing of not strictly valid robots.txt files
826        contributed by <Matthew.van.Eerde@hbinc.com>.
827    - Makefile.PL: Set name to LWP so that the .packlist ends up in the
828        expected place.
829
8305.803   2004-12-11
831    - HTTP::Message: $mess->decoded_content sometimes had the side effect of
832        destroying $mess->content.
833    - HTTP::Message: $mess->decoded_content failed for
834        "Content-Encoding: deflate" if the content was not in the zlib-format
835        as specified for the HTTP protocol. Microsoft got this wrong, so we
836        have to support raw deflate bytes as well.
837    - HTTP::Response->parse don't require the protocol to be specified any more.
838        This allows HTTP::Response->parse($resp->as_string) to round-trip. Patch
839        by Harald Joerg <haj@oook.m.uunet.de>.
840    - HTTP::Response: $resp->base might now return undef. Previously it would
841        croak if there was no associated request Harald Joerg
842    - HTML::Form now support <label> for check- and radio boxes. Dan Kubb
843    - Make HTTP::Daemon subclassable, patch by Kees Cook <kees@osdl.org>.
844    - lwp-download allow save directory to be specified. Radoslaw Zielinski
845    - lwp-download will validate filename derived from server controlled data
846        and will fail if something looks not quite right.
847
8485.802   2004-11-30
849    - The HTTP::Message object now has a decoded_content() method. This will
850        return content after Content-Encodings and charsets have been decoded.
851    - Compress::Zlib is now a prerequisite module.
852    - HTTP::Request::Common: The POST() function created an invalid
853        Content-Type header for file uploads with no parameters.
854    - Net::HTTP: Allow Transfer-Encoding with trailing whitespace.
855        <http://rt.cpan.org/Ticket/Display.html?id=3929>
856    - Net::HTTP: Don't allow empty content to be treated as a valid HTTP/0.9
857        response. <http://rt.cpan.org/Ticket/Display.html?id=4581>
858        <http://rt.cpan.org/Ticket/Display.html?id=6883>
859    - File::Protocol::file: Fixup directory links in HTML generated for
860        directories. Patch by Moshe Kaminsky <kaminsky@math.huji.ac.il>.
861    - Makefile.PL will try to discover misconfigured systems that can't talk to
862        themselves and disable tests that depend on this.
863    - Makefile.PL will now default to 'n' when asking about whether to install
864        the "GET", "HEAD", "POST" programs. There has been too many name
865        clashes with these common names.
866
8675.801   2004-11-12
868    - HTTP::Message improved content/content_ref interaction. Fixes
869        DYNAMIC_FILE_UPLOAD and other uses of code content in requests.
870    - HTML::Form:
871        - Handle clicking on nameless image.
872        - Don't let $form->click invoke a disabled submit button.
873    - HTTP::Cookies could not handle an "old-style" cookie named "Expires".
874    - HTTP::Headers work-around for thread safety issue in perl <= 5.8.4.
875    - HTTP::Request::Common improved documentation.
876    - LWP::Protocol: Check that we can write to the file specified in
877        $ua->request(..., $file) or $ua->mirror.
878    - LWP::UserAgent clone() dies if proxy was not set. Andy Lester
879    - HTTP::Methods now avoid "use of uninitialized"-warning when server
880        replies with incomplete status line.
881    - lwp-download will now actually tell you why it aborts if it runs out of
882        disk space of fails to write some other way.
883    - WWW::RobotRules: only display warning when running under 'perl -w' and
884        show which robots.txt file they correspond to. Bill Moseley.
885    - WWW::RobotRules: Don't empty cache when agent() is called if the agent
886        name does not change. Ville Skyttä <ville.skytta@iki.fi>.
887
8885.800   2004-06-16
889    - HTML::Form will allow individual menu entries to be disabled. This was
890        needed to support <input type=radio disabled value=foo> and
891        <select><option disabled>foo.
892    - HTML::Form now avoids name clashes between the <select> and <option>
893        attributes.
894    - HTML::Form now implicitly close <select> elements when it sees another
895        input or </form>. This is closer to the MSIE behaviour.
896    - HTML::Form will now "support" keygen-inputs. It will not calculate a key
897        by itself. The user will have to set its value for it to be returned by
898        the form.
899    - HTTP::Headers now special case field names that start with a ':'. This is
900        used as an escape mechanism when you need the header names to not go
901        through canonicalization. It means that you can force LWP to use a
902        specific casing and even underscores in header names. The ugly
903        $TRANSLATE_UNDERSCORE global has been undocumented as a result of this.
904    - HTTP::Message will now allow an external 'content_ref' to be set. This
905        can for instance be used to let HTTP::Request objects pick up content
906        data from some scalar variable without having to copy it.
907    - HTTP::Request::Common. The individual parts will no longer have a
908        Content-Length header for file uploads. This improves compatibility
909        with "normal" browsers.
910    - LWP::Simple doc patch for getprint. Yitzchak
911        Scott-Thoennes <sthoenna@efn.org>.
912    - LWP::UserAgent: New methods default_header() and default_headers(). These
913        can be used to set up headers that are automatically added to requests
914        as they are sent. This can for instance be used to initialize various
915        Accept headers.
916    - Various typo fixes by Ville Skyttä <ville.skytta@iki.fi>.
917    - Fixed test failure under perl-5.005.
918    - LWP::Protocol::loopback:  This is a new protocol handler that works like
919        the HTTP TRACE method, it will return the request provided to it. This
920        is sometimes useful for testing. It can for instance be invoked by
921        setting the 'http_proxy' environment variable to 'loopback:'.
922
9235.79    2004-04-13
924    - HTML::Form now exposes the 'readonly' and 'disabled' attribute for inputs.
925        This allows your program to simulate JavaScript code that modifies
926        these attributes.
927    - RFC 2616 says that http: referer should not be sent with https: requests.
928        The lwp-rget program, the $req->referer method and the redirect handling
929        code now try to enforce this. By Ville Skyttä <ville.skytta@iki.fi>.
930    - WWW::RobotRules now look for the string found in robots.txt as a case
931        insensitive substring from its own User-Agent string, not the other way
932        around. Patch by Ville Skyttä <ville.skytta@iki.fi>.
933    - HTTP::Headers: New method 'header_field_names' that return a list of
934        names as suggested by its name.
935    - HTTP::Headers: $h->remove_content_headers will now also remove the
936        headers "Allow", "Expires" and "Last-Modified". These are also part of
937        the set that RFC 2616 denote as Entity Header Fields.
938    - HTTP::Headers: $h->content_type is now more careful in removing embedded
939        space in the returned value. It also now returns all the parameters as
940        the second return value as documented.
941    - HTTP::Headers: $h->header() now croaks. It used to silently do nothing.
942    - HTTP::Headers: Documentation tweaks. Documented a few bugs discovered
943        during testing.
944    - Typo fixes to the documentation by Ville Skyttä <ville.skytta@iki.fi>.
945    - Updated tests.
946
9475.78    2004-04-07
948    - Removed stray Data::Dump reference from test suite.
949    - Added the parse(), clear(), parts() and add_part() methods to
950        HTTP::Message. The HTTP::MessageParts module of 5.77 is no more.
951    - Added clear() and remove_content_headers() methods to HTTP::Headers.
952    - The as_string() method of HTTP::Message now appends a newline if called
953        without arguments and the non-empty content does not end with a newline.
954        This ensures better compatibility with 5.76 and older versions
955        of libwww-perl.
956    - Use case insensitive lookup of hostname in $ua->credentials. Patch by
957        Andrew Pimlott <andrew@pimlott.net>.
958
9595.77    2004-04-06
960    - LWP::Simple did not handle redirects properly when the "Location" header
961        used uncommon letter casing. Patch by Ward Vandewege <ward@pong.be>.
962    - LWP::UserAgent passed the wrong request to redirect_ok(). Patch by Ville
963        Skyttä <ville.skytta@iki.fi>.
964        https://rt.cpan.org/Ticket/Display.html?id=5828
965    - LWP did not handle URLs like http://www.example.com?foo=bar properly.
966    - LWP::RobotUA construct now accept key/value arguments in the same way as
967        LWP::UserAgent. Based on patch by Andy Lester <andy@petdance.com>.
968    - LWP::RobotUA did not parse robots.txt files that contained "Disallow:"
969        using uncommon letter casing. Patch by Liam Quinn <liam@htmlhelp.com>.
970    - WWW::RobotRules now allow leading space when parsing robots.txt file as
971        suggested by Craig Macdonald <craig@freeasphost.co.uk>. We now also
972        allow space before the colon.
973    - WWW::RobotRules did not handle User-Agent names that use complex version
974        numbers. Patch by Liam Quinn <liam@htmlhelp.com>.
975    - Case insensitive handling of hosts and domain names in HTTP::Cookies.
976        https://rt.cpan.org/Ticket/Display.html?id=4530
977    - The bundled media.types file now match video/quicktime with the .mov
978        extension, as suggested by Michel Koppelaar <Michel.Koppelaar@kb.nl>.
979    - Experimental support for composite messages, currently implemented by the
980        HTTP::MessageParts module. Joshua Hoblitt <jhoblitt@ifa.hawaii.edu>.
981    - Fixed libscan in Makefile.PL. Patch by Andy Lester <andy@petdance.com>.
982    - The HTTP::Message constructor now accept a plain array reference as
983        its $headers argument.
984    - The return value of the HTTP::Message as_string() method now better
985        conforms to the HTTP wire layout. No additional "\n" are appended to
986        the as_string value for HTTP::Request and HTTP::Response. The
987        HTTP::Request as_string now replace missing method or URI with "-"
988        instead of "[NO METHOD]" and "[NO URI]". We don't want values with
989        spaces in them, because it makes it harder to parse.
990
9915.76    2003-11-21
992    - Revised handling of redirects.
993        - clear our content and content headers if we rewrite request as GET
994            based on patch by Steven Butler <stevenb@kjross.com.au>.
995        - pass $response to redirect_ok()
996    - Support cpan:-URLs. Try 'lwp-download cpan:src/latest.tar.gz' :)
997    - Fix test failure in 't/html/form.t' for perl5.005.
998
9995.75    2003-10-26
1000    - Reworked LWP::UserAgent, HTTP::Request and HTTP::Response documentation.
1001    - other documentation tweaks.
1002
10035.74    2003-10-23
1004    - Improved lwp-download program:
1005        - set mtime if Last-Modified header reported by server
1006        - better prompts
1007        - avoid warnings when aborted at the wrong time
1008    - Collected all contributions in the AUTHORS file and also added an AUTHORS section to the LWP manpage.
1009    - Style tweaks to all modules. Move POD after __END__ and uncuddled elses.
1010
10115.73    2003-10-19
1012    - Takanori Ugai <ugai@jp.fujitsu.com> found that 'max_redirect' introduced
1013        in 5.72 was broken and provided a patch for that.
1014    - Not all ftp servers return 550 responses when trying to to RETR a
1015        directory. Microsoft's IIS is one of those. Patch provided by Thomas
1016        Lotterer <thl@dev.de.cw.com>.
1017    - Some documentation tweaks.
1018
10195.72    2003-10-15
1020    - Requests for some non-HTTP URLs would fail if the cookie_jar was enabled.
1021        The HTTP::Cookies::add_cookie_header now ignore non-HTTP requests.
1022    - The new local/http test failed on Windows because of a missing binmode().
1023    - Suppress Client-SSL-Warning warning header when Crypt::SSLeay is able to
1024        verify the peer certificate. Joshua Chamas <joshua@chamas.com>.
1025    - HTTP::Request::Common::POST did not add a 'Content-Length' header when
1026        the content ended up empty. by Brian J. Murrell.
1027    - Internally generated responses now contain a text/plain part that repeats
1028        the status line. They also have a "Client-Warning" header that can be
1029        used to differentiate these responses from real server responses.
1030    - LWP::UserAgent now deals with 303 and 307 redirects. The behaviour of 302
1031        redirects has also changed to be like 303; i.e. change the method to be
1032        "GET". This is what most browsers do. Tom Hughes <thh@cyberscience.com>
1033    - LWP::UserAgent now implements a 'max_redirect' attribute with a default
1034        value of 7. This should also fix the problem where redirects to the
1035        same URL to get a cookie didn't work. Sean M. Burke <sburke@cpan.org>.
1036    - NTLM authentication should continue to fail if the Authen::NTLM module
1037        can't be loaded. LWP used to think the scheme was available as soon as
1038        the module stash showed up. Not it looks for the authenticate method to
1039        be defined. Patch by Jan Dubois.
1040    - lwp-download will not try to rename *.tbz and *.tar.bz2 to match the
1041        reported content type. Robin Barker <Robin.Barker@npl.co.uk>.
1042    - HTTP::Cookies::Netscape documentation fix by Sean M. Burke.
1043    - HTTP::Cookies::Microsoft documentation fix by Johnny Lee.
1044    - The code that tries to avoid installing 'HEAD' on top of 'head' on
1045        systems like Mac OS was further improved to look in
1046        $Config{installscript} instead of $Config{sitebin}. Patch provided by
1047        Ken Williams <ken@mathforum.org>.
1048
10495.71    2003-10-14
1050    - Support open-ended Range: header for ftp requests. Patch by Matthew
1051        Eldridge <eldridge@Graphics.Stanford.EDU>.
1052    - lwp-request now prints unsuccessful responses in the same way as
1053        successful ones. The status will still indicate failures.
1054        Steve Hay <steve.hay@uk.radan.com>.
1055    - HTML::Form's dump now also print alternative value names.
1056    - HTML::Form will now pick up the phrase after an <input type=radio> or
1057        <input type=checkbox> and use that as the name of the checked value.
1058    - HTML::Form's find_input now returns all inputs that match in array
1059        context. Based on patch by Mark Stosberg <markstos@cpan.org> in
1060        <http://rt.cpan.org/Ticket/Display.html?id=3320>.
1061    - HTTP::Daemon's send_file() method did not work when given a file name.
1062        Patch by Dave W. Smith <dws@postcognitive.com>.
1063    - HTTP::Daemon is less strict about field names in the request headers is
1064        received. The Norton Internet Security firewall apparently likes to
1065        send requests with a header called '~~~~~~~~~~~~~~~'. Further details
1066        in <http://rt.cpan.org/Ticket/Display.html?id=2531>.
1067    - LWP::Protocol::http assumed $1 would be meaningful without testing the
1068        outcome of the match. This sometimes produced an extra garbage
1069        Authentication header. Based on the patch by <bai@dreamarts.co.jp>
1070        in <http://rt.cpan.org/Ticket/Display.html?id=1994>.
1071    - LWP::Protocol::mailto will try harder to locate the sendmail program as
1072        suggested in <http://rt.cpan.org/Ticket/Display.html?id=2363>. Also
1073        let $ENV{SENDMAIL} override the search.
1074    - Patch to enable OS/2 build by Ilya Zakharevich.
1075
10765.70    2003-10-13
1077    - File::Listing::apache by Slaven Rezic <slaven@rezic.de>
1078    - HEAD requests now work properly for ftp: URLs.
1079        Patch by Ville Skyttä <ville.skytta@iki.fi>.
1080    - LWP::UserAgent: protocols_allowed() and protocols_forbidden() are now
1081        case-insensitive. Patch by Ville Skyttä <ville.skytta@iki.fi>.
1082    - Avoid warning from HTTP::Date on certain invalid dates. Patch by
1083        David Dick <david_dick@iprimus.com.au>.
1084    - HTML::Form::param() is an alternative interface for inspecting/modifying
1085        the form values. It resembles the interface of CGI.
1086    - HTML::Form docs updated by Martin Thurn <mthurn@northropgrumman.com>.
1087    - HTML::Form will treat any unknown input types as text input. This appears
1088        to be what most browsers do.
1089    - HTML::Form::parse() can now take a HTTP::Response object as argument.
1090    - The "checkbox" and "option" inputs of HTML::Form can now be turned on with
1091        the new check() method.
1092    - The inputs of HTML::Form can now track alternative value names and allow
1093        values to be set by these names as well. Currently this is only
1094        supported for "option" inputs.
1095    - HTML::Form's dump() method now print the name of the form if present.
1096
10975.69    2003-01-24
1098    - Include lwptut.pod contributed by Sean M. Burke C<sburke@cpan.org>.
1099    - The lwp-request aliases GET, HEAD, POST where installed when no program
1100        should be. Fixed by David Miller <dave@justdave.net>.
1101    - lwp-rget --help don't print double usage any more.
1102    - HTTP::Header::Util is now more reluctant to put quotes around token vals.
1103    - Net::HTTP: Avoid warning on unexpected EOF when reading chunk header.
1104
11055.68    2003-01-02
1106    - Fix test failure for t/html/form.t when running under perl-5.8.0.
1107
11085.67    2003-01-01
1109    - HTTP::Cookies::Microsoft contributed by Johnny Lee <typo_pl@hotmail.com>.
1110        This module makes it possible for LWP to share MSIE's cookies.
1111    - HTML::Form supports file upload better now. There are some new methods on
1112        that kind of input; file(), filename(), content() and headers().
1113    - Removed unfinished test that depended on Data::Dump.
1114    - Net::HTTP avoids exceptions in read_response_headers() with laxed option.
1115        It now always assumes HTTP/0.9 on unexpected responses.
1116    - HTML::Form documentation reworked.
1117
11185.66    2002-12-20
1119    - Various patches from Sean M. Burke. Most of them to match up LWP with
1120        the "Perl & LWP" book.
1121    - LWP::DebugFile module contributed by Sean.
1122    - LWP::Authen::Ntml contributed by James Tillman.
1123    - HTTP::Daemon patch for Alpha by <shildreth@emsphone.com>
1124    - The format_chunk() and write_chunk() methods of Net::HTTP did not work.
1125        Bug spotted by Yale Huang <yale@sdf-eu.org>.
1126    - The Client-Peer response header is back.
1127
11285.65    2002-05-31
1129    - Make HTTP::Date compatible with perl 5.8.
1130    - Try to avoid to default to overwriting /usr/bin/head on MacOS X when the
1131        perl install prefix is /usr/bin.
1132    - HTTP::Cookies fix for parsing of Netscape cookies file on MS Windows.
1133        Patch by Sean M. Burke <sburke@cpan.org>.
1134    - HTTP::Negotiate doc patch from Edward Avis <epa98@doc.ic.ac.uk>.
1135
11365.64    2002-02-09
1137    - Simplified the Makefile.PL:
1138        - the scripts are not longer *.PL files
1139        - don't try to make symlinks for GET, HEAD, POST as that has not
1140            worked for a long time
1141        - the GET, HEAD, POST aliases for lwp-request should now work on Win
1142    - HTTP::Cookies:
1143        - added 'clear_temporary_cookies'; Mike Schilli <schilli1@pacbell.net>.
1144        - trailing space in old cookie parameters not ignored; Ivan Panchenko
1145        - protect against $SIG{__DIE__}; Adam Newby <adam@NewsNow.co.uk>
1146    - LWP::Authen::Digest:
1147        - abort digest auth session if fails repeatedly with the same user/pass
1148    - MacOS portability patches to test suite by Chris Nandor <pudge@pobox.com>.
1149
11505.63    2001-12-14
1151    - HTTP::Negotiate: Deal with parameter names in a case insensitive way. Put
1152        a little weight on the order of features in the Accept headers.
1153    - LWP::UserAgent: make sure that the 'request' attribute is always set on
1154        the returned response.
1155    - LWP::Protocol::http will now allow certain bad headers in the responses
1156        it reads. The bad headers end up in the header 'Client-Junk'.
1157    - Net::HTTP new options to the 'read_response_headers' method. The option
1158        'laxed' will make it ignore bad header lines. The option 'junk_out' can
1159        be used to pass in an array reference. Junk header lines are pushed
1160        onto it.
1161    - Net::HTTP::Methods: fixed the internal zlib_ok() to also return the
1162        correct value the first time.
1163    - LWP::Protocol::http: Ensure that we don't read until select has said it's
1164        ok since we have put the socket in non-blocking mode. Previously this
1165        could happen if you set the 'timeout' attribute of the user agent to 0.
1166    - LWP::Authen::Digest now use Digest::MD5 instead of MD5.
1167    - Some adjustments to Makefile.PL to figure out if Compress::Zlib is
1168        available and adjust the test suite accordingly.
1169
11705.62    2001-11-21
1171    - The $VERSION of LWP::UserAgent wrapped around. This confused the CPAN
1172        indexer. Bumped the major number to 2 to fix this.
1173    - Net::HTTP did not work well on perl5.003. The PeerHost argument to
1174        IO::Socket::INET was not recognized, so we had to use PeerAddr instead.
1175        The syswrite() method also required a length argument.
1176    - Net::HTTP did not deal with transfer encoding tokens in a case-insensitive
1177        way. Patch by Blair Zajac <blair@orcaware.com>.
1178    - The jigsaw-chunk test failed on MacOS because "\n" is different. Patch
1179        by Chris Nandor <pudge@pobox.com>.
1180
11815.61    2001-11-16
1182    - LWP::Protocol::http did not invoke its _fixup_header method. The result
1183        was that the 'Host' header was wrong when going through a proxy server.
1184    - The live Google test is gone. They blocked us.
1185    - The guts of Net::HTTP has moved to Net::HTTP::Methods.
1186    - Net::HTTP now has limits on the size of the header; set by default.
1187    - New module Net::HTTPS.
1188    - Documentation tweaks.
1189    - HTTP::Headers: The 'remove_header' method now return the values of the
1190        fields removed as suggested by Blair Zajac <blair@orcaware.com>. Also a
1191        typo fix by Blair.
1192    - HTTP::Message: The delegation via &AUTOLOAD should be slightly faster
1193        now. It will install a real forwarding function the first time it is
1194        called for each HTTP::Headers method.
1195    - LWP::UserAgent: Don't forward 'Cookie' headers on redirect. Patch by
1196        Steve A Fink <steve@fink.com>.
1197    - LWP::Protocol::http has been reorganized to make it simpler to subclass
1198        it. Other minor changes to it include:
1199        - Client-Warning is gone
1200        - Client-Request-Num renamed to Client-Response-Num
1201        - A 'Transfer-Encoding' header is rewritten into a
1202            'Client-Transfer-Encoding' header.
1203    - LWP::Protocol::https is completely redone.
1204
12055.60    2001-10-26
1206    - Made HTTP/1.1 the default. The old HTTP/1.0 module has been renamed as
1207        LWP::Protocol::http10. There is an environment variable;
1208        PERL_LWP_USE_HTTP_10 that can be set to have LWP use the old drivers.
1209    - Deal with "100 continue" responses even when not requested by and Expect
1210        header in the request. MS IIS is eager to send this kind of response.
1211    - For HTTP/1.1 over SSL there was a problem with the underlying SSL
1212        libraries if the socket was configured to non-blocking mode. Disable
1213        this for https. By Michael Thompson <mickey@berkeley.innomedia.com>
1214    - Support the Range header for ftp:// reqs. David Coppit <david@coppit.org>.
1215    - Rearrange Bundle::LWP on request from Chris Nandor.
1216    - HTTP::Cookies: Allow a domain like .foo.com match host "foo.com".
1217        By Alexandre Duret-Lutz <duret_g@lrde.epita.fr>
1218    - For redirects make sure Host header is not copied to the new request.
1219    - The HTML::HeadParser is not loaded until actually needed.
1220    - Net::HTTP should now work with perl5.005 by a simple tweak to
1221        require IO::Socket::INET
1222    - WWW::RobotRules::AnyDBM: Clear database on open. Some DBM implementations
1223        don't support the O_TRUNC flag properly. Radu Greab <radu@netsoft.ro>.
1224
12255.53_97 2001-09-19 (TRIAL)
1226    - LWP::Protocol::http11: fix socket leak. Because we managed to set up a
1227        circular reference within the sockets objects they stayed around forever.
1228    - LWP::UserAgent: Split up simple_request into prepare_request and
1229        send_request. Patch contributed by Keiichiro Nagano <knagano@sodan.org>
1230    - LWP::Protocol::http: Pass all header data to LWP::Debug::conns. Martijn.
1231    - LWP::UserAgent: Sean fixed a Cut&Paste error.
1232    - HTTP::Cookies: avoid pack("c",...) warning from bleadperl.
1233
12345.53_96 2001-08-27 (TRIAL)
1235    - HTTP/1.1 support also for https. by Doug MacEachern <dougm@covalent.net>
1236    - The HTTP/1.1 modules are now enabled by default. Hope that will give them
1237        more testing than they otherwise would have gotten.
1238    - HTTP::Daemon's accept now has same behaviour as IO::Socket's accept in
1239        list context. Fixed by Blair Zajac <blair@gps.caltech.edu>.
1240    - More argument sanity checking in HTTP::Request->uri and
1241        LWP::UserAgent->simple_request. Patch by Sean M. Burke.
1242    - HTTP::Protocol::http. short writes. Norton Allen <allen@huarp.harvard.edu>
1243    - HTTP::Protocol::http11:  Deal with newlines in header values.
1244    - Net::HTTP: call sysread (instead of xread) when more data is required.
1245
12465.53_95 2001-08-06 (TRIAL)
1247    - Fix HTTP::Cookies where there is a mix of Set-Cookie and Set-Cookie2
1248        headers. In that case we used to ignore all Set-Cookie headers. Now we
1249        only ignore those Set-Cookie headers that reference the same cookie as
1250        a Set-Cookie2 header.
1251    - HTTP::Request, HTTP::Response will by default now use "URI" class, instead
1252        of "URI::URL", when constructing its URI objects. This has a potential
1253        for breaking existing code as URI::URL objects had some extra methods
1254        that external code might depend upon.
1255    - Patches by Sean M. Burke:
1256        - Fix treatment of language tags in HTTP::Negotiate
1257        - Avoid trailing newline in $response->message
1258        - HTTP::Response clarifications
1259    - LWP::Simple deals with non-absolute redirects "correctly" now.
1260    - Net::HTTP does not try to load Compress::Zlib until it is needed.
1261    - Net::HTTP documentation has been updated.
1262
12635.53_94 2001-05-05 (TRIAL)
1264    - Sean M. Burke's update to LWP::UserAgent:
1265        - updated redirect_ok behaviour
1266        - new convenience methods: get/head/post/put
1267        - protocols_allowed/protocols_forbidden
1268        - LWP::Protocol::nogo (new module)
1269    - Added digest auth test against Jigsaw
1270    - Fixed a 'use of uninitialized'-warning in the handling of digest auth.
1271    - Net::HTTP updates:
1272        - new option: SendTE
1273        - support transfer-encoding 'deflate' and 'gzip' (when Compress::Zlib
1274            is available).
1275        - new methods: format_chunk, format_chunk_eof
1276        - use -1 (instead of "0E0" as signal that no data was available,
1277            but this was not EOF).
1278
12795.53_93 2001-04-28 (TRIAL)
1280    - Makefile.PL now asks some questions
1281    - Added live tests for the new HTTP/1.1 support
1282    - LWP::MemberMixin: make it possible to set a value to the 'undef' value.
1283    - Net::HTTP:
1284        - transparent support for 'deflate' and 'gzip' transfer encodings
1285            (need to have the Compress::Zlib module installed for this to work).
1286
12875.53_92 2001-04-25 (TRIAL)
1288    - LWP::Protocol::ftp now support keep-alives too. The command connection
1289        will stay open if keep-alives are enabled.
1290    - LWP::Protocol::http11 various fixes:
1291        - chunked request content did not work
1292        - monitor connection while sending request content
1293        - deal with Expect: 100-continue
1294    - LWP::RobotUA: Protect host_port call. Not all URIs have this method.
1295
12965.53_91 2001-04-20 (TRIAL)
1297    - Introduced LWP::ConnCache module. Works similar to HTTP::Cookies, it that
1298        it takes effect if associated with the $ua.
1299    - The handling of $ua->max_size changed to make 0 mean 0 (not unlimited). A
1300        value of undef means no limit. The X-Content-Base header is gone. I
1301        hope nobody relies on it. It might come back if people start to scream.
1302        There is a new Client-Aborted header instead.
1303    - The Range header generated for $ua->max_size had an off-by-one error. A
1304        range of "0-1" means 2 bytes.
1305    - The LWP::UserAgent constructor now takes configuration arguments.
1306    - Keep-alive and the new HTTP/1.1 module can now be simply enabled with
1307        something like: LWP::UserAgent->new(keep_alive => 1);
1308    - New method $ua->conn_cache to set up and access the associated connection
1309        manager.
1310    - If the string passed to $ua->agent() ends with space then the
1311        "libwww-perl/#.##" string is automatically appended.
1312    - New method $ua->_agent
1313    - Passing a plain hash to $ua->cookie_jar automatically loads HTTP::Cookies
1314        and initialise an object using the hash content as constructor arguments.
1315    - LWP::Protocol::http11 now use the conn_cache of the $ua.
1316    - LWP::Protocol::http11 now added a few new Client- headers.
1317    - LWP::Protocol avoid keeping the connection alive if $ua->max_size limit
1318        prevents the whole body content from being read.
1319    - Net::HTTP updates:
1320        - new methods: write_chunk(), write_chunk_eof()
1321        - reset state properly when a new body is read.
1322        - always set read buffer empty on eof
1323        - doc update
1324    - WWW::RobotRules patch by Liam Quinn <liam@htmlhelp.com>:
1325        - Always qualify netloc with port.
1326        - Reverse User-Agent substring matching.
1327
13285.53_90 2001-04-18 (TRIAL)
1329    - Note: This is a developer only release. Not for production use.
1330    - LWP::Protocol::http11 now does keep-alives by default. Still need to
1331        figure out what interface to provide at the $ua level.
1332    - LWP::Protocol::http11 deals with CODE content in request.
1333    - Net::HTTP updated:
1334        - added format_request() method
1335        - added _rbuf and _rbuf_length methods
1336        - read_response_headers does not return protocol version any more.
1337        - peer_http_version method did not work because of typo.
1338        - documentation added
1339    - New module Net::HTTP::NB. This is a Net::HTTP subclass that is better
1340        suited for multiplexing as it is able to do no-blocking reads of headers
1341        and entity body chunks.
1342    - HTTP::Request: Protect $request->uri against evil $SIG{__DIE__} handlers.
1343    - Some reorganisation in how stuff is passed from $ua to protocol object.
1344        The $ua is now passed in so protocol objects might store start in it.
1345    - The $ua->max_size default is now 0.
1346    - The $ua->clone method avoids sharing of proxy settings between the old
1347        and the new.
1348    - This file is renamed to 'Changes' (used to be 'ChangeLog').
1349
13505.53    2001-04-10
1351    - LWP::Simple::get() could sometimes return nothing on failure in list
1352        context. Now it always returns 'undef'.
1353    - HTTP::Cookies does not request 2 dots on domain names any more. New
1354        option to hide the Cookie2 header. Cookie2 header now quote the version
1355        number. Updated reference to RFC 2965.
1356    - Support for embedded userinfo in http proxy URIs. It means that you know
1357        can set up your proxy with things like:
1358        http_proxy="http://proxyuser:proxypass@proxyhost:port" Patch by
1359        John Klar <j.klar@xpedite.com>.
1360    - Experimental HTTP/1.1 support. New module called Net::HTTP that provide
1361        the lower level interface and a LWP::Protocol::http11 module that
1362        builds on it. The HTTP/1.1 protocol module must be loaded and
1363        registered explicitly, otherwise the old and trustworthy HTTP/1.0
1364        module will be used.
1365    - LWP::Protocol::GHTTP will try to use the get_headers() methods so that it
1366        can actually extract all the headers.
1367
13685.52    2001-03-29
1369    - HTTP::Header: new method $h->init_header() that will only set the header
1370        if it is not already set. Some shuffling around in the code.
1371    - LWP::UserAgent will not override 'User-Agent', 'From' or 'Range' headers
1372        if they are explicitly set in the request passed in.
1373    - HTML::Form tries to optimize parsing be restricting the tags that are
1374        reported by HTML::Parser. Will need HTML::Parser v3.19_93 or better for
1375        this to actually have any effect.
1376    - LWP::Protocol::ftp now deals with path parameters again. It means that
1377        you can append ";type=a" to ftp-URI and it will download the document
1378        in ASCII mode.
1379    - If the server output multiple Location headers on a redirect, ignore all
1380        but the first one.
1381    - Extract cookies failed on request URIs with empty paths. This was only
1382        triggered if you used URI objects directly in scripts.
1383    - This change was actually part of 5.51: Fix qop="auth" handling for Digest
1384        authentication. Patch by Dave Dunkin <dave_dunkin@hotmail.com>.
1385
13865.51    2001-03-14
1387    - SECURITY FIX:
1388        If LWP::UserAgent::env_proxy is called in a CGI environment, the
1389        case-insensitivity when looking for "http_proxy" permits "HTTP_PROXY"
1390        to be found, but this can be trivially set by the web client using the
1391        "Proxy:" header. The fix applied is that $ENV{HTTP_PROXY} is not longer
1392        honored for CGI scripts. The CGI_HTTP_PROXY environment variable can be
1393        used instead. Problem reported by Randal L. Schwartz.
1394    - NOTE: It is recommended that everybody that use LWP::UserAgent (including
1395        LWP::Simple) in CGI scripts upgrade to this release.
1396    - Explicit setting of action on HTML::Form had no effect because of a code
1397        typo. Patch by BooK <book@netcourrier.com>.
1398    - HTTP::Daemon: The CONNECT method need special treatment because it does
1399        not provide a URI as argument (just a "hostname:port"). The non-upward
1400        compatibility warning is that you must now call $request->url->host_port
1401        to get the host/port string for CONNECT, rather than calling
1402        $request->url and using the entire string. Based on patch from
1403        Randal L. Schwartz <merlyn@stonehenge.com>
1404    - HTTP::Daemon: Create self URL based on $self->sockaddr. This works better
1405        when LocalAddr is used to specify the port number. Based on patch from
1406        Ben Low <ben@snrc.uow.edu.au>.
1407    - Avoid potential '<FILE> chunk 1' messages at the end of the
1408        response 'message'.
1409
14105.50    2001-01-12
1411    - Fix for test cases that failed because of URI-1.10 now encode space as '+'
1412        instead of '%20. Patch by Christian Gilmore <cgilmore@tivoli.com>.
1413    - Makefile.PL: Require URI-1.10.
1414    - HTTP::Daemon now accepts any non-space character as method name on the
1415        request line. It used to fail on methods like "M-POST" because it only
1416        allowed \w-chars.
1417    - HTTP::Date now allow fractional seconds in ISO date formats. Based on
1418        patch from Mark D. Anderson <mda@discerning.com>
1419    - HTTP::Request::Common will now calculate Content-length even if
1420        $DYNAMIC_FILE_UPLOAD is set. Lindley, Lee T <Lee.Lindley@viasystems.com>
1421
14225.49    2000-12-31
1423    - HTML::Form: Use croak() instead of die. Implement $f->possible_values.
1424        Avoid use of undef value warnings.
1425    - HTTP::Cookies: fix epath issue. Make it work for URI::http as the
1426        uri-attribute of HTTP::Request object
1427    - HTTP::Date: Allow ignored timezone info in parenthesis. Patch by
1428        Sander van Zoest <sander@covalent.net>.
1429    - Fix calculation of non-GMT timezones (wrong sign). Patch by
1430        KONISHI Katsuhiro <konishi@din.or.jp>.
1431    - HTTP::Response: Let $res->base() absolutize the URI. Based on bug report
1432        from Hans de Graaff <hans@degraaff.org>.
1433    - Fixed minor doc typos in HTTP::Headers::Util and LWP::UserAgent.
1434    - HTTP::Request::Common: Support boundary spec from client.
1435    - LWP::Simple: Avoid trivial_http_get when @ in authority part of URI
1436    - LWP::Authen::Digest: Need query in URI param. <ronald@innovation.ch>
1437    - LWP::Protocol::http: unescape user/pass if they are specified in the URI.
1438    - Added LWP::Protocol::GHTTP. This allow LWP to use the HTTP::GHTTP module
1439        as the low level HTTP driver.
1440
14415.48    2000-04-09
1442    - README.SSL update by Marko Asplund <aspa@hip.fi>
1443    - Added cookie example to lwpcook.pod
1444    - HTTP::Date::str2time returns undef on failure instead of an empty list as
1445        suggested by Markus B Krüger <markusk@pvv.org>
1446    - $request->uri($uri) will now always store a copy of the $uri.
1447    - HTTP::Status: Added status codes from RFC 2616 and RFC 2518 (WebDAV)
1448    - LWP::RobotUA will not parse robots.txt unless content type and content
1449        sample looks right.
1450    - LWP::UserAgent: Deal with multiple WWW-Authenticate headers. Patch by
1451        Hugo <hv@crypt.compulink.co.uk>
1452    - $ua->proxy can now return the old proxy settings without destroying the
1453        old one. Based on patch by Benjamin Low <ben@snrc.uow.edu.au>
1454    - LWP::Protocol::http update
1455        - don't terminate header parsing on bad headers
1456        - extra_sock_opts
1457        - preparations for keep alive support
1458        - method CONNECT
1459    - WWW::RobotRules deal with various absolute URIs in the disallow lines.
1460    - Makefile.PL: Make sure we have HTML::TokeParser
1461    - Clean test on VMS by Charles Lane <lane@ DUPHY4.Physics.Drexel.Edu>.
1462
14635.47    1999-11-16
1464    - Added HTML::Form to the distribution.
1465    - LWP::Protocol::ftp: Make it URI.pm compatible. We broke it in 5.45.
1466    - LWP::Protocol::http: Kill any Connection header
1467    - LWP::MediaTypes: Fixed builtin html/text mapping. Added bz2 to suffixEncoding
1468
14695.46    1999-10-28
1470    - Updated mailing list address
1471    - Avoid warnings for lwp-request -t
1472    - referrer as alternative spelling for referer as suggested by tchrist.
1473    - More conservative selection of boundary for multipart messages in
1474        &HTTP::Request::Common::POST.
1475    - LWP::MediaTypes can now export &read_media_types.
1476    - Spelling corrections from Ben Tilly <Ben_Tilly@trepp.com>
1477
14785.45    1999-09-20
1479    - The LWP SSL support better explained. Documentation in README.SSL and
1480        lwpcook.pod contributed by Marko Asplund <aspa@hip.fi>.
1481    - LWP::Protocol::https: Try IO::Socket::SSL if Net::SSL is not available.
1482    - lwp-mirror -t option did not work.
1483    - defined(@ISA) eliminated. Patch by Nathan Torkington <gnat@frii.com>
1484    - LWP::Protocol::ftp: Protect against empty path_segments
1485
14865.44    1999-06-25
1487    - We require URI-1.03, since this fix some query quoting stuff that
1488        HTTP::Request::Common rely upon.
1489    - 'lwp-request -HUser-Agent:foo' can now be used to set this header too.
1490    - Localize $/ to ensure standard record separator in HTTP::Cookies
1491    - LWP::UserAgent will now set the Range header in requests if the
1492        $ua->max_size attribute is set.
1493
14945.43    1999-05-09
1495    - New lwp-request command line option that allow you to put any header into
1496        the request (-H).
1497    - New HTTP::Date because of Y2K-problems with the old one. It refused to
1498        parse the ftp-listing (ls -l) dates missing year. Additional entry
1499        point is parse_date(). This function avoid any limitations caused by
1500        the time-representation (seconds since epoch).
1501    - Y2K fix to t/base/cookies.t. Netscape's original cookie example expires
1502        at 09-Nov-99.
1503    - binmode() in LWP::Protocol::file: Matt Sergeant <matt-news@sergeant.org>
1504
15055.42    1999-03-20
1506    - MacOS patches from Paul J. Schinder <schinder@leprss.gsfc.nasa.gov>
1507    - Documentation patch from Michael A. Chase <mchase@ix.netcom.com>
1508    - PREREQ_PM patch from Andreas Koenig <andreas.koenig@anima.de>
1509    - LWP::Simple::head fix by Richard Chen <richard@lexitech.com>
1510    - "LWP fails with PerlEXE"-patch from Gurusamy Sarathy
1511    - Allow "." in HTTP header names: Marc Langheinrich <marc@ccm.cl.nec.co.jp>
1512    - Fixed reference to $uri->netloc in lwp-request
1513    - Cute animation in lwp-download
1514
15155.41    1998-11-19
1516    - HTTP::Cookies provide better Netscape cookies compliance. Send back
1517        cookies to any port, and allow origin host name to be specified as
1518        domain, and still be treated as a domain. Patch from Andreas
1519        Gustafsson <gson@araneus.fi>.
1520    - HTTP::Cookies now ignore the Expires field in Set-Cookie, if the date
1521        provided can't be parsed by HTTP::Date.
1522    - HTTP::Daemon will lowercase the hostname returned from
1523        Sys::Hostname::hostname(). This avoid some test failures in the test
1524        suite for people with upper- or mixed-cased hostnames.
1525    - LWP::Protocol::gopher: IO::Socket::INET ctor did not specify
1526        Proto => 'tcp'. This made it less portable to older IO::Socket versions.
1527    - No programs installed when you build the Makefile with
1528        'perl Makefile.PL LIB=/my/lib'
1529    - LWP bundle mention Digest::MD5 instead of MD5
1530    - headers-auth.t test suite bug triggered by perl5.005_5x. Patch by
1531        Albert Dvornik <bert@genscan.com>
1532    - The local/http.t test actually did try to unlink("."). This was very
1533        confusing on systems where it succeed.
1534
15355.40_01 1998-10-12 (TRIAL)
1536    - Unbundled URI::URL modules. You now have to install the URI.pm module in
1537        order to get libwww-perl working.
1538    - Made library URI.pm compatible. Made all URI object instantiations based
1539        on $HTTP::URI_CLASS variable.
1540    - New lwp-rget option: --referer. INOUE Yoshinari <inoue@kusm.kyoto-u.ac.jp>
1541    - One more binmode() to HTTP::Daemon: by Markus Laker <mlaker@contax.co.uk>
1542
15435.36    1998-08-04
1544    - The lwp-download script will call $ua->env_proxy now.
1545    - The lwp-request script allows content types (specified with the -c option)
1546        with optional parameters like: multipart/mixed; boundary="--".
1547    - LWP::UserAgent will lowercase all authentication parameter names before
1548        passing it to the authentication module. Previous releases ignored
1549        parameters like; Realm="Foo" (because Realm contained upper case
1550        letters).
1551    - LWP::Protocol::ftp test for If-Modified-Since was wrong.
1552    - How the $url->abs method works can now be configured with the global
1553        variables $URI::URL::ABS_ALLOW_RELATIVE_SCHEME and
1554        $URI::URL::ABS_REMOTE_LEADING_DOTS.
1555    - The anonymous password guesser for ftp URLs will now call the external
1556        `whoami` program any more. Patch by Charles C. Fu <ccwf@bacchus.com>.
1557    - LWP::Protocol::http now allow dynamic requests without any Content-Length
1558        specified when Content-Type is multipart/*
1559    - HTTP::Request::Common can now upload infinite files. (Controlled by the
1560        $DYNAMIC_FILE_UPLOAD configuration variable.)
1561
15625.35    1998-07-10
1563    - More lwp-rget patches from David D. Kilzer <ddkilzer@madison.dseg.ti.com>.
1564        Adds the following new options: --iis, --keepext, --tolower
1565    - LWP::MediaTypes patches from MacEachern <dougm@pobox.com>. Adds new
1566        functions: add_type(), add_encoding(), read_media_types()
1567
15685.34    1998-07-07
1569    - LWP::Protocol::ftp now try to use the MDTM command to support the
1570        Last-Modified response header as well as If-Modified-Since in requests.
1571        Original and final patch by Charles C. Fu <ccwf@bacchus.com>
1572    - $url->path_components will not escape "." any more.
1573    - WWW::RobotRules will now work for Mac text files too (lines delimited by
1574        CR only). Patch by Olly Betts <olly@muscat.co.uk>
1575    - lwp-rget support <area ..> links too.
1576
15775.33    1998-05-07
1578    - LWP::Simple::get() did try to handle too many of the 3xx codes as
1579        redirect when it bypasses full LWP.
1580    - LWP::UserAgent->mirror will now use utime(2) to set the file modification
1581        time corresponding to the Last-Modified header.
1582    - LWP::Protocol::http will not modify the HTTP::Request that it is
1583        processing. This avoids sticky Host header for redirects.
1584    - URI::Heuristic and lwp-download documentation update.
1585
15865.32    1998-04-15
1587    - Much improved HTTP::Daemon class. We now support persistent connections.
1588        Changes include:
1589        - $c->get_request can be told to return after reading and parsing
1590            headers only.
1591        - $c->reason (new method)
1592        - $c->read_buffer (new method)
1593        - $c->proto_ge (new method)
1594        - $c->force_last_request (new method)
1595        - $c->send_response now support CODE reference content and will use
1596            chunked transfer encoding for HTTP/1.1 clients.
1597        - expanded the documentation.
1598
15995.31    1998-04-10
1600    - Makefile.PL now checks that HTML::HeadParser is present.
1601    - Updated HTTP::Cookies according to draft-ietf-http-state-man-mec-08.txt
1602        It now supports the .local domain and value less 'port' attribute in
1603        the Set-Cookie2 header.
1604    - HTTP::Headers update:
1605        - $h->content_type now always return a defined value
1606        - $h->header($field) will now concatenate multi-valued header fields
1607            with "," as separator in scalar context.
1608    - HTTP::Request::Common update:
1609        - used to destroy the content of the  hash/array arguments passed to
1610            its constructor functions.
1611        - allow a hash reference to specify form-data content.
1612        - you can override Content-Disposition for form-data now.
1613        - set content-encoding for files if applicable
1614        - default boundary string is now always "--000"
1615    - LWP::UserAgent will not follow more than 13 redirects automatically.
1616
16175.30    1998-04-01
1618    - Unbundled the following modules:
1619        * HTML-Parser  (HTML::Parser, HTML::Entities, HTML::LinkExtor,...)
1620        * HTML-Tree    (HTML::Element, HTML::TreeBuilder,...)
1621        * Font-AFM     (Font::AFM, Font::Metrics::*)
1622        * File-CounterFile
1623    - Simplified internals of HTTP::Headers. Hopefully, nobody will notice.
1624    - New modules HTTP::Headers::Auth,  HTTP::Headers::ETag that adds
1625        additional convenience methods to the HTTP::Headers class.
1626    - Removed split_etag_list() from HTTP::Headers::Util, in the hope that
1627        nobody had starting using it.
1628
16295.22    1998-03-24
1630    - HTTP::Cookies made more compatible with Netscape cookies. Allow the domain
1631        to match host, allow dots in the part of the hostname not covered by
1632        domain. Don't quote the cookie value even when it contains non-token
1633        chars. Based on patch from Kartik Subbarao <subbarao@computer.org>.
1634    - Updated HTTP::Status to reflect <draft-ietf-http-v11-spec-rev-03>.
1635        RC_MOVED_TEMPORARILY renamed to RC_FOUND. Added codes
1636        RC_TEMPORARY_REDIRECT (307) and RC_EXPECTATION_FAILED (417). Slightly
1637        more documentation too.
1638    - The split_header_words() function HTTP::Headers::Util could go into
1639        infinite loop on some header values. Implemented split_etag_list() too
1640        Added more documentation and test script for this module.
1641    - LWP::Simple now switch to full LWP implementation even for systems that
1642        force all environment keys to be upper case. Modification suggested by
1643        Dale Couch <dcouch@training.orl.lmco.com>.
1644    - LWP::UserAgent allows redirects to a relative URL with scheme to be made.
1645        Suggested by Chris W. Unger <cunger@cas.org>.
1646    - Applied dtd2pm.pl patches from <peterm@zeta.org.au>. It can now extract
1647        information from the HTML40.dtd
1648
16495.21    1998-03-12
1650    - lwp-rget patches from David D. Kilzer <ddkilzer@madison.dseg.ti.com>
1651        (modified by Gisle). Support the --hier  and the --auth options and
1652        <frame>s.
1653    - File::CounterFile protect against bad $/ and $\ by Frank Hoehne.
1654    - File::Listing used "next" when return was more appropriate. Patch
1655        by erik@mediator.uni-c.dk.
1656    - HTML::Element support for multiple boolean attributes for a single element.
1657        Patch by Philip Guenther.
1658    - Can set $HTTP::Headers::TRANSLATE_UNDERSCORE to FALSE value to suppress
1659        tr/_/-/ of header keys.
1660    - LWP::Protocol::http won't initialize the Host header if it's already set.
1661    - LWP::Protocol::http did not handle responses with no header lines
1662        correctly. Patch by Daniel Buenzli <buenzli@rzu.unizh.ch>
1663    - $url->rel() handles path segments without leading "/" better.
1664
16655.20    1998-02-13
1666    - Fixed the "500 Offset outside string" bug that affected perl <= 5.004_03
1667    - Fixed a documentation typo. by Michael Quaranta <quaranta@vnet.IBM.COM>
1668    - HTTP::Date: Protect against croaking from timegm/timelocal.
1669
16705.19    1998-01-26
1671    - HTML::Parser does not call $self->text() callback for empty text anymore.
1672    - LWP::Protocol::https was noisy when connections failed and the script was
1673        running with '-w' (noise inherited from IO::Socket::INET)
1674    - $ua->use_alarm(BOOL) now gives a warning if running with -w
1675
16765.18_05 1998-01-20 (TRIAL)
1677    - HTTPS support based on my Crypt-SSLeay module. The Net-SSLeay module is
1678        not supported any more.
1679    - lwp-request documentation typo spotted Martijn Koster.
1680    - Removed superfluous \\ in the URI::Escape regex. Spotted by Martijn.
1681    - File::Listing now handles timezones correctly.
1682    - Added $VERSION to modules that was missing it.
1683    - Added 'use strict' to several modules that was missing it.
1684    - LWP::Protocol::http now adds the Client-Peer header to responses and has
1685        hooks for more callbacks.
1686    - LWP::Protocol::https adds Client-SSL-Cipher, Client-SSL-Cert-Subject and
1687        Client-SSL-Cert-Issuer headers to the response. The requests can also
1688        be made conditional based on the peer certificate using the
1689        If-SSL-Cert-Subject header in requests.
1690    - HTML::Parse is back. (It was even used in lwpcook.pod)
1691
16925.18_04 1997-12-17 (TRIAL)
1693    - Makefile.PL fix based on report from Pon Hwa Lin <koala@fragment.com>
1694    - lwp-request will now print the res code message with -s and -S options.
1695    - Hide IO::Socket::INET noise when running under -w
1696    - Don't set 'Content-Length: 0' in HTTP requests.
1697    - LWP::Protocol::http now calls LWP::Debug::conns again
1698
16995.18_03 1997-12-16 (TRIAL)
1700    - Got rid of alarms() and replaced LWP::Socket with IO::Socket::INET.
1701    - New protocol implementations for http, https, gopher, nntp.
1702    - $ua->use_alarm() is now a noop.
1703    - LWP::Protocol::ftp patch from  Tony Finch <fanf@demon.net>.
1704    - Removed deprecated modules from the distribution; HTML::Parse,
1705        LWP::Socket, LWP::SecureSocket, LWP::IO, LWP::TkIO.
1706
17075.18    1997-12-12
1708    - HTTP authorization patches from Tony Finch <fanf@demon.net>. Allows
1709        "user:pass@" in HTTP URLs.
1710    - HTML::Parser patch by Brian McCauley <B.A.McCauley@bham.ac.uk>. Pass
1711        original text to end() method.
1712    - The HTML::Parser->netscape_buggy_comment method is deprecated. Use
1713        HTML::Parser->strict_comment instead. The default value has changed
1714        with the name.
1715    - Some HTML::Parser optimization tweaks.
1716    - New module named HTML::Filter
1717    - Updated HTTP::Headers to the latest HTTP spec. Added knowledge about the
1718        "Trailer", "Expect", "TE", "Accept-Range" headers. "Public" header
1719        is gone.
1720    - Added some more header convenience methods: if_unmodified_since,
1721        content_language, and proxy_authorization methods.
1722    - HTTP::{Request,Response}->clone can handle subclasses now.
1723    - HTTP::Request->url() can now undefine the URL.
1724    - HTTP::{Request,Response}->as_string format looks more like the HTTP
1725        protocol formatting now. Dashed lines above and below is gone.
1726    - Documented HTTP::Response->status_line method
1727    - Compressed HTML::Response->error_as_HTML output
1728    - HTTP::Status updated to latest HTTP spec. Added
1729        RC_REQUEST_RANGE_NOT_SATISFIABLE (416)
1730
17315.17    1997-12-02
1732    - All authentication handling moved out of LWP::UserAgent and into
1733        LWP::Authen::Basic and LWP::Authen::Digest. We now also support
1734        PROXY_AUTHENTICATION_REQUIRED responses.
1735    - HTML::Formatter will always add a blank line for <br>.
1736    - Avoid use of uninitialized value in HTTP::Daemon.
1737    - HTTP::Date allows seconds when recognizing 'ls -l' dates. This allows us
1738        to parse syslog time stamps.
1739    - HTTP::Request::Common::POST allows a hash reference as second argument
1740        (in addition to an array reference).
1741    - LWP::Simple will initialize the $ua if it is exported.
1742    - Various documentation updates.
1743
17445.16    1997-11-21
1745    - LWP::Simple::head() would die in array context because str2time was not
1746        imported any more.
1747    - HTTP::Daemon->accept now takes an optional package argument like
1748        IO::Socket->accept does.
1749    - Made HTTP::Request and HTTP::Response subclassable.
1750    - Added Proxy-Authorization example to lwpcook.
1751
17525.15    1997-11-06
1753    - New module URI::Heuristic
1754    - The lwp-request script now use URI::Heuristic for it's URL arguments. It
1755        means that 'lwp-request perl' will not get a file called "./perl" but
1756        will fetch the page "http://www.perl.com" or something similar. If you
1757        want to get the file you have to prefix it with "./". Full URLs are
1758        never affected by this.
1759    - LWP::Simple::get() will bypass LWP for simple HTTP requests. This should
1760        make it somewhat faster.
1761    - LWP::RobotUA has a new method called $ua->use_sleep() that controls how
1762        niceness towards the servers are enforced. Previously $ua->use_alarm()
1763        used to control this, but this did not work well on Win32 systems.
1764    - URI::URL::rel() will handle URLs to a fragment within the same document
1765        better. Initial patch from Nicolai Langfeldt <janl@math.uio.no>.
1766    - HTML::Element don't consider </th>, </tr> and </td> optional any more.
1767    - Added lots of modern tags to HTML::AsSubs.
1768    - HTTP::Request::Common will read uploaded files in binmode(). This should
1769        be better for Win32 systems. by <Steve_Kilbane@cegelecproj.co.uk>.
1770
17715.14    1997-10-12
1772    - HTML::Formatter patches from Andreas Gustafsson <gson@araneus.fi>. The
1773        formatters handling of whitespace is much better now. Thanks!
1774    - HTML::FormatText: can specify margins in the constructor.
1775    - URI::URL: the base will be absolutized internally now.
1776    - URI::URL will take advantage of void context provided by perl5.004. This
1777        means that using $u->path and $u->query should be safer now.
1778    - URI::URL->print_on defaults to STDERR now (used to be STDOUT).
1779    - URI::URL: removed version 3 compatibility stuff ($COMPAT_VER_3).
1780    - $ua->mirror should work better on dosish systems (can not rename when
1781        target file exists).
1782    - Typo in lwp-download prevented it from compiling.
1783    - Some minor documentations typos corrected.
1784
17855.13    1997-09-20
1786    - Brand new module called HTTP::Cookies. It stores cookies (Set-Cookie and
1787        Set-Cookie2 headers) from responses and can create appropriate Cookie
1788        headers for requests. It can also share cookie files with Netscape.
1789    - LWP::UserAgent now support the cookie_jar() attribute. When set to an
1790        HTTP::Cookies object, it will automatically manage the cookies sent to
1791        the servers. Off by default.
1792    - New header utility functions in HTTP::Headers::Util.
1793    - Win32 and OS/2 patches for the lwp-xxx utilities. Turn on binary mode
1794        by default (option to turn it off), avoid modifying $0, and don't be
1795        confused about suffixes in the script names. Contributed by Ben
1796        Coleman <bcoleman@mindspring.com>
1797    - OpenVMS patch for Font:AFM by Brad Hughes <brad@tmc.naecker.com>
1798
17995.12    1997-09-05
1800    - decode_entities() would sometimes introduce ";" after things that looked
1801        like they were entities.
1802    - HTML::LinkExtor knows about <applet code="...">
1803    - Patch from Gary Shea <shea@gtsdesign.com> that makes the tests work even
1804        if perl is not called "perl"
1805    - HTTP::Date handles 12:00PM correctly now. Patch from William York
1806        <william@mathworks.com>
1807    - HTTP::Request::Common don't quote the boundary string for
1808        multipart/form-data messages any more.
1809    - Font::AFM works for encodings where .notdef is defined to have some size.
1810        Documentation and efficiency update.
1811
18125.11    1997-08-06
1813    - Perl version 5.004 is now required for libwww-perl.
1814    - Win32 patches from Gurusamy Sarathy <gsar@engin.umich.edu>. Now passes
1815        all tests on that platform.
1816    - HTTPS support contributed by Josh Kronengold <mneme@mcny.com>
1817    - Support hex entities &#xFF;  HTML::Entities::(en|de)code only modify
1818        their argument in void context.
1819    - Fixed formatter bug with <font> tags which did not specify size.
1820    - Better HTML::HeadParser documentation
1821    - Fixed HTML::LinkExtor documentation typo spotted by Martijn.
1822    - HTTP::Request::Common now use CRLF for multipart/form-data
1823
18245.10    1997-06-20
1825    - Make '+' a reserved URL character. Decode unescaped '+' as space in
1826        $url->query_form().
1827    - Use $Config{d_alarm} to determine default for $ua->use_alarm()
1828
18295.09    1997-06-10
1830    - Removed the MIME modules from the distribution. They are distributed
1831        separately now.
1832    - Added a new module called HTTP::Request::Common
1833    - Improved HTTP::Status documentation. It is now also possible to import
1834        the is_client_error/is_server_error functions.
1835    - LWP::MediaTypes::guess_media_type() can now take an optional HTTP::Header
1836        parameter.
1837    - LWP::Protocol ensures that scheme is legal as module name.
1838    - LWP::Protocol::http is not as strict when trying to verify the method
1839        name. It now also accepts responses without a message on the status line
1840    - WWW::RobotRules::AnyDBM_File: Some DBMs fail to allow multiple opens of
1841        the same file. Patch from Mark James <jamesm@skate.org>
1842    - Created Bundle::LWP
1843
18445.08    1997-04-05
1845    - Made libwww-perl warning compatible with upcoming perl5.004beta2
1846        (aka 5.003_98)
1847    - encode_base64() did not work properly if pos() of the string to encode
1848        was different from 0.
1849    - HTML::Parser was confused about "</" when it did not start an end tag.
1850    - HTML::FormatPS will provide ISOLatin1Encoding in its output.
1851    - Calling HTML::LinkExtor->links will clear out old links.
1852    - url()->rel($base) would ignore the $base argument.
1853    - Don't croak() when setting url()->path().
1854
18555.07    1997-02-11
1856    - Can limit the size of the response content with $ua->max_size()
1857    - Added time2iso() functions to HTTP::Date.
1858    - Made LWP::Protocol::http more portable to the MacPerl. /./ match
1859        different things on MacPerl.
1860
18615.06    1997-01-27
1862    - URI::URL is now compatible with perl5.004 overloading.
1863    - HTML::HeadParser makes X-Meta-Name headers for <meta> elements that does
1864        not specify an 'http-equiv' attribute.
1865    - URI::URL::ftp does not die if Net::Domain is not installed and you ask
1866        for an anonymous username or password.
1867    - WWW::RobotRules:  The robots.txt parser did not ignore comment lines as
1868        it should.
1869    - LWP::Protocol::http is more forgiving towards servers that return bad
1870        responses.
1871    - Allow "?" before search string in gopher URLs.
1872    - LWP::Protocol::file did not escape funny filenames when generating HTML
1873        directory listings.
1874    - LWP::Protocol::ftp now gets the Content-Encoding correct. 'CODE'
1875        content in PUT requests also work now.
1876    - Relative locations in redirects did not work with URI::URL::strict.
1877    - OS/2 portability patches from Ilya Zakharevich
1878    - LWP::Authen::* patch from Doug MacEachern
1879    - Support experimental data:- URLs
1880    - Some tests (those using HTTP::Daemon) now die more gracefully if IO::*
1881        modules is not installed.
1882
18835.05    1996-12-04
1884    - LWP::UserAgent::simple_request: local($SIG{__DIE__}) protects us against
1885        user defined die handlers.
1886    - Use Net::Domain (instead of Sys::Hostname) to determine FQDN. It is used
1887        by URI::URL when it determines anonymous ftp login address.
1888    - lwp-download: New program in the bin directory
1889    - HTML::Parser: Allow '_' in attribute names. This makes it possible to
1890        parse Netscape's bookmarks.html file.
1891    - HTTP::Daemon: Fixed chunked transfer encoding and multipart content in
1892        get_request(). Support HTTP/0.9 clients.
1893    - Don't clobber regex variables when HTTP::Message delegates methods to
1894        the header.
1895    - Base64::decode_base64 now checks that the length input string to decode
1896        is a multiple of 4.
1897    - t/robot/rules-dbm.t clean up better and will use AnyDBM for dumping
1898    - File::CounterFile: $/ strikes again by Andreas König
1899    - File::Listing updates from William York <william@mathworks.com>. We can
1900        now parse the MS-Windows ftp server listings.
1901    - HTTP::Date now supports the MS-Windows 'dir' date format. Patch by
1902        William York.
1903    - LWP::MediaTypes::media_suffix will return first type in scalar context.
1904
19055.04    1996-10-22
1906    - Added HTTP::Daemon. This is a HTTP/1.1 server class. This means
1907        that libwww-perl no longer is a client library only. The HTTP::Daemon
1908        is also used in the new test suite.
1909    - HTTP::Message support the protocol() method. Used by HTTP::Daemon.
1910    - HTTP::Response can be constructed with a header and content as
1911        argument.
1912    - Typo corrections in the documentation.
1913    - File::Listing::parse_dir accepts "GMT" as timezone now.
1914    - HTML::Parser will call the start() method with two new parameters;
1915        $attrseq, $origtext.
1916    - Integrated HTML::FormatPS patches from Jim Stern <jstern@world.northgrum.com>
1917    - Class modules don't inherit from AutoLoader any more. They just import
1918        the AUTOLOAD method.
1919    - LWP::Protocol will untaints scheme before loading protocol module.
1920    - Digest does not send "opaque" if it was not present in the request. The
1921        "Extension" header is not returned any more.
1922    - New method: $url->crack that will return a list of the various elements
1923        in a URI::URL.
1924    - WWW::RobotRules did not use the agent() method when determining who we
1925        are. This affected WWW::RobotRules::AnyDBM_File parsing for robots.txt.
1926        Visit count did not increment for WWW::RobotRules::InCore.
1927
19285.03    1996-10-01
1929    - Hakan Ardo's persistent robot rules is now part of the standard
1930        distribution. This is still experimental and might change in the
1931        future. It includes the new WWW::RobotRules::AnyDBM_File class and
1932        updates to LWP::RobotUA.
1933    - HTML::Parser now supports buggy Netscape comment parsing. Enable it by
1934        calling $p->netscape_buggy_comment(1). The previous version of the
1935        parser could also (under very unlucky and unlikely circumstances) call
1936        the $self->comment() method several times for the same comment text.
1937    - HTML::Parser: Use new $p->eof to signal end of document instead of
1938        $p->parse(undef).
1939    - HTML::Element::starttag() is now smarter about which quotes it use around
1940        attribute values.
1941    - New HTTP::Response methods: current_age(), freshness_lifetime(),
1942        is_fresh(), fresh_until().
1943    - HTTP::Message:  New method ($mess->content_ref) which will return a
1944        reference to the current content.
1945    - URI::URL:  New method ($url->rel) which does the opposite of abs().
1946        Example: url("http://host/a/b/c", "http://host/c/d/e")->rel would
1947        return url("../../a/b/c", "http://host/c/d/e"). Thanks, Nicolai
1948        Langfeldt <janl@ifi.uio.no>
1949    - URI::URL:  $url->query_form can now take array references as value
1950        specification. For instance: $url->query_form(foo => ['bar', 'baz']
1951    - Avoid '"my" variable $var masks earlier declaration in same scope'
1952        warnings in perl5.003_05.
1953
19545.02    1996-09-11
1955    - lwp-rget:  Initialize proxy settings from environment
1956    - HTML::Entities::encode_entities: Don't encode $ and %
1957    - HTML::LinkExtor::links: Now works when no links were found.
1958    - HTTP::Headers::as_string: Allow \n in header value
1959
19605.01    1996-08-01
1961    - Updated ftp protocol module to be compatible with Net::FTP version 2.00
1962        (the version found in libnet-1.00)
1963    - New HTML parser module called HTML::LinkExtor
1964    - Various documentation typo corrections. Thanks, Bob Dalgleish.
1965    - HTML::HeadParser updates 'Content-Base' instead of 'Base'. It also
1966        updates the 'Link' header based on <link ...>
1967    - HTTP::Headers and HTTP::Status updated according to
1968        draft-ietf-http-v11-spec-06
1969    - HTTP::Headers can now use "_" as alternative to "-" in field names.
1970    - HTTP::Response::base now looks for 'Content-Base', 'Content-Location' and
1971        'Base' headers.
1972    - Avoid warning in LWP::MediaTypes if $ENV{HOME} is not defined.
1973    - The new $ua->parse_head() method can be used to turn off automatic
1974        initialization of response headers from the <HEAD> section of HTML
1975        documents.
1976    - Added eq() method for URI::URL objects
1977    - The HTML::Formatter recovers even if a handle method is not defined for
1978        all tags found during traversal
1979
19805.00    1996-05-26
1981    - LWP::Simple::head() now return something useful in scalar context.
1982    - Rewritten the HTML::Parse stuff. Introduced the HTML::Parser class that
1983        will tokenize a HTML document. The rest of the old HTML::Parse
1984        functionality has moved to HTML::TreeBuilder class. Note, that the HTML
1985        stuff is still alpha.
1986    - Implemented HTML::HeadParser. This is a lightweight parser for the <HEAD>
1987        section of a HTML document.
1988    - HTML::Element had problem with presenting things like <foo bar="bar">.
1989    - HTML::Entities: Included additional ISO-8859/1 entities listed in RFC1866.
1990    - HTML::AsSubs exported 'header' instead of 'head'
1991    - We know about a few more of the HTML 3.2 element.
1992    - HTTP::Date had problems with years before 1970, because Time::Local went
1993        into an infinite loop. Check for this.
1994    - Added $header->title method.
1995    - Made $header->authorization_basic return "uname:passwd" in scalar context
1996    - LWP::Protocol::collect() will let the HTML::HeadParser look at the
1997        document content as it arrives. This will initialize headers from
1998        elements like <base href="...">, <title>...</title> and
1999        <meta http-equiv="..." ...>.
2000    - Simplified $response->base implementation, because we don't have to look
2001        into the content any more.
2002    - Added -quiet option to lwp-rget
2003    - Typo fixes and some documentation additions.
2004
20054.999   1996-05-09
2006    - BETA release for version 5. (5b13)
2007    - Made URI::URL::strict(0) the default. I got tired of all this eval { }
2008        stuff just to recover. The URI::URL::strict'ness also determine if
2009        calling some standard method that happens to be illegal for some
2010        protocol scheme will croak or just be ignored.
2011    - Ensure correct $INPUT_RECORD_SEPARATOR and $OUTPUT_RECORD_SEPARATOR at
2012        places where we <> or print.
2013    - Always localize $_ before any 'while(<FILE>) {}'-loops
2014    - Implemented $protocol->collect_once() and simplified several of the
2015        protocol implementations by using it.
2016    - The HTML parser used to get it wrong if you were unlucky about the
2017        breakup of the text. An example of broken behaviour was this:
2018            $html = parse_html "<!-- A comment -";
2019            $html = parse_html "-> and some text.";
2020    - The HTML parser does not ignore whitespace-only text any more.
2021    - HTML::Parse warnings are now optional and turned off by default.
2022    - New start for $html->as_HTML().
2023    - Fixed some typos
2024
20254.99    1996-04-24
2026    - BETA release for version 5 (5b12)
2027    - New utility program called 'lwp-rget'.
2028    - $response->base was broken for HTML documents
2029    - New fancy LWP::Debug import() method. Can now turn on debugging with
2030        "use LWP::Debug '+';"
2031    - Trap exceptions (die) from the response callback routine
2032    - The RobotUA now requires an e-mail address of the person responsible
2033        for the robot.
2034    - New $ua->from() method.
2035    - Support for gopher Index-Search (gopher type '7' requests). Contributed
2036        by Harry Bochner <bochner@das.harvard.edu>
2037    - Cleaned up white-space usage in the source.
2038
20394.98    1996-03-03
2040    - BETA release for version 5. (5b11)
2041    - Implemented a NNTP protocol module. The library can now fetch and post
2042        news articles.
2043    - More documentation
2044    - Don't look at the URI header for redirects
2045    - New $res->base() method for HTTP::Responses
2046    - Graham Barr's patch to File::Listing to make it more OO internally
2047    - content_type() return value is canonicalized
2048    - $ua->request() does not die on bad URLs any more
2049    - LWP::MediaTypes merge all media.types files that if finds
2050    - FTP request with content to file or callback did not work
2051    - The value of HTTP Host: header is now $url->netloc;
2052    - The URI::URL constructor now accept URLs wrapped up in "<>"
2053    - $url->abs() now has a second optional argument that makes it accept that
2054        relative URLs can have scheme, i.e. treat "http:img.gif" as a relative
2055        URL.
2056    - Added prototypes to the HTTP::Status::is_xxx() functions
2057    - Added prototypes to the MIME:: encoding/decoding functions
2058    - Always return scheme for mailto and news URLs (as_string)
2059    - RobotRules patches from Henry A Rowley.
2060    - More tests
2061    - <SMALL> and <BIG> again
2062
20630.10    1996-03-14
2064    - BETA release for version 5. (5b10)
2065    - GET ftp://host/doc was never successful for normal files.
2066    - LWP::Socket: read_until() did not notice EOF condition. I.e. if a HTTP
2067        server closed the connection before any output was generated, the we
2068        continued to read 0 bytes in a busy loop until the alarm() killed us.
2069    - Added support for Digest Access Authentication. by Doug MacEachern <dougm@osf.org>.
2070    - Makefile.PL: check for MD5 library
2071    - No longer print message content in HTTP::Response::error_as_HTML()
2072    - Access to "file:/path" gave warning when the environment variable
2073        no_proxy was set.
2074    - The http-post test sends a Content-Type header. Some servers hang if
2075        this header is missing.
2076    - HTML::Parse:
2077        - allow <SMALL> and <BIG> tags
2078        - allow empty attribute values
2079
20800.09    1996-03-05
2081    - BETA release for version 5. (5b9)
2082    - Started to write on the libwww-perl cookbook (lwpcook.pod)
2083    - The URI::URL module now exports the function url(). This is an
2084        alternative (easy to use) constructor function.
2085    - Expanding relative file URLs starting with "#" did not work.
2086    - Fixed autoloaded DESTROY problem by adding empty DESTROY routine to URI::URL.
2087    - Does not try generate password for ftp-URLs unless the username is
2088        "anonymous" or "ftp"
2089    - The LWP::Simple user agent proxy settings are initialized from the proxy
2090        environment variables.
2091    - LWP::Protocol::ftp: Use the Net::FTP library to access ftp servers.
2092        Convert directories to HTML on request (Accept: text/html).
2093    - New module HTTP::Negotiate
2094    - New module File::Listing
2095    - HTTP::Date::str2time can parse a few more formats, like the 'ls -l' format
2096        and ISO 8601. The function now also takes an optional second parameter
2097        which specify a default time zone.
2098    - Added prototypes to the HTTP::Date functions.
2099    - The library adds a timestamp to responses ("Client-Date")
2100    - HTTP::Status:  Updated to proposed HTTP/1.1
2101    - HTTP::Headers: Updated to proposed HTTP/1.1
2102    - LWP::Protocol::http:  Updated to HTTP/1.1 methods
2103    - Took out stringify overloading in HTML::Element.
2104
21050.08    1996-02-26
2106    - BETA release for version 5. (5b8)
2107    - Renamed functions using thisStyleOfNames to this_style_of_names.
2108        Provided a script called 'update_from_5b7'
2109    - Renamed the 'request' and 'mirror' scripts to 'lwp-request' and
2110        'lwp-mirror'. The GET, POST, HEAD aliases for 'lwp-request' are the same.
2111    - Implemented LWP::RobotUA
2112    - Class name for RobotRules did not match the file name
2113    - URI::URL
2114        - perl5.002gamma is required (because use vars).
2115        - The leading slash in now part of the path if it is present.
2116        - More documentation
2117        - Use AutoLoader to speed things up.
2118        - New class URI::URL::_login and made telnet, rlogin, tn3270 subclasses
2119            from this one.
2120        - URI::URL::wais is better supported.
2121        - URI::URL::news is better supported.
2122        - New URI::URL::mailto methods: user/host
2123    - HTTP::Date::time2str now works correctly with '0' as argument
2124    - HTTP::Message delegates unknown methods to the headers.
2125    - HTTP::Request::uri is an alias for HTTP::Request::url. Can set the URL
2126        to undef.
2127    - Added convenience methods to HTTP::Headers for easy access to frequently
2128        used headers.
2129    - Simplified LWP::Debug
2130    - Use standard AutoLoader for LWP::IO functions.
2131    - Played with the profiler (Devel::DProf) and made some things go quicker.
2132    - Included the File::CounterFile module. Excluded Mail::Cap module as it
2133        is also part of the MailTools package.
2134
21350.07    1996-02-05
2136    - BETA release for version 5. (5b7)
2137    - Perl5.002 is required now
2138    - Rewrite of the URI::URL module (version 4.00)
2139        - escaping/unsafe stuff redone (and removed)
2140        - URI::URL::_generic moved out of URL.pm
2141        - netloc, path, params, query is now stored internally in escaped form
2142        - new methods for URI::URL::_generic are:
2143            - epath
2144            - eparams
2145            - equery
2146            - path_components
2147            - absolute_path
2148        - new methods for URI::URL::http are:
2149            - keywords
2150            - query_form
2151        - new methods for URI::URL::file are:
2152            - newlocal
2153            - local_path
2154            - unix_path
2155            - dos_path
2156            - mac_path
2157            - vms_path
2158    - URI::Escape now semi-compile regular expressions (by evaling an
2159        anonymous sub). Same technique is also used in HTML::Entities.
2160    - HTTP::Date parser rewritten using regular expressions.
2161    - HTTP::Headers->as_string() now croaks if any field values contain newline.
2162    - HTTP::Status constants use empty prototype.
2163    - Font metrics moved to a new subdirectory (lib/Font/Metrics)
2164    - Don't use the VERSION script any more (even if it was very clever)
2165    - HTML::Entities will now export the names decode_entities() and
2166        encode_entities().
2167    - Andreas Koenig's black patch to HTML::Element.
2168    - The HTML::Formatter now knows about <menu> and <dir> tags
2169    - The construct "defined ref($arg)" did not work on perl5.002 because ref
2170        now always return something defined.
2171    - LWP::UserAgent sends by default a 'User-Agent' header.
2172    - LWP::Simple sends 'User-Agent' header to servers.
2173    - Updated the LWP::Socket module to use the new Socket.pm interface.
2174    - LWP::Protocol::http sends the new HTTP/1.1 'Host' header.
2175    - LWP::Protocol::file use $url->local_path to get a file to open. It also
2176        inserts a <BASE> tag in directories instead of a redirect.
2177    - MIME::Base64 routines can be called as MIME::Base64::encode() and
2178        MIME::Base64::decode(). Same kind of thing for QuotedPrint.
2179
21800.06    1995-11-06
2181    - BETA release for version 5. (5b6)
2182    - Installation should work better for those that still runs perl4 as 'perl'.
2183        The mirror script is not installed by default.
2184    - LWP::Socket::_getaddress() Numerical IP addresses did not work.
2185    - LWP::Socket::pushback() did not work. This also avoids the
2186        bad pp_select() core dump from perl.
2187    - LWP::IO now also selects on socket exceptions.
2188    - HTML::Parse:  Ignore <!DOCTYPE ...> regardless for case. Some bad
2189        insertElement() calls made infinite loops.
2190    - The uri.t test works better for places where /tmp is a sym-link.
2191
21920.05    1995-09-16
2193    - BETA release for version 5. (5b5)
2194    - newlocal URI::URL does not put "//localhost" into the URLs any longer.
2195    - The request program: New -o option to reformat the HTML code.
2196        - New -C option to provide credentials on the command line.
2197        - The -b option never worked.
2198    - LWP::Protocol::file now returns redirect for access to directories where
2199        the trailing slash is missing.
2200    - Speedups and bug fixes in the HTML parser.
2201    - The parser now understands some more deprecated tags.
2202    - HTML::Elements are now stringified using perl overloading.
2203    - The interface to the traverse() callback has changed.
2204    - Implemented HTML formatters for plain text and Postscript.
2205    - Added lib/Font stuff to support the Postscript formatter.
2206    - Inspired by Tim Bunce, I implemented the HTML::AsSubs module.
2207    - The local/get test does not use /etc/passwd any more.
2208    - Changed package name to libwww-perl-5xx
2209    - Made LWP::Protocol::ftp actually transfer data
2210    - Implemented methods for LWP::Socket to act as a server:
2211        bind(), listen(), accept(), getsockname(), host(), port()
2212
22130.04    1995-09-06
2214    - Implemented modules to parse HTML.
2215    - Implemented Mail::Cap which will become part of the MailTools package.
2216    - Moved Base64 to MIME::Base64.
2217    - Reimplemented MIME::Base64 by using [un]pack("u",...)
2218    - Implemented LWP::MIME::QuotedPrint for completeness' sake. Routine names
2219        has changed as suggested by Tim Bunce.
2220    - LWP::MediaType reads default types from media.types file.
2221    - guessMediaType() now also returns encodings. New function mediaSuffix()
2222    - Pass $url to $ua->getBasicCredentials(). This also fixes security hole
2223        with the old implementation of getBasicCredentials().
2224    - LWP::Protocol::file now sets Content-Encoding headers
2225    - Allow request content to be provided by a callback routine.
2226    - Fix bug that prevented response callback to work. The first parameter
2227        (data) is no longer a reference, because $_[0] is already a reference.
2228        Don't callback unless successful response. Callbacks during redirects
2229        was confusing.
2230    - URI::URL. Remove port from netloc if it is the default port. Don't use
2231        anything, just require.
2232    - HTTP::Message->addContent() does not need a reference parameter.
2233    - LWP::Socket->open() has been renamed top LWP::Socket->connect()
2234    - LWP::Socket->close has gone.
2235    - Implemented new method LWP::Socket->read() that returns as fast as it has
2236        some data to offer.
2237    - Implemented LWP::Socket->pushback().
2238    - Does not die in LWP::UserAgent->request()
2239    - LWP::Socket now use LWP::IO for low level IO
2240    - Implemented LWP::TkIO as a replacement module for LWP::IO when using Tk.
2241    - $ua->redirectOK() for checking redirects
2242    - reorganized tests in the "t" directory.
2243
22440.03    1995-08-11
2245    - Included RobotRules.pm from Martijn Koster
2246    - New module URI::Escape (URI::URL use this module for default escaping)
2247        that provide the uri_escape() and uri_unescape() functions.
2248    - Setting $url->scheme now changes the class of the object.
2249    - Made $httpurl->user() and $httpurl->password() illegal. Likewise for other URL schemes.
2250    - Reorganisation as discussed on <libwww-perl@ics.uci.edu>
2251        - LWP::Date       --> HTTP::Date
2252        - LWP::MIMEheader --> HTTP::Headers
2253        - LWP::StatusCode --> HTTP::Status
2254        - LWP::Message    --> HTTP::Message
2255        - LWP::Request    --> HTTP::Request
2256        - LWP::Response   --> HTTP::Response
2257        - LWP::MIMEtypes  --> LWP::MediaTypes
2258    - HTTP::Date parses ctime format with missing timezone as suggested by Roy
2259        Fielding <fielding@beach.w3.org>
2260    - HTTP::Status and LWP::MediaTypes exports their functions by default.
2261    - Split up the URI::URL module. Schemes are implemented by separate files
2262        that are autoloaded when used. Self test moved to "t/uri.t".
2263    - Applied patch from Marc Hedlund <hedlund@best.com>
2264    - Update the @header_order according to the August 3rd draft.
2265    - Added Response Header fields: 'Location', 'Public', 'Retry-After',
2266        'Server', and 'WWW-Authenticate'.
2267    - Moved 'unknown header' handling from &scan to &header. The old
2268        implementation was forcing all unknown header-words to begin with an
2269        uppercase (as it should be), but disallowed other uppercase letters.
2270    - updates the status code messages under the August 3rd HTTP/1.0 draft.
2271        '203' became 'Non-Authoritative Information', '303' became 'See Other',
2272        and a new code, '411 Authorization Refused', was added.
2273    - Can remove multiple headers with single removeHeader() call in MIMEheader.
2274    - Can assign multiple field/value pairs in header() method of MIMEheader.
2275    - A field with multiple values is printed as separate values in
2276        MIMEheader::as_string().
2277    - LWP::Response contain new attributes: previous() and request(). These
2278        attributes are updated by the UserAgent.
2279    - Appended \n to some die statements in Socket so that line numbers are
2280        suppressed in error messages.
2281    - Made UserAgent::clone work for reference members
2282    - Check for redirect loops and multiple authorization failures by
2283        examination of the response chain.
2284    - Use "\015\012" instead of "\r\n" in protocol modules. Some systems define
2285        \r and \n differently.
2286    - request program can now handle documents that needs authorization by
2287        prompting the user for username/password. Added new -S option to print
2288        request/response chain.
2289
22900.02    1995-07-25
2291    - Included URI::URL in the release
2292    - Incorporated Makemake.PL and VERSION from Andreas Koenig <koenig@mind.de>
2293        As a result of this the following things have changed:
2294        - programs in "bin" are extracted from .PL-files
2295        - reintroduced "lib"
2296        - "test" has been renamed as "t"
2297        - test programs in "t" has been made Test::Harness compatible
2298        - we now have a MANIFEST file
2299        - no more need for update_version, make-dist, lwp-install
2300    - Renamed bin/get to bin/request. Links to it are now all upper case.
2301    - Proxy support in bin/request (provided by Martijn Koster)
2302    - UserAgent can now load proxy settings from environment
2303    - LWP::Protocol::ftp is under way but not really finished
2304    - Implemented LWP::Protocol::gopher
2305    - Implemented LWP::Protocol::mailto
2306    - Fixed proxy typo
2307
23080.01    1995-07-17
2309    - Don't lose first line of HTTP/0.9 requests
2310    - LWP::Socket use syswrite() for writing
2311    - Added RC_* documentation to LWP::StatusCode
2312    - LWP::Date now use hash to look up month numbers
2313    - Added -f option to "get"
2314    - Untabify
2315    - Added a "TODO" list
2316    - Fixed various typos
2317    - Reorganized directories.
2318        - Moved LWP.pm up.
2319        - Moved file.pm and http.pm into the LWP::Protocol directory.
2320        - Moved LWP out of the lib directory and removed lib.
2321    - Implemented the "get" and "mirror" scripts in the "bin" directory.
2322    - Implemented "install-lwp", "update_version" and "make-dist". The
2323        library version number is found in the VERSION file.
2324    - Always adds 1900 to the year in LWP::Date
2325    - In LWP::MIMEheader:  Implemented clone(), removeHeader() and scan()
2326        methods. Reimplemented asString. Removed asMIME(). Moved "Good
2327        Practice" into this file, and reimplemented it.
2328    - Moved "header" and "content" into LWP::Message class. This change
2329        made LWP::Request and LWP::Response much simpler. Made clone()
2330        method actually work.
2331    - LWP::Protocol::implementor does not die if it cannot load package.
2332    - Moved UserAgent convenience methods into LWP::Simple. Made LWP::Simple
2333        export LWP::StatusCode symbols and functions.
2334    - Implemented $ua->isProtocolSupported($scheme) method.
2335    - Nicer directory listing in LWP::Protocol::file.pm
2336    - Rely on URI::URL 3.00 behaviour for $url->full_path
2337    - Library version number now in LWP.pm. You should be able to say
2338        "use LWP 1.0;" if you need at least this version.
2339    - Various cleanups and arranging layout as I like it. Use fooBar-style
2340        (as opposed to foo_bar style) everywhere. This means that
2341        as_string() now is called asString().
2342    - Added more documentation.
2343    - Removed lot of redundant & before function calls.
2344    - $this --> $self
2345    - &collector passes content as a reference, don't want to copy so much
2346    - parameterlist to collect callback has been rearranged
2347    - Response::addContent gets a reference to the data
2348    - Added some callback documentation to UserAgent.pm
2349    - Protocol::file now uses the collector
2350    - Introduced LWP::Simple
2351    - Added basic authentication support
2352    - Added mirroring of single documents
2353    - Change Protocol construction from whacky URL.pm (constructor returns
2354        subclass) to more normal C++'ish way.
2355    - Minor cleanups from printed code inspection
2356    - Added redirection resolution
2357    - Added optional autoloading of protocols
2358    - Separated socket stuff into separate module
2359    - Added HTTP proxy support
2360    - Made alarm handling optional
2361    - Added a LWP::Message for completeness sake
2362    - Added LWP::MemberMixin to reduce code duplication
2363    - Cosmetic changes to LWP::Date
2364    - Renamed LWP::Error to LWP::StatusCode
2365    - Renamed LWP::MIME to LWP::MIMEtype
2366    - Changed the tests to cope with all this
2367    - Changed the socket reading to use sysread. This will have to go into a
2368        module of its own.
2369    - Mentioned on libwww-perl that I had changed the classes around lots.
2370