summaryrefslogtreecommitdiff
path: root/Changes
blob: 4996ee212a55b55a893d42d794cf679272db6327 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
Revision history for WWW::Mechanize

{{$NEXT}}
    [DOCUMENTATION]
    - Various POD fixes (Julien Fiegehenn)

2.08      2022-05-30 17:32:33Z
    [TESTS]
    - Drop CGI and HTTP::Server::Simple::CGI test dependencies (GH#327) (Graham
      Knop)

2.07      2022-04-29 15:39:17Z
    [FIXED]
    - Don't follow redirects in some tests (GH#326) (Olaf Alders)

2.06      2021-10-25 20:56:12Z
    [DOCUMENTATION]
    - Document methods that don't work with :content_file (GH#219) (Julien Fiegehenn)

2.05      2021-09-21 14:06:00Z
    [DOCUMENTATION]
    - Update docs for protocols_allowed and protocols_forbidden (GH#323) (Olaf
      Alders)

2.04      2021-08-06 12:28:31Z
    [ENHANCEMENTS]
    - Add a head() method to allow relative URLs (GH#321) (Julien Fiegehenn)

    [DOCUMENTATION]
    - Document that form_id() accepts an id, not a name (GH#319) (Olaf Alders)
    - Clarify documentation (GH#320) (Julien Fiegehenn)

2.03      2020-11-10 14:47:04Z
    [FIXED]
    - Validate exclusive button selectors (GH#314) (Ferenc Erki)

2.02      2020-10-13 13:50:28Z
    [ENHANCEMENTS]
    - Add redirects() as a short to HTTP::Response->redirects (GH#116) (Julien Fiegehenn)
    - click_button( value => $foo) now also works for button tags and image buttons
      (GH#131) (Spencer Christensen) and (Julien Fiegehenn)

    [DOCUMENTATION]
    - Document that click_button() will die when it cannot find a button (GH#136) (Julien Fiegehenn)
    - Document that content() returns undef before a request was made (GH#134) (Julien Fiegehenn)

    [TESTS]
    - Add a test for dump_forms() with multiselect (GH#133) (Julien Fiegehenn)
    - Add tests for select multiple (GH#132) (Michael G. Schwern) and (Julien Fiegehenn)
    - Remove use of discouraged vars pragma (James Raspass)
    - Add tests for dump_forms() and field() with empty attributes (GH#125) (Julien Fiegehenn)

2.01      2020-09-18 17:51:10Z
    - Add rel filter to find_link() (GH#305) (Julien Fiegehenn)
    - Fix typos (GH#304) (Ferenc Erki)

2.00      2020-06-09 19:09:53Z
    - Require LWP::UserAgent 6.45 (GH#302) (Shoichi Kaji)

1.99      2020-06-08 15:35:04Z
    - Bump HTTP::Daemon test dependency to 6.12 (GH#300) (Olaf Alders)

1.98      2020-05-25 17:06:47Z (TRIAL RELEASE)
    - Don't make assumptions about port 80 in test (GH#299) (Olaf Alders)

1.97      2020-05-14 00:46:53Z
    - Respect CDATA[[ sections when parsing HTML (GH#298) (Max Maischein)
    - extract image links also from css (GH#12) (Jozef Kutej) and (GH#297)
      (Julien Fiegehenn)
    - s/parm/param/ in documentation (GH#295) (Olaf Alders)

1.96      2020-02-21 02:23:40Z
    [FIXED]
    - HTML::Form::find_input() has a 1-based index (GH#293) (Olaf Alders)
    - Fix invocation of dump_forms in mech-dump (GH#288) (積丹尼 Dan Jacobson)
    - make xt/author/eol.t pass (GH#291) (Shoichi Kaji)
    [DOCUMENTATION]
    - Fix documentation of use of undef in form_with() and all_forms_with()
      (GH#289) (積丹尼 Dan Jacobson)

1.95      2019-10-28 13:07:45Z
    [FIXED]
    - die if submit_form() called with invalid form_id (GH#287) (Olaf Alders)

1.94      2019-10-10 13:12:28Z
    [FIXED]
    - Issue #182: Don't autocheck for mech-dump so basic auth works (GH#285)
      (Julien Fiegehenn)

    [DOCUMENTATION]
    - Fix pod error reported by CPANTS. (GH#284) (Mohammad S Anwar)

1.93      2019-10-04 21:06:49Z
    [FIXED]
    - Allow images to not have a src attribute (GH#282) (Julien Fiegehenn)

    [DOCUMENTATION]
    - Pod fixes. (GH#283) (Mohammad S Anwar)

1.92      2019-08-24 01:00:35Z
    [FIXED]
    - Test requires HTTP::Daemon 6.05+ and uses 127.0.0.1 or [::1] according to
      server's sockdomain (GH#280) (Shoichi Kaji)
    - Install LWP::Protocol::https and fix xt/author/live/encoding.t (GH#277)
      (Shoichi Kaji)
    - Set dist trusty for old Perls on Travis (GH#279) (Shoichi Kaji)
    - Fixed pod errors as reported by CPANTS. (GH#273) (Mohammad S Anwar)

    [DOCUMENTATION]
    - Document that follow_link will die on failure with autocheck enabled (GH#271) (Olaf Alders)

    [TESTS]
    - Add a test for finding a link in a meta refresh tag (GH#275) (Olaf Alders)

1.91      2019-01-10 18:44:33Z
    [ENHANCEMENTS]
    - Don't install Perl::Critic and Perl::Tidy to run user tests (GH#268)
      (Julien Fiegehenn)
    - Remove redundant PodSyntaxTests (GH#265) (Andrew Grangaard)
    - Add test dependency for Perl::Tidy (GH#263) (Julien Fiegehenn)

1.90      2018-11-12 18:02:03Z
    [DOCUMENTATION]
    - Pod fixes (GH#261) (Julien Fiegehenn)
    - Fixed pod error as reported by CPANTS. (GH#264) (Mohammad S Anwar)

    [ENHANCEMENTS]
    - Upgrade to HTML::TreeBuilder version 5 to get support for weak references
      in HTML::Element (GH#251) (GH#262) (Julien Fiegehenn)

1.89      2018-10-18 19:13:34Z
    [ENHANCEMENTS]
    - Add support to find_image() and find_all_images() via 'id'
      and 'class' (GH#242) (Julien Fiegehenn)
    - Pass strict/verbose constructor args to HTML::Form (GH#256) (Julien Fiegehenn)
    - Add ability to clear history and tests for history (GH#259) (mschae94)

1.88      2018-03-23 15:37:25Z
========================================
    [FIXED]
    - tick() now dies if checkbox is not found (GH#248) (Olaf Alders)

    [DOCUMENTATION]
    - Clarify behaviour of submit_form when with_fields is supplied as an arg (GH#247) (Olaf Alders)
    - Document some "Best Practices" (GH#246) (Olaf Alders)
    - Update links in Pod. Suggest LWP::ConsoleLogger rather than LWP::Debug (GH#244) (Olaf Alders)

1.87      2018-02-07 22:04:16Z
========================================
    [FIXED]
    - Fix typo in contributor name (GH#241) (Philippe Bruhat (BooK))
    - Fix link to Michael Schilli's article in Linux magazine (GH#240) (Bernhard Wagner)
    - Fix some section links (GH#238) (Evan Zacks)
    - Override _agent() method. (GH#236) (Сергей Романов)
    - Link to appropriate section of HTML::Form (GH#237) (Evan Zacks)
    - Make version consistent in .pm files (GH#231) (Olaf Alders)

    [ENHANCEMENTS]
    - Return form number in list context. (GH#235) (Сергей Романов)
    - Overload 'post' in order to set 'base'. (GH#111) (Stuart A Johnston)
    - Allow multiple file paths/uris in mech-dump; fixes issue 72 (GH#113) (Nik LaBelle)
    - Add docs for the output of dump_forms (GH#112) (John Beppu)

1.86      2017-07-04 15:48:46Z
========================================
    [FIXED]
    - use 127.0.0.1 instead of 'localhost' in a test script to avoid the test
      hanging due to ipv6 issues (GH#31, see also changes in 1.85)

1.85      2017-06-28 22:06:00Z
========================================
    [FIXED]
    - use 127.0.0.1 instead of 'localhost' in a test to avoid the test hanging
      due to ipv6 issues (GH#31)
    - Remove private logic for taint checking (Dave Doyle)
    - Fix Pod (simbabque)
    - Bump Test::More prereq to get working subtest support (Karen Etheridge)
    - Fix intermittent failures of taint.t (GH#108) (Kivanc Yazan)
    - Fix kwalitee issues (GH#107) (Kivanc Yazan)

    [ENHANCEMENTS]
    - Print section titles if mech-dump --all is invoked (GH#81) (Сергей
      Романов)
    - Add cookbook docs on dumping a req without sending it (#115) (Grigor
      Karavardanyan)
    - Document that submit only submits current form (GH#114) (nawglan)
    - Add Travis testing on Perl 5.26 (Karen Etheridge)
    - Remove obsolete and unincremented $VERSIONs in test modules (Karen
      Etheridge)

1.84      2017-03-07 13:34:57-05:00 America/Toronto
========================================
[ENHANCEMENTS]
- Parse url (href attribute) for js window.open  GH#11

[FIXED]
- Set STDOUT to be utf8 in mech-dump. Fixes issue GH#36
- Added --version option to mech-dump
- Don't die on uri() when there has been no request. Fixes issue GH#60
- Remove old information from the cookbook. Fixes issue GH#28
- Documentation correction. Fixes issue GH#65 and GH#59
- Work around Test::More prior to 1.001004. Fixes GH#74
- Fix hostname in test.  Fixes GH#73

1.83      2016-10-14 16:45:30-04:00 America/Toronto
========================================
[FIXED]
- Moved live tests to be author tests. Run using dzil test --author. (Steve
  Scaffidi)

1.82      2016-10-06 23:00:30-04:00 America/Toronto
========================================
[ENHANCEMENTS]
- Added strict_forms flag to submit_form() which sets the HTML::Form strict flag (Gareth Tunley)

[FIXED]
- Fixed tests which tried to access HTTPS urls when LWP::Protocol::https wasn't
  installed (Olaf Alders).  Reported by Slaven Rezić.  See
  https://github.com/libwww-perl/WWW-Mechanize/issues/54

1.81      2016-10-06 08:52:44-04:00 America/Toronto
========================================
[FIXED]
-  Work around bug in HTTP::Cookies that is triggered on reload().  See
   https://rt.cpan.org/Public/Bug/Display.html?id=75897 (Gianni Ceccarelli)

1.80      2016-09-24 22:38:27-04:00 America/Toronto
========================================
[FIXED]
- Fixes behaviour of submit_form() when multiple filters have been supplied (Ed
  Avis)

1.79      2016-09-16 23:53:48-04:00 America/Toronto
========================================
[ENHANCEMENTS]
- Added form_with() method. (Martin Sluka)

1.78      2016-08-08 09:18:59-04:00 America/Toronto
========================================
[OTHER CHANGES]
- No changes specific to this version.  First non-develepment release in about a year.

1.77      2016-08-05 12:50:12-04:00 America/Toronto (TRIAL RELEASE)
========================================
[TESTS]
- Skip Wikipedia tests if LWP::Protocol::https is not installed.

1.76      2016-07-29 12:17:25-04:00 America/Toronto (TRIAL RELEASE)
========================================
[ENHANCEMENTS]
- Added history() and history_count() methods. (Ricardo Signes)
- click_button() now accepts ids. (Olaf Alders)
- Add a more descriptive error message when ->request is called without a
  parameter. (Max Maischein)

[DOCUMENTATION]
- Document that form_id warns in addition to returning undef when a form cannot
  be found. (Olaf Alders)
- Document use of a proxy with bin/mech-dump. (Florian Schlichting)

[OTHER CHANGES]
- New releases for this distribution are now generated by Dist::Zilla

1.75        2015-06-03
========================================
[OTHER CHANGES]

- WWW::Mechanize::Image and WWW::Mechanize::Link now have a defined $VERSION
- fixed warning about the use of the encoding pragma (new in 5.22) (RT#91971)
- fixed warning about the use of CGI::param in list context (RT#103096)


1.74        2015-01-23
========================================
[OTHER CHANGES]

- updated repository link in metadata


1.73        2013-08-24
========================================
[TESTS]

- Update t/local/back.t to use LocalServer for 404 checking to avoid fails
on win32. Fix by Matt S Trout, patient diagnostics and testing provided
by jayefuu of freenode #perl

- Blow away more proxy env vars in LocalServer, and do it on load so that
the LWP env checking doesn't happen before we've done it.

[OTHER CHANGES]

- Better error when passing only one parameter to follow_link


1.72        Thu Feb  2 18:37:28 EST 2012
========================================
[DEPENDENCIES]
Bumped the HTML::Form dependency to fix failures on CentOS 5



1.71        Tue Nov 14 13:50:41 EDT 2011
========================================
[ENHANCEMENTS]
Recognise application/xhtml+xml as HTML.

[DOCUMENTATION]
Improved docs about support of JavaScript
Typo fixes.

[TESTS]
Updated tests as oops-music.com is in utf-8 now

1.70        Fri Aug 26 13:46:30 EDT 2011
========================================
[ENHANCEMENTS]
Mech now defaults to _not_ running live tests by default.
You can still enable them by running "perl Makefile.PL --live"
Thanks to RJBS for the suggestion

1.69_01
========================================
[INTERNALS]
The test suite for the local tests was updated

1.68        Fri Apr 22 01:10:40 EST 2011
========================================
No changes from 1.67_01

1.67_01
========================================
[ANNOUNCE]
As of this release, Jesse Vincent has taken over maintenance of
WWW-Mechanize.  The project's repository can be found at:

 https://github.com/bestpractical/www-mechanize


[FIXED]
Added prereq for HTML::TreeBuilder.


1.66        Fri Sep 10 16:25:44 CDT 2010
========================================
[FIXED]
Fixed prerequisites on HTTP::Server::Simple on Windows.

DNS checks in t/autocheck.t and t/local/failure.t improved.  Thanks,
Schwern.

[ENHANCEMENTS]
New $mech->text method returns the text from your HTML page.  The
exact rendering of this text is simply removing all the HTML
tags, but this will change. It's pretty ugly.  If anyone wants to
work on a better-looking text dump, I'd love to see it.

Added mech-dump --text.

[DOCUMENTATION]
Improvements to the docs explaining explicitly about the subclassed
methods we inherit from LWP::UserAgent.  Thanks, Lyle Hopkins!


1.64        Thu Jul  1 10:41:00 CDT 2010
========================================
[THINGS THAT MAY BREAK YOUR CODE]
If you've been accessing $mech->{forms} or $mech->{form} values
directly, instead of going through the $mech->forms or $mech->current_form
accessors, respectively, then this version of Mech will break your
code.

[ENHANCEMENTS]
Parsing of forms has been delayed until they're actually needed.
If don't use forms on a page, you'll no longer waste time and memory
parsing them.

$mech->title now caches the title of the page after parsing the
page to find it.

mech-dump now takes a --cookie-file parameter for keeping cookies
between calls.  Thanks, Damien Clark.


[DOCUMENTATION]
Typo fixes.


1.62        Sat Apr 10 23:10:07 CDT 2010
========================================
[FIXED]
Fixed a declaration in the Movable Type example in
WWW::Mechanize::Examples.

Quiet warnings if %ENV has undef values.

$mech->follow_link() no longer dies with an inappropriate error if
the link is not found.

$mech->click_button() now checks to see if a form is selected.

[INCOMPATIBILITIES]
$mech->form_name() and $mech->form_number() no longer throw warnings
if they can't find the form specified.  They still return undef,
though.

[DOCUMENTATION]
More additions to the FAQ.


1.60        Mon Aug 17 00:41:39 CDT 2009
========================================
No new features.  Exists only to skip tests that always fail on
Windows.

Fixed up some minor documentation problems.


1.58        Mon Jul 13 22:32:23 CDT 2009
========================================
No new features.  If you have 1.56 installed OK, you do NOT need
to install 1.58.

[FIXES]
Removed prereq of HTTP::Response::Encoding, even though it was never
used.  Thanks for the catch, Gisle.



1.56        Thu Jul  9 00:36:54 CDT 2009
========================================
[THINGS THAT MAY BREAK YOUR CODE]
For a while, Mech used HTTP::Response::Encoding to try to suss out
the proper encoding of the page it receives.  Now, it lets
LWP::UserAgent do the work, and no longer requires
HTTP::Response::Encoding.

[ENHANCEMENTS]
Added a new dump_headers() method to dump the HTTP response headers.

Added --headers flag to mech-dump to dump the HTTP response headers.

[FIXES]
Now requires LWP version 5.829 because HTTP::Response has memory
cycle bugs.

[DOCUMENTATION]
Added a few notes to the FAQ, and fixed some incorrect docs.


1.55_01     Mon Jul  6 12:17:10 CDT 2009
========================================
This is mostly a bug fix release.  There will be a number of other
bug fix releases in the next few days.

[FIXED]
New test server now randomizes the port it runs on.

t/cookies.t should not hang on Windows any more.

META.yml has been updated so the search.cpan.org links should be
correct.

Passing no_proxy would make LWP::UserAgent barf.  Thanks to Mike
Schilli for the fix.

Cookies test would fail under Windows.  Fixed, thanks to many people
reporting it.

[ENHANCEMENTS]
$mech->submit_form() now can specify the form by ID using the form_id
parameter.

[DOCUMENTATION]
The docs used to say that ->stack_depth(0) was an infinite stack
size.  This is wrong.  Zero will tell Mech not to keep any history.



1.54        Mon Jan 12 00:36:08 CST 2009
========================================
[FIXED]
Removed the computers4sure test that was failing.


1.52        Tue Nov 25 09:52:30 CST 2008
========================================
[FIXED]
Improved some error messages in $mech->submit_form().  Thanks to
Norbert Buchmuller.


1.51_03     Thu Nov 20 11:05:49 CST 2008
========================================
[FIXED]
The $mech->clone() method was not passing the cookie jar to its
clone properly.  Thanks to David Sainty.

The $mech->back() can fail if there's nothing on the stack to go
back to.  Thanks to Dave Page.

$mech->follow_link() did not complain if a link could not be found,
even with autocheck on.  Now it does.  Thanks, Flavio Poletti.

[ENHANCEMENTS]
Added a $mech->form_id() method so you can look up forms by ID.

Added $mech->content_type(), because $mech->ct() is too cryptic.


1.51_02     Tue Nov 18 01:30:54 CST 2008
========================================
[STILL BROKEN]
t/local/click_button.t is still failing its tests for calling ->click
on an HTML::Form object.  I suspect this is an LWP change, but I
haven't dug into it enough yet.

[FIXES]
Fixed the bad credentials API that stomped on LWP::UserAgent's
credentials() method.  Thanks to Max Maschien and Matt Lawrence.

The $mech->links method now finds <link href="..."> links. Thanks
to H.Merijn Brand.

Makefile.PL explicitly requires Perl 5.8.0.

URI.pm has to be version 1.36 or else URIs don't get encoded
correctly.

LWP has to be 5.819 or we have encoding problems.


1.51_01     Thu Nov  6 15:13:03 CST 2008
========================================
[FIXES]
Page history is now working much better.  The $mech->back() method
should behave more like a browser now.  Most notably, it no longer
restores the cookie state, just like your browser doesn't restore
cookie state when you page back.  It also should use much less
memory.


1.50        Sun Sun Oct 26 22:42:46 CDT 2008
========================================
[THINGS THAT MAY BREAK YOUR CODE]
WWW::Mechanize now requires version 5.815 of LWP.  This in itself
may cause problems for you because of changes in how LWP does
authentication.


1.49_01     Sat Sep 27 23:50:04 CDT 2008
========================================
[THINGS THAT MAY BREAK YOUR CODE]
The autocheck argument to the constructor is now ON by default,
unless WWW::Mechanize is being subclassed.  There are so many new
programmers whose ->get() calls fail unchecked that I'm now putting
on the seat belts for them.

[FIXES]
I do believe we are on the way to having all the encoding problems
ironed out.  This version incorporates a patch from here:

    http://code.google.com/p/www-mechanize/issues/detail?id=61

and tests from Miyagawa's WWW::Mechanize::DecodedContent

    http://search.cpan.org/dist/WWW-Mechanize-DecodedContent/

to finally fix this.

[ENHANCEMENTS]
You can now specify not to set up the proxy, if there is one.  The
proxy causes problems for Crypt::SSLeay.  For details see:
http://code.google.com/p/www-mechanize/issues/detail?id=39

[DOCUMENTATION]
Fixed internal links.

[INTERNALS]
Lots of refactoring based on Schwern's "Skimmable Code" talk.

http://use.perl.org/~schwern/journal/36704
http://schwern.org/~schwern/talks/Skimmable%20Code%20-%20YAPC-NA-2008.pdf


1.34        Mon Dec 10 00:30:39 CST 2007
========================================
[FIXES]
Many fixes to make the test suite more portable.


1.32        Tue Oct 30 12:02:17 CDT 2007
========================================
[ENHANCEMENTS]
Added dump methods to mirror mech-dump:
* $mech->dump_images()
* $mech->dump_links()
* $mech->dump_forms()
* $mech->dump_all()

Sanity checks in the WWW::Mechanize::Image constructor.  Every Image
must have a "url" and "tag" field passed in to it.


1.31_02     Thu Oct 25 11:48:29 CDT 2007
========================================
[ENHANCEMENTS]
Added class, class_regex, id and id_regex limiters to find_link()
and find_all_links().  Thanks to Adriano Ferreira.


1.31_01     Mon Sep 17 23:38:03 CDT 2007
========================================
[FIXES]
Mech tests now pass even if your DNS server gives A records for
anything (like OpenDNS).  Thanks, Miyagawa!

Searching for the <base href> is now case-inensitive.  A better
solution would be to actually parse the HTML.

[ENHANCEMENTS]
mech-dump now handles --user and --password arguments for sites
that require authentication.


1.30        Thu May 24 21:31:10 CDT 2007
========================================
[DOCUMENTATION]
Minor doc fixes.  Thanks David Steinbrunner.


1.29_01     Tue May 22 14:02:55 CDT 2007
========================================
Kevin Falcone and I ask for your assistance in figuring out how to
handle the warnings thrown by the tests, other than hiding them.

[FIXES]
Overhauled how tainting was done.  Stole code directly from
Test::Taint.

Have LWP only handle decoding of Content-Encoding, not charset.

[DOCUMENTATION]
Fixed the docs for $mech->submit_form()'s with_fields arg.
Thanks, Peteris Krumins.


1.26        Wed May 16 14:21:29 CDT 2007
========================================
[FIXES]
Re-reversed the content decoding.  This is critical for reading from
sites with gzip on the fly, like Wikipedia.

Content is now properly tainted.

[ENHANCEMENTS]
mech-dump can now pass --agent and --agent-alias flags so you can
fetch from sites like Wikipedia that block LWP user agents.

[INSTALLATION]
The mech-dump program is now always installed.  It no longer is
presented as an option.


1.24        Fri May 11 15:57:56 CDT 2007
========================================
NOTE: Version 1.24 will NOT automatically decode gzipped content for
you any more.  Consider it a "do not use" release.

[FIXES]

*   Fixed failures in "make test" with some versions of HTTP::Server::Simple
*   RT #26593: Improved handling of charsets.  Thanks Kevin Falcone.
*   RT #24354: find_link now handles http-equivs with quoted URLs.
*   Reverses the change in 1.21_01 where it decodes the content.

[ENHANCEMENTS]
*   Added find_all_inputs() and find_all_submits() methods.  Thanks,
    Mike O'Regan.
*   Test::LongString is no longer needed, so has been removed as a
    requirement.

[TESTS]
*   Added a test for save_content()


1.22        Fri Mar  2 00:05:57 CST 2007
========================================
[INTERNALS]
Added new tests.

Added Perl::Critic changes and a perlcriticrc file.


1.21_04     Sat Oct  7 21:35:42 CDT 2006
========================================
[FIXES]
*   $mech->content( type => 'text' ) was not freeing memory.  Thanks to
    Cat Okita for finding it.

[INTERNALS]
*   Made the order of params to $mech->content() not relevant.


1.21_03     Sat Oct  7 01:21:46 CDT 2006
========================================
[THINGS THAT MAY BREAK YOUR CODE]
*   The methods $mech->form() and $mech->follow() have been removed.
    They've been deprecated since 1.10, which was released in Feb 2005.

[ENHANCEMENTS]
*   I'm trying to nail down what seems to be a memory leak on long-running
    Mech programs.  I'm stringifying URI::URL objects wherever I can.

[INTERNALS]
*   No longer uses UNIVERSAL.


1.21_02     Wed Oct  4 13:14:30 CDT 2006
========================================
[ENHANCEMENTS THAT MAY BREAK YOUR CODE]

*   The $mech->stack_depth() setting had no way to say "don't cache any
    pages at all".  How silly!

    Now, if you set $mech->stack_depth(0), no history of pages will be kept.
    In the past, it would mean "Keep all pages."  This means that if you want
    to set it to keep all pages, set it to some ridiculously large number.

[DOCUMENTATION]
*   The docs previously refered to Compress::Gzip instead of Compress::Zlib.


1.21_01 Mon Sep 18 17:18:43 CDT 2006
========================================
[ENHANCEMENTS]
*   If Compress::Zlib is installed, gzipped content is now
    accepted and transparently decoded. No additional syntax needed!
    This should save time and bandwidth in a number of cases.
    (Mark Stosberg)

*   Added a put() method.  It also calls a subfunction called
    _SUPER_put that will be removed once LWP::UserAgent supports put().



1.20   Sat Aug 19 09:09:08 EDT 2006

        [ENHANCEMENTS]
        * Added new two-argument form of credentials() method.
          $mech->credentials($username, $password);
          That provides simpler visiting of password-protected
          resources in the vast majority of cases and still
          allows the other cases to be supported. (Peter Scott)

        [BUG FIXES]
        * autocheck no longer is triggered when informational
          responses are returned. (Mark Stosberg)

        [INTERNALS]
        * test suite no longer fails when Test::Warn is missing.
          (CPAN testers, Mark Stosberg)
        * Removed all the testing against live sites. The networking
          code is not actually in Mech anway, and they were prone to
          breaking, as the live sites changed. (Mark Stosberg)


1.19_02 Mon Aug  7 23:57:56 CDT 2006

        [ENHANCEMENTS]
        * Add new Do-What-I-Mean submit_form() option.
            $mech->submit_form(
                with_fields => \%data
            );
         That expresses that you want to select the first form contains all
         fields in \%data, and then submit the data to that form. See the docs
         for form_with_fields() and submit_form() for details.
         (Mark Stosberg, inspired by RT#6100)

        [BUG FIXES]
        * The behavior of clone() now copies over the cookie jar, which
          is probably what you expected it did in the first place.
          This fixes bug RT#13541 filed against Test::WWW::Mechanize,
          which was using clone() internally. (Mark Stosberg)

        * The correct URL is returned after redirecting. This a regression
          from 1.04 and was reported as RT#9059, RT#12882, and RT#12786.
          The documentation about this has also been clarified that we
          return a URI object, but that it stringifies to the URI itself.

        [DOCUMENTATION]
        * Fixed a misleading param in the constructor.
        * Document the return value of set_visible (RT#6071, MJD,
          Mark Stosberg)
        * Document that form_name and form_number return an HTML::Form
          object (Mark Stosberg)

        [INTERNALS]
        * Made lots of little cleanups based on Perl::Critic
        * Fix Taint-mode warnings with Perl 5.6.1 (RT#16945)

1.18    Thu Feb  2 00:11:26 CST 2006
        [TESTS]
        * Makefile.PL now takes four new params:
            * --live/nolive turns on/off the live tests
            * --local/nolocal turns on/off the local tests
            * --mech-dump/nomech-dump installs/doesn't the mech-dump program
            * --all turns on all tests and installs mech-dump

        * Fixed some failures in tests.  Non-existent URLs now have a
          "." postpended to them, so if someone's got a search domain
          with a wildcard (i.e. ignore.us) it'll ignore that.  Also,
          Google's second link is now a https:// link, which some Mechs
          can't handle.  Added a 'url_regex' which now makes it look at
          the second non-https link.  Thanks to Pete Krawczyk.

1.16    Fri Oct 28 17:34:20 CDT 2005
        [ENHANCEMENTS]
        * Sped up Mech significantly (~20% in some cases).  Images and
          links are extracted from the HTML, and objects are created,
          only when they're actually needed.  This will be a speedup for
          pages where you're only following links, or vice versa.

        [THINGS THAT MAY BREAK YOUR CODE]
        * If you've been relying on the $mech->{images} and $mech->{links}
          fields being populated so that you can bypass the $mech->images()
          and $mech->links() accessors, your code will break.  That's OK,
          because you should have been using the accessors all along.

1.14    Tue Aug 30 17:17:40 CDT 2005
        [DOCUMENTATION]
        * Added lots of new FAQs.  Thanks to Peter Stevens.

        [INTERNALS]
        * Now requires Test::LongString.  That's not too odious.

        [FIXES]
        * Tests now pass with the shuffling around that Google did.

1.13_01 Tue Apr 12 14:11:18 CDT 2005
        [ENHANCEMENTS]
        * Now dies if you call submit_form() with a non-existing
          form_number or form_name.  Before, it would just warn.

        [DOCUMENTATION]
        * Added an example of using credentials() in the cookbook.

1.12    Thu Feb 24 23:38:44 CST 2005
        [FIXES]
        * Fixed RT #9026: hang in t/local/back.t under Windows XP.
          Thanks Andrew Savige.  It also should no longer complain
          about being unable to clean up a temp file.

1.11_01 Mon Feb 14 00:12:48 CST 2005
        [THINGS THAT MAY BREAK YOUR CODE]
        * Removed deprecated _parse_html() method.

        [FIXES]
        * Was incorrectly looking for INPUT tags TYPE="SUBMIT" as images.
          Thanks to Abe Timmerman.

        [ENHANCEMENTS]
        * Calling $mech->set_fields() with no current form now dies.
          Thanks to Julien Beasley.


1.10    Tue Jan 31 11:30pm-ish
        [FIXES]
        * Fixed bug where images inside of links would not be found.

        * Fixed test failures because of Google changes.  Thanks to
          Offer Kaye and others who sent in patches.

        [DOCUMENTATION]
        * More samples in the FAQ.  Thanks to Joshua Gatcomb.

        [INTERNALS]

        * Added explanation of running live tests against Google in
          Makefile.PL.


1.08    Fri Dec 24 01:01:06 CST 2004
        [ENHANCEMENTS]
        * Added find_image() and find_all_images().

1.06    Wed Dec  8 14:58:39 CST 2004
        [INTERNALS]
        * Now uses the base pragma instead of setting @ISA.

1.05_04 Fri Nov  5 23:35:38 CST 2004
        [ENHANCEMENTS]
        * Added WWW::Mechanize::Image object for representing images.
        * Improved the regex on the URL for META tags.
        * Added --images flag to mech-dump.

        [FIXES]
        * When parsing urls out of meta refresh tags, "url" may now be
          uppercase (RT#8230)

        * Behavior of back() fixed in a number of cases (RT#8109 reported
          by Josh Purinton, patched by Dominique Quatravaux)

        [INTERNALS]
        * Mark figured out to how to prevent his text editor from
          putting tabs into the code. Andy's blood pressure dropped
          slightly.

1.05_03 Sun Oct 31 20:54:33 CST 2004

        [ENHANCEMENTS]
        * click_button() has a new input option for HTML::Form::SubmitInput
          objects (DOMQ)

        * content() has new options to return the page formatted
          as text, with a <base href> added. (RT#8087, patch by
          Dominique Quatravaux)

        * update_html() method has been added, which can be used
          to modify the HTML that Mech parses. It should be sub-classed
          instead of _parse_html(), which has been deprecated.
          (RT#8087, patch by Dominique Quatravaux)

        * select() has new option to select an option by number
          (RT#5789, Scott Lanning)

        * WWW::Mechanize::Link now has support providing all the
          attributes of the link through a new attrs() method, which
          returns them as a hashref. This is a replacement for the
          alt() method, added in 1.05_01. It's not backwards
          compatible with that, but, hey, that's what developer
          releases are for. (RT#8092, Rob Casey and Mark Stosberg)

        [FIXES]
        * Upload <input type="file" ... > does not use the default
          value to prevent attacks, patch by Jan Pazdziora (RT #7843).

        [INTERNALS]
        * Improved tests and documentation for select() (RT#5789,
          Scott Lanning)

        * Improve taint-safeness on Perl 5.6.1 (RT#8042, patch by
          Dominique Quatravaux)

        * Added tests for click_button() (RT#8061, by Dominique
          Quatravaux)

        * Require URI 1.25, fixing bug which exposed itself in
          WWW::Mechanize (RT#3048)

        * Move select() to better location in docs. Document and
          test the return values.  The return value is now "1" on
          success instead of the undocumented behavior of returning
          a form value. (RT#6138, spotted by MJD, patched by Mark
          Stosberg)

        * Possible matching tags for the find_link() 'tag_regex'
          attribute are now documented. (RT#2989, by Mark Stosberg)

        * refactored find_link() to avoid use of eval(). This should
          improve performance a bit and avoid potential security
          issues. (Mark Stosberg)

1.05_02 Sat Oct  2 16:55:59 CDT 2004
        [ENHANCEMENTS]
        * Added the $mech->save_content( $filename ) function, so you
          can dump stuff to files easily.

1.05_01 Thu Sep 30 21:04:44 CDT 2004

        [FIXES]
        * set_visible() doesn't stop setting values when it finds a zero.

        [ENHANCEMENTS]
        * WWW::Mechanize::Link has a new, easier to remember constructor
          interface. The old one is still supported. Support for including
          an 'alt' attribute was added, which is useful for <area> links.
          (RT #3317). Thanks to Mark Stosberg.

        * When links are extracted from <area> tags, the ALT attribute will
          be captured and become part of the WWW::Mechanize::Link object.
          (RT #3317). Patch by Mark Stosberg.

        [INTERNALS]
        * t/mech-dump.t is now more portable (RT #7690)

        * t/local/follow.t has new tests to confirm that 'follow*' functions
          work with characters like o-umlaut, even when the o-umlaut is
          encoded in the HTML, but not in the call to follow(). (RT #2416)
          By Mark Stosberg.



1.04    Wed Sep 15 23:27:53 CDT 2004

        [ENHANCEMENTS]
        * $mech->get() now accepts a WWW::Mechanize::Link object.

        * $mech->stack_depth(n) lets you set the depth of the mech
          object's page stack.  This way, if you have a Mech that does
          lots of stuff and never/rarely goes back(), you won't be eating
          up memory.  Thanks to BooK and Chi-Fung. (RT #5362)

        [FIXES]
        * Fixed tests that fail under LWP >= 5.800.

        * Added a workaround for LWP::UserAgent->clone() when ->{proxy}
          is undef. (RT #6443)

        * The Referer was getting passed as a URI object sometimes,
          and that caused sadness.  Eugene Haimov supplied a workaround.
          (RT #6372)

        [DOCUMENTATION]
        * Added Ian Langworth's listmod and John Beppu's photobucket
          uploader programs to WWW::Mechanize::Examples.

        * Minor doc tweak for find_link()

        * Finally added a value() func.  Thanks to Spoon,
          who even now, months after his passing, is still contributing
          to Mechanize.


1.02    Tue Apr 13 22:45:10 CDT 2004

        No reason to install if you have 1.00.  Fixes are only in tests.

        [FIXES]
        * t/referer.t didn't cope with spaces in $FindBin::Bin.  Plus,
          it now forces its URL to localhost.


1.00    Sat Apr 10 00:35:51 CDT 2004

        I figure it's about time we hit 1.00, and this version seems
        like a good place to do it, because of the potential breakage
        described below...

        [THINGS THAT WILL BREAK YOUR CODE]
        * Header handling has changed.  There is no more package variable
          %headers that holds all the headers to be added.  They are
          now added on a per-object basis.

          If you were adding a header with add_header(), and the code
          relied on that header still being set later on in a later
          instance of the class, that code will now break, because the
          later instance won't have the header set.

        [ENHANCEMENTS]
        * You can now prevent a header from being sent by adding it with
          an undef value, as in:

            $mech->add_header( Referer => undef );

        [FIXES]
        * Now correctly adds Accept-Encoding to all requests that need it.

        [INTERNALS]
        * Added new $mech->_modify_request($req) method to do all the
          HTTP header modification before the actual request gets
          sent off.  Subclasses are able to override it if they want.

        * Removed the unused Compress::Zlib stuff.


0.76    Wed Apr  7 22:01:43 CDT 2004

        [ENHANCEMENTS]
        * Added update_html() to let you update the HTML for the page
          you're on.

        [FIXES]
        * Test files account for new Google layout.

        [INTERNALS]
        * Rearranged the local tests into their own t/local/ directory.

        * Made the standalone tests show what server they're hitting.

        * Checked that it runs under LWP 5.78.


0.74    Mon Mar 22 23:36:46 CST 2004

        [ENHANCEMENTS]
        * WWW::Mechanize now sends an Accept-Encoding header of "identity"
          to always enforce plaintext responses. Preliminary support for
          Compress::Zlib is also there, but is disabled by default.

        * Added click_button() and select() methods.  The field() method
          can now take an arrayref of values, if appropriate. Thanks,
          Linda Lee Julien.

        * Added url_abs and url_abs_regex params to find_all_links().

        * URLs in META REFRESH tags are now treated as links.

        * t/taint.t makes sure that things that should be tainted are.

        [FIXES]
        * Still more fixes if the machine you're on doesn't have
          DNS pointing to it.

        * The local changes use localhost as the local host name, instead
          of whatever host name that might be on the box, but not in DNS.
          Thanks to David Wheeler for letting me play on his box.

        * The http_proxy and HTTP_PROXY environment variables get
          deleted during the tests that access the dummy local server.
          This should let your tests pass, and clear up a lot of RT
          tickets.

0.72    Mon Jan 26 21:07:20 CST 2004
        [ENHANCEMENTS]
        * Added the set_visible() method, thanks to Peter Scott.

        [DOCUMENTATION]
        * Started the Cookbook at WWW::Mechanize::Cookbook.pod.

        [INTERNALS]
        * Made the globbing in Makefile.PL a little less command-line
          intensive.  Also fixed the missing files in MANIFEST.
        * Added t/pod-coverage.t for testing POD coverage.

0.71_02 Mon Dec 22 14:29:13 CST 2003
        [THINGS THAT MAY BREAK YOUR CODE]
        * Added a 5th, optional parameter to WWW::Mechanize::Link's
          constructor.  In 0.71_01, it was at the beginning of the
          argument list and was required.  Now it's at the end and is
          optional.  If, in the 15 hours since 0.71_01 came out, you
          went and changed all your WWW::Mechanize::Link constructors,
          you'll have to change them around again.  Otherwise, you can
          just ignore this change.

0.71_01 Sun Dec 21 23:48:12 CST 2003
        [THINGS THAT MAY BREAK YOUR CODE]
        * WWW::Mechanize::Link's constructor has a new argument
          that needs to be passed in, at the start of the argument
          list.

        [ENHANCEMENTS]
        * WWW::Mechanize::Link object now takes a $base URL, and will
          return absolute URLs with the url_abs() method.  Thanks to
          Ashley Pond.
        * Added another script to WWW::Mechanize::Examples.  It's a
          script that didn't make it into Spidering Hacks.

        [INSTALL & TESTS]
        * Heavy use of the new Test::Memory::Cycle module.
        * Fixed Makefile.PL so that the tests are selected under Win32.
        * Changed t/mech-dump.t so that the test succeeds under Win32.
        * Updated t/referer.t and t/mech-dump.t so they run under VMS.
          Thanks to Peter Prymmer.


0.70    Sun Nov 30 23:45:27 CST 2003
        [THINGS THAT MAY BREAK YOUR CODE]
        * Redirects are now handled better by LWP, so the code that
          changes POSTs to GETs on redirects has been removed.

        [FIXES]
        * Fixed redirect_ok(), which had its API changed out from under
          it in LWP 5.76.

        [ENHANCEMENTS]
        * New warnings in find_link() for strings that are space padded,
          and for text matches that are passed a regex.  Thanks to
          Jim Cromie.

        [DOCUMENTATION]
        * Patches from Mark Stosberg and Jim Cromie.

        [INTERNALS]
        * Removed all the checking for Carp.  I don't know why I
          was thinking that Carp wasn't core. RT #4523.

        Also, a big bump in requirements on LWP: We need 5.76.


0.66    Thu Nov 13 14:35:31 CST 2003

        No new functionality.  Fixed up some install bugs and made a
        few documentation tweaks, mostly to plug Spidering Hacks.


0.65    Mon Nov 10 00:11:06 CST 2003
        [ENHANCEMENTS]
        * Made a _parse_html() method that you can override or call
          manually, per request from Gavin Estey.

        [FIXES]
        * Made some path naming use File::Spec->catfile so that
          they work correctly under Windows.
        * "make clean" cleans up temp flag files.

        [INTERNALS]
        * Uses the new Test::Pod 1.00 for simplicity.


0.64    October 23, 2003  11:15pm
        [ENHANCEMENTS]
        * Many new tests, based on the excellent coverage reporting
          created by Paul Johnson's Devel::Cover module.

        * The start of JavaScript support, sort of!

          If you have an <A> tag that does an onClick that opens a
          window, Mech will find the URL from that and make that
          be the link for the tag.  This is for things like Movable
          Type that pop little windows to rebuild indexes.

          This is subject to change in the future.  I don't know
          if it will, but I'm not making promises.  It might be so
          buggy I just yank the whole thing.

        * Big jump in requirements, since we'll soon be using Gisle's
          new HTML::Form stuff.  Also, older versions of HTML::Form
          don't give output I'm expecting.

        [FIXES]
        * Fixed the t/mech-dump.t failure.

0.63    October 13, 2003  2:56pm
        [ENHANCEMENTS]
        * mech-dump defaults to dumping forms.
        * Added name, name_regex, tag and tag_regex options to find_link()
          and follow_link().
        * Added tests from Jim Brandt.


0.62    October 7, 2003  8:46pm
        [THINGS THAT MIGHT BREAK YOUR CODE]
        * The params for find_link()'s url_regex and text_regex must now
          be actual regex objects, as in qr// objects.  They can't just
          be little text strings.  If this is a big bummer, let me know.

        [ENHANCEMENTS]
        * Added autocheck param, to tell your Mech object to die on
          any error.  This saves you from having to check yourself.
          This closes RT #3056.
        * Renamed the internal _carp() method as warn().
        * Added a die() method.
        * Can now override the warn() and die() handlers in the
          constructor.
        * find_link() now complains if it gets a *_regex param that isn't
          actually a regex.  See RT #3032.

        [FIXES]
        * mech-dump.t no longer runs if you're not installing mech-dump.
          See RT #3724.

        [DOCUMENTATION]
        * More FAQs.  Thanks to Gavin Estey.


0.61    October 6, 2003  6:30pm
        No new functionality here.  It's mostly to get the new tests
        into the pipeline so the CPAN testers can run 'em.

        [FIXES]
        * Missing dependency on File::Temp.  Thanks, Ask.

        [ENHANCEMENTS]
        * Added the test case for the form processing problem as a .t
          file, since I spent so long getting it down to a simple case.
        * Internal code uses accessors instead of direct hash entries.
          Prepare for deprecation of existing hash entries!

        [DOCUMENTATION]
        * The FAQ is now its own document at WWW::Mechanize::FAQ.


0.60    September 22, 2003  10:00pm
        [FIXES]
        * Changed how t/failure.t tries to fail.  It used to hit
          a bogus hostname in .com, but with Verisign doing its
          SiteFinder crap, even bogus addresses in .com succeed.

        [ENHANCEMENTS]
        * Added _make_request() to let WWW::Mechanize::Cached easily
          hook into the request chain.

0.59    September 3, 2003  11:56pm
        [FIXES]
        * Squelched a warning in follow() where it tries to do a regex
          match against an undef value.
        * The page stack functionality, including the back() button,
          was entirely broken.  Now it works.  Thanks to the mighty
          Iain Truskett for help.

        [ENHANCEMENTS]
        * Added the mech-dump script, which replaces mech-forms.
          It will dump forms and lists of links.  Eventually it will
          do lists of images, too, but not yet.

0.58    August 14, 2003  11:30pm
        [THINGS THAT MIGHT BREAK YOUR CODE]
        * $mech->uri() now returns a plain string, not a URI object.
          The automatic stringification of the URI object was
          causing problems on Win32 and/or threaded Perls, and I
          didn't feel like figuring out why.  If the non-objectness
          of the uri() method is a problem, let me know.
        * form(), form_name() and form_number() now return the
          HTML::Form object of the form that was chosen.  They used
          to return a 1 or 0.  This means that if you're explicitly
          checking for 1 or 0, instead of evaluating the return
          code in a boolean context, your code will break.

        [FIXES]
        * The <AREA>-handling in extract_links() was incorrectly
          building the text.
        * uri() now returns a string, not a URI object.
        * form(), form_name() and form_number() now return the
          HTML::Form object of the form that was chosen.

        [INTERNALS]
        * Determination of live vs. local tests is now done in
          Makefile.PL, and we don't have to set those silly semaphore
          files any more.
        * Made other cleanups in Makefile.PL, like using
          ExtUtils::Command instead of rolling my own touch().
        * Moved all the *-live.t tests into t/live/*.t, and renamed
          the *-local.t files to not be -local.
        * Added more tests for <AREA> tags.

0.57    July 31, 2003  11:21pm
        [ENHANCEMENTS]
        * Added <AREA HREF=...> tags to those that are links per
          find_links().

0.56    July 24, 2003  12:15pm
        [THINGS THAT MIGHT BREAK YOUR CODE]
        * Created agent_alias() method to do the browser string
          translation.  Passing "Windows IE 6" to agent() will get
          you back exactly that string as the agent.  You have to call
          $a->agent_alias( "Windows IE 6" ) to get the translation.

          Fortunately, unless you used the new functionality of agent() in
          the past two days since I released 0.55, it won't be a problem.

        [ENHANCEMENTS]
        * Removed the dependencies on Carp and Test::Builder.  There still
          is a dependency on Test::Builder for Test::More, but it's no
          longer explicit in the Makefile.PL.  Mech will use Carp if
          possible, but it's no longer a requirement.

        [INTERNALS]
        * Added _carp method for handling conditional warnings, rather
          than checking quiet() all the time.

0.55    July 22, 2003  12:10pm
        [ENHANCEMENTS]
        * Added WWW::Mechanize::Link object to encapsulate what used to
          be an array reference of stuff from find_link().  This replaces
          having to know that $link->[0] was URL and so on.  However,
          since WWW::Mechanize::Link is a blessed arrayref, it's backwards
          compatible with existing code.

        * The WWW::Mechanize::Link object now tracks what tag the link
          came from (<A>, <FRAME> or <IFRAME>).

        * No longer loads Carp unless and until it's necessary.

        * submit_form() now uses the currently specified form if a
          form_name or form_number param is not specified. (RT #2768)

        * Added a translate table of handy browser strings that the
          agent() method recognizes.  These strings may be one of the
          following:

             * Windows IE 6
             * Windows Mozilla
             * Mac Safari
             * Mac Mozilla
             * Linux Mozilla
             * Linux Konqueror

          For example, "Windows IE 6" gets replaced with
          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)".
          Thanks to Ed Silva for the list.

        [DOCUMENTATION]
        * Moved the deprecated methods to their own section.

        * Removed the TODO list, since it's all in RT.

0.54    July 20, 2003  12:47am
        [THINGS THAT MIGHT BREAK YOUR CODE]
        * See the enhancements on extract_links() and failures.
          Also, see the note about #2811 below.

        [ENHANCEMENTS]
        * find_all_links() and find_link() can specify multiple
          text or url parameters, which will be anded together.
          Before, there was a pecking order in which param took
          precedence, and any extras were ignored.  To find the
          first link with text of "news" and with "cnn.com" in the
          URL, use:

            $a->find_link( text => "news", url_regex => qr/cnn\.com/ );

          Thanks to Greg Davies for the idea. (RT #2973)

        * extract_links() is now an internal-only method, named
          _extract_links().  If you're using it, don't.  Use
          find_all_links() instead, which is more flexible.

        * Now, when there is a failure of some kind, certain fields
          like title, forms and links are cleared out.  Before, you'd
          have leftover links from the previous page.  I suspect that
          at least one person out there has been mistakenly relying
          on this behavior, and his code will now break, but that's
          a good thing.  See t/failure.t for more.

        [FIXES]
        * No longer tries to tech mech-forms if you're not installing
          it.
        * Fixed #2811: The definition of the link text contents
          did not match the documentation.

        [DOCUMENTATION]
        * Added a sample CPAN search from Ed Silva.
        * Added link to the Perl Advent Calendar.


0.53    July 16, 2003
        This version ONLY fixes some test-file problems.  There are no
        functionality enhancements or bug fixes in WWW::Mechanize itself.

        [FIXES]
        * Explicitly stringifies URI::file objects in the *.t files,
          in hopes of getting the thread bummers fixed.  See RT
          #2874 and #2880.

0.52    July 7, 2003
        [ENHANCEMENTS]
        * mech-forms now handles local files.
        * Added t/mech-forms.t to test the app
        * Added some param-checking to submit_form()
        * All the warns are now carps.  Thanks to MJD for pointing
          it out during his "Tricks Of The Wizards" talk.

        [FIXES]
        * Bumped up the Test::Builder requirement to 0.17, which
          I hope will get rid of the thread problems with t/tick.t.
          Thanks to Autrijus Tang for pointing out the note in
          Builder.pm.

0.51    June 29, 2003
        [ENHANCEMENTS]
        * Added the "mech-forms" command to list all the forms on
          a given page.

        [FIXES]
        * Made the tick.t test not rely on 2shortplanks.com.

0.50    June 24, 2003
        [ENHANCEMENTS]
        * Mech now does what most browsers do when they handle a
          redirect: It changes the POST to a GET.  This doesn't match the
          RFC, but it's what browsers do.  Thanks to Stuart Children.

0.49    June 23, 2003
        [FIXES]
        * Added a fix a while ago that tracks redirect history.  That fix
          had the bad side effect of always allowing a redirect.
          That has now been fixed.

0.48    June 22, 2003
        [ENHANCEMENTS]
        * Added find_all_links() as the counterpart to find_link().

        [FIXES]
        * get() wasn't passing through its params to LWP::UserAgent::get(),
          so you couldn't use the :content_file param.  Now it
          behaves like a good little subclass.

0.47    June 21, 2003
        [ENHANCEMENTS]
        * find_link() now lets you pass n=>"all" to get back a list
          of all links that match the other criteria.  NOTE: Outdated!  See
          v0.48 for the preferred way.
        * find_link() and follow_link() now complain if you pass
          invalid params to them.

        [FIXES]
        * Tracks URI history properly after redirects.

0.46    June 20, 2003
        [ENHANCEMENTS]
        * Added tick() and untick() functions for handling checkboxes.
          Thanks to Mark Fowler for this patch.
        * The uri() will only be the URI of the requested page if it worked.
        * Oh yes, I forgot to mention: We're on Sourceforge now.

0.45    June 11, 2003
        [ENHANCEMENTS]
        * Added response() method, which is identical to res().
        * Added a convenience method success(), which is just a wrapper
          around $agent->res->is_success().
        * Passes along a Referer: header.  It can still be overridden
          with the %Headers hash, though.  Thanks, Corion.
        * We now have a set of localized tests that run for machines that
          aren't connected to the Net.  There's now a t/lib/ directory for
          those helper files, and the previous Utils.pm has been dropped.
          Again, Corion to the rescue.

        [DOCUMENTATION]
        * Added to the FAQ
        * Rearranged all the functions in the file so they are now
          logically grouped.

0.44    June 5, 2003
        [ENHANCEMENTS]
        * Now follows redirects after a POST.  By default, LWP::UserAgent
          does NOT follow redirects after a POST.  This matches the
          official RFC.  However, since WWW::Mechanize is meant to be a
          browser clone, and browsers follow the redirects after a POST,
          I've changed this behavior.  If this causes bummers, let me
          know and maybe I'll throw in a switch.

        [DOCUMENTATION]
        * The package now includes the WWW::Mechanize logo in the etc/
          directory.  I have no idea what I'll do with it, but thanks
          to Meng Wong for making it!

0.43    May 29, 2003
        [ENHANCEMENTS]
        * Now uses request() instead of send_request().  This should
          solve all of our redirection and cookie bummers.
        * Added reload() method.  Thanks, Corion.

0.42    May 26, 2003
        [ENHANCEMENTS]
        * Renamed _do_request() to send_request(), so it's now a
          proper overload of LWP::UserAgent.  Thanks to Philippe Bruhat.
          Recorded in RT ticket #1708.
        * Removed the req() method, and tests that used it.
        * extract_links() now checks for <IFRAME> tags along with the
          existing <A> and <FRAME>.
        * Now explicitly requires HTML::HeadParser.
        * Doesn't load Carp unless it's actually needed.

0.41    May 22, 2003
        [ENHANCEMENTS]
        * There are no enhancements in functionality.
        * Testing suite getting more network-independent.

        [DOCUMENTATION]
        * Started a FAQ section.
        * New SYNOPSIS section.  Thanks to Uri Guttmann.
        * Documentation fixes.  Thanks to Mark Stosberg, Mike Fragassi.

0.40    April 18, 2003
        [ENHANCEMENTS]
        * Three new methods.
          * find_link() for finding a specified link
          * follow_link() for following a specified link
          * submit_form() for all-in-one form submission.
          All three owe a great deal to Uri Guttmann.  Thanks, Uri!
        * Split out the examples into WWW::Mechanize::Examples.pod
        * Added t/back.t
        * Documentation fixes from Abigail

0.39    April 1, 2003
        [ENHANCEMENTS]
        * No functional enhancements.  Everything is docs.

        * Added a new example from Dan Rinzel, for posting to Movable Type

        * Started playing with having the test suite not have to have
          live net access.

0.38    March 24, 2003
        [DEPRECATIONS]
        * The %WWW::Mechanize::Headers hash is officially deprecated.
          It will be removed pretty soon.  I'm not sure what the
          replacement will be, but it won't be a package-level hash.

        [ENHANCEMENTS]
        * The submit() method is no longer an alias for click("submit"),
          because some forms don't have a button called "submit".
          In fact, some may not have any buttons at all if they're
          JavaScript-controlled.

        [FIXES]
        * RT #2056: $agent->field() wasn't returning proper input field,
          because of an incorrect call to the underlying HTML::Form.
          Thanks to Prakash Kailasa.

0.37    March 4, 2003
        [ENHANCEMENTS]
        * Added an is_html() method
        * Added a title() method
        * No longer requires the Clone module.
        * No longer requires the Test::Pod module, although it's nice
          to have.

0.36    February 4, 2003
        [ENHANCEMENTS]
        * Added form lookup by name.  Thanks to Jan Ivar Pladsen and
          Iain Truskett for their patches.
        * Added new functions form_name() and form_number().  Existing
          form() function calls each of these as appropriate.
        * Explicitly requires LWP 5.69 because of the form naming.
        * Added new POD section "Examples" for user-submitted sample code
          of how to use WWW::Mechanize.
        * Quieted the warnings in the test suite, so that you don't get
          expected, but disconcerting, warnings to the screen.

0.35    January 22, 2003
        [ENHANCEMENTS]
        * Now creates an internal cookie_jar by default.
        * Beefing up the test suite
        * Don't forget, direct access to internal members is deprecated.
          Use the accessors starting now.

0.33    January 15, 2003
        [ENHANCEMENTS]
        * Added accessor methods
        * Deprecated the direct accessing of object contents.  You can
          no longer rely on the names of any of the hash elements.
        * Added a quiet() method to suppress warnings to the screen.

        [FIXES]
        * More documentation fixes.  (Thanks to Briac Pilpré)

0.32    September 23, 2002
        [FIXES]
        * Now correctly calls the LWP::UserAgent constructor.  (Thanks to
          Philippe "BooK" Bruhat)

        * Fixed doc on what get() method returns.  (Again thanks to BooK)

        * Now uses http://www.google.com/intl/en/ as the basis for
          testing, since non-US users apparently get redirected to
          country-specific sites when they hit http://www.google.com/

0.31    September 13, 2002
        [ENHANCEMENTS]
        * get() now returns the HTTP::Response object.
        * Prepended push_page_stack(), pop_page_stack() and
          do_request() with underscores, to emphasize that they
          are for internal use only.

0.30    September 10, 2002
        [ENHANCEMENTS]
        * Fixed the stack popping problem.

        [FIXES]
        * Put all the inline tests into t/*.t

        * get() doesn't work w/relative URLs
        http://rt.cpan.org/NoAuth/Bug.html?id=1492

        * The arrays returned by extract_links()
        now have a third element, which contains
        the name attribute of the link (undef
        if the link has no name attribute).


Code before this point is forked off from WWW::Automate 0.20b.