forked from libwww-perl/libwww-perl
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changes
3614 lines (2224 loc) · 112 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
_______________________________________________________________________________
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 compatiblity with perl-5.6.
Gisle Aas (4):
Less noisy behaviour when we can't download the documents
Restore perl-5.6 compatiblity [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 <meta> 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 <select> parse wrongly [RT#35607]
Gisle Aas (1):
Provide a progress method that does something that might be useful.
Spiros Denaxas (1):
Documentation typo fix [RT#36132]
_______________________________________________________________________________
2008-04-16 Release 5.812
Gisle Aas (6):
Typo fix.
Simplified Net::HTTP::Methods constructor call.
Croak if Net::HTTP constructor called with no argument.
Avoid calling $self->peerport to figure out what the port is.
5.811 breaks SSL requests [RT#35090]
Make test suite compatible with perl-5.6.1.
Toru Yamaguchi (1):
Wrong treatment of qop value in Digest Authentication [RT#35055]
_______________________________________________________________________________
2008-04-14 Release 5.811
Gisle Aas (6):
Avoid "used only once" warning for $Config::Config.
Make HTTP::Request::Common::PUT set Content-Length header [RT#34772]
Added the add_content_utf8 method to HTTP::Message.
Typo fix.
Retry syscalls when they fail with EINTR or EAGAIN [RT#34093,32356]
Allow HTTP::Content content that can be downgraded to bytes.
Gavin Peters (1):
HTML::Form does not recognise multiple select items with same name [RT#18993]
Mark Stosberg (1):
Document how HTTP::Status codes correspond to the classification functions [RT#20819]
Robert Stone (1):
Allow 100, 204, 304 responses to have content [RT#17907]
sasao (1):
HTTP::Request::Common::POST suppressed filename="0" in Content-Disposition [RT#18887]
_______________________________________________________________________________
2008-04-08 Release 5.810
Gisle Aas (10):
Small documentation issues [RT#31346]
Explain $netloc argument to $ua->credentials [RT#31969]
Make lwp-request honour option -b while dumping links [RT#31347]
Ignore params for date convenience methods [RT#30579]
Get rid of all the old CVS $Keyword:...$ templates. Set $VERSION to 5.810.
Update Copyright year.
Drop some sample URLs that were failing.
Complement the HTTP::Status codes [RT#29619]
Don't allow HTTP::Message content to be set to Unicode strings.
Refactor test for Encode.pm
Ville Skytta (3):
Spelling fixes [RT#33272]
Trigger HTML::HeadParser for XHTML [RT#33271]
Escape status line in error_as_HTML, convert to lowercase [RT#33270]
Alexey Tourbin (2):
Typo fix [RT#33843]
Protocol/file.pm: postpone load of URI::Escape and HTML::Entities [RT#33842]
Daniel Hedlund (1):
HTML::Form Module and <button> element clicks
Adam Kennedy (1):
HTTP::Cookies handle malformed empty Set-Cookie badly [RT#29401]
Jacob J (1):
[HTTP::Request::Common] Does not handle filenames containing " [RT#30538]
Rolf Grossmann (1):
Allow malformed chars in $mess->decoded_content [RT#17368]
FWILES (1):
Croak if LWP::UserAgent is constructed with hash ref as argument [RT#28597]
Adam Sjogren (1):
Disabled, checked radiobutton being submitted [RT#33512]
DAVIDRW (1):
warn if TextInput's maxlength exceeded [RT#32239]
_______________________________________________________________________________
2007-08-05 Gisle Aas <[email protected]>
Release 5.808
Get rid of t/live/validator test. Too much JavaScript madness
for it to be a sane LWP test.
2007-07-31 Gisle Aas <[email protected]>
Release 5.807
Apply patch correction from CPAN RT #26152
More laxed t/live/validator test.
2007-07-19 Gisle Aas <[email protected]>
Release 5.806
Added progress callback to LWP::UserAgent.
HTTP::Daemon didn't avoid content in responses to HEAD requests
Add support for HTTP Expect header to HTTP::Daemon (CPAN RT #27933)
Fix t/base/message.t so tests are skipped if Encode is not
installed. (CPAN RT #25286)
Add HTML::Tagset as a prerequisite to Makefile.PL
Do not clobber $_ in LWP::Protocol::nntp (CPAN RT #25132)
Fix lwp-download so it can download files with an "_" in the filename
(CPAN RT#26207)
Quiet complaints from HTML::HeadParser when dealing with undecoded
UTF-8 data. (CPAN RT#20274)
When both IO::Socket::SSL and Net::SSL are loaded, use the latter
(CPAN RT #26152)
Allows SSL to work much more reliably:
(CPAN RT #23372)
Allow text/vnd.wap.wml and application/vnd.oasis.opendocument.text
in content-type field in lwp-request (CPAN RT #26151)
Add default media type for XML in LWP::MediaTypes (CPAN RT #21093)
Added chunked test by Andreas J. Koenig
2005-12-08 Gisle Aas <[email protected]>
Release 5.805
HTTP::Date: The str2time function returned wrong values for
years in the early 20th century, because timelocal() actually
expects the year to be provided on a different scale than what
localtime() returns.
HTTP::Headers can now be constructed with field names that repeat.
The $h->header function now also accept repeating field
names and can also remove headers if passed undef as value.
HTML::Form: The parse method now takes hash style optional
arguments and the old verbose behaviour is now off by default.
HTML::Form: Accept <select multiple=""> for compatibility with
other browsers. Patch by Josh Rai <[email protected]>.
HTML::Form: Sane handling of 'disabled' for ListInput.
Based on patch by Joao Lopes <[email protected]>.
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 <[email protected]>
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ä <[email protected]>:
- 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 <[email protected]>.
Makefile.PL: Set name to LWP so that the .packlist ends up in the
expected place.
2004-12-11 Gisle Aas <[email protected]>
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 <[email protected]>.
HTTP::Response: $resp->base might now return undef. Previously
it would croak if there was no associated request. Based on
patch by Harald Joerg <[email protected]>.
HTML::Form now support <label> for check- and radio boxes.
Patch contributed by Dan Kubb <[email protected]>.
Make HTTP::Daemon subclassable, patch by Kees Cook <[email protected]>.
lwp-download allow directory to save into to be specified.
Patch by Radoslaw Zielinski <[email protected]>.
lwp-download will validate filename derived from server
controlled data and will fail if something looks not
quite right.
2004-11-30 Gisle Aas <[email protected]>
Release 5.802
The HTTP::Message object now has a decoded_content() method.
This will return the content after any Content-Encodings and
charsets have been decoded.
Compress::Zlib is now a prerequisite module.
HTTP::Request::Common: The POST() function created an invalid
Content-Type header for file uploads with no parameters.
Net::HTTP: Allow Transfer-Encoding with trailing whitespace.
<http://rt.cpan.org/Ticket/Display.html?id=3929>
Net::HTTP: Don't allow empty content to be treated as a valid
HTTP/0.9 response.
<http://rt.cpan.org/Ticket/Display.html?id=4581>
<http://rt.cpan.org/Ticket/Display.html?id=6883>
File::Protocol::file: Fixup directory links in HTML generated
for directories. Patch by Moshe Kaminsky <[email protected]>.
Makefile.PL will try to discover misconfigured systems that
can't talk to themselves and disable tests that depend on this.
Makefile.PL will now default to 'n' when asking about whether
to install the "GET", "HEAD", "POST" programs. There has been
too many name clashes with these common names.
2004-11-12 Gisle Aas <[email protected]>
Release 5.801
HTTP::Message improved content/content_ref interaction. Fixes
DYNAMIC_FILE_UPLOAD and other uses of code content in requests.
HTML::Form:
- Handle clicking on nameless image.
- Don't let $form->click invoke a disabled submit button.
HTTP::Cookies could not handle a "old-style" cookie named
"Expires".
HTTP::Headers work-around for thread safety issue in perl <= 5.8.4.
HTTP::Request::Common improved documentation.
LWP::Protocol: Check that we can write to the file specified in
$ua->request(..., $file) or $ua->mirror.
LWP::UserAgent clone() dies if proxy was not set. Patch by
Andy Lester <[email protected]>
HTTP::Methods now avoid "use of uninitialized"-warning when server
replies with incomplete status line.
lwp-download will now actually tell you why it aborts if it runs
out of disk space of fails to write some other way.
WWW::RobotRules: only display warning when running under 'perl -w'
and show which robots.txt file they correspond to. Based on
patch by Bill Moseley.
WWW::RobotRules: Don't empty cache when agent() is called if the
agent name does not change. Patch by Ville Skyttä <[email protected]>.
2004-06-16 Gisle Aas <[email protected]>
Release 5.800
HTML::Form will allow individual menu entries to be disabled.
This was needed to support <input type=radio disabled value=foo>
and <select><option disabled>foo.
HTML::Form now avoids name clashes between the <select> and
<option> attributes.
HTML::Form now implicitly close <select> elements when it sees
another input or </form>. This is closer to the MSIE behaviour.
HTML::Form will now "support" keygen-inputs. It will not
calculate a key by itself. The user will have to set its
value for it to be returned by the form.
HTTP::Headers now special case field names that start with a
':'. This is used as an escape mechanism when you need the
header names to not go through canonicalization. It means
that you can force LWP to use a specific casing and even
underscores in header names. The ugly $TRANSLATE_UNDERSCORE
global has been undocumented as a result of this.
HTTP::Message will now allow an external 'content_ref'
to be set. This can for instance be used to let HTTP::Request
objects pick up content data from some scalar variable without
having to copy it.
HTTP::Request::Common. The individual parts will no longer
have a Content-Length header for file uploads. This improves
compatibility with "normal" browsers.
LWP::Simple doc patch for getprint.
Contributed by Yitzchak Scott-Thoennes <[email protected]>.
LWP::UserAgent: New methods default_header() and
default_headers(). These can be used to set up headers that
are automatically added to requests as they are sent. This
can for instance be used to initialize various Accept headers.
Various typo fixes by Ville Skyttä <[email protected]>.
Fixed test failure under perl-5.005.
LWP::Protocol::loopback: This is a new protocol handler that
works like the HTTP TRACE method, it will return the request
provided to it. This is sometimes useful for testing. It can
for instance be invoked by setting the 'http_proxy' environment
variable to 'loopback:'.
2004-04-13 Gisle Aas <[email protected]>
Release 5.79
HTML::Form now exposes the 'readonly' and 'disabled'
attribute for inputs. This allows your program to simulate
JavaScript code that modifies these attributes.
RFC 2616 says that http: referer should not be sent with
https: requests. The lwp-rget program, the $req->referer method
and the redirect handling code now try to enforce this.
Patch by Ville Skyttä <[email protected]>.
WWW::RobotRules now look for the string found in
robots.txt as a case insensitive substring from its own
User-Agent string, not the other way around.
Patch by Ville Skyttä <[email protected]>.
HTTP::Headers: New method 'header_field_names' that
return a list of names as suggested by its name.
HTTP::Headers: $h->remove_content_headers will now
also remove the headers "Allow", "Expires" and
"Last-Modified". These are also part of the set
that RFC 2616 denote as Entity Header Fields.
HTTP::Headers: $h->content_type is now more careful
in removing embedded space in the returned value.
It also now returns all the parameters as the second
return value as documented.
HTTP::Headers: $h->header() now croaks. It used to
silently do nothing.
HTTP::Headers: Documentation tweaks. Documented a
few bugs discovered during testing.
Typo fixes to the documentation all over the place
by Ville Skyttä <[email protected]>.
Updated tests.
2004-04-07 Gisle Aas <[email protected]>
Release 5.78
Removed stray Data::Dump reference from test suite.
Added the parse(), clear(), parts() and add_part() methods to
HTTP::Message. The HTTP::MessageParts module of 5.77 is no more.
Added clear() and remove_content_headers() methods to
HTTP::Headers.
The as_string() method of HTTP::Message now appends a newline
if called without arguments and the non-empty content does
not end with a newline. This ensures better compatibility with
5.76 and older versions of libwww-perl.
Use case insensitive lookup of hostname in $ua->credentials.
Patch by Andrew Pimlott <[email protected]>.
2004-04-06 Gisle Aas <[email protected]>
Release 5.77
LWP::Simple did not handle redirects properly when the "Location"
header used uncommon letter casing.
Patch by Ward Vandewege <[email protected]>.
LWP::UserAgent passed the wrong request to redirect_ok().