_______________________________________________________________________________ 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 synposis 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 compatibilty 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