Added correct PATH and SBOX_REDIRECT_IGNORE and PERL5LIB envs in rules for libtest...
[pkg-perl] / deb-src / libwww-perl / libwww-perl-5.813 / Changes
1 2008-06-17   Gisle Aas <gisle@ActiveState.com>
2
3      Release 5.813
4
5      Ville Skytta (3):
6            RobotUA constructor ignores delay, use_sleep [RT#35456]
7            Spelling fixes [RT#35457]
8            Add HTTP::Response->filename [RT#35458]
9      
10      Mark Stosberg (2):
11            Better diagnostics when the HTML::TokeParser constructor fails [RT#35607]
12            Multiple forms with same-named <select> parse wrongly [RT#35607]
13      
14      Gisle Aas (1):
15            Provide a progress method that does something that might be useful.
16      
17      Spiros Denaxas (1):
18            Documentation typo fix [RT#36132]
19
20
21
22 2008-04-16   Gisle Aas <gisle@ActiveState.com>
23
24      Release 5.812
25
26      Gisle Aas (6):
27            Typo fix.
28            Simplified Net::HTTP::Methods constructor call.
29            Croak if Net::HTTP constructor called with no argument.
30            Avoid calling $self->peerport to figure out what the port is.
31            5.811 breaks SSL requests [RT#35090]
32            Make test suite compatible with perl-5.6.1.
33      
34      Toru Yamaguchi (1):
35            Wrong treatment of qop value in Digest Authentication [RT#35055]
36      
37
38
39 2008-04-14   Gisle Aas <gisle@ActiveState.com>
40
41      Release 5.811
42
43      Gisle Aas (6):
44            Avoid "used only once" warning for $Config::Config.
45            Make HTTP::Request::Common::PUT set Content-Length header [RT#34772]
46            Added the add_content_utf8 method to HTTP::Message.
47            Typo fix.
48            Retry syscalls when they fail with EINTR or EAGAIN [RT#34093,32356]
49            Allow HTTP::Content content that can be downgraded to bytes.
50      
51      Gavin Peters (1):
52            HTML::Form does not recognise multiple select items with same name [RT#18993]
53      
54      Mark Stosberg (1):
55            Document how HTTP::Status codes correspond to the classification functions [RT#20819]
56      
57      Robert Stone (1):
58            Allow 100, 204, 304 responses to have content [RT#17907]
59      
60      sasao (1):
61            HTTP::Request::Common::POST suppressed filename="0" in Content-Disposition [RT#18887]
62
63
64
65 2008-04-08   Gisle Aas <gisle@ActiveState.com>
66
67      Release 5.810
68
69      Gisle Aas (10):
70            Small documentation issues [RT#31346]
71            Explain $netloc argument to $ua->credentials [RT#31969]
72            Make lwp-request honour option -b while dumping links [RT#31347]
73            Ignore params for date convenience methods [RT#30579]
74            Get rid of all the old CVS $Keyword:...$ templates.  Set $VERSION to 5.810.
75            Update Copyright year.
76            Drop some sample URLs that were failing.
77            Complement the HTTP::Status codes [RT#29619]
78            Don't allow HTTP::Message content to be set to Unicode strings.
79            Refactor test for Encode.pm
80      
81      Ville Skytta (3):
82            Spelling fixes [RT#33272]
83            Trigger HTML::HeadParser for XHTML [RT#33271]
84            Escape status line in error_as_HTML, convert to lowercase [RT#33270]
85      
86      Alexey Tourbin (2):
87            Typo fix [RT#33843]
88            Protocol/file.pm: postpone load of URI::Escape and HTML::Entities [RT#33842]
89      
90      Daniel Hedlund (1):
91            HTML::Form Module and <button> element clicks
92      
93      Adam Kennedy (1):
94            HTTP::Cookies handle malformed empty Set-Cookie badly [RT#29401]
95      
96      Jacob J (1):
97            [HTTP::Request::Common] Does not handle filenames containing " [RT#30538]
98      
99      Rolf Grossmann (1):
100            Allow malformed chars in $mess->decoded_content [RT#17368]
101      
102      FWILES (1):
103            Croak if LWP::UserAgent is constructed with hash ref as argument [RT#28597]
104      
105      Adam Sjogren (1):
106            Disabled, checked radiobutton being submitted [RT#33512]
107      
108      DAVIDRW (1):
109            warn if TextInput's maxlength exceeded [RT#32239]
110
111
112 2007-08-05   Gisle Aas <gisle@ActiveState.com>
113
114      Release 5.808
115      
116      Get rid of t/live/validator test.  Too much JavaScript madness
117      for it to be a sane LWP test.
118
119
120
121 2007-07-31   Gisle Aas <gisle@ActiveState.com>
122
123      Release 5.807
124      
125      Apply patch correction from CPAN RT #26152
126      
127      More laxed t/live/validator test.
128
129
130
131 2007-07-19   Gisle Aas <gisle@ActiveState.com>
132
133      Release 5.806
134
135      Added progress callback to LWP::UserAgent.
136      
137      HTTP::Daemon didn't avoid content in responses to HEAD requests
138
139      Add support for HTTP Expect header to HTTP::Daemon (CPAN RT #27933)
140
141      Fix t/base/message.t so tests are skipped if Encode is not
142      installed.  (CPAN RT #25286)
143
144      Add HTML::Tagset as a prerequisite to Makefile.PL
145
146      Do not clobber $_ in LWP::Protocol::nntp (CPAN RT #25132)
147
148      Fix lwp-download so it can download files with an "_" in the filename
149          (CPAN RT#26207)
150
151      Quiet complaints from HTML::HeadParser when dealing with undecoded
152      UTF-8 data.  (CPAN RT#20274)
153
154      When both IO::Socket::SSL and Net::SSL are loaded, use the latter
155          (CPAN RT #26152)
156
157      Allows SSL to work much more reliably:
158          (CPAN RT #23372)
159
160      Allow text/vnd.wap.wml and application/vnd.oasis.opendocument.text
161          in content-type field in lwp-request (CPAN RT #26151)
162
163      Add default media type for XML in LWP::MediaTypes (CPAN RT #21093)
164      
165      Added chunked test by Andreas J. Koenig
166
167
168
169 2005-12-08   Gisle Aas <gisle@ActiveState.com>
170
171     Release 5.805
172
173     HTTP::Date: The str2time function returned wrong values for
174     years in the early 20th century, because timelocal() actually
175     expects the year to be provided on a different scale than what
176     localtime() returns.
177
178     HTTP::Headers can now be constructed with field names that repeat.
179     The $h->header function now also accept repeating field
180     names and can also remove headers if passed undef as value.
181
182     HTML::Form: The parse method now takes hash style optional
183     arguments and the old verbose behaviour is now off by default.
184     
185     HTML::Form: Accept <select multiple=""> for compatibilty with
186     other browsers.  Patch by Josh Rai <josh@rai.name>.
187
188     HTML::Form: Sane handling of 'disabled' for ListInput.
189     Based on patch by Joao Lopes <developer@st3tailor.com.br>.
190
191     HTTP::Negotiate: Fixed matching of partial language tags.
192     Patch contributed by Dan Kubb.
193
194     HTTP::Response: The as_string method now returns a status line
195     that doesn't add the "official" code name in the message
196     field.  This improves the ability to round-trip response objects
197     via HTTP::Response->parse($res->as_string) and makes the first
198     line of the string returned agree with $res->status_line.
199
200     Net::HTTP: The host attribute can now be set undef in
201     order to suppress this header for HTTP/1.0 requests.
202
203     Net::HTTP: The default Host: header does not include the
204     port number if it is the default (80 for plain HTTP). Some
205     servers get confused by this.
206
207     Net::HTTP: Ignore bogus Content-Length headers. Don't get
208     confused by leading or trailing whitespace.
209
210     LWP::Protocol::http: More efficient sending of small PUT/POST
211     requests by trying harder to pass off the whole request in a
212     single call to syswrite.
213
214     lwp-request now give better error messages if you used the 
215     -o option without having the HTML-Tree distribution installed.
216     Also document this dependency.
217
218
219
220 2005-12-06   Gisle Aas <gisle@ActiveState.com>
221
222     Release 5.804
223
224     HTTP::Message->parse did not work when the first line of the body
225     was something that looked like a header.
226
227     HTTP::Header::Auth needs HTTP::Headers to be loaded before
228     it replace its functions.
229
230     LWP::Protocol::nntp improvements by Ville Skyttä <ville.skytta@iki.fi>:
231      - Support the nntp: scheme.
232      - Support hostname in news: and nntp: URIs.
233      - Close connection and preserve headers also in non-OK responses.
234      - HEAD support for URIs identifying a newsgroup.
235      - Comment spelling fixes.
236
237     Fix quotes in Net::HTTP example.
238     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283916
239
240     Detect EOF when expecting a chunk header.  Should address the
241     warnings shown in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286775
242
243     WWW::RobotRules: Improved parsing of not strictly valid robots.txt files
244     contributed by <Matthew.van.Eerde@hbinc.com>.
245
246     Makefile.PL: Set name to LWP so that the .packlist ends up in the
247     expected place.
248
249
250
251 2004-12-11   Gisle Aas <gisle@ActiveState.com>
252
253     Release 5.803
254
255     HTTP::Message: $mess->decoded_content sometimes had the side
256     effect of destroying $mess->content.
257
258     HTTP::Message: $mess->decoded_content failed for
259     "Content-Encoding: deflate" if the content was not in the
260     zlib-format as specified for the HTTP protocol.  Microsoft got
261     this wrong, so we have to support raw deflate bytes as well.
262
263     HTTP::Response->parse don't require the protocol to be
264     specified any more.  This allows HTTP::Response->parse($resp->as_string)
265     to round-trip.  Patch by Harald Joerg <haj@oook.m.uunet.de>.
266
267     HTTP::Response: $resp->base might now return undef.  Previously
268     it would croak if there was no associated request.  Based on
269     patch by Harald Joerg <haj@oook.m.uunet.de>.
270
271     HTML::Form now support <label> for check- and radio boxes.
272     Patch contributed by Dan Kubb <dan.kubb@onautopilot.com>.
273
274     Make HTTP::Daemon subclassable, patch by Kees Cook <kees@osdl.org>.
275
276     lwp-download allow directory to save into to be specified.
277     Patch by Radoslaw Zielinski <radek@karnet.pl>.
278
279     lwp-download will validate filename derived from server
280     controlled data and will fail if something looks not
281     quite right.
282
283   
284
285 2004-11-30   Gisle Aas <gisle@ActiveState.com>
286
287     Release 5.802
288
289     The HTTP::Message object now have a decoded_content() method.
290     This will return the content after any Content-Encodings and
291     charsets has been decoded.
292
293     Compress::Zlib is now a prerequisite module.
294
295     HTTP::Request::Common: The POST() function created an invalid
296     Content-Type header for file uploads with no parameters.
297
298     Net::HTTP: Allow Transfer-Encoding with trailing whitespace.
299     <http://rt.cpan.org/Ticket/Display.html?id=3929>
300
301     Net::HTTP: Don't allow empty content to be treated as a valid
302     HTTP/0.9 response.
303     <http://rt.cpan.org/Ticket/Display.html?id=4581>
304     <http://rt.cpan.org/Ticket/Display.html?id=6883>
305
306     File::Protocol::file: Fixup directory links in HTML generated
307     for directories.  Patch by Moshe Kaminsky <kaminsky@math.huji.ac.il>.
308
309     Makefile.PL will try to discover misconfigured systems that
310     can't talk to themselves and disable tests that depend on this.
311
312     Makefile.PL will now default to 'n' when asking about whether
313     to install the "GET", "HEAD", "POST" programs.  There has been
314     too many name clashes with these common names.
315
316
317
318 2004-11-12   Gisle Aas <gisle@ActiveState.com>
319
320     Release 5.801
321
322     HTTP::Message improved content/content_ref interaction.  Fixes
323     DYNAMIC_FILE_UPLOAD and other uses of code content in requests.
324
325     HTML::Form:
326       - Handle clicking on nameless image.
327       - Don't let $form->click invoke a disabled submit button.
328
329     HTTP::Cookies could not handle a "old-style" cookie named
330     "Expires".
331
332     HTTP::Headers work-around for thread safety issue in perl <= 5.8.4.
333
334     HTTP::Request::Common improved documentation.
335
336     LWP::Protocol: Check that we can write to the file specified in
337     $ua->request(..., $file) or $ua->mirror.
338
339     LWP::UserAgent clone() dies if proxy was not set.  Patch by
340     Andy Lester <andy@petdance.com>
341
342     HTTP::Methods now avoid "use of uninitialized"-warning when server
343     replies with incomplete status line.
344
345     lwp-download will now actually tell you why it aborts if it runs
346     out of disk space of fails to write some other way.
347
348     WWW::RobotRules: only display warning when running under 'perl -w'
349     and show which robots.txt file they correspond to.  Based on
350     patch by Bill Moseley.
351
352     WWW::RobotRules: Don't empty cache when agent() is called if the
353     agent name does not change.  Patch by Ville Skyttä <ville.skytta@iki.fi>.
354
355
356
357 2004-06-16   Gisle Aas <gisle@ActiveState.com>
358
359     Release 5.800
360
361     HTML::Form will allow individual menu entries to be disabled.
362     This was needed to support <input type=radio disabled value=foo>
363     and <select><option disabled>foo.
364
365     HTML::Form now avoids name clashes between the <select> and
366     <option> attributes.
367
368     HTML::Form now implicitly close <select> elements when it sees
369     another input or </form>.  This is closer to the MSIE behaviour.
370
371     HTML::Form will now "support" keygen-inputs.  It will not
372     calculate a key by itself.  The user will have to set its
373     value for it to be returned by the form.
374
375     HTTP::Headers now special case field names that start with a
376     ':'.   This is used as an escape mechanism when you need the
377     header names to not go through canonicalization.  It means
378     that you can force LWP to use a specific casing and even
379     underscores in header names.  The ugly $TRANSLATE_UNDERSCORE
380     global has been undocumented as a result of this.
381
382     HTTP::Message will now allow an external 'content_ref'
383     to be set.  This can for instance be used to let HTTP::Request
384     objects pick up content data from some scalar variable without
385     having to copy it.
386
387     HTTP::Request::Common.  The individual parts will no longer
388     have a Content-Length header for file uploads.  This improves
389     compatibility with "normal" browsers.
390
391     LWP::Simple doc patch for getprint.
392     Contributed by Yitzchak Scott-Thoennes <sthoenna@efn.org>.
393
394     LWP::UserAgent: New methods default_header() and
395     default_headers().  These can be used to set up headers that
396     are automatically added to requests as they are sent.  This
397     can for instance be used to initialize various Accept headers.
398
399     Various typo fixes by Ville Skyttä <ville.skytta@iki.fi>.
400
401     Fixed test failure under perl-5.005.
402     
403     LWP::Protocol::loopback:  This is a new protocol handler that
404     works like the HTTP TRACE method, it will return the request
405     provided to it.  This is sometimes useful for testing.  It can
406     for instance be invoked by setting the 'http_proxy' environment
407     variable to 'loopback:'.
408
409
410
411 2004-04-13   Gisle Aas <gisle@ActiveState.com>
412
413     Release 5.79
414
415     HTML::Form now exposes the 'readonly' and 'disabled'
416     attribute for inputs.  This allows your program to simulate
417     JavaScript code that modifies these attributes.
418
419     RFC 2616 says that http: referer should not be sent with
420     https: requests.  The lwp-rget program, the $req->referer method
421     and the redirect handling code now try to enforce this.
422     Patch by Ville Skyttä <ville.skytta@iki.fi>.
423
424     WWW::RobotRules now look for the string found in
425     robots.txt as a case insensitive substring from its own
426     User-Agent string, not the other way around.
427     Patch by Ville Skyttä <ville.skytta@iki.fi>.
428
429     HTTP::Headers: New method 'header_field_names' that
430     return a list of names as suggested by its name.
431
432     HTTP::Headers: $h->remove_content_headers will now
433     also remove the headers "Allow", "Expires" and
434     "Last-Modified".  These are also part of the set
435     that RFC 2616 denote as Entity Header Fields.
436
437     HTTP::Headers: $h->content_type is now more careful
438     in removing embedded space in the returned value.
439     It also now returns all the parameters as the second
440     return value as documented.
441
442     HTTP::Headers: $h->header() now croaks.  It used to
443     silently do nothing.
444
445     HTTP::Headers: Documentation tweaks.  Documented a
446     few bugs discovered during testing.
447
448     Typo fixes to the documentation all over the place
449     by Ville Skyttä <ville.skytta@iki.fi>.
450
451     Updated tests.
452
453
454
455 2004-04-07   Gisle Aas <gisle@ActiveState.com>
456
457     Release 5.78
458
459     Removed stray Data::Dump reference from test suite.
460     
461     Added the parse(), clear(), parts() and add_part() methods to
462     HTTP::Message.  The HTTP::MessageParts module of 5.77 is no more.
463
464     Added clear() and remove_content_headers() methods to
465     HTTP::Headers.
466
467     The as_string() method of HTTP::Message now appends a newline
468     if called without arguments and the non-empty content does
469     not end with a newline.  This ensures better compatibility with
470     5.76 and older versions of libwww-perl.
471
472     Use case insensitive lookup of hostname in $ua->credentials.
473     Patch by Andrew Pimlott <andrew@pimlott.net>.
474
475
476
477 2004-04-06   Gisle Aas <gisle@ActiveState.com>
478
479     Release 5.77
480
481     LWP::Simple did not handle redirects properly when the "Location"
482     header used uncommon letter casing.
483     Patch by Ward Vandewege <ward@pong.be>.
484
485     LWP::UserAgent passed the wrong request to redirect_ok().
486     Patch by Ville Skyttä <ville.skytta@iki.fi>.
487     https://rt.cpan.org/Ticket/Display.html?id=5828
488
489     LWP did not handle URLs like http://www.example.com?foo=bar
490     properly.
491
492     LWP::RobotUA construct now accept key/value arguments in the
493     same way as LWP::UserAgent.
494     Based on patch by Andy Lester <andy@petdance.com>.
495
496     LWP::RobotUA did not parse robots.txt files that contained
497     "Disallow:" using uncommon letter casing.
498     Patch by Liam Quinn <liam@htmlhelp.com>.
499
500     WWW::RobotRules now allow leading space when parsing robots.txt
501     file as suggested by Craig Macdonald <craig@freeasphost.co.uk>.
502     We now also allow space before the colon.
503
504     WWW::RobotRules did not handle User-Agent names that use complex
505     version numbers.  Patch by Liam Quinn <liam@htmlhelp.com>.
506
507     Case insensitive handling of hosts and domain names
508     in HTTP::Cookies.
509     https://rt.cpan.org/Ticket/Display.html?id=4530
510
511     The bundled media.types file now match video/quicktime
512     with the .mov extension, as suggested by Michel Koppelaar
513     <Michel.Koppelaar@kb.nl>.
514
515     Experimental support for composite messages, currently
516     implemented by the HTTP::MessageParts module.  Based on
517     ideas from Joshua Hoblitt <jhoblitt@ifa.hawaii.edu>.
518
519     Fixed libscan in Makefile.PL.
520     Patch by Andy Lester <andy@petdance.com>.
521
522     The HTTP::Message constructor now accept a plain array reference
523     as its $headers argument.
524
525     The return value of the HTTP::Message as_string() method now
526     better conforms to the HTTP wire layout.  No additional "\n"
527     are appended to the as_string value for HTTP::Request and
528     HTTP::Response.  The HTTP::Request as_string now replace missing
529     method or URI with "-" instead of "[NO METHOD]" and "[NO URI]".
530     We don't want values with spaces in them, because it makes it
531     harder to parse.
532
533
534
535 2003-11-21   Gisle Aas <gisle@ActiveState.com>
536
537     Release 5.76
538     
539     Revised handling of redirects.
540        - clear our content and content headers if we
541          rewrite request as GET based on patch by
542          Steven Butler <stevenb@kjross.com.au>.
543        - pass $response to redirect_ok()
544
545     Support cpan:-URLs.  Try 'lwp-download cpan:src/latest.tar.gz' :)
546
547     Fix test failure in 't/html/form.t' for perl5.005.
548
549
550
551 2003-10-26   Gisle Aas <gisle@ActiveState.com>
552
553     Release 5.75
554     
555     Reworked LWP::UserAgent, HTTP::Request and HTTP::Response
556     documentation.  Also other documentation tweaks.
557
558
559
560 2003-10-23   Gisle Aas <gisle@ActiveState.com>
561
562     Release 5.74
563
564     Improved lwp-download program:
565       - set mtime if Last-Modified header reported by server
566       - better prompts
567       - avoid warnings when aborted at the wrong time
568
569     Collected all contributions in the AUTHORS file and
570     also added an AUTHORS section to the LWP manpage.
571
572     Style tweaks to all modules.  Move POD after __END__
573     and uncuddled elses.
574
575
576
577 2003-10-19   Gisle Aas <gisle@ActiveState.com>
578
579     Release 5.73
580     
581     Takanori Ugai <ugai@jp.fujitsu.com> found that 'max_redirect'
582     introduced in 5.72 was broken and provided a patch for that.
583
584     Not all ftp servers return 550 responses when trying to
585     to RETR a directory.  Microsofts IIS is one of those.
586     Patch provided by Thomas Lotterer <thl@dev.de.cw.com>.
587     
588     Some documentation tweaks.
589
590
591
592 2003-10-15   Gisle Aas <gisle@ActiveState.com>
593
594     Release 5.72
595
596     Requests for some non-HTTP URLs would fail if the cookie_jar
597     was enabled.  The HTTP::Cookies::add_cookie_header now ignore
598     non-HTTP requests.
599
600     The new local/http test failed on Windows because of a missing
601     binmode().
602
603     Suppress Client-SSL-Warning warning header when Crypt::SSLeay
604     is able to verify the peer certificate.   Patch contributed by
605     Joshua Chamas <joshua@chamas.com>.
606
607     HTTP::Request::Common::POST did not add a 'Content-Length' header
608     when the content ended up empty.  Fixed by a patch contributed
609     by Brian J. Murrell.
610
611     Internally generated responses now contain a text/plain part
612     that repeats the status line.  They also have a "Client-Warning"
613     header that can be used to differentiate these responses from
614     real server responses.
615
616     LWP::UserAgent now deals with 303 and 307 redirects.  The behaviour
617     of 302 redirects has also changed to be like 303; i.e. change the
618     method to be "GET".  This is what most browsers do.  Based on
619     a patch contributed by Tom Hughes <thh@cyberscience.com>.
620
621     LWP::UserAgent now implements a 'max_redirect' attribute with a
622     default value of 7.  This should also fix the problem where
623     redirects to the same URL to get a cookie set did not work.
624     Based on a patch by Sean M. Burke <sburke@cpan.org>.
625
626     NTML authentication should continue to fail if the Authen::NTLM
627     module can't be loaded.  LWP used to think the scheme was
628     available as soon as the module stash showed up.  Not it looks
629     for the authenticate method to be defined.  Patch by Jan Dubois.
630
631     lwp-download will not try to rename *.tbz and *.tar.bz2 to
632     match the reported content type.  Patch contributed by
633     Robin Barker <Robin.Barker@npl.co.uk>.
634
635     HTTP::Cookies::Netscape documentation fix by Sean M. Burke.
636
637     HTTP::Cookies::Microsoft documentation fix by Johnny Lee.
638
639     The code that tries to avoid installing 'HEAD' on top of
640     'head' on systems like Mac OS was further improved to look
641     in $Config{installscript} instead of $Config{sitebin}.
642     Patch provided by Ken Williams <ken@mathforum.org>.
643
644
645
646 2003-10-14   Gisle Aas <gisle@ActiveState.com>
647
648     Release 5.71
649
650     Support open-ended Range: header for ftp requests.
651     Patch by Matthew Eldridge <eldridge@Graphics.Stanford.EDU>.
652
653     lwp-request now prints unsuccessful responses in the same way
654     as successsful ones.  The status will still indicate failures.
655     Based on a patch by Steve Hay <steve.hay@uk.radan.com>.
656
657     HTML::Form's dump now also print alternative value names.
658
659     HTML::Form will now pick up the phrase after a <input type=radio>
660     or <input type=checkbox> and use that as the name of the checked
661     value.
662
663     HTML::Form's find_input now returns all inputs that match in
664     array context.  Based on patch by Mark Stosberg <markstos@cpan.org>
665     in <http://rt.cpan.org/Ticket/Display.html?id=3320>.
666
667     HTTP::Daemon's send_file() method did not work when given
668     a file name.  Patch by Dave W. Smith <dws@postcognitive.com>.
669
670     HTTP::Daemon is less strict about field names in the request
671     headers is received.  The Norton Internet Security firewall
672     apparently likes to send requests with a header called
673     '~~~~~~~~~~~~~~~'.   Further details in
674     <http://rt.cpan.org/Ticket/Display.html?id=2531>.
675
676     LWP::Protocol::http assumed $1 would be meaningful without
677     testing the outcome of the match.  This sometimes produced
678     an extra garbage Authentication header.
679     Based on the patch by <bai@dreamarts.co.jp> in
680     <http://rt.cpan.org/Ticket/Display.html?id=1994>.
681
682     LWP::Protocol::mailto will try harder to locate the sendmail
683     program as suggested in <http://rt.cpan.org/Ticket/Display.html?id=2363>.
684     Also let $ENV{SENDMAIL} override the search.
685
686     Patch to enable OS/2 build by Ilya Zakharevich.
687
688
689
690 2003-10-13   Gisle Aas <gisle@ActiveState.com>
691
692     Release 5.70
693
694     File::Listing::apache by Slaven Rezic <slaven@rezic.de>
695
696     HEAD requests now work properly for ftp: URLs.
697     Patch by Ville Skyttä <ville.skytta@iki.fi>.
698
699     LWP::UserAgent: The protocols_allowed() and protocols_forbidden()
700     methods are now case insensitive.  Patch by Ville Skyttä
701     <ville.skytta@iki.fi>.
702
703     Avoid warning from HTTP::Date on certain invalid dates.
704     Patch by David Dick <david_dick@iprimus.com.au>.
705
706     HTML::Form::param() is an alternative interface for inspecting
707     and modifying the form values.  It resembles the interface
708     of CGI.
709
710     HTML::Form documentation updated.  Lots of typo fixes and improves
711     by Martin Thurn <mthurn@northropgrumman.com>.
712
713     HTML::Form will treat any unknown input types as text input.
714     This appears to be what most browsers do.
715
716     HTML::Form::parse() can now take a HTTP::Response object
717     as argument.
718
719     The "checkbox" and "option" inputs of HTML::Form can now be
720     turned on with the new check() method.
721
722     The inputs of HTML::Form can now track alternative value
723     names and allow values to be set by these names as well.
724     Currently this is only supported for "option" inputs.
725
726     HTML::Form's dump() method now print the name of the form if
727     present.
728
729
730
731 2003-01-24   Gisle Aas <gisle@ActiveState.com>
732
733     Release 5.69
734
735     Include lwptut.pod contributed by Sean M. Burke C<sburke@cpan.org>.
736
737     The lwp-request aliases GET, HEAD, POST where installed when
738     no program should be.  Fixed by David Miller <dave@justdave.net>.
739
740     lwp-rget --help don't print double usage any more.
741
742     HTTP::Header::Util is now more reluctant to put quotes around
743     token values.
744
745     Net::HTTP: Avoid warning on unexpected EOF when reading chunk
746     header.
747
748
749
750 2003-01-02   Gisle Aas <gisle@ActiveState.com>
751
752     Release 5.68
753
754     Fix test failure for t/html/form.t when running under
755     perl-5.8.0.
756
757
758
759 2003-01-01   Gisle Aas <gisle@ActiveState.com>
760
761     Release 5.67
762
763     HTTP::Cookies::Microsoft contributed by Johnny Lee <typo_pl@hotmail.com>.
764     This module makes it possible for LWP to share MSIE's cookies.
765
766     HTML::Form supports file upload better now.  There are some
767     new methods on that kind of input; file(), filename(), content()
768     and headers().
769
770     Removed unfinished test that depended on Data::Dump.
771
772     Net::HTTP avoids exceptions in read_response_headers() with
773     laxed option.  It now always assumes HTTP/0.9 on unexpected
774     responses.
775
776     HTML::Form documentation reworked.
777
778
779
780 2002-12-20   Gisle Aas <gisle@ActiveState.com>
781
782     Release 5.66
783
784     Various patches from Sean M. Burke.  Most of them to
785     match up LWP with the "Perl & LWP" book.
786
787     LWP::DebugFile module contributed by Sean.
788
789     LWP::Authen::Ntml contributed by James Tillman.
790
791     HTTP::Daemon patch for Alpha by <shildreth@emsphone.com>
792
793     The format_chunk() and write_chunk() methods of Net::HTTP
794     did not work.  Bug spotted by Yale Huang <yale@sdf-eu.org>.
795
796     The Client-Peer response header is back.
797
798
799
800 2002-05-31   Gisle Aas <gisle@ActiveState.com>
801
802     Release 5.65
803
804     Make HTTP::Date compatible with perl 5.8.
805
806     Try to avoid to default to overwriting /usr/bin/head 
807     on MacOS X when the perl install prefix is /usr/bin.
808
809     HTTP::Cookies fix for parsing of Netscape cookies file
810     on MS Windows. Patch by by Sean M. Burke <sburke@cpan.org>.
811
812     HTTP::Negotiate doc patch from Edward Avis <epa98@doc.ic.ac.uk>.
813
814
815
816 2002-02-09   Gisle Aas <gisle@ActiveState.com>
817
818     Release 5.64
819
820     Simplified the Makefile.PL:
821        - the scripts are not longer *.PL files
822
823        - don't try to make symlinks for GET, HEAD, POST
824          as that has not worked for a long time
825
826        - the GET, HEAD, POST aliases for lwp-request should
827          now work on Windows.
828     
829     HTTP::Cookies:
830        - added 'clear_temporary_cookies' method;
831          patch by Mike Schilli <schilli1@pacbell.net>.
832
833        - trailing space in old cookie parameters not ignored;
834          patch by Ivan Panchenko
835
836        - protect against $SIG{__DIE__} handlers;
837          patch by Adam Newby <adam@NewsNow.co.uk>.
838
839     LWP::Authen::Digest:
840        - abort digest auth session if we fail repeatedly with
841          the same username/password.
842
843     MacOS portability patches to the test suite by
844     Chris Nandor <pudge@pobox.com>.
845
846
847
848 2001-12-14   Gisle Aas <gisle@ActiveState.com>
849
850     Release 5.63
851
852     HTTP::Negotiate: Deal with parameter names in a case
853     insensitive way.  Put a little weight on the order of features
854     in the Accept headers.
855
856     LWP::UserAgent: make sure that the 'request' attribute is
857     always set on the returned response.
858
859     LWP::Protocol::http will now allow certain bad headers
860     in the responses it reads.  The bad headers end up in the
861     header 'Client-Junk'.
862
863     Net::HTTP new options to the 'read_response_headers'
864     method.  The option 'laxed' will make it ignore bad header
865     lines.  The option 'junk_out' can be used to pass in an
866     array reference.  Junk header lines are pushed onto it.
867
868     Net::HTTP::Methods: fixed the internal zlib_ok() to also
869     return the correct value the first time.
870
871     LWP::Protocol::http: Ensure that we don't read until
872     select has said it is ok since we have put the socket
873     in non-blocking mode.  Previously this could happen if
874     you set the 'timeout' attribute of the user agent to 0.
875
876     LWP::Authen::Digest now use Digest::MD5 instead of MD5.
877
878     Some adjustments to Makefile.PL to figure out if
879     Compress::Zlib is available and adjust the test suite
880     accordingly.
881
882
883
884 2001-11-21   Gisle Aas <gisle@ActiveState.com>
885
886     Release 5.62
887
888     The $VERSION of LWP::UserAgent wrapped around.  This confused the
889     CPAN indexer.  Bumped the major number to 2 to fix this.
890
891     Net::HTTP did not work well on perl5.003.  The PeerHost argument
892     to IO::Socket::INET was not recognized, so we had to use PeerAddr
893     instead.  The syswrite() method also required a length argument.
894
895     Net::HTTP did not deal with transfer encoding tokens in a
896     case-insensitive way.  Patch by Blair Zajac <blair@orcaware.com>.
897
898     The jigsaw-chunk test failed on MacOS because "\n" is different.
899     Patch by Chris Nandor <pudge@pobox.com>.
900
901
902
903 2001-11-16   Gisle Aas <gisle@ActiveState.com>
904
905     Release 5.61
906
907     LWP::Protocol::http did not invoke its _fixup_header method.
908     The result was that the 'Host' header got completely wrong
909     when talking through a proxy server.
910
911     The live Google test is gone.  They blocked us.
912
913     The guts of Net::HTTP has moved to Net::HTTP::Methods.
914
915     Net::HTTP now has limits on the size of the header which are
916     set by default.
917
918     New module Net::HTTPS.
919
920     Documentation tweaks.
921
922     HTTP::Headers: The 'remove_header' method now return the values
923     of the fields removed as suggested by Blair Zajac <blair@orcaware.com>.
924     Also a typo fix by Blair.
925
926     HTTP::Message: The delegation via &AUTOLOAD should be slightly
927     faster now.  It will install a real forwarding function the
928     first time it is called for each HTTP::Headers method.
929
930     LWP::UserAgent: Don't forward 'Cookie' headers on redirect.
931     Patch by Steve A Fink <steve@fink.com>.
932
933     LWP::Protocol::http has been reorganized to make it simpler
934     to subclass it. Other minor changes to it include:
935        - Client-Warning is gone
936        - Client-Request-Num renamed to Client-Response-Num
937        - A 'Transfer-Encoding' header is rewritten into a
938          'Client-Transfer-Encoding' header.
939
940     LWP::Protocol::https is completely redone.
941
942
943
944 2001-10-26   Gisle Aas <gisle@ActiveState.com>
945
946     Release 5.60
947
948     Made HTTP/1.1 the default.  The old HTTP/1.0 module has been
949     renamed as LWP::Protocol::http10.  There is an environment
950     variable; PERL_LWP_USE_HTTP_10 that can be set to have LWP
951     still pick up the old drivers.
952
953     Deal with "100 continue" responses even when not requested by
954     and Expect header in the request.  MS IIS seems to eager to send
955     this kind of response.
956
957     For HTTP/1.1 over SSL there was a problem with the underlying
958     SSL libraries if the socket was configured to non-blocking mode.
959     Disable this for https.
960     Based on a patch from Michael Thompson <mickey@berkeley.innomedia.com>
961
962     Support the Range header for ftp:// requests.
963     Patch by David Coppit <david@coppit.org>.
964
965     Rearrange Bundle::LWP on request from Chris Nandor.
966
967     HTTP::Cookies: Allow a domain like .foo.com match host "foo.com".
968     Patch by Alexandre Duret-Lutz <duret_g@lrde.epita.fr>
969
970     For redirects make sure Host header is not copied to the new
971     request.
972
973     The HTML::HeadParser is not loaded until actually needed.
974
975     Net::HTTP should now work with perl5.005 by a simple tweak
976     to 'require IO::Socket::INET'.
977
978     WWW::RobotRules::AnyDBM: Explicitly clear database on open.
979     Some DBM implementations doesn't support the O_TRUNC flag
980     properly.  Patch by Radu Greab <radu@netsoft.ro>.
981
982
983
984 2001-09-19   Gisle Aas <gisle@ActiveState.com>
985
986     Release 5.53_97
987
988     LWP::Protocol::http11: fix socket leak.  Because we managed
989     to set up a circular reference within the sockets objects they
990     stayed around forever.
991
992     LWP::UserAgent: Split up simple_request into prepare_request
993     and send_request. Patch contributed by Keiichiro Nagano <knagano@sodan.org>
994
995     LWP::Protocol::http: Pass all header data to LWP::Debug::conns.
996     Based on patch by Martijn.
997
998     LWP::UserAgent: Sean fixed a Cut&Paste error.
999
1000     HTTP::Cookies: avoid pack("c",...) warning from bleadperl.
1001
1002
1003
1004 2001-08-27   Gisle Aas <gisle@ActiveState.com>
1005
1006     Release 5.53_96
1007
1008     HTTP/1.1 support also for https.
1009     Contributed by Doug MacEachern <dougm@covalent.net>
1010
1011     The HTTP/1.1 modules are now enabled by default.  Hope that will give
1012     them more testing than they otherwise would have gotten.
1013
1014     HTTP::Daemon's accept now has same behaviour as IO::Socket's
1015     accept in list context.  Fixed by Blair Zajac <blair@gps.caltech.edu>.
1016
1017     More argument sanity checking in HTTP::Request->uri and
1018     LWP::UserAgent->simple_request.  Patch by Sean M. Burke.
1019
1020     HTTP::Protocol::http.  Deal with short writes.
1021     Patch by Norton Allen <allen@huarp.harvard.edu>
1022
1023     HTTP::Protocol::http11:  Deal with newlines in header values.
1024
1025     Net::HTTP: call sysread (instead of xread) when more data is required.
1026
1027
1028
1029 2001-08-06   Gisle Aas <gisle@ActiveState.com>
1030
1031     Release 5.53_95
1032
1033     Fix HTTP::Cookies where there is a mix of Set-Cookie and
1034     Set-Cookie2 headers.  In that case we used to ignore all Set-Cookie
1035     headers.  Now we only ignore those Set-Cookie headers that reference
1036     the same cookie as a Set-Cookie2 header.
1037
1038     HTTP::Request, HTTP::Response will by default now use "URI" class,
1039     instead of "URI::URL", when constructing its URI objects.  This
1040     has a potential for breaking existing code as URI::URL objects had
1041     some extra methods that external code might depend upon.
1042
1043     Patches by Sean M. Burke:
1044        - Fix treatment of language tags in HTTP::Negotiate 
1045        - Avoid trailing newline in $response->message
1046        - HTTP::Response clarifications
1047
1048     LWP::Simple deals with non-absolute redirects "correctly" now.
1049
1050     Net::HTTP does not try to load Compress::Zlib until it is needed.
1051
1052     Net::HTTP documentation has been updated.
1053
1054
1055
1056 2001-05-05   Gisle Aas <gisle@ActiveState.com>
1057
1058     Release 5.53_94
1059
1060     Sean M. Burke's update to LWP::UserAgent:
1061        - updated redirect_ok behaviour
1062        - new convenience methods: get/head/post/put
1063        - protocols_allowed/protocols_forbidden
1064        - LWP::Protocol::nogo (new module)
1065
1066     Added digest auth test against Jigsaw
1067
1068     Fixed a 'use of uninitialized'-warning in the handling of
1069     digest authentication.
1070
1071     Net::HTTP updates:
1072       - new option: SendTE
1073       - support transfer-encoding 'deflate' and 'gzip' (when Compress::Zlib
1074         is available).
1075       - new methods: format_chunk, format_chunk_eof
1076       - use -1 (instead of "0E0" as signal that no data was available,
1077         but this was not EOF).
1078
1079
1080
1081 2001-04-28   Gisle Aas <gisle@ActiveState.com>
1082
1083     Release 5.53_93
1084
1085     Makefile.PL now asks some questions
1086
1087     Added live tests for the new HTTP/1.1 support
1088
1089     LWP::MemberMixin: make it possible to set a value to the 'undef' value.
1090
1091     Net::HTTP:
1092         - transparent support for 'deflate' and 'gzip' transfer encodings
1093           (need to have the Compress::Zlib module installed for this to work).
1094
1095
1096
1097 2001-04-25   Gisle Aas <gisle@ActiveState.com>
1098
1099     Release 5.53_92
1100
1101     LWP::Protocol::ftp now support keep-alives too.  The command
1102     connection will stay open if keep-alives are enabled.
1103
1104     LWP::Protocol::http11 various fixes:
1105         - chunked request content did not work
1106         - monitor connection while sending request content
1107         - deal with Expect: 100-continue
1108
1109     LWP::RobotUA: Protect host_port call.  Not all URIs have this method.
1110
1111
1112
1113 2001-04-20   Gisle Aas <gisle@ActiveState.com>
1114
1115     Release 5.53_91
1116
1117     Introduced LWP::ConnCache module.  Works similar to HTTP::Cookies,
1118     it that it takes effect if associated with the $ua.
1119
1120     The handling of $ua->max_size changed to make 0 mean 0
1121     (not unlimited).  An value of undef means no limit.
1122     The X-Content-Base header is gone.  I hope nobody relies on
1123     it.  It might come back if people start to scream.  There
1124     is a new Client-Aborted header instead.
1125
1126     The Range header generated for $ua->max_size had a off-by-one
1127     error.  A range of "0-1" means 2 bytes.
1128
1129     The LWP::UserAgent constructor now takes configuration arguments.
1130
1131     Keep-alive and the new HTTP/1.1 module can now be simply
1132     enabled with something like:
1133
1134           LWP::UserAgent->new(keep_alive => 1);
1135
1136     New method $ua->conn_cache to set up and access the associated
1137     connection manager.
1138
1139     If the string passed to $ua->agent() ends with space then
1140     the "libwww-perl/#.##" string is automatically appended.
1141
1142     New method $ua->_agent
1143
1144     Passing a plain hash to $ua->cookie_jar automatically loads
1145     HTTP::Cookies and initialise an object using the hash content
1146     as constructor arguments.
1147
1148     LWP::Protocol::http11 now use the conn_cache of the $ua.
1149
1150     LWP::Protocol::http11 now added a few new Client- headers.
1151
1152     LWP::Protocol avoid keeping the connection alive if $ua->max_size
1153     limit prevents the whole body content from being read.
1154
1155     Net::HTTP updates:
1156        - new methods: write_chunk(), write_chunk_eof()
1157        - reset state properly when a new body is read.
1158        - always set read buffer empty on eof
1159        - doc update
1160
1161     WWW::RobotRules patch by Liam Quinn <liam@htmlhelp.com>:
1162        - Always qualify netloc with port.
1163        - Reverse User-Agent substring matching.
1164
1165
1166
1167 2001-04-18   Gisle Aas <gisle@ActiveState.com>
1168
1169     Release 5.53_90
1170
1171     Note: This is a developer only release.  Not for production use.
1172
1173     LWP::Protocol::http11 now does keep-alives by default.  Still need
1174     to figure out what interface to provide at the $ua level.
1175
1176     LWP::Protocol::http11 deals with CODE content in request.
1177
1178     Net::HTTP updated:
1179         - added format_request() method
1180         - added _rbuf and _rbuf_length methods
1181         - read_response_headers does not return protocol version
1182           any more.
1183         - peer_http_version method did not work because of typo.
1184         - documentation added
1185
1186     New module Net::HTTP::NB.  This is a Net::HTTP subclass that
1187     is better suited for multiplexing as it is able to do no-blocking
1188     reads of headers and entity body chunks.
1189
1190     HTTP::Request: Protect $request->uri against evil $SIG{__DIE__} handlers.
1191
1192     Some reorganisation in how stuff is passed from $ua to protocol object.
1193     The $ua is now passed in so protocol objects might store start in it.
1194
1195     The $ua->max_size default is now 0.
1196
1197     The $ua->clone method avoids sharing of proxy settings between
1198     the old and the new.
1199
1200     This file is renamed to 'Changes' (used to be 'ChangeLog').
1201
1202
1203
1204 2001-04-10   Gisle Aas <gisle@ActiveState.com>
1205
1206     Release 5.53
1207
1208     LWP::Simple::get() could sometimes return nothing on failure in
1209     list context.  Now it always returns 'undef'.
1210
1211     HTTP::Cookies does not request 2 dots on domain names any more.
1212     New option to hide the Cookie2 header.  Cookie2 header now quote
1213     the version number. Updated reference to RFC 2965.
1214
1215     Support for embedded userinfo in http proxy URIs.  It means that
1216     you know can set up your proxy with things like:
1217         http_proxy="http://proxyuser:proxypass@proxyhost:port"
1218     Patch by John Klar <j.klar@xpedite.com>.
1219
1220     Experimental HTTP/1.1 support.  New module called Net::HTTP that
1221     provide the lower level interface and a LWP::Protocol::http11
1222     module that builds on it.  The HTTP/1.1 protocol module must be
1223     loaded and registered explicitly, otherwise the old and trustworthy
1224     HTTP/1.0 module will be used.
1225
1226     LWP::Protocol::GHTTP will try to use the get_headers() methods
1227     so that it can actually extract all the headers.
1228
1229
1230
1231 2001-03-29   Gisle Aas <gisle@ActiveState.com>
1232
1233     Release 5.52
1234
1235     HTTP::Header: new method $h->init_header() that will only
1236     set the header if it is not already set.  Some shuffling
1237     around in the code.
1238
1239     LWP::UserAgent will not override 'User-Agent', 'From'
1240     or 'Range' headers if they are explicitly set in the
1241     request passed in.
1242
1243     HTML::Form tries to optimize parsing be restricting the
1244     tags that are reported by HTML::Parser.  Will need
1245     HTML::Parser v3.19_93 or better for this to actually
1246     have any effect.
1247
1248     LWP::Protocol::ftp now deals with path parameters again.
1249     It means that you can append ";type=a" to ftp-URI and
1250     it will download the document in ASCII mode.
1251
1252     If the server output multiple Location headers on a redirect,
1253     ignore all but the first one.
1254
1255     Extract cookies failed on request URIs with empty paths.
1256     This was only triggered if you used URI objects directly in
1257     scripts.
1258
1259     This change was actually part of 5.51:  Fix qop="auth"
1260     handling for Digest authentication.
1261     Patch by Dave Dunkin <dave_dunkin@hotmail.com>.
1262
1263
1264
1265 2001-03-14   Gisle Aas <gisle@ActiveState.com>
1266
1267     Release 5.51
1268
1269     SECURITY FIX: If LWP::UserAgent::env_proxy is called in a CGI
1270     environment, the case-insensitivity when looking for "http_proxy"
1271     permits "HTTP_PROXY" to be found, but this can be trivially set by the
1272     web client using the "Proxy:" header.  The fix applied is that
1273     $ENV{HTTP_PROXY} is not longer honored for CGI scripts.
1274     The CGI_HTTP_PROXY environment variable can be used instead.
1275     Problem reported by Randal L. Schwartz.
1276
1277     NOTE: It is recommended that everybody that use LWP::UserAgent
1278           (including LWP::Simple) in CGI scripts upgrade to this release.
1279
1280     Explicit setting of action on HTML::Form had no effect because
1281     of a code typo.  Patch by BooK <book@netcourrier.com>.
1282
1283     HTTP::Daemon: The CONNECT method need special treatment because
1284     it does not provide a URI as argument (just a "hostname:port").
1285     The non-upward compatibility warning is that you must now call
1286     $request->url->host_port to get the host/port string for CONNECT,
1287     rather than calling $request->url and using the entire string.
1288     Based on patch from Randal L. Schwartz <merlyn@stonehenge.com>
1289
1290     HTTP::Daemon: Create self URL based on $self->sockaddr.  This works
1291     better when LocalAddr is used to specify the port number.  Based on
1292     patch from Ben Low <ben@snrc.uow.edu.au>. 
1293
1294     Avoid potential '<FILE> chunk 1' messages at the end of the response
1295     'message'.
1296
1297
1298
1299 2001-01-12   Gisle Aas <gisle@ActiveState.com>
1300
1301     Release 5.50
1302
1303     Fix for test cases that failed because of URI-1.10 now encode
1304     space as '+' instead of '%20. Patch by Christian Gilmore
1305     <cgilmore@tivoli.com>.
1306
1307     Makefile.PL: Require URI-1.10.
1308
1309     HTTP::Daemon now accepts any non-space character as method name
1310     on the request line.  It used to fail on methods like "M-POST"
1311     because it only allowed \w-chars.
1312
1313     HTTP::Date now allow fractional seconds in ISO date formats.
1314     Based on patch from Mark D. Anderson <mda@discerning.com>
1315
1316     HTTP::Request::Common will now calculate Content-length
1317     even if $DYNAMIC_FILE_UPLOAD is set.  Patch provided by
1318     Lindley, Lee T <Lee.Lindley@viasystems.com>.
1319
1320
1321
1322 2000-12-31   Gisle Aas <gisle@ActiveState.com>
1323
1324     Release 5.49
1325
1326     HTML::Form: Use croak() instead of die.  Implement
1327     $f->possible_values.  Avoid use of undef value warnings.
1328
1329     HTTP::Cookies: fix epath issue.  Make it work for URI::http
1330     as the uri-attribute of HTTP::Request object
1331
1332     HTTP::Date: Allow ignored timezone info in parenthesis. Patch
1333     by Sander van Zoest <sander@covalent.net>.
1334     Fix calculation of non-GMT timezones (wrong sign).  Patch by
1335     KONISHI Katsuhiro <konishi@din.or.jp>.
1336
1337     HTTP::Response: Let $res->base() absolutize the URI.  Based on
1338     bug report from Hans de Graaff <hans@degraaff.org>.
1339
1340     Fixed minor doc typos in HTTP::Headers::Util and LWP::UserAgent.
1341
1342     HTTP::Request::Common: Support boundary spec from client.
1343
1344     LWP::Simple: Avoid trivial_http_get when @ appears in authority
1345     part of URI
1346
1347     LWP::Authen::Digest: Need to have query in URI param. 
1348     Spotted by <ronald@innovation.ch>.
1349
1350     LWP::Protocol::http: unescape username/password if they are
1351     specified in the URI.
1352
1353     Added LWP::Protocol::GHTTP.  This allow LWP to use the HTTP::GHTTP
1354     module as the low level HTTP driver.
1355
1356
1357
1358 2000-04-09   Gisle Aas <gisle@aas.no>
1359
1360     Release 5.48
1361
1362     README.SSL update by Marko Asplund <aspa@hip.fi>
1363
1364     Added cookie example to lwpcook.pod
1365
1366     HTTP::Date::str2time returns undef on failure instead
1367     of an empty list as suggested by Markus B Krüger <markusk@pvv.org>
1368
1369     $request->uri($uri) will now always store a copy of the $uri.
1370
1371     HTTP::Status: Added status codes from RFC 2616 and RFC 2518 (WebDAV)
1372
1373     LWP::RobotUA will not parse robots.txt unless content type and
1374     content sample looks right.
1375
1376     LWP::UserAgent: Deal with multiple WWW-Authenticate headers.
1377     Patch by Hugo <hv@crypt.compulink.co.uk>
1378
1379     $ua->proxy can now return the old proxy settings without
1380     destroying the old one.
1381     Based on patch by Benjamin Low <ben@snrc.uow.edu.au>
1382
1383     LWP::Protocol::http update
1384
1385         - don't terminate header parsing on bad headers
1386         - extra_sock_opts
1387         - preparations for keep alive support
1388         - method CONNECT
1389
1390    WWW::RobotRules deal with various absolute URIs in the
1391    disallow lines.
1392
1393    Makefile.PL: Make sure we have HTML::TokeParser
1394
1395    Clean test on VMS.
1396    Patch by Charles Lane <lane@ DUPHY4.Physics.Drexel.Edu>.
1397
1398
1399
1400 1999-11-16   Gisle Aas <gisle@aas.no>
1401
1402  o  Release 5.47
1403
1404  o  Added HTML::Form to the distribution.
1405
1406  o  LWP::Protocol::ftp: Make it URI.pm compatible.  We broke it in 5.45.
1407
1408  o  LWP::Protocol::http: Kill any Connection header
1409
1410  o  LWP::MediaTypes: Fixed builtin html/text mapping.
1411     Added bz2 to suffixEncoding
1412
1413
1414
1415 1999-10-28   Gisle Aas <gisle@aas.no>
1416
1417  o  Release 5.46
1418
1419  o  Updated mailing list address
1420
1421  o  Avoid warnings for lwp-request -t
1422
1423  o  referrer as alternative spelling for referer as suggested by tchrist.
1424
1425  o  More conservative selection of boundary for multipart messages
1426     in &HTTP::Request::Common::POST.
1427
1428  o  LWP::MediaTypes can now export &read_media_types.
1429
1430  o  Spelling corrections from Ben Tilly <Ben_Tilly@trepp.com>
1431
1432
1433
1434 1999-09-20   Gisle Aas <gisle@aas.no>
1435
1436  o  Release 5.45
1437
1438  o  The LWP SSL support better explained.  Documentation in README.SSL
1439     and lwpcook.pod contributed by Marko Asplund <aspa@hip.fi>.
1440
1441  o  LWP::Protocol::https: Try loading IO::Socket::SSL if Net::SSL is
1442     not available.
1443
1444  o  lwp-mirror -t option did not work.
1445
1446  o  defined(@ISA) eliminated. Patch by Nathan Torkington <gnat@frii.com>
1447
1448  o  LWP::Protocol::ftp: Protect against empty path_segments
1449
1450
1451
1452 1999-06-25   Gisle Aas <gisle@aas.no>
1453
1454  o  Release 5.44
1455
1456  o  We require URI-1.03, since this fix some query quoting stuff
1457     that HTTP::Request::Common rely upon.
1458
1459  o  'lwp-request -HUser-Agent:foo' can now be used to set this
1460     header too.
1461
1462  o  Localize $/ to ensure standard record separator a few places
1463     in HTTP::Cookies
1464
1465  o  LWP::UserAgent will now set the Range header in requests if
1466     the $ua->max_size attribute is set.
1467
1468
1469
1470 1999-05-09   Gisle Aas <gisle@aas.no>
1471
1472  o  Release 5.43
1473
1474  o  New lwp-request command line option that allow you to put any
1475     header into the request (-H).
1476
1477  o  New HTTP::Date because of Y2K-problems with the old one.
1478     It refused to parse the ftp-listing (ls -l) dates missing year.
1479     Additional entry point is parse_date().  This function avoid any
1480     limitations caused by the time-representation (seconds since
1481     epoch).
1482
1483  o  Y2K fix to t/base/cookies.t.  Netscape's original cookie
1484     example expires at 09-Nov-99.
1485
1486  o  Added another binmode() to LWP::Protocol::file as suggested
1487     by Matt Sergeant <matt-news@sergeant.org>
1488
1489
1490
1491 1999-03-20   Gisle Aas <gisle@aas.no>
1492
1493  o  Release 5.42
1494         
1495  o  MacOS patches from Paul J. Schinder <schinder@leprss.gsfc.nasa.gov>
1496
1497  o  Documentation patch from Michael A. Chase <mchase@ix.netcom.com>
1498
1499  o  PREREQ_PM patch from Andreas Koenig <andreas.koenig@anima.de>
1500  
1501  o  LWP::Simple::head fix by Richard Chen <richard@lexitech.com>
1502  
1503  o  "LWP fails with PerlEXE"-patch from Gurusamy Sarathy
1504
1505  o  Allow "." in HTTP header names.  Patch by Marc Langheinrich
1506     <marc@ccm.cl.nec.co.jp>
1507
1508  o  Fixed reference to $uri->netloc in lwp-request
1509
1510  o  Cute animation in lwp-download
1511
1512
1513
1514 Mon Nov 19 1998   Gisle Aas <aas@sn.no>
1515
1516  o  Release 5.41
1517
1518  o  HTTP::Cookies provide better Netscape cookies compliance.
1519     Send back cookies to any port, and allow origin host name to
1520     be specified as domain, and still be treated as a domain.
1521     Patch from Andreas Gustafsson <gson@araneus.fi>.
1522
1523  o  HTTP::Cookies now ignore the Expires field in Set-Cookie, if the
1524     date provided can't be parsed by HTTP::Date.
1525
1526  o  HTTP::Daemon will lowercase the hostname returned from
1527     Sys::Hostname::hostname().  This avoid some test failures in
1528     the test suite for people with upper- or mixed-cased hostnames.
1529
1530  o  LWP::Protocol::gopher: IO::Socket::INET ctor did not specify
1531     Proto => 'tcp'.  This made it less portable to older IO::Socket
1532     versions.
1533
1534  o  No programs installed when you build the Makefile with
1535     'perl Makefile.PL LIB=/my/lib'
1536
1537  o  LWP bundle mention Digest::MD5 instead of MD5
1538
1539  o  headers-auth.t test suite bug triggered by perl5.005_5x.
1540     Patch by Albert Dvornik <bert@genscan.com>
1541
1542  o  The local/http.t test actually did try to unlink(".").  This was
1543     very confusing on systems where it succeed.
1544
1545
1546
1547 Mon Oct 12 1998   Gisle Aas <aas@sn.no>
1548
1549  o  Release 5.40_01
1550
1551  o  Unbundled URI::URL modules.  You now have to install the
1552     URI.pm module in order to get libwww-perl working.
1553
1554  o  Made library URI.pm compatible.  Made all URI object instantiations
1555     based on $HTTP::URI_CLASS variable.
1556
1557  o  New lwp-rget option: --referer.
1558     Patch by INOUE Yoshinari <inoue@kusm.kyoto-u.ac.jp>.
1559
1560  o  One more binmode() to HTTP::Daemon as suggested by
1561     Markus Laker <mlaker@contax.co.uk>.
1562
1563
1564
1565 Tue Aug  4 1998   Gisle Aas <aas@sn.no>
1566
1567  o  Release 5.36
1568
1569  o  The lwp-download script will call $ua->env_proxy now.
1570
1571  o  The lwp-request script allows content types (specified with the -c
1572     option) with optional parameters like: multipart/mixed; boundary="--".
1573
1574  o  LWP::UserAgent will lowercase all authentication parameter names
1575     before passing it to the authentication module.  Previous releases
1576     ignored parameters like; Realm="Foo" (bacause Realm contained
1577     upper case letters).
1578
1579  o  LWP::Protocol::ftp test for If-Modified-Since was wrong.
1580
1581  o  How the $url->abs method works can now be configured with the global
1582     variables $URI::URL::ABS_ALLOW_RELATIVE_SCHEME and
1583     $URI::URL::ABS_REMOTE_LEADING_DOTS.
1584
1585  o  The anonymous password guesser for ftp URLs will now call the external
1586     `whoami` program any more.  Patch by Charles C. Fu <ccwf@bacchus.com>.
1587
1588  o  LWP::Protocol::http now allow dynamic requests without any
1589     Content-Length specified when Content-Type is multipart/*
1590
1591  o  HTTP::Request::Common can now upload infinite files.
1592     (Controlled by the $DYNAMIC_FILE_UPLOAD configuration variable.)
1593
1594
1595
1596 Fri Jul 10 1998   Gisle Aas <aas@sn.no>
1597
1598  o  Release 5.35
1599
1600  o  More lwp-rget patches from David D. Kilzer <ddkilzer@madison.dseg.ti.com>.
1601     Adds the following new options: --iis, --keepext, --tolower
1602
1603  o  LWP::MediaTypes patches from MacEachern <dougm@pobox.com>.  Adds new
1604     functions: add_type(), add_encoding(), read_media_types()
1605
1606
1607
1608 Tue Jul  7 1998   Gisle Aas <aas@sn.no>
1609
1610  o  Release 5.34
1611
1612  o  LWP::Protocol::ftp now try to use the MDTM command to support
1613     the Last-Modified response header as well as
1614     If-Modified-Since in requests.  Original and final patch by
1615     Charles C. Fu <ccwf@bacchus.com>
1616
1617  o  $url->path_components will not escape "." any more.
1618
1619  o  WWW::RobotRules will now work for Mac text files too (lines delimited
1620     by CR only).  Patch by Olly Betts <olly@muscat.co.uk>
1621
1622  o  lwp-rget support <area ..> links too.
1623
1624
1625
1626 Thu May  7 1998   Gisle Aas <aas@sn.no>
1627
1628  o  Release 5.33
1629
1630  o  LWP::Simple::get() did try to handle too many of the 3xx
1631     codes as redirect when it bypasses full LWP.
1632
1633  o  LWP::UserAgent->mirror will now use utime(2) to set the
1634     file modification time corresponding to the Last-Modified
1635     header.
1636
1637  o  LWP::Protocol::http will not modify the HTTP::Request that
1638     it is processing.  This avoids sticky Host header for
1639     redirects.
1640
1641  o  URI::Heuristic and lwp-download documentation update.
1642
1643
1644
1645 Wed Apr 15 1998   Gisle Aas <aas@sn.no>
1646
1647  o  Release 5.32
1648
1649  o  Much improved HTTP::Daemon class. We now support persistent
1650     connections.  Changes include:
1651        - $c->get_request can be told to return after reading and
1652          parsing headers only.
1653        - $c->reason (new method)
1654        - $c->read_buffer (new method)
1655        - $c->proto_ge (new method)
1656        - $c->force_last_request (new method)
1657        - $c->send_response now support CODE reference content
1658          and will use chunked transfer encoding for HTTP/1.1 clients.
1659        - expanded the documentation.
1660
1661
1662
1663 Fri Apr 10 1998   Gisle Aas <aas@sn.no>
1664
1665  o  Release 5.31
1666
1667  o  Makefile.PL now checks that HTML::HeadParser is present.
1668
1669  o  Updated HTTP::Cookies according to draft-ietf-http-state-man-mec-08.txt
1670     It now supports the .local domain and value less 'port' attribute in
1671     the Set-Cookie2 header.
1672
1673  o  HTTP::Headers update:
1674        - $h->content_type now always return a defined value
1675        - $h->header($field) will now concatenate multi-valued header
1676          fields with "," as separator in scalar context.
1677
1678  o  HTTP::Request::Common update:
1679        - used to destroy the content of the  hash/array arguments
1680          passed to its constructor functions.
1681        - allow a hash reference to specify form-data content.
1682        - you can override Content-Disposition for form-data now.
1683        - set content-encoding for files if applicable
1684        - default boundary string is now always "--000"
1685
1686  o  LWP::UserAgent will not follow more than 13 redirects
1687     automatically.
1688
1689
1690
1691 Wed Apr  1 1998   Gisle Aas <aas@sn.no>
1692
1693  o  Release 5.30
1694
1695  o  Unbundled the following modules:
1696
1697        * HTML-Parser  (HTML::Parser, HTML::Entites, HTML::LinkExtor,...)
1698        * HTML-Tree    (HTML::Element, HTML::TreeBuilder,...)
1699        * Font-AFM     (Font::AFM, Font::Metrics::*)
1700        * File-CounterFile
1701
1702  o  Simplified internal structure of HTTP::Headers.  Hopefully,
1703     nobody will notice.
1704
1705  o  New modules HTTP::Headers::Auth,  HTTP::Headers::ETag that adds
1706     additional convenience methods to the HTTP::Headers class.
1707
1708  o  Removed split_etag_list() from HTTP::Headers::Util, in the hope
1709     that nobody had starting using it.
1710
1711
1712
1713 Tue Mar 24 1998   Gisle Aas <aas@sn.no>
1714
1715  o  Release 5.22
1716
1717  o  HTTP::Cookies made more compatible with Netscape cookies.  Allow
1718     the domain to match host, allow dots in the part of the hostname
1719     not covered by domain.  Don't quote the cookie value even when it
1720     contains non-token chars.  Based on patch from Kartik Subbarao
1721     <subbarao@computer.org>.
1722
1723  o  Updated HTTP::Status to reflect <draft-ietf-http-v11-spec-rev-03>.
1724     RC_MOVED_TEMPORARILY renamed to RC_FOUND.  Added codes
1725     RC_TEMPORARY_REDIRECT (307) and RC_EXPECTATION_FAILED (417).
1726     Slightly more documentation too.
1727
1728  o  The split_header_words() function HTTP::Headers::Util could go
1729     into infinite loop on some header values.  Implemented split_etag_list()
1730     too.  Added more documentation and test script for this module.
1731
1732  o  LWP::Simple now switch to full LWP implementation even for systems
1733     that force all environment keys to be upper case.  Modification
1734     suggested by Dale Couch <dcouch@training.orl.lmco.com>.
1735
1736  o  LWP::UserAgent allows redirects to a relative URL with scheme to be
1737     made.  Suggested by Chris W. Unger <cunger@cas.org>.
1738
1739  o  Applied dtd2pm.pl patches from <peterm@zeta.org.au>.  It can now
1740     extract information from the HTML40.dtd
1741
1742
1743
1744 Thu Mar 12 1998   Gisle Aas <aas@sn.no>
1745
1746  o  Release 5.21
1747
1748  o  lwp-rget patches from David D. Kilzer <ddkilzer@madison.dseg.ti.com>
1749     (modified by Gisle).  Support the --hier  and the --auth options
1750     and <frame>s.
1751
1752  o  File::CounterFile protect against bad $/ and $\ as suggested
1753     by Frank Hoehne.
1754  
1755  o  File::Listing used "next" when return was more appropriate.
1756     Patch by erik@mediator.uni-c.dk.
1757
1758  o  HTML::Element support for multiple boolean attributes for a single
1759     element.  Patch by Philip Guenther.
1760
1761  o  Can set $HTTP::Headers::TRANSLATE_UNDERSCORE to FALSE value to
1762     suppress tr/_/-/ of header keys.
1763
1764  o  LWP::Protocol::http will not initialize the Host header if it is
1765     already set.
1766
1767  o  LWP::Protocol::http did not handle responses with no header lines
1768     correctly.  Patch by Daniel Buenzli <buenzli@rzu.unizh.ch>
1769
1770  o  $url->rel() handles path segments without leading "/" better.
1771
1772
1773
1774 Fri Feb 13 1998   Gisle Aas <aas@sn.no>
1775
1776  o  Release 5.20
1777
1778  o  Fixed the "500 Offset outside string" bug that affected perl
1779     5.004_03 and older version of Perl.
1780
1781  o  Fixed a documentation typo spotted by Michael Quaranta
1782     <quaranta@vnet.IBM.COM>
1783
1784  o  HTTP::Date: Protect against croaking from timegm/timelocal.
1785
1786
1787
1788 Mon Jan 26 1998   Gisle Aas <aas@sn.no>
1789
1790  o  Release 5.19
1791
1792  o  HTML::Parser does not call $self->text() callback for empty text
1793     any more.
1794
1795  o  LWP::Protocol::https was noisy when connections failed and the
1796     script was running with '-w' (noise inherited from IO::Socket::INET)
1797
1798  o  $ua->use_alarm(BOOL) now gives a warning if running with -w
1799
1800
1801
1802 Tue Jan 20 1998   Gisle Aas <aas@sn.no>
1803
1804  o  Developer release 5.18_05
1805
1806  o  HTTPS support based on my Crypt-SSLeay module.  The Net-SSLeay module
1807     is not supported any more.
1808
1809  o  lwp-request documentation typo spotted Martijn Koster.
1810
1811  o  Removed superfluous \\ in the URI::Escape regex. This was also
1812     spotted by Martijn.
1813
1814  o  File::Listing now handles timezones correctly.
1815
1816  o  Added $VERSION to modules that was missing it.
1817
1818  o  Added 'use strict' to several modules that was missing it.
1819
1820  o  LWP::Protocol::http now adds the Client-Peer header to responses and
1821     has hooks for more callbacks.
1822
1823  o  LWP::Protocol::https adds Client-SSL-Cipher, Client-SSL-Cert-Subject
1824     and Client-SSL-Cert-Issuer headers to the response.  The requests can
1825     also be made conditional based on the peer certificate using the
1826     If-SSL-Cert-Subject header in requests.
1827
1828  o  HTML::Parse is back.  (It was even used in lwpcook.pod)
1829
1830
1831
1832 Wed Dec 17 1997   Gisle Aas <aas@sn.no>
1833
1834  o  Developer release 5.18_04
1835
1836  o  Makefile.PL fix based on report from Pon Hwa Lin <koala@fragment.com>
1837
1838  o  lwp-request will now print the response code message with -s and -S
1839     options.
1840
1841  o  Hide IO::Socket::INET noise when running under -w
1842
1843  o  Don't set 'Content-Length: 0' in HTTP requests.
1844
1845  o  LWP::Protocol::http now calls LWP::Debug::conns again
1846
1847
1848
1849 Tue Dec 16 1997   Gisle Aas <aas@sn.no>
1850
1851  o  Developer release 5.18_03
1852
1853  o  Got rid of alarms() and replaced LWP::Socket with IO::Socket::INET.
1854     New protocol implementations for http, https, gopher, nntp.
1855     $ua->use_alarm() is now a noop.
1856
1857  o  LWP::Protocol::ftp patch from  Tony Finch <fanf@demon.net>.
1858
1859  o  Removed depreciated modules from the distibution; HTML::Parse,
1860     LWP::Socket, LWP::SecureSocket, LWP::IO, LWP::TkIO.
1861
1862
1863
1864 Fri Dec 12 1997   Gisle Aas <aas@sn.no>
1865
1866  o  Release 5.18
1867
1868  o  HTTP authorization patches from Tony Finch <fanf@demon.net>.
1869     Allows "user:pass@" in HTTP URLs.
1870
1871  o  HTML::Parser patch by Brian McCauley <B.A.McCauley@bham.ac.uk>.
1872     Pass original text to end() method.
1873
1874  o  The HTML::Parser->netscape_buggy_comment method is depreciated.
1875     Use HTML::Parser->strict_comment instead.  The default value
1876     has changed with the name.
1877
1878  o  Some HTML::Parser optimization tweaks.
1879
1880  o  New module named HTML::Filter
1881
1882  o  Updated HTTP::Headers to the latest HTTP spec.  Added knowledge
1883     about the "Trailer", "Expect", "TE", "Accept-Range" headers.
1884     "Public" header is gone.
1885
1886  o  Added some more header convenience methods: if_unmodified_since,
1887     content_language, and proxy_authorization methods.
1888
1889  o  HTTP::{Request,Response}->clone can handle subclasses now.
1890
1891  o  HTTP::Request->url() can now undefine the URL.
1892
1893  o  HTTP::{Request,Response}->as_string format looks more like
1894     the HTTP protocol formatting now.  Dashed lines above and
1895     below is gone.
1896
1897  o  Documented HTTP::Response->status_line method
1898
1899  o  Compressed HTML::Response->error_as_HTML output
1900
1901  o  HTTP::Status updated to latest HTTP spec.  Added 
1902     RC_REQUEST_RANGE_NOT_SATISFIABLE (416)
1903
1904
1905
1906 Tue Dec  2 1997   Gisle Aas <aas@sn.no>
1907
1908  o  Release 5.17
1909
1910  o  All authentication handling moved out of LWP::UserAgent and into
1911     LWP::Authen::Basic and LWP::Authen::Digest.  We now also support
1912     PROXY_AUTHENTICATION_REQUIRED responses.
1913
1914  o  HTML::Formatter will always add a blank line for <br>.
1915
1916  o  Avoid use of uninitialized value in HTTP::Daemon.
1917
1918  o  HTTP::Date allows seconds when recognizing 'ls -l' dates.  This
1919     allows us to parse syslog time stamps.
1920
1921  o  HTTP::Request::Common::POST allows a hash reference as second
1922     argument (in addition to an array reference).
1923
1924  o  LWP::Simple will initialize the $ua if it is exported.
1925
1926  o  Various documentation updates.
1927
1928
1929
1930 Fri Nov 21 1997   Gisle Aas <aas@sn.no>
1931
1932  o  Release 5.16
1933
1934  o  LWP::Simple::head() would die in array context because str2time
1935     was not imported any more.
1936
1937  o  HTTP::Daemon->accept now takes an optional package argument like
1938     IO::Socket->accept does.
1939
1940  o  Made HTTP::Request and HTTP::Response subclassable.
1941
1942  o  Added Proxy-Authorization example to lwpcook.
1943
1944
1945
1946 Thu Nov  6 1997   Gisle Aas <aas@sn.no>
1947
1948  o  Release 5.15
1949
1950  o  New module URI::Heuristic
1951
1952  o  The lwp-request script now use URI::Heuristic for it's URL arguments.
1953     It means that 'lwp-request perl' will not get a file called "./perl"
1954     but will fetch the page "http://www.perl.com" or something similar.
1955     If you want to get the file you have to prefix it with "./".  Full
1956     URLs are never affected by this.
1957
1958  o  LWP::Simple::get() will bypass LWP for simple HTTP requests.  This
1959     should make it somewhat faster.
1960
1961  o  LWP::RobotUA has a new method called $ua->use_sleep() that
1962     controls how niceness towards the servers are enforced.
1963     Previously $ua->use_alarm() used to control this, but this did
1964     not work well on Win32 systems.
1965
1966  o  URI::URL::rel() will handle URLs to a fragment within the same
1967     document better. Initial patch from Nicolai Langfeldt
1968     <janl@math.uio.no>.
1969
1970  o  HTML::Element don't consider </th>, </tr> and </td> optional any
1971     more.  I wonder how Netscape managed to not implement this
1972     correctly all this time.
1973
1974  o  Added lots of modern tags to HTML::AsSubs.
1975
1976  o  HTTP::Request::Common will read uploaded files in binmode().
1977     This should be better for Win32 systems.  Contributed by
1978     <Steve_Kilbane@cegelecproj.co.uk>.
1979
1980
1981
1982 Sun Oct 12 1997   Gisle Aas <aas@sn.no>
1983
1984  o  Release 5.14
1985
1986  o  HTML::Formatter patches from Andreas Gustafsson <gson@araneus.fi>.
1987     The formatters handling of whitespace is much better now.  Thanks!
1988
1989  o  HTML::FormatText: can specify margins in the constructor.
1990
1991  o  URI::URL: the base will be absolutized internally now.
1992
1993  o  URI::URL will take advantage of void context provided by perl5.004.
1994     This means that using $u->path and $u->query should be safer now.
1995
1996  o  URI::URL->print_on defaults to STDERR now (used to be STDOUT).
1997
1998  o  URI::URL: removed version 3 compatibility stuff ($COMPAT_VER_3).
1999
2000  o  $ua->mirror should work better on dosish systems (can not
2001     rename when target file exists).
2002
2003  o  Typo in lwp-download prevented it from compiling.
2004
2005  o  Some minor documentations typos corrected.
2006
2007
2008
2009 Sat Sep 20 1997   Gisle Aas <aas@sn.no>
2010
2011  o  Release 5.13
2012
2013  o  Brand new module called HTTP::Cookies.  It stores cookies
2014     (Set-Cookie and Set-Cookie2 headers) from responses and can
2015     create appropriate Cookie headers for requests.  It can also
2016     share cookie files with Netscape.
2017
2018  o  LWP::UserAgent now support the cookie_jar() attribute.  When
2019     set to an HTTP::Cookies object, it will automatically manage
2020     the cookies sent to the servers.  Off by default.
2021
2022  o  New header utility functions in HTTP::Headers::Util.
2023
2024  o  Win32 and OS/2 patches for the lwp-xxx utilities.  Turn on
2025     binary mode by default (option to turn it off), avoid modifying $0,
2026     and don't be confused about suffixes in the script names.
2027     Contributed by Ben Coleman <bcoleman@mindspring.com>
2028
2029  o  OpenVMS patch for Font:AFM by Brad Hughes <brad@tmc.naecker.com>
2030
2031
2032
2033 Fri Sep  5 1997   Gisle Aas <aas@sn.no>
2034
2035  o  Release 5.12
2036
2037  o  decode_entities() would sometimes introduce ";" after
2038     things that looked like they were entities.
2039
2040  o  HTML::LinkExtor knows about <applet code="...">
2041
2042  o  Patch from Gary Shea <shea@gtsdesign.com> that makes the
2043     tests work even if perl is not called "perl"
2044
2045  o  HTTP::Date handles 12:00PM correctly now. Patch from
2046     William York <william@mathworks.com>
2047
2048  o  HTTP::Request::Common don't quote the boundary string for
2049     multipart/form-data messages any more.
2050
2051  o  Font::AFM works for encodings where .notdef is defined to
2052     have some size.  Documentation and efficiency update.
2053
2054
2055
2056 Wed Aug  6 1997   Gisle Aas <aas@sn.no>
2057
2058  o  Release 5.11
2059
2060  o  Perl version 5.004 is now required for libwww-perl.
2061
2062  o  Win32 patches from Gurusamy Sarathy <gsar@engin.umich.edu>.
2063     Now passes all tests on that platform.
2064
2065  o  HTTPS support contributed by Josh Kronengold <mneme@mcny.com>
2066
2067  o  Support hex entities &#xFF;  HTML::Entities::(en|de)code only
2068     modify their argument in void context.
2069
2070  o  Fixed formatter bug with <font> tags which did not specify size.
2071
2072  o  Better HTML::HeadParser documentation
2073
2074  o  Fixed HTML::LinkExtor documentation typo spotted by Martijn.
2075
2076  o  HTTP::Request::Common now use CRLF for multipart/form-data
2077
2078
2079
2080 Fri Jun 20 1997   Gisle Aas <aas@sn.no>
2081
2082  o  Release 5.10
2083
2084  o  Make '+' a reserved URL character.  Decode unescaped '+' as
2085     space in $url->query_form().
2086
2087  o  Use $Config{d_alarm} to determine default for $ua->use_alarm()
2088
2089
2090
2091 Tue Jun 10 1997   Gisle Aas <aas@sn.no>
2092
2093  o  Release 5.09
2094
2095  o  Removed the MIME modules from the distribution.  They are distributed
2096     separately now.
2097
2098  o  Added a new module called HTTP::Request::Common
2099
2100  o  Improved HTTP::Status documentation.  It is now also possible
2101     to import the is_client_error/is_server_error functions.
2102
2103  o  LWP::MediaTypes::guess_media_type() can now take an optional
2104     HTTP::Header parameter.
2105
2106  o  LWP::Protocol ensures that scheme is legal as module name.
2107
2108  o  LWP::Protocol::http is not as strict when trying to verify the
2109     method name.  It now also accepts responses without a message
2110     on the status line.
2111
2112  o  WWW::RobotRules::AnyDBM_File: Some DBMs fail to allow multiple
2113     opens of the same file.  Patch from Mark James <jamesm@skate.org>
2114
2115  o  Created Bundle::LWP
2116
2117
2118
2119 Sat Apr  5 1997   Gisle Aas <aas@sn.no>
2120
2121  o  Release 5.08
2122
2123  o  Made libwww-perl warning compatible with upcoming perl5.004beta2
2124     (aka 5.003_98)
2125
2126  o  encode_base64() did not work properly if pos() of the string to
2127     encode was different from 0.
2128
2129  o  HTML::Parser was confused about "</" when it did not start an end tag.
2130
2131  o  HTML::FormatPS will provide ISOLatin1Encoding in its output.
2132
2133  o  Calling HTML::LinkExtor->links will clear out old links.
2134
2135  o  url()->rel($base) would ignore the $base argument.
2136
2137  o  Don't croak() when setting url()->path().
2138
2139
2140
2141 Tue Feb 11 1997   Gisle Aas <aas@sn.no>
2142
2143  o  Release 5.07
2144
2145  o  Can limit the size of the response content with $ua->max_size()
2146
2147  o  Added time2iso() functions to HTTP::Date.
2148
2149  o  Made LWP::Protocol::http more portable to the MacPerl. /./ match
2150     different things on MacPerl.
2151
2152
2153
2154 Mon Jan 27 1997   Gisle Aas <aas@sn.no>
2155
2156  o  Release 5.06
2157
2158  o  URI::URL is now compatible with perl5.004 overloading.
2159
2160  o  HTML::HeadParser makes X-Meta-Name headers for <meta> elements
2161     that does not specify an 'http-equiv' attribute.
2162
2163  o  URI::URL::ftp does not die if Net::Domain is not installed and
2164     you ask for an anonymous username or password.
2165
2166  o  WWW::RobotRules:  The robots.txt parser did not ignore comment lines
2167     as it should.
2168
2169  o  LWP::Protocol::http is more forgiving towards servers that return
2170     bad responses.
2171
2172  o  Allow "?" before search string in gopher URLs.
2173
2174  o  LWP::Protocol::file did not escape funny filenames when generating
2175     HTML directory listings.
2176
2177  o  LWP::Protocol::ftp now gets the Content-Encoding correct. 'CODE'
2178     content in PUT requests also work now.
2179
2180  o  Relative locations in redirects did not work with URI::URL::strict.
2181
2182  o  OS/2 portability patches from Ilya Zakharevich
2183
2184  o  LWP::Authen::* patch from Doug MacEachern
2185
2186  o  Support experimental data:- URLs
2187
2188  o  Some tests (those using HTTP::Daemon) now die more gracefully if
2189     IO::* modules is not installed.
2190
2191
2192
2193 Wed Dec  4 1996   Gisle Aas <aas@sn.no>
2194
2195  o  Release 5.05
2196
2197  o  LWP::UserAgent::simple_request: local($SIG{__DIE__}) protects us
2198     against user defined die handlers.
2199         
2200  o  Use Net::Domain (instead of Sys::Hostname) to determine FQDN.  It
2201     is used by URI::URL when it determines anonymous ftp login address.
2202         
2203  o  lwp-download: New program in the bin directory
2204
2205  o  HTML::Parser: Allow '_' in attribute names.  This makes it possible
2206     to parse Netscape's bookmarks.html file.
2207
2208  o  HTTP::Daemon: Fixed chunked transfer encoding and multipart content
2209     in get_request().  Support HTTP/0.9 clients.
2210
2211  o  Don't clobber regex variables when HTTP::Message delegates methods
2212     to the header.
2213
2214  o  Base64::decode_base64 now checks that the length input string to
2215     decode is a multiple of 4.
2216
2217  o  t/robot/rules-dbm.t clean up better and will use AnyDBM for dumping
2218
2219  o  File::CounterFile: $/ strikes again by Andreas König
2220
2221  o  File::Listing updates from William York <william@mathworks.com>. We
2222     can now parse the MS-Windows ftp server listings.
2223
2224  o  HTTP::Date now supports the MS-Windows 'dir' date format.  Patch by
2225     William York.
2226
2227  o  LWP::MediaTypes::media_suffix will return first type in scalar context.
2228
2229
2230
2231 Tue Oct 22 1996   Gisle Aas <aas@sn.no>
2232
2233  o  Release 5.04
2234
2235  o  Added HTTP::Daemon.  This is a HTTP/1.1 server class.  This means
2236     that libwww-perl no longer is a client library only.  The HTTP::Daemon
2237     is also used in the new test suite.
2238
2239  o  HTTP::Message support the protocol() method.  Used by HTTP::Daemon.
2240
2241  o  HTTP::Response can be constructed with a header and content as
2242     argument.
2243
2244  o  Typo corrections in the documentation.
2245
2246  o  File::Listing::parse_dir accepts "GMT" as timezone now.
2247
2248  o  HTML::Parser will call the start() method with two new parameters;
2249     $attrseq, $origtext.
2250
2251  o  Integrated HTML::FormatPS patches from
2252     Jim Stern <jstern@world.northgrum.com>
2253
2254  o  Class modules don't inherit from AutoLoader any more.  They just
2255     import the AUTOLOAD method.
2256
2257  o  LWP::Protocol will untaints scheme before loading protocol module.
2258
2259  o  Digest does not send "opaque" if it was not present in the request.
2260     The "Extension" header is not returned any more.
2261
2262  o  New method: $url->crack that will return a list of the various
2263     elements in a URI::URL.
2264
2265  o  WWW::RobotRules did not use the agent() method when determining
2266     who we are.  This affected WWW::RobotRules::AnyDBM_File parsing
2267     for robots.txt.  Visit count did not increment for
2268     WWW::RobotRules::InCore.
2269
2270
2271
2272 Tue Oct  1 1996   Gisle Aas <aas@sn.no>
2273
2274  o  Release 5.03
2275
2276  o  Hakan Ardo's persistent robot rules is now part of the standard
2277     distribution.  This is still experimental and might change in the
2278     future.  It includes the new WWW::RobotRules::AnyDBM_File class
2279     and updates to LWP::RobotUA.
2280
2281  o  HTML::Parser now supports buggy Netscape comment parsing.  Enable
2282     it by calling $p->netscape_buggy_comment(1).  The previous version
2283     of the parser could also (under very unlucky and unlikely
2284     circumstances) call the $self->comment() method several times for
2285     the same comment text.
2286
2287  o  HTML::Parser: Use new $p->eof to signal end of document instead of
2288     $p->parse(undef).
2289
2290  o  HTML::Element::starttag() is now smarter about which quotes it
2291     use around attribute values.
2292
2293  o  New HTTP::Response methods: current_age(), freshness_lifetime(),
2294     is_fresh(), fresh_until().
2295
2296  o  HTTP::Message:  New method ($mess->content_ref) which will return
2297     a reference to the current content.
2298
2299  o  URI::URL:  New method ($url->rel) which does the opposite of abs().
2300     Example: url("http://host/a/b/c", "http://host/c/d/e")->rel would
2301     return url("../../a/b/c", "http://host/c/d/e").  This was
2302     suggested by Nicolai Langfeldt <janl@ifi.uio.no>
2303
2304  o  URI::URL:  $url->query_form can now take array references as value
2305     specification.  For instance: $url->query_form(foo => ['bar', 'baz']
2306
2307  o  Avoid '"my" variable $var masks earlier declaration in same scope'
2308     warnings in perl5.003_05.
2309
2310
2311
2312 Wed Sep 11 1996   Gisle Aas <aas@sn.no>
2313
2314  o  Release 5.02
2315
2316  o  lwp-rget:  Initialize proxy settings from envirionment
2317
2318  o  HTML::Entities::encode_entities: Don't encode $ and %
2319
2320  o  HTML::LinkExtor::links: Now works when no links were found.
2321
2322  o  HTTP::Headers::as_string: Allow \n in header value
2323
2324
2325
2326 Tue Aug  1 1996   Gisle Aas <aas@sn.no>
2327
2328  o  Release 5.01.
2329
2330  o  Updated ftp protocol module to be compatible with Net::FTP 
2331     version 2.00 (the version found in libnet-1.00)
2332
2333  o  New HTML parser module called HTML::LinkExtor
2334
2335  o  Various documentation typo corrections.  Most of these contributed
2336     by Bob Dalgleish.
2337
2338  o  HTML::HeadParser updates 'Content-Base' instead of 'Base'.  It also
2339     updates the 'Link' header based on <link ...>
2340
2341  o  HTTP::Headers and HTTP::Status updated according to
2342     draft-ietf-http-v11-spec-06
2343
2344  o  HTTP::Headers can now use "_" as alternative to "-" in field names.
2345
2346  o  HTTP::Response::base now looks for 'Content-Base',
2347     'Content-Location' and 'Base' headers.
2348
2349  o  Avoid warning in LWP::MediaTypes if $ENV{HOME} is not defined.
2350
2351  o  The new $ua->parse_head() method can be used to turn off
2352     automatic initialization of response headers from the <HEAD>
2353     section of HTML documents.
2354
2355  o  Added eq() method for URI::URL objects
2356
2357  o  The HTML::Formatter recovers even if a handle method is not defined
2358     for all tags found during traversal
2359
2360
2361
2362 Sun May 26 1996   Gisle Aas <aas@sn.no>
2363
2364  o  Release 5.00.
2365
2366  o  LWP::Simple::head() now return something useful in scalar context.
2367
2368  o  Rewritten the HTML::Parse stuff.  Introduced the HTML::Parser class
2369     that will tokenize a HTML document.  The rest of the old
2370     HTML::Parse functionality has moved to HTML::TreeBuilder class.
2371     Note, that the HTML stuff is still alpha.
2372
2373  o  Implemented HTML::HeadParser.  This is a lightweight parser for
2374     the <HEAD> section of a HTML document.
2375
2376  o  HTML::Element had problem with presenting things like <foo
2377     bar="bar">.
2378
2379  o  HTML::Entities: Included additional ISO-8859/1 entities listed in
2380     RFC1866.
2381
2382  o  HTML::AsSubs exported 'header' instead of 'head'
2383
2384  o  We know about a few more of the HTML 3.2 element.
2385
2386  o  HTTP::Date had problems with years before 1970, because Time::Local
2387     went into an infinite loop.  Check for this.
2388
2389  o  Added $header->title method.
2390
2391  o  Made $header->authorization_basic return "uname:passwd" in scalar
2392     context
2393
2394  o  LWP::Protocol::collect() will let the HTML::HeadParser look at the
2395     document content as it arrives.  This will initialize headers from
2396     elements like <base href="...">, <title>...</title> and <meta
2397     http-equiv="..." ...>.
2398
2399  o  Simplified $response->base implementation, because we don't have
2400     to look into the content any more.
2401
2402  o  Added -quiet option to lwp-rget
2403
2404  o  Typo fixes and some documentation additions.
2405
2406
2407
2408 Thu May  9 1996   Gisle Aas <aas@sn.no>
2409
2410  o  Release 5b13
2411
2412  o  Made URI::URL::strict(0) the default.  I got tired of all this
2413     eval { } stuff just to recover.  The URI::URL::strict'ness also
2414     determine if calling some standard method that happens to be
2415     illegal for some protocol scheme will croak or just be ignored.
2416
2417  o  Ensure correct $INPUT_RECORD_SEPARATOR and $OUTPUT_RECORD_SEPARATOR
2418     at places where we <> or print.
2419
2420  o  Always localize $_ before any 'while(<FILE>) {}'-loops
2421
2422  o  Implemented $protocol->collect_once() and simplified several
2423     of the protocol implementations by using it.
2424
2425  o  The HTML parser used to get it wrong if you were unlucky about the
2426     breakup of the text. An example of broken behaviour was this:
2427
2428         $html = parse_html "<!-- A comment -";
2429         $html = parse_html "-> and some text.";
2430
2431  o  The HTML parser does not ignore whitespace-only text any more.
2432
2433  o  HTML::Parse warnings are now optional and turned off by default.
2434
2435  o  New start for $html->as_HTML().
2436
2437  o  Fixed some typos
2438
2439
2440
2441 Wed Apr 24 1996   Gisle Aas <aas@sn.no>
2442
2443  o  Release 5b12
2444
2445  o  New utility program called 'lwp-rget'.
2446
2447  o  $response->base was broken for HTML documents
2448
2449  o  New fancy LWP::Debug import() method.  Can now turn on debugging with
2450     "use LWP::Debug '+';"
2451
2452  o  Trap exceptions (die) from the response callback routine
2453
2454  o  The RobotUA now requires an e-mail address of the person reponsible
2455     for the robot.
2456
2457  o  New $ua->from() method.
2458
2459  o  Support for gopher Index-Search (gopher type '7' requests).
2460     Contributed by Harry Bochner <bochner@das.harvard.edu>
2461
2462  o  Cleaned up white-space usage in the source.
2463
2464
2465
2466 Wed Apr  3 1996   Gisle Aas <aas@sn.no>
2467
2468  o  Release 5b11
2469
2470  o  Implemented a NNTP protocol module.  The library can now fetch and
2471     post news articles.
2472
2473  o  More documentation
2474
2475  o  Don't look at the URI header for redirects
2476
2477  o  New $res->base() method for HTTP::Responses
2478
2479  o  Graham Barr's patch to File::Listing to make it more OO internally
2480
2481  o  content_type() return value is canonicalized
2482
2483  o  $ua->request() does not die on bad URLs any more
2484
2485  o  LWP::MediaTypes merge all media.types files that if finds
2486
2487  o  FTP request with content to file or callback did not work
2488
2489  o  The value of HTTP Host: header is now $url->netloc;
2490
2491  o  The URI::URL constructor now accept URLs wrapped up in "<>"
2492
2493  o  $url->abs() now has a second optional argument that makes it accept
2494     that relative URLs can have scheme, i.e. treat "http:img.gif" as a
2495     relative URL.
2496
2497  o  Added prototypes to the HTTP::Status::is_xxx() functions
2498
2499  o  Added prototypes to the MIME:: encoding/decoding functions
2500
2501  o  Always return scheme for mailto and news URLs (as_string)
2502
2503  o  RobotRules patches from Henry A Rowley.
2504
2505  o  More tests
2506
2507  o  <SMALL> and <BIG> again
2508
2509
2510
2511 Thu Mar 14 1996   Gisle Aas <aas@sn.no>
2512
2513  o  Release 5b10
2514
2515  o  GET ftp://host/doc was never successful for normal files.
2516
2517  o  LWP::Socket: read_until() did not notice EOF condidtion.  I.e. if
2518     a HTTP server closed the connection before any output was generated,
2519     the we continued to read 0 bytes in a busy loop until the alarm()
2520     killed us.
2521
2522  o  Added support for Digest Access Authentication.  Contributed by
2523     Doug MacEachern <dougm@osf.org>.
2524
2525  o  Makefile.PL: check for MD5 library
2526
2527  o  No longer print message content in HTTP::Response::error_as_HTML()
2528
2529  o  Access to "file:/path" gave warning when the envirionment variable
2530     no_proxy was set.
2531
2532  o  The http-post test sends a Content-Type header.  Some servers hang
2533     if this header is missing.
2534
2535  o  HTML::Parse:
2536      -   allow <SMALL> and <BIG> tags
2537      -   allow empty attribute values
2538
2539
2540
2541 Tue Mar  5 1996   Gisle Aas <aas@sn.no>
2542
2543  o  Release 5b9
2544
2545  o  Started to write on the libwww-perl cookbook (lwpcook.pod)
2546
2547  o  The URI::URL module now exports the function url().  This is an
2548     alternative (easy to use) constructor function.
2549
2550  o  Expanding relative file URLs starting with "#" did not work.
2551
2552  o  Fixed autoloaded DESTROY problem by adding empty DESTROY routine
2553     to URI::URL.
2554
2555  o  Does not try generate password for ftp-URLs unless the username is
2556     "anonymous" or "ftp"
2557
2558  o  The LWP::Simple user agent proxy settings are intialized from
2559     the proxy environment variables. 
2560
2561  o  LWP::Protocol::ftp: Use the Net::FTP library to access ftp servers.
2562     Convert directories to HTML on request (Accept: text/html).
2563
2564  o  New module HTTP::Negotiate
2565
2566  o  New module File::Listing
2567
2568  o  HTTP::Date::str2time can parse a few more formats, like the 'ls -l'
2569     format and ISO 8601.  The function now also takes an optional second
2570     parameter which specify a default time zone.
2571
2572  o  Added prototypes to the HTTP::Date functions.
2573
2574  o  The library adds a timestamp to responses ("Client-Date")
2575
2576  o  HTTP::Status:  Updated to proposed HTTP/1.1
2577
2578  o  HTTP::Headers: Updated to proposed HTTP/1.1
2579
2580  o  LWP::Protocol::http:  Updated to HTTP/1.1 methods
2581
2582  o  Took out stringify overloading in HTML::Element.
2583
2584
2585
2586 Mon Feb 26 1996   Gisle Aas <aas@sn.no>
2587
2588  o  Release 5b8
2589
2590  o  Renamed functions using thisStyleOfNames to this_style_of_names.
2591     Provided a script called 'update_from_5b7'
2592
2593  o  Renamed the 'request' and 'mirror' scripts to 'lwp-request' and
2594     'lwp-mirror'.  The GET, POST, HEAD aliases for 'lwp-request' are
2595     the same.
2596
2597  o  Implemented LWP::RobotUA
2598
2599  o  Class name for RobotRules did not match the file name
2600
2601  o  URI::URL
2602       - perl5.002gamma is required (because use vars).
2603       - The leading slash in now part of the path if it is present.
2604       - More documentation
2605       - Use AutoLoader to speed things up.
2606       - New class URI::URL::_login and made telnet, rlogin, tn3270
2607         subclasses from this one.
2608       - URI::URL::wais is better supported.
2609       - URI::URL::news is better supported.
2610       - New URI::URL::mailto methods: user/host
2611
2612  o  HTTP::Date::time2str now works correctly with '0' as argument
2613
2614  o  HTTP::Message delegates unknown methods to the headers.
2615
2616  o  HTTP::Request::uri is an alias for HTTP::Request::url.  Can set
2617     the URL to undef.
2618
2619  o  Added convenience methods to HTTP::Headers for easy access to
2620     frequently used headers.
2621
2622  o  Simplified LWP::Debug
2623
2624  o  Use standard AutoLoader for LWP::IO functions.
2625
2626  o  Played with the profiler (Devel::DProf) and made some things
2627     go quicker.
2628
2629  o  Included the File::CounterFile module.  Excluded Mail::Cap module
2630     as it is also part of the MailTools package.
2631
2632
2633
2634 Mon Feb  5 1996   Gisle Aas <aas@sn.no>
2635
2636  o  Release 5b7
2637
2638  o  Perl5.002 is required now
2639
2640  o  Rewrite of the URI::URL module (version 4.00)
2641       - escaping/unsafe stuff redone (and removed)
2642       - URI::URL::_generic moved out of URL.pm
2643       - netloc, path, params, query is now stored internally in escaped form
2644       - new methods for URI::URL::_generic are:
2645            epath
2646            eparams
2647            equery
2648            path_components
2649            absolute_path
2650       - new methods for URI::URL::http are:
2651            keywords
2652            query_form
2653       - new methods for URI::URL::file are:
2654            newlocal
2655            local_path
2656            unix_path
2657            dos_path
2658            mac_path
2659            vms_path
2660
2661  o  URI::Escape now semi-compile regular expressions (by evaling an
2662     anonymous sub).  Same techinque is also used in HTML::Entities.
2663
2664  o  HTTP::Date parser rewritten using regular expressions.
2665
2666  o  HTTP::Headers->as_string() now croaks if any field values
2667     contain newline.
2668
2669  o  HTTP::Status constants use empty prototype.
2670
2671  o  Font metrics moved to a new subdirectory (lib/Font/Metrics)
2672
2673  o  Don't use the VERSION script any more (even if it was very clever)
2674
2675  o  HTML::Entities will now export the names decode_entities() and
2676     encode_entities().
2677
2678  o  Andreas Koenig's black patch to HTML::Element.
2679
2680  o  The HTML::Formatter now knows about <menu> and <dir> tags
2681
2682  o  The construct "defined ref($arg)" did not work on perl5.002
2683     becase ref now always return something defined.
2684
2685  o  LWP::UserAgent sends by default an 'User-Agent' header.
2686
2687  o  LWP::Simple sends 'User-Agent' header to servers.
2688
2689  o  Updated the LWP::Socket module to use the new Socket.pm interface.
2690
2691  o  LWP::Protocol::http sends the new HTTP/1.1 'Host' header.
2692
2693  o  LWP::Protocol::file use $url->local_path to get a file to open.
2694     It also inserts a <BASE> tag in directories instead of a redirect.
2695
2696  o  MIME::Base64 routines can be called as MIME::Base64::encode() and
2697     MIME::Base64::decode().  Same kind of thing for QuotedPrint.
2698
2699
2700
2701 Mon Nov  6 1995   Gisle Aas <aas@oslonett.no>
2702
2703  o  Release 5b6
2704
2705  o  Installation should work better for those that still runs
2706     perl4 as 'perl'.  The mirror script is not installed by
2707     default.
2708
2709  o  LWP::Socket::_getaddress() Numerical IP adresses did not work.
2710
2711  o  LWP::Socket::pushback() did not work.  This also avoids the bad
2712     pp_select() core dump from perl.
2713
2714  o  LWP::IO now also selects on socket exceptions.
2715
2716  o  HTML::Parse:  Ignore <!DOCTYPE ...> regardless for case.  Some
2717     bad insertElement() calls made infinite loops.
2718
2719  o  The uri.t test works better for places where /tmp is a sym-link.
2720
2721
2722
2723 Sat Sep 16 1995   Gisle Aas <aas@oslonett.no>
2724
2725  o  Release 5b5
2726
2727  o  newlocal URI::URL does not put "//localhost" into the URLs any
2728     longer.
2729
2730  o  The request program: New -o option to reformat the HTML code
2731     New -C option to provide credentials on the command line.
2732     The -b option never worked.
2733
2734  o  LWP::Protocol::file now returns redirect for access to directories
2735     where the trailing slash is missing.
2736
2737
2738
2739 Thu Sep 14 1995   Gisle Aas <aas@oslonett.no>
2740
2741  o  Speedups and bug fixes in the HTML parser.  The parser now
2742     understands some more depreciated tags (like <xmp> and <listing>).
2743
2744  o  HTML::Elements are now stingified using perl overloading.
2745     The interface to the traverse() callback has changed.
2746
2747  o  Implemented HTML formatters for plain text and Postscript.
2748
2749  o  Added lib/Font stuff to support the Postscript formatter.
2750
2751  o  Inspired by Tim Bunce, I implemented the HTML::AsSubs module.
2752     Don't know if it is really useful.
2753
2754  o  The local/get test does not use /etc/passwd any more.
2755
2756
2757
2758 Thu Sep  7 1995   Gisle Aas <aas@oslonett.no>
2759
2760  o  Changed package name to libwww-perl-5xx
2761
2762  o  Made LWP::Protocol::ftp actually transfer data
2763
2764  o  Implemented methods for LWP::Socket to act as a server:
2765     bind(), listen(), accept(), getsockname(), host(), port()
2766
2767
2768
2769 Wed Sep  6 1995   Gisle Aas <aas@oslonett.no>
2770
2771  o  Release 0.04
2772
2773  o  Implemented modules to parse HTML.
2774
2775
2776
2777 Mon Sep  4 1995   Gisle Aas <aas@oslonett.no>
2778
2779  o  Implemented Mail::Cap which will become part of the MailTools
2780     package.
2781
2782  o  Moved Base64 to MIME::Base64.  Reimplemented MIME::Base64 by using
2783     [un]pack("u",...)   Implemented LWP::MIME::QuotedPrint for
2784     completness sake.  Routine names has changed as suggested by Tim
2785     Bunce.
2786
2787  o  LWP::MediaType reads default types from media.types file.
2788     guessMediaType() now also returns encodings.  New function mediaSuffix()
2789
2790  o  Pass $url to $ua->getBasicCredentials().  This also fixes security
2791     hole with the old implementation of getBasicCredentials().
2792
2793  o  LWP::Protocol::file now sets Content-Encoding headers
2794
2795  o  Allow request content to be provided by a callback routine.
2796
2797  o  Fix bug that prevented response callback to work.  The first parameter
2798     (data) is no longer a reference, because $_[0] is already a reference.
2799     Don't callback unless successful response.  Callbacks during redirects
2800     was confusing.
2801
2802  o  URI::URL.  Remove port from netloc if it is the default port.
2803     Don't use anything, just require.
2804
2805  o  HTTP::Message->addContent() does not need a reference parameter.
2806
2807  o  LWP::Socket->open() has been renamed top LWP::Socket->connect()
2808     LWP::Socket->close has gone.  Implemented new method LWP::Socket->read()
2809     that returns as fast as it has some data to offer.  Implemented
2810     LWP::Socket->pushback().
2811
2812  o  Does not die in LWP::UserAgent->request()
2813
2814  o  LWP::Socket now use LWP::IO for low level IO
2815
2816  o  Implemented LWP::TkIO as a replacement module for LWP::IO when using Tk.
2817
2818
2819
2820 Thu Aug 17 1995   Gisle Aas <aas@oslonett.no>
2821
2822  o  $ua->redirectOK() for checking redirects
2823
2824  o  reorganized tests in the "t" directory.
2825
2826
2827
2828 Fri Aug 11 1995   Gisle Aas <aas@oslonett.no>
2829
2830  o  Release 0.03
2831
2832  o  Included RobotRules.pm from Martijn Koster
2833
2834
2835
2836 Thu Aug 10 1995   Gisle Aas <aas@oslonett.no>
2837
2838  o  New module URI::Escape (URI::URL use this module for default
2839     escaping) that provide the uri_escape() and uri_unescape()
2840     functions.
2841
2842  o  Setting $url->scheme now changes the class of the object.
2843
2844  o  Made $httpurl->user() and $httpurl->password() illegal.
2845     Likewise for other URL schemes.
2846
2847
2848
2849
2850 Wed Aug  9 1995   Gisle Aas <aas@oslonett.no>
2851
2852  o  Reorganisation as discussed on <libwww-perl@ics.uci.edu>
2853        LWP::Date       --> HTTP::Date
2854        LWP::MIMEheader --> HTTP::Headers
2855        LWP::StatusCode --> HTTP::Status
2856        LWP::Message    --> HTTP::Message
2857        LWP::Request    --> HTTP::Request
2858        LWP::Response   --> HTTP::Response
2859        LWP::MIMEtypes  --> LWP::MediaTypes
2860
2861  o  HTTP::Date parses ctime format with missing timezone as suggested
2862     by Roy Fielding <fielding@beach.w3.org>
2863
2864  o  HTTP::Status and LWP::MediaTypes exports their functions by default.
2865
2866  o  Splitted up the URI::URL module.  Schemes are implemented by separate
2867     files that are autoloaded when used.  Self test moved to "t/uri.t".
2868
2869
2870        
2871 Mon Aug  7 1995   Gisle Aas <aas@oslonett.no>
2872
2873  o  Applied patch from Marc Hedlund <hedlund@best.com>
2874        - Update the @header_order according to the August 3rd draft.
2875        - Added Response Header fields: 'Location', 'Public', 'Retry-After',
2876          'Server', and 'WWW-Authenticate'.
2877        - Moved 'unknown header' handling from &scan to &header. The old
2878          implementation was forcing all unknown header-words to begin with
2879          an uppercase (as it should be), but disallowed other uppercase
2880          letters.
2881        - updates the status code messages under the August
2882          3rd HTTP/1.0 draft.  '203' became 'Non-Authoritative Information',
2883          '303' became 'See Other', and a new code,
2884          '411 Authorization Refused', was added.
2885
2886  o  Can remove multiple headers with single removeHeader() call in MIMEheader.
2887
2888  o  Can assign multiple field/value pairs in header() method of MIMEheader.
2889
2890  o  A field with multiple values is printed as separate values in
2891     MIMEheader::as_string().
2892
2893  o  LWP::Response contain new attributes: previous() and request().  These
2894     attributes are updated by the UserAgent.
2895
2896  o  Appended \n to some die statements in Socket so that line numbers are
2897     suppressed in error messages.
2898
2899  o  Made UserAgent::clone work for reference members
2900
2901  o  Check for redirect loops and multiple authorization failures by
2902     examination of the response chain.
2903
2904  o  Use "\015\012" instead of "\r\n" in protocol modules.  Some systems
2905     define \r and \n differently.
2906
2907  o  request program can now handle documents that needs autorization by
2908     prompting the user for username/password. Added new -S option to print
2909     request/response chain.
2910
2911
2912   
2913 Tue Jul 25 1995   Gisle Aas <aas@oslonett.no>
2914
2915  o  Release 0.02
2916
2917  o  Included URI::URL in the release
2918
2919
2920
2921 Mon Jul 24 1995   Gisle Aas <aas@oslonett.no>
2922
2923  o  Incorporated Makemake.PL and VERSION from Andreas Koenig <koenig@mind.de>
2924     As a result of this the following things have changed:
2925        - programs in "bin" are extracted from .PL-files
2926        - reintroduced "lib"
2927        - "test" has been renamed as "t"
2928        - test programs in "t" has been made Test::Harness compatible
2929        - we now have a MANIFEST file
2930        - no more need fro update_version, make-dist, lwp-install
2931
2932  o  Renamed bin/get to bin/request.  Links to it are now all upper case.
2933
2934  o  Proxy support in bin/request (provided by Martijn Koster)
2935
2936  o  UserAgent can now load proxy settings from environment
2937
2938  o  LWP::Protocol::ftp is under way but not really finished
2939
2940
2941
2942 Tue Jul 18 1995   Gisle Aas <aas@oslonett.no>
2943
2944  o  Implemented LWP::Protocol::gopher
2945
2946  o  Implemented LWP::Protocol::mailto
2947
2948  o  Fixed proxy typo
2949
2950
2951
2952 Mon Jul 17 1995   Gisle Aas <aas@oslonett.no>
2953
2954  o  Made release 0.01
2955
2956
2957
2958 Mon Jul 17 1995   Gisle Aas <aas@oslonett.no>
2959
2960  o  Don't loose first line of HTTP/0.9 requests
2961
2962  o  LWP::Socket use syswrite() for writing
2963
2964  o  Added RC_* documentation to LWP::StatusCode
2965
2966  o  LWP::Date now use hash to look up month numbers
2967
2968  o  Added -f option to "get"
2969
2970  o  Untabify
2971
2972  o  Added a "TODO" list
2973
2974  o  Fixed various typos
2975
2976
2977
2978 Fri Jul 14 1995   Gisle Aas <aas@oslonett.no>
2979
2980  o  Reorganized directories.  Moved LWP.pm up.  Moved file.pm and http.pm
2981     into the LWP::Protocol direcotory.  Moved LWP out of the lib directory
2982     and removed lib.
2983
2984  o  Implemented the "get" and "mirror" scripts in the "bin" directory.
2985
2986  o  Implemented "install-lwp", "update_version" and "make-dist".  The library
2987     version number is found in the VERSION file.
2988
2989  o  Always adds 1900 to the year in LWP::Date
2990
2991  o  In LWP::MIMEheader:  Implemented clone(), removeHeader() and scan() 
2992     methods.  Reimplemented asString.  Removed asMIME().  Moved "Good
2993     Practice" into this file, and reimplemented it.
2994
2995  o  Moved "header" and "content" into LWP::Message class.  This change made
2996     LWP::Request and LWP::Response much simpler.  Made clone() method
2997     actually work.
2998
2999  o  LWP::Protocol::implementor does not die if it cannot load package.
3000
3001  o  Moved UserAgent convenience methods into LWP::Simple.  Made LWP::Simple
3002     export LWP::StatusCode symbols and functions.
3003
3004  o  Implemented $ua->isProtocolSupported($scheme) method.
3005
3006  o  Nicer directory listing in LWP::Protocol::file.pm
3007
3008  o  Rely on URI::URL 3.00 behaviour for $url->full_path
3009
3010  o  Library version number now in LWP.pm.  You should be able to say
3011     "use LWP 1.0;" if you need at least this version.
3012
3013  o  Various cleanups and arranging layout as I like it.  Use fooBar-style
3014     (as opposed to foo_bar stype) everywhere.  This means that as_string()
3015     now is called asString().
3016
3017  o  Added more documentation.
3018
3019
3020
3021 Wed Jun 14 1995   Gisle Aas <aas@oslonett.no>
3022
3023  o  Removed lot of rendundant & before function calls.
3024
3025  o  $this --> $self
3026
3027  o  &collector passes content as a reference, don't want to copy so much
3028
3029  o  parameterlist to collect callback has been rearranged
3030
3031  o  Response::addContent gets a reference to the data
3032
3033  o  Added some callback documentation to UserAgent.pm
3034
3035  o  Protocol::file now uses the collector
3036
3037  o  Introduced LWP::Simple
3038
3039
3040
3041 Sun Jun 11 1995   Martijn Koster <m.koster@nexor.co.uk>
3042
3043  o  Added basic authentication support
3044
3045  o  Added mirroring of single documents
3046
3047  o  Change Protocol construction from whacky URL.pm (constructor returns
3048     subclass) to more normal C++'ish way.
3049
3050
3051
3052 Wed June 7 1995   Martijn Koster <m.koster@nexor.co.uk>
3053
3054  o  Minor cleanups from printed code inspection
3055
3056
3057
3058 Wed May 24 1995   Martijn Koster <m.koster@nexor.co.uk>
3059
3060  o  Added redirection resolution
3061
3062  o  Added optional autoloading of protocols
3063
3064
3065
3066 Tue May 23 1995   Martijn Koster <m.koster@nexor.co.uk>
3067
3068  o  Separated socket stuff into separate module
3069
3070  o  Added HTTP proxy support
3071
3072  o  Made alarm handling optional
3073
3074  o  Added a LWP::Message for completeness sake
3075
3076  o  Added LWP::MemberMixin to reduce code duplication
3077
3078  o  Cosmetic changes to LWP::Date
3079
3080  o  Renamed LWP::Error to LWP::StatusCode
3081
3082  o  Renamed LWP::MIME to LWP::MIMEtype
3083
3084  o  Changed the tests to cope with all this
3085
3086 It's getting there...
3087
3088
3089
3090 Mon May 22 1995   Martijn Koster <m.koster@nexor.co.uk>
3091
3092  o  Changed the socket reading to use sysread.  This will have to go
3093     into a module of its own.
3094
3095
3096
3097 Thu 18 May 1995   Martijn Koster <m.koster@nexor.co.uk>
3098
3099  o  Mentioned on libwww-perl that I had changed the classes around lots.