_______________________________________________________________________________ 2013-03-11 Release 6.05 Karen Etheridge (3): Derive message from status code if it was not provided Merge pull request #33 from tomhukins/fix-readme fix typo in comment Ville Skyttä (3): Spelling fixes. Spelling fix. Merge pull request #34 from berekuk/fix-github-path Gisle Aas (3): Update repo URL With Net::HTTP 6.04 we don't need our own can_read() and sysread override $ENV{HTTP_PROXY} might override our test setup [RT#81381] Vyacheslav Matyukhin (1): fix github url in perldoc Slaven Rezic (1): * Pod is utf-8 Peter Rabbitson (1): Match required perl in Makefile.PL Tom Hukins (1): Fix Github URLs _______________________________________________________________________________ 2012-02-18 Release 6.04 Gisle Aas (4): Typo fix; envirionment [RT#72386] Implement $ua->is_online test Add separate option to enable the live jigsaw tests Merge pull request #10 from trcjr/master Theodore Robert Campbell Jr (3): now with put and delete helpers updated POD unit tests for ua->put and ua->delete Peter Rabbitson (1): These modules work with 5.8.1 _______________________________________________________________________________ 2011-10-15 Release 6.03 Ville Skyttä (7): Link updates. Attribute documentation wording improvements. Don't parse robots.txt response content unless it's textual. Decode robots.txt response content before attempting to parse it. RobotUA robots.txt response parsing cleanups. Don't parse HEAD of robots.txt responses. Request handler doc grammar fixes. Gisle Aas (6): Pass on HTTP/1.0 if set as request protocol Remove outdated docs (not touched since 1996 :-) Merge pull request #22 from madsen/RT67947-verify_hostname PERL_LWP_ENV_PROXY tweaks lwp-request didn't respect -H Content-type [RT#70488] lwp-request -H didn't allow repeated headers Christopher J. Madsen (2): verify_hostname defaults to 0 if ssl_opts provided [RT#67947] Test verify_hostname setting Bryan Cardillo (1): Fix expect header support to work with content refs. Moritz Onken (1): add PERL_LWP_ENV_PROXY env variable to enable env_proxy globally _______________________________________________________________________________ 2011-03-27 Release 6.02 This is the release where we try to help the CPAN-toolchain be able to install the modules required for https-support in LWP. We have done this by unbundling the LWP::Protocol::https module from the libwww-perl distribution. In order to have https support you now need to install (or depend on) 'LWP::Protocol::https' and then this will make sure that all the prerequsite modules comes along. See [RT#66838]. This release also removes the old http10 modules that has really been deprecated since v5.60. These should have been removed at the v6.00 jump, but I forgot. Christopher J. Madsen (1): Ignores env variables when ssl_opts provided [RT#66663] Gisle Aas (4): Fix typo; Authen::NTLM [RT#66884] Yury Zavarin (1): Support LWP::ConnCache->new(total_capacity => undef) _______________________________________________________________________________ 2011-03-09 Release 6.01 Add missing HTTP::Daemon dependency for the tests. _______________________________________________________________________________ 2011-03-08 Release 6.00 Unbundled all modules not in the LWP:: namespace from the libwww-perl distribution. The new broken out CPAN distribtions are File-Listing, HTML-Form, HTTP-Cookies, HTTP-Daemon, HTTP-Date, HTTP-Message, HTTP-Negotiate, Net-HTTP, and WWW-RobotRules. libwww-perl-6 require these to be installed. This release also drops the unmaintained lwp-rget script from the distribution. Perl v5.8.8 or better is now required. For older versions of perl please stay with libwww-perl-5.837. For https://... default to verified connections with require IO::Socket::SSL and Mozilla::CA modules to be installed. Old behaviour can be requested by setting the PERL_LWP_SSL_VERIFY_HOSTNAME environment variable to 0. The LWP::UserAgent got new ssl_opts method to control this as well. Support internationalized URLs from command line scripts and in the proxy environment variables. The lwp-dump script got new --request option. The lwp-request script got new -E option, contributed by Tony Finch. Protocol handlers and callbacks can raise HTTP::Response objects as exceptions. This will abort the current request and make LWP return the raised response. _______________________________________________________________________________ 2010-09-20 Release 5.837 David E. Wheeler (1): Fix for Encode 2.40 Gisle Aas (2): Fix Perl syntax error in synopsis Allow ISO 8601 date strings when parsing Apache file listings _______________________________________________________________________________ 2010-05-13 Release 5.836 Gisle Aas (1): Fix problem where $resp->base would downcase its return value _______________________________________________________________________________ 2010-05-05 Release 5.835 Gisle Aas (12): simple string can be simplified Make $mess->decoded_content remove XML encoding declarations [RT#52572] Don't allow saving to filenames starting with '.' suggested by server Avoid race between testing for existence of output file and opening the file Minor doc fixup -- wrongly ucfirsted word Use decoded_content in HTTP:Response synopsis [RT#54139] sun.com is no more. rip! Trivial layout tweak to reduce variable scope. Add 'make test_hudson' target Implement alt_charset parameter for decoded_content() Test decoding with different charset parameters lwp-download now needs the -s option to honor the Content-Disposition header Ville Skyttä (9): Make LWP::MediaTypes::media_suffix case insensitive. Skip XML decoding tests if XML::Simple is not available. Documentation fixes. Fix m_media_type => "xhtml" matching. Make parse_head() apply to data: requests. Documentation spelling fixes. Documentation grammar fixes. Use $uri->secure in m_secure if available. Fix handling of multiple (same) base headers, and parameters in them. Mark Stosberg (5): Strip out empty lines separated by CRLF Best Practice: avoid indirect object notation Speed up as_string by 4% by having _sorted_field_names return a reference Speed up scan() a bit. as_string() from this branch is now 6% faster Port over as_string() optimizations from HTTP::Headers::Fast Tom Hukins (2): Link to referenced documentation. Update repository location. Father Chrysostomos (1): Remove needless (and actually harmful) local $_ Sean M. Burke (1): "Perl & LWP" is available online _______________________________________________________________________________ 2009-11-21 Release 5.834 Gisle Aas (4): Check for sane default_headers argument [RT#50393] Add $ua->local_address attribute [RT#40912] Test that generation of boundary works [RT#49396] Page does not display the "standard" apache listing any more Ville Skyttä (2): Remove unneeded executable permissions. Switch compression/decompression to use the IO::Compress/IO::Uncompress and Compress::Raw::Zlib family of modules. Slaven Rezic (1): lwp-request should use stderr for auth [RT#21620] _______________________________________________________________________________ 2009-10-06 Release 5.833 Gisle Aas (5): Deal with cookies that expire far into the future [RT#50147] Deal with cookies that expire at or before epoch [RT#49467] Pass separate type for https to LWP::ConnCache [RT#48899] Improved handling of the User-Agent header [RT#48461] HTTP::Cookies add_cookie_header previous Cookies [RT#46106] Andreas J. Koenig (1): Improve diagnostics from LWP::UserAgent::mirror [RT#48869] Slaven Rezic (1): mirror should die in case X-Died is set [RT#48236] Ville Skyttä (1): Increase default Net::HTTP max line length to 8k. _______________________________________________________________________________ 2009-09-21 Release 5.832 Ville Skyttä (6): Fix net test suite. Comment spelling fixes. Fix links to old Netscape cookie specification. Documentation spelling fixes. Improve max line length exceeded/read error messages. Do not warn about seemingly wellformed but unrecognized robots.txt lines. Gisle Aas (1): $mess->content_charset would fail for empty content mschilli (1): Further restrict what variables env_proxy() process _______________________________________________________________________________ 2009-08-13 Release 5.831 Ville Skyttä (3): Fix bzip2 content encoding/decoding. send_te() doc grammar fix. Document time2str() behavior with an undefined argument. Gisle Aas (1): HTML::Message's content_charset trigger warnings from HTML::Parser [RT#48621] _______________________________________________________________________________ 2009-07-26 Release 5.830 Gisle Aas (1): select doesn't return undef on failure [RT#32356] Ville Skyttä (1): Add raw RFC 1951 deflate test case. _______________________________________________________________________________ 2009-07-07 Release 5.829 This release removes callback handlers that were left over on the returned HTTP::Responses. This was problematic because it created reference loops preventing the Perl garbage collector from releasing their memory. Another problem was that Storable by default would not serialize these objects any more. This release also adds support for locating HTML::Form inputs by id or class attribute; for instance $form->value("#foo", 42) will set the value on the input with the ID of "foo". Gisle Aas (5): Make the example code 'use strict' clean by adding a my Avoid cycle in response Clean up handlers has from response after data processing is done Support finding inputs by id or class in HTML::Form Test HTML::Form selectors Mark Stosberg (1): Tidy and document the internals of mirror() better [RT#23450] phrstbrn (1): Avoid warnings from HTML::Form [RT#42654] _______________________________________________________________________________ 2009-06-25 Release 5.828 A quick new release to restore compatibility with perl-5.6. Gisle Aas (4): Less noisy behaviour when we can't download the documents Restore perl-5.6 compatibility [RT#47054] Don't decode US-ASCII and ISO-8859-1 content Some versions of Encode don't support UTF-16-BE [RT#47152] Ville Skyttä (1): Spelling fixes. _______________________________________________________________________________ 2009-06-15 Release 5.827 The main news this time is better detection of what character set the document in a response uses and the addition of the lwp-dump script that I found useful. Gisle Aas (31): Added lwp-dump script Replace calls to $req->url with $req->uri Also need to encode strings in the latin1 range Ignore the value set for file inputs [RT#46911] Add docs to lwp-dump Don't let lwp-dump follow redirects Support --method options Implement the --agent option Dictionary order for the option docs; document --method Merge branch 'dump' Files are passed as an array and we must not stringify it. Add content_charset method to HTTP::Message Start guessing the charset for a message Let content_charset guess the charset to use for decoded_content Specify what's missing for the XML and HTML case Provide charset parameter for HTML::Form->parse() Make content_charset sniff for elements specifying the charset. Determine charset of XML documents Get rid of the _trivial_http_get() implementation Update the bundled media.types file LWP::Simple::get() now returns decoded_content [RT#44435] Implement content_type_charset method for HTTP::Headers Implement content_is_text method for HTTP::Headers Make use of content_is_text and content_type_charset in decoded_content Don't let the parse_head callback append to the HTTP headers Don't set Range header on request when max_size is used [RT#17208] Still show client headers for internal responses Document Client-Warning: Internal response Don't use 'no' as example domain for no_proxy docs [RT#43728] Drop exit from the Makefile.PL [RT#43060] Merge branch 'content_charset' Alex Kapranoff (1): Support "accept-charset" attribute in HTML::Form Mark Stosberg (1): new tests for max_size and 206 responses [RT#46230] murphy (1): Reformulation of Client-Warning: Internal documentation _______________________________________________________________________________ 2009-04-24 Release 5.826 Gisle Aas (2): Avoid returning stale Content-Type header after message parts have been updated Don't let content saved to file be affected by the $\ setting Graeme Thompson (1): Issues around multipart boundaries [RT#28970] Mike Schilli (1): Ignore random _proxy env variables, allow only valid schemes Slaven Rezic (1): README.SSL is not anymore available at the linpro.no URL. john9art (1): Make LWP::UserAgent constructor honor the default_headers option [RT#16637] _______________________________________________________________________________ 2009-02-16 Release 5.825 Zefram (1): Fixup test failure with perl-5.8.8 and older; qr/$/m doesn't work _______________________________________________________________________________ 2009-02-13 Release 5.824 Gisle Aas (7): Make format_request() ensure that it returns bytes [RT#42396] Force bytes in all the format_* methods. Ignore Sitemap: lines in robots.txt [RT#42420] Refactor; use variable to hold the test port Add redirects method to HTTP::Message Setting $ua->max_redirect(0) didn't work [RT#40260] Convert files to UTF-8 Zefram (2): HTTP::Cookies destructor should not clobber $! and other globals. Deal with the Encode module distributed with perl-5.8.0 Ian Kilgore (1): Avoid failure if 127.0.0.1:8333 is in use [RT#42866] Ville Skyttä (1): Documentation improvements, spelling fixes. _______________________________________________________________________________ 2008-12-05 Release 5.823 Gisle Aas (4): Bring back the LWP::Debug code [RT#41759] Add documentation section about 'Network traffic monitoring'. Typo fixes Want to ensure we get a single value back here. _______________________________________________________________________________ 2008-12-05 Release 5.822 Gisle Aas (4): A more modern user_agent example. Make it possible to unset the proxy settings again Prefer use specified Content-Length header [RT#41462] Deprecate LWP::Debug _______________________________________________________________________________ 2008-11-25 Release 5.821 Various bug fixes. Gisle Aas (3): The Content-Length and Content-MD5 headers are no longer valid after encode/decode Add META information croak on bad proxy args [RT#39919] Slaven Rezic (1): Skip a failing decoded_content on systems without Encode.pm [RT#40735] Steve Hay (1): Skip LWP test when fork() is unimplemented Yuri Karaban (1): redo used incorrectly in LWP::Protocol::http [RT#41116] jefflee (1): HTTP::Cookies::Microsoft now handles user names with space [RT#40917] ruff (1): Avoid aborting requests saved to file early [RT#40985] _______________________________________________________________________________ 2008-11-05 Release 5.820 Main news is the ability to control the heuristics used to determine the expiry time for response objects. Gisle Aas (8): Reformat later parts of Changes Add a paragraph to summarize the motivation for releases since 5.815 all_pod_files_ok(); Fix POD markup error Calculation of current_age with missing Client-Date. The age/freshness methods now take an optional 'time' argument More correct matching of 'max-age' in freshness_lifetime method The freshness_lifetime method now support options to control its heuristics _______________________________________________________________________________ 2008-10-20 Release 5.819 Release 5.815 to 5.818 had a severe bug that sometimes made LWP not collect all data for the responses it received. This release is strongly recommended as an upgrade for those releases. Gisle Aas (2): Don't override $Net::HTTPS::SSL_SOCKET_CLASS if it's already set. Wrong content handlers would sometimes be skipped [RT#40187] _______________________________________________________________________________ 2008-10-16 Release 5.818 Main news in this release is the addition of the dump() method to the request and response objects. If found that I often ended up printing $resp->as_string for debugging and then regretting after the terminal got into a strange mode or just kept on scrolling for the longest time. Gisle Aas (8): Use deflate compression instead of gzip for the test Simplify; Get rid of the $USE_STORABLE_DCLONE configuration Add dump method to HTTP::Message. Use $res->dump instead of rolling our own. Layout change; move headers() methods to a more logical place. Add support for x-bzip2 encoding; fix bzip2 decoding. Add send_header method to HTTP::Daemon Make the lwp-request User-Agent string include the LWP version. Slaven Rezic (1): clone implemented in terms of Storable::dclone [RT#39611] _______________________________________________________________________________ 2008-10-10 Release 5.817 This is the release where I played around with Devel::NYTProf to figure where time was actually spent during the processing of requests with LWP. The methods that manipulated header objects stood out, so this release contains a few tweaks to make those parts faster. I also figured a few convenience methods to encode and decode the content of request/response objects would be in order. Gisle Aas (16): Should store "wire" headers field names with _ without translation. Test HTTP::Request->parse(). Restore pre-5.815 behaviour of returning "400 Bad Request" [RT#39694] Rename the HTTP::Status constants to have HTTP_ prefix Detection of unsupported schemes was broken [RT#37637] Allow tainted methods to be forwarded to HTTP::Headers [RT#38736] Add strict mode to HTML::Form Fix test now that less warnings are generated. Add content_is_xml method Make split_header_words() lower case returned tokens/keys Avoid invoking AUTOLOAD on object destruction [RT#39852] Add decode() method to HTTP::Message Add encode() method to HTTP::Message Allow multiple fields to be set with push_header(). Make content_type and content_is_xhtml methods faster Faster push_header() _______________________________________________________________________________ 2008-09-29 Release 5.816 Oops, release 5.815 broke download-to-file on Windows. Gisle Aas (2): Add missing binmode() [RT#39668] Doc tweaks _______________________________________________________________________________ 2008-09-24 Release 5.815 The main change this time is the introduction of handlers to drive the processing of requests in LWP::UserAgent. You can also register your own handlers for modifying and processing requests or responses on their way, which I think is a much more flexible approach that trying to subclass LWP::UserAgent to customize it. If we have had these early on then the LWP::UserAgent API could have been so much simpler as the effect of most current attributes can easily be set up with trivial handlers. Also thanks to contributions by Bron Gondwana LWP's Basic/Digest authenticate modules now registers handlers which allow them to automatically fill in the Authorization headers without first taking the round-trip of a 401 response when LWP knows the credentials for a given realm. Gisle Aas (23): We don't need to build the docs to run the tests. Style tweaks. The jigsaw service isn't up to much good these days. HTTP::Cookies produces warnings for undefined cookie param names [RT#38480] Typo fix; HTTP::Message will never include x-bzip2 in Accept-Encoding [RT#38617] Added HTTP::Config module Add methods to configure processing handlers. 100 Continue response not complete. Use 3-arg open when response content to files. Make the show_progress attribute official (by documenting it). Start using handlers for driving the inner logic of LWP::UserAgent. Expose the content_is_html and content_is_xhtml methods from HTTP::Headers. Make credentials method able to get/set values. An auth handler per realm. Match proxy setting for request. Set up separate handler for adding proxy authentication. Add request_preprepare to be able to initialize proxy early enough. Smarter get_my_handler() that can also create handlers. Refactor; introduce run_handlers method Pass in handler hash to the handler callback. Don't let version=1 override behaviour if specified with a plan Set-Cookie header. Remove handler when we don't have a username/password for the realm. Make tests use Test.pm Bron Gondwana (2): Double-check that username or password has changed after a failed login. Update Digest Authen to subclass Basic. Ondrej Hanak (1): Avoid running out of filehandles with DYNAMIC_FILE_UPLOAD. Todd Lipcon (1): Fixed parsing of header values starting with ':' [RT#39367] amire80 (1): Documentation typo fixes [RT#38203] _______________________________________________________________________________ 2008-07-25 Release 5.814 Gisle Aas (13): Typo fix. Add HTTP::Message::decodable() Use decoded_content in the synopsis Avoid adding an empty first part in $mess->add_part() Get rid of all the manual dependency tests. Simplify the Makefile.PL (no interactivity) Provide DELETE method in HTTP::Request::Common [RT#37481] Checkbox picks up nearby text in description of alternates [RT#36771] HTML::Form::possible_values() should not returned disabled values [RT#35248] File::Listing documentation claimed only 'unix' format was supported [RT#22021] File::Listing only support English locales [RT#28879] Make common-req.t use Test.pm Typo; CAN_TALK_TO_OUTSELF Bill Mann (1): Fix up File::Listings fallback to dosftp [RT#23540] Hans-H. Froehlich (1): File::Listing parse failure on BSD Linux based systems [RT#26724] _______________________________________________________________________________ 2008-06-17 Release 5.813 Ville Skytta (3): RobotUA constructor ignores delay, use_sleep [RT#35456] Spelling fixes [RT#35457] Add HTTP::Response->filename [RT#35458] Mark Stosberg (2): Better diagnostics when the HTML::TokeParser constructor fails [RT#35607] Multiple forms with same-named for compatibility with other browsers. Patch by Josh Rai . HTML::Form: Sane handling of 'disabled' for ListInput. Based on patch by Joao Lopes . HTTP::Negotiate: Fixed matching of partial language tags. Patch contributed by Dan Kubb. HTTP::Response: The as_string method now returns a status line that doesn't add the "official" code name in the message field. This improves the ability to round-trip response objects via HTTP::Response->parse($res->as_string) and makes the first line of the string returned agree with $res->status_line. Net::HTTP: The host attribute can now be set undef in order to suppress this header for HTTP/1.0 requests. Net::HTTP: The default Host: header does not include the port number if it is the default (80 for plain HTTP). Some servers get confused by this. Net::HTTP: Ignore bogus Content-Length headers. Don't get confused by leading or trailing whitespace. LWP::Protocol::http: More efficient sending of small PUT/POST requests by trying harder to pass off the whole request in a single call to syswrite. lwp-request now give better error messages if you used the -o option without having the HTML-Tree distribution installed. Also document this dependency. 2005-12-06 Gisle Aas Release 5.804 HTTP::Message->parse did not work when the first line of the body was something that looked like a header. HTTP::Header::Auth needs HTTP::Headers to be loaded before it replace its functions. LWP::Protocol::nntp improvements by Ville Skyttä : - Support the nntp: scheme. - Support hostname in news: and nntp: URIs. - Close connection and preserve headers also in non-OK responses. - HEAD support for URIs identifying a newsgroup. - Comment spelling fixes. Fix quotes in Net::HTTP example. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283916 Detect EOF when expecting a chunk header. Should address the warnings shown in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286775 WWW::RobotRules: Improved parsing of not strictly valid robots.txt files contributed by . Makefile.PL: Set name to LWP so that the .packlist ends up in the expected place. 2004-12-11 Gisle Aas Release 5.803 HTTP::Message: $mess->decoded_content sometimes had the side effect of destroying $mess->content. HTTP::Message: $mess->decoded_content failed for "Content-Encoding: deflate" if the content was not in the zlib-format as specified for the HTTP protocol. Microsoft got this wrong, so we have to support raw deflate bytes as well. HTTP::Response->parse don't require the protocol to be specified any more. This allows HTTP::Response->parse($resp->as_string) to round-trip. Patch by Harald Joerg . HTTP::Response: $resp->base might now return undef. Previously it would croak if there was no associated request. Based on patch by Harald Joerg . HTML::Form now support