mechanize 2.7.7 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of mechanize might be problematic. Click here for more details.

Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci-test.yml +24 -4
  3. data/.yardopts +8 -0
  4. data/{CHANGELOG.rdoc → CHANGELOG.md} +81 -66
  5. data/Gemfile +1 -6
  6. data/{LICENSE.rdoc → LICENSE.txt} +4 -0
  7. data/README.md +79 -0
  8. data/Rakefile +18 -3
  9. data/lib/mechanize.rb +1 -0
  10. data/lib/mechanize/chunked_termination_error.rb +1 -0
  11. data/lib/mechanize/content_type_error.rb +1 -0
  12. data/lib/mechanize/cookie.rb +1 -13
  13. data/lib/mechanize/cookie_jar.rb +2 -10
  14. data/lib/mechanize/directory_saver.rb +1 -0
  15. data/lib/mechanize/download.rb +1 -0
  16. data/lib/mechanize/element_matcher.rb +1 -0
  17. data/lib/mechanize/element_not_found_error.rb +1 -0
  18. data/lib/mechanize/file.rb +1 -0
  19. data/lib/mechanize/file_connection.rb +5 -3
  20. data/lib/mechanize/file_request.rb +1 -0
  21. data/lib/mechanize/file_response.rb +3 -0
  22. data/lib/mechanize/file_saver.rb +1 -0
  23. data/lib/mechanize/form.rb +1 -9
  24. data/lib/mechanize/form/button.rb +1 -0
  25. data/lib/mechanize/form/check_box.rb +1 -0
  26. data/lib/mechanize/form/field.rb +1 -0
  27. data/lib/mechanize/form/file_upload.rb +1 -0
  28. data/lib/mechanize/form/hidden.rb +1 -0
  29. data/lib/mechanize/form/image_button.rb +1 -0
  30. data/lib/mechanize/form/keygen.rb +1 -0
  31. data/lib/mechanize/form/multi_select_list.rb +1 -0
  32. data/lib/mechanize/form/option.rb +1 -0
  33. data/lib/mechanize/form/radio_button.rb +1 -0
  34. data/lib/mechanize/form/reset.rb +1 -0
  35. data/lib/mechanize/form/select_list.rb +1 -0
  36. data/lib/mechanize/form/submit.rb +1 -0
  37. data/lib/mechanize/form/text.rb +1 -0
  38. data/lib/mechanize/form/textarea.rb +1 -0
  39. data/lib/mechanize/headers.rb +1 -0
  40. data/lib/mechanize/history.rb +1 -0
  41. data/lib/mechanize/http.rb +1 -0
  42. data/lib/mechanize/http/agent.rb +16 -8
  43. data/lib/mechanize/http/auth_challenge.rb +1 -0
  44. data/lib/mechanize/http/auth_realm.rb +1 -0
  45. data/lib/mechanize/http/auth_store.rb +1 -0
  46. data/lib/mechanize/http/content_disposition_parser.rb +14 -2
  47. data/lib/mechanize/http/www_authenticate_parser.rb +3 -3
  48. data/lib/mechanize/image.rb +1 -0
  49. data/lib/mechanize/page.rb +1 -0
  50. data/lib/mechanize/page/base.rb +1 -0
  51. data/lib/mechanize/page/frame.rb +1 -0
  52. data/lib/mechanize/page/image.rb +1 -0
  53. data/lib/mechanize/page/label.rb +1 -0
  54. data/lib/mechanize/page/link.rb +8 -1
  55. data/lib/mechanize/page/meta_refresh.rb +1 -0
  56. data/lib/mechanize/parser.rb +1 -0
  57. data/lib/mechanize/pluggable_parsers.rb +1 -0
  58. data/lib/mechanize/prependable.rb +1 -0
  59. data/lib/mechanize/redirect_limit_reached_error.rb +1 -0
  60. data/lib/mechanize/redirect_not_get_or_head_error.rb +1 -0
  61. data/lib/mechanize/response_code_error.rb +2 -1
  62. data/lib/mechanize/response_read_error.rb +1 -0
  63. data/lib/mechanize/robots_disallowed_error.rb +1 -0
  64. data/lib/mechanize/test_case.rb +32 -27
  65. data/lib/mechanize/test_case/bad_chunking_servlet.rb +1 -0
  66. data/lib/mechanize/test_case/basic_auth_servlet.rb +1 -0
  67. data/lib/mechanize/test_case/content_type_servlet.rb +1 -0
  68. data/lib/mechanize/test_case/digest_auth_servlet.rb +1 -0
  69. data/lib/mechanize/test_case/file_upload_servlet.rb +1 -0
  70. data/lib/mechanize/test_case/form_servlet.rb +1 -0
  71. data/lib/mechanize/test_case/gzip_servlet.rb +1 -0
  72. data/lib/mechanize/test_case/header_servlet.rb +1 -0
  73. data/lib/mechanize/test_case/http_refresh_servlet.rb +1 -0
  74. data/lib/mechanize/test_case/infinite_redirect_servlet.rb +1 -0
  75. data/lib/mechanize/test_case/infinite_refresh_servlet.rb +1 -0
  76. data/lib/mechanize/test_case/many_cookies_as_string_servlet.rb +1 -0
  77. data/lib/mechanize/test_case/many_cookies_servlet.rb +1 -0
  78. data/lib/mechanize/test_case/modified_since_servlet.rb +1 -0
  79. data/lib/mechanize/test_case/ntlm_servlet.rb +1 -0
  80. data/lib/mechanize/test_case/one_cookie_no_spaces_servlet.rb +1 -0
  81. data/lib/mechanize/test_case/one_cookie_servlet.rb +1 -0
  82. data/lib/mechanize/test_case/quoted_value_cookie_servlet.rb +1 -0
  83. data/lib/mechanize/test_case/redirect_servlet.rb +1 -0
  84. data/lib/mechanize/test_case/referer_servlet.rb +1 -0
  85. data/lib/mechanize/test_case/refresh_with_empty_url.rb +1 -0
  86. data/lib/mechanize/test_case/refresh_without_url.rb +1 -0
  87. data/lib/mechanize/test_case/response_code_servlet.rb +1 -0
  88. data/lib/mechanize/test_case/robots_txt_servlet.rb +1 -0
  89. data/lib/mechanize/test_case/send_cookies_servlet.rb +1 -0
  90. data/lib/mechanize/test_case/server.rb +1 -0
  91. data/lib/mechanize/test_case/servlets.rb +1 -0
  92. data/lib/mechanize/test_case/verb_servlet.rb +1 -0
  93. data/lib/mechanize/unauthorized_error.rb +1 -0
  94. data/lib/mechanize/unsupported_scheme_error.rb +1 -0
  95. data/lib/mechanize/util.rb +2 -1
  96. data/lib/mechanize/version.rb +2 -1
  97. data/lib/mechanize/xml_file.rb +1 -0
  98. data/mechanize.gemspec +38 -31
  99. data/test/htdocs/dir with spaces/foo.html +1 -0
  100. data/test/test_mechanize.rb +5 -4
  101. data/test/test_mechanize_cookie_jar.rb +2 -0
  102. data/test/test_mechanize_download.rb +1 -0
  103. data/test/test_mechanize_file.rb +1 -0
  104. data/test/test_mechanize_file_connection.rb +21 -3
  105. data/test/test_mechanize_file_response.rb +6 -0
  106. data/test/test_mechanize_http_agent.rb +47 -7
  107. data/test/test_mechanize_http_content_disposition_parser.rb +27 -0
  108. data/test/test_mechanize_link.rb +24 -0
  109. metadata +134 -52
  110. data/README.rdoc +0 -77
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: feff4acdf05edc4c615ab91f9ab0b7abfd1987dbd998ed07a36489189594edf2
4
- data.tar.gz: efce735d57a4b2259f30a630829f432f270e3aa353fb9d4f5ad032df06387e84
3
+ metadata.gz: d7df2fdd2030e028d6107b3b54f94f788deba04b9615cb719ef2113291270d1c
4
+ data.tar.gz: ab12e971c446e5977662076f39711298b5311ef12fe54612855433e5e926fa46
5
5
  SHA512:
6
- metadata.gz: f83a08c469e67045f58f3f3685cb17618db889dd85d1b7f2e56da1c9ae7744f36815a1f811f09bd99614c529b42f2038100a64fb06cdee1569d43bb831ea3fae
7
- data.tar.gz: c01289d967e87c40e0936c2f973847da696bc92d9255a5c5f20099ff795ce57430f45a631a02a9395cfe7066e27731ec040a879fd255468b43cf9a1b5149c3eb
6
+ metadata.gz: 50f065469eb756a860e5c02b6e2d31cd5f25e0da2db9c4e9dddd018a96fb8fe4bb209ffd70c0e51c777ede12245faff86568a9e9044dd006d61d3514cd35660c
7
+ data.tar.gz: 6db1eaffd62dc89449721ad9d06dbc5d0f8d15f24b49cf9be84a3f88dc1bd91a41e1774aef12bdc9933e3b8e0d5b0050cf4dbaa675db6131f7723b3713921630
@@ -2,18 +2,21 @@ name: "ci"
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ master ]
5
+ branches:
6
+ - main
6
7
  pull_request:
7
- branches: [ "*" ]
8
+ types: [opened, synchronize]
9
+ branches:
10
+ - main
8
11
 
9
12
  jobs:
10
13
  test:
11
- runs-on: ubuntu-latest
12
14
  strategy:
13
15
  fail-fast: false
14
16
  matrix:
15
- ruby-version: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "jruby"]
17
+ ruby-version: ["2.5", "2.6", "2.7", "3.0", "jruby"]
16
18
 
19
+ runs-on: ubuntu-latest
17
20
  steps:
18
21
  - uses: actions/checkout@v2
19
22
  - name: Set up Ruby
@@ -23,3 +26,20 @@ jobs:
23
26
  bundler-cache: true
24
27
  - name: Run tests
25
28
  run: bundle exec rake
29
+
30
+ test-platform:
31
+ strategy:
32
+ fail-fast: false
33
+ matrix:
34
+ platform: ["windows-latest", "macos-latest"]
35
+
36
+ runs-on: ${{ matrix.platform }}
37
+ steps:
38
+ - uses: actions/checkout@v2
39
+ - name: Set up Ruby
40
+ uses: ruby/setup-ruby@v1
41
+ with:
42
+ ruby-version: 3.0
43
+ bundler-cache: true
44
+ - name: Run tests
45
+ run: bundle exec rake
data/.yardopts ADDED
@@ -0,0 +1,8 @@
1
+ --main=README.md
2
+ lib/**/*.rb
3
+ -
4
+ README.md
5
+ LICENSE.txt
6
+ CHANGELOG.md
7
+ GUIDE.rdoc
8
+ EXAMPLES.rdoc
@@ -1,6 +1,21 @@
1
- = Mechanize CHANGELOG
1
+ # Mechanize CHANGELOG
2
2
 
3
- === 2.7.7 / 2021-02-01
3
+ ## 2.8.0 / 2021-04-01
4
+
5
+ * Requirements
6
+ * Mechanize now requires Ruby 2.5 or newer.
7
+ * Move from `ntlm-http` to `rubyntlm` gem. (#495, #574)
8
+
9
+ * New Features
10
+ * Page::Link#uri now handles non-ASCII `href`s. (#569) @terryyin
11
+ * FileConnection supports Windows drive letters (#483)
12
+ * Credential headers 'Authorization' and 'Cookie' are deleted on cross-origin redirects. (#538) @kyoshidajp
13
+ * ContentDispositionParser handles ISO8601 date headers, to be robust with websites that ignore RFC2183. (#554) @reitermarkus
14
+
15
+ * Bug fix
16
+ * POST headers 'Content-Length', 'Content-MD5', and 'Content-Type' are deleted in a case-insensitive manner on redirects. Previously these headers were treated as case-sensitive.
17
+
18
+ ## 2.7.7 / 2021-02-01
4
19
 
5
20
  * Security fixes for CVE-2021-21289
6
21
 
@@ -27,7 +42,7 @@
27
42
  * Ignore input fields with blank names (#542, #536)
28
43
 
29
44
 
30
- === 2.7.6
45
+ ## 2.7.6
31
46
 
32
47
  * New Features
33
48
  * Mechanize#set_proxy accepts an HTTP URL/URI. (#513)
@@ -39,7 +54,7 @@
39
54
  * Mechanize::Page#title no longer picks a title in an embeded SVG/RDF element. (#503)
40
55
  * Make Mechanize::Form#has_field? boolean. (#501)
41
56
 
42
- === 2.7.5
57
+ ## 2.7.5
43
58
 
44
59
  * New Features
45
60
  * All 4xx responses and RedirectLimitReachedError when fetching robots.txt are treated as full allow just like Googlebot does.
@@ -50,7 +65,7 @@
50
65
  * Fix basic authentication for a realm that contains uppercase characters. (#458, #459)
51
66
  * Fix encoding error when uploading a file which name is non-ASCII. (#333)
52
67
 
53
- === 2.7.4
68
+ ## 2.7.4
54
69
 
55
70
  * New Features
56
71
  * Accept array-like and hash-like values as query/parameter value.
@@ -72,7 +87,7 @@
72
87
  * Fix whitespace bug in WWW-Authenticate. #451, #450, by Rasmus Bergholdt
73
88
  * Don't allow redirect from a non-file URL to a file URL for security reasons. (#455)
74
89
 
75
- === 2.7.3
90
+ ## 2.7.3
76
91
 
77
92
  * New Features
78
93
  * Allow net-http-persistent instance to be named. #324, John Weir.
@@ -83,20 +98,20 @@
83
98
  * Ensure Download#save! defaults back to original filename if
84
99
  none is provided (#300)
85
100
 
86
- === 2.7.2
101
+ ## 2.7.2
87
102
 
88
103
  * Bug fix
89
104
  * API compatibility issues with Mechanize::CookieJar cookies has been
90
105
  addressed. https://github.com/sparklemotion/http-cookie/issues/2 #326
91
106
 
92
- === 2.7.1
107
+ ## 2.7.1
93
108
 
94
109
  * Bug fix
95
110
  * Ensure images with no "src" attribute still return correct URLs. #317
96
111
  * Fixes Mechanize::Parser#extract_filename where an empty string filename
97
112
  in the response caused unhandled exception. #318
98
113
 
99
- === 2.7.0
114
+ ## 2.7.0
100
115
 
101
116
  * New Features
102
117
  * Mechanize::Agent#response_read will now raise a
@@ -110,7 +125,7 @@
110
125
  * Ensure page URLs with whitespace in them are escaped #313 @pacop.
111
126
  * Added a workaround for a bug of URI#+ that led to failure in resolving a relative path containing double slash like "/../http://.../". #304
112
127
 
113
- === 2.6.0
128
+ ## 2.6.0
114
129
 
115
130
  * New Features
116
131
  * Mechanize#start and Mechanize#shutdown (Thanks, Damian Janowski!)
@@ -144,7 +159,7 @@
144
159
  * Mechanize now writes cookiestxt with a prefixed dot for wildcard domain
145
160
  handling. #295 by Mike Morearty.
146
161
 
147
- === 2.5.2
162
+ ## 2.5.2
148
163
 
149
164
  * New Features
150
165
  * Mechanize::CookieJar#save_as takes a keyword option "session" to say
@@ -163,13 +178,13 @@
163
178
  * Fixed Content-Disposition parameter parser to be case insensitive. #233
164
179
  * Fixed redirection counting in following meta refresh. #240
165
180
 
166
- === 2.5.1
181
+ ## 2.5.1
167
182
 
168
183
  * Bug fix
169
184
  * Mechanize no longer copies POST requests during a redirect which was
170
185
  introduced by #215. Pull request #229 by Godfrey Chan.
171
186
 
172
- === 2.5
187
+ ## 2.5
173
188
 
174
189
  * Minor enhancements
175
190
  * Added Mechanize#ignore_bad_chunking for working around servers that don't
@@ -195,7 +210,7 @@
195
210
  * Worked around ruby 1.8 run with -Ku and ISO-8859-1 encoded characters in
196
211
  URIs. Issue #228 by Stanislav O.Pogrebnyak
197
212
 
198
- === 2.4
213
+ ## 2.4
199
214
 
200
215
  * Security fix:
201
216
 
@@ -218,7 +233,7 @@
218
233
  * Improved exception messages for 401 Unauthorized responses. Mechanize now
219
234
  tells you if you were missing credentials, had an incorrect password, etc.
220
235
 
221
- === 2.3 / 2012-02-20
236
+ ## 2.3 / 2012-02-20
222
237
 
223
238
  * Minor enhancements
224
239
  * Add support for the Max-Age attribute in the Set-Cookie header.
@@ -238,14 +253,14 @@
238
253
  * Cookies with an empty Expires attribute value were stored as session
239
254
  cookies but cookies without the Expires attribute were not. Issue #78
240
255
 
241
- === 2.2.1 / 2012-02-13
256
+ ## 2.2.1 / 2012-02-13
242
257
 
243
258
  * Bug fixes
244
259
  * Add missing file to the gem, ensure that missing files won't cause
245
260
  failures again. Issue #201 by Alex
246
261
  * Fix minor grammar issue in README. Issue #200 by Shane Becker.
247
262
 
248
- === 2.2 / 2012-02-12
263
+ ## 2.2 / 2012-02-12
249
264
 
250
265
  * API changes
251
266
  * MetaRefresh#href is not normalized to an absolute URL, but set to the
@@ -280,7 +295,7 @@
280
295
  * A link with an empty href is now resolved correctly where previously the
281
296
  query part was dropped.
282
297
 
283
- === 2.1.1 / 2012-02-03
298
+ ## 2.1.1 / 2012-02-03
284
299
 
285
300
  * Bug fixes
286
301
  * Set missing idle_timeout default. Issue #196
@@ -308,7 +323,7 @@
308
323
  * Documented how to convert a Mechanize::ResponseReadError into a File or
309
324
  Page, along with a new method #force_parse. Issue #176
310
325
 
311
- === 2.1 / 2011-12-20
326
+ ## 2.1 / 2011-12-20
312
327
 
313
328
  * Deprecations
314
329
  * Mechanize#get no longer accepts an options hash.
@@ -391,7 +406,7 @@
391
406
  #129 by kitamomonga
392
407
  * Fixed proxy example in EXAMPLE. Issue #146 by NielsKSchjoedt
393
408
 
394
- === 2.0.1 / 2011-06-28
409
+ ## 2.0.1 / 2011-06-28
395
410
 
396
411
  Mechanize now uses minitest to avoid 1.9 vs 1.8 assertion availability in
397
412
  test/unit
@@ -402,7 +417,7 @@ test/unit
402
417
  * Mechanize#keep_alive_time no longer crashes but does nothing as
403
418
  net-http-persistent does not support HTTP/1.0 keep-alive extensions.
404
419
 
405
- === 2.0 / 2011-06-27
420
+ ## 2.0 / 2011-06-27
406
421
 
407
422
  Mechanize is now under the MIT license
408
423
 
@@ -510,7 +525,7 @@ Mechanize is now under the MIT license
510
525
  * Mechanize::Page::Link#uri now handles both escaped and unescaped hrefs.
511
526
  GH #107
512
527
 
513
- === 1.0.0
528
+ ## 1.0.0
514
529
 
515
530
  * New Features:
516
531
 
@@ -528,7 +543,7 @@ Mechanize is now under the MIT license
528
543
  * Fixing default values with serialized cookies. GH #3
529
544
  * Checkboxes and fields are sorted by page appearance before submitting. #11
530
545
 
531
- === 0.9.3
546
+ ## 0.9.3
532
547
 
533
548
  * Bug Fixes:
534
549
 
@@ -546,7 +561,7 @@ Mechanize is now under the MIT license
546
561
  * Fixed a bug with double semi-colons in Content-Disposition headers
547
562
  * Properly handling cookies that specify a path. RF #25259
548
563
 
549
- === 0.9.2 / 2009/03/05
564
+ ## 0.9.2 / 2009/03/05
550
565
 
551
566
  * New Features:
552
567
  * Mechanize#submit and Form#submit take arbitrary headers(thanks penguincoder)
@@ -559,7 +574,7 @@ Mechanize is now under the MIT license
559
574
  * Made Content-Type match case insensitive (Thanks Kelly Reynolds)
560
575
  * Non-string form parameters work
561
576
 
562
- === 0.9.1 2009/02/23
577
+ ## 0.9.1 2009/02/23
563
578
 
564
579
  * New Features:
565
580
  * Encoding may be specified for a page: Page#encoding=
@@ -575,7 +590,7 @@ Mechanize is now under the MIT license
575
590
  * WAP content types will now be parsed
576
591
  * Rescued poorly formatted cookies. Thanks Kelley Reynolds!
577
592
 
578
- === 0.9.0
593
+ ## 0.9.0
579
594
 
580
595
  * Deprecations
581
596
  * WWW::Mechanize::List is gone!
@@ -585,7 +600,7 @@ Mechanize is now under the MIT license
585
600
  * Bug Fixes:
586
601
  * Nil check on page when base tag is used #23021
587
602
 
588
- === 0.8.5
603
+ ## 0.8.5
589
604
 
590
605
  * Deprecations
591
606
  * WWW::Mechanize::List will be deprecated in 0.9.0, and warnings have
@@ -609,28 +624,28 @@ Mechanize is now under the MIT license
609
624
  * Mechanize#get requests no longer send a referer unless they are relative
610
625
  requests.
611
626
 
612
- === 0.8.4
627
+ ## 0.8.4
613
628
 
614
629
  * Bug Fixes:
615
630
  * Setting the port number on the host header.
616
631
  * Fixing Authorization headers for picky servers
617
632
 
618
- === 0.8.3
633
+ ## 0.8.3
619
634
 
620
635
  * Bug Fixes:
621
636
  * Making sure logger is set during SSL connections.
622
637
 
623
- === 0.8.2
638
+ ## 0.8.2
624
639
 
625
640
  * Bug Fixes:
626
641
  * Doh! I was accidentally setting headers twice.
627
642
 
628
- === 0.8.1
643
+ ## 0.8.1
629
644
 
630
645
  * Bug Fixes:
631
646
  * Fixed problem with nil pointer when logger is set
632
647
 
633
- === 0.8.0
648
+ ## 0.8.0
634
649
 
635
650
  * New Features:
636
651
  * Lifecycle hooks. Mechanize#pre_connect_hooks, Mechanize#post_connect_hooks
@@ -644,7 +659,7 @@ Mechanize is now under the MIT license
644
659
  * Only setting headers once
645
660
  * Adding IIS authentication support
646
661
 
647
- === 0.7.8
662
+ ## 0.7.8
648
663
 
649
664
  * Bug Fixes:
650
665
  * Fixed bug when receiving a 304 response (HTTPNotModified) on a page not
@@ -652,7 +667,7 @@ Mechanize is now under the MIT license
652
667
  * #21428 Default to HTML parser for 'application/xhtml+xml' content-type.
653
668
  * Fixed an issue where redirects were resending posted data
654
669
 
655
- === 0.7.7
670
+ ## 0.7.7
656
671
 
657
672
  * New Features:
658
673
  * Page#form_with takes a +criteria+ hash.
@@ -673,7 +688,7 @@ Mechanize is now under the MIT license
673
688
  * #21233 Smarter multipart boundry. Thanks Todd Willey!
674
689
  * #20097 Supporting meta tag cookies.
675
690
 
676
- === 0.7.6
691
+ ## 0.7.6
677
692
 
678
693
  * New Features:
679
694
  * Added support for reading Mozilla cookie jars. Thanks Chris Riddoch!
@@ -696,32 +711,32 @@ Mechanize is now under the MIT license
696
711
  * Supporting blank strings for option values.
697
712
  http://rubyforge.org/tracker/index.php?func=detail&aid=19975&group_id=1453&atid=5709
698
713
 
699
- === 0.7.5
714
+ ## 0.7.5
700
715
 
701
716
  * Fixed a bug when fetching files and not pages. Thanks Mat Schaffer!
702
717
 
703
- === 0.7.4
718
+ ## 0.7.4
704
719
 
705
720
  * doh!
706
721
 
707
- === 0.7.3
722
+ ## 0.7.3
708
723
 
709
724
  * Pages are now yielded to a blocks given to WWW::Mechanize#get
710
725
  * WWW::Mechanize#get now takes hash arguments for uri parameters.
711
726
  * WWW::Mechanize#post takes an IO object as a parameter and posts correctly.
712
727
  * Fixing a strange zlib inflate problem on windows
713
728
 
714
- === 0.7.2
729
+ ## 0.7.2
715
730
 
716
731
  * Handling gzipped responses with no Content-Length header
717
732
 
718
- === 0.7.1
733
+ ## 0.7.1
719
734
 
720
735
  * Added iPhone to the user agent aliases. [#17572]
721
736
  * Fixed a bug with EOF errors in net/http. [#17570]
722
737
  * Handling 0 length gzipped responses. [#17471]
723
738
 
724
- === 0.7.0
739
+ ## 0.7.0
725
740
 
726
741
  * Removed Ruby 1.8.2 support
727
742
  * Changed parser to lazily parse links
@@ -729,7 +744,7 @@ Mechanize is now under the MIT license
729
744
  * Adding verify_callback for SSL requests. Thanks Mike Dalessio!
730
745
  * Fixed a bug with Accept-Language header. Thanks Bill Siggelkow.
731
746
 
732
- === 0.6.11
747
+ ## 0.6.11
733
748
 
734
749
  * Detecting single quotes in meta redirects.
735
750
  * Adding pretty inspect for ruby versions > 1.8.4 (Thanks Joel Kociolek)
@@ -740,7 +755,7 @@ Mechanize is now under the MIT license
740
755
  * Added a FAQ
741
756
  http://rubyforge.org/tracker/?func=detail&aid=15772&group_id=1453&atid=5709
742
757
 
743
- === 0.6.10
758
+ ## 0.6.10
744
759
 
745
760
  * Made digest authentication work with POSTs.
746
761
  * Made sure page was HTML before following meta refreshes.
@@ -759,7 +774,7 @@ Mechanize is now under the MIT license
759
774
  * Aliasing inspect to pretty_inspect. Thanks Eric Promislow.
760
775
  http://rubyforge.org/pipermail/mechanize-users/2007-July/000157.html
761
776
 
762
- === 0.6.9
777
+ ## 0.6.9
763
778
 
764
779
  * Updating UTF-8 support for urls
765
780
  * Adding AREA tags to the links list.
@@ -771,7 +786,7 @@ Mechanize is now under the MIT license
771
786
  * Added Digest Authentication support. Thanks to Ryan Davis and Eric Hodel,
772
787
  you get a gold star!
773
788
 
774
- === 0.6.8
789
+ ## 0.6.8
775
790
 
776
791
  * Keep alive can be shut off now with WWW::Mechanize#keep_alive
777
792
  * Conditional requests can be shut off with WWW::Mechanize#conditional_requests
@@ -782,12 +797,12 @@ Mechanize is now under the MIT license
782
797
  * Updating compatability with hpricot
783
798
  * Added more unit tests
784
799
 
785
- === 0.6.7
800
+ ## 0.6.7
786
801
 
787
802
  * Fixed a bug with keep-alive requests
788
803
  * [#9549] fixed problem with cookie paths
789
804
 
790
- === 0.6.6
805
+ ## 0.6.6
791
806
 
792
807
  * Removing hpricot overrides
793
808
  * Fixed a bug where alt text can be nil. Thanks Yannick!
@@ -797,7 +812,7 @@ Mechanize is now under the MIT license
797
812
  * [#9434] Fixed bug where html entities weren't decoded
798
813
  * [#9150] Updated mechanize history to deal with redirects
799
814
 
800
- === 0.6.5
815
+ ## 0.6.5
801
816
 
802
817
  * Copying headers to a hash to prevent memory leaks
803
818
  * Speeding up page parsing
@@ -812,7 +827,7 @@ Mechanize is now under the MIT license
812
827
  http://rubyforge.org/tracker/?func=detail&aid=7563&group_id=1453&atid=5709
813
828
  * Added MSIE 7.0 user agent string
814
829
 
815
- === 0.6.4
830
+ ## 0.6.4
816
831
 
817
832
  * Adding the "redirect_ok" method to Mechanize to stop mechanize from
818
833
  following redirects.
@@ -829,7 +844,7 @@ Mechanize is now under the MIT license
829
844
  * Fixed bug [#6548]. Input type of 'button' was not being added as a button.
830
845
  * Fixed bug [#7139]. REXML parser calls hpricot parser by accident
831
846
 
832
- === 0.6.3
847
+ ## 0.6.3
833
848
 
834
849
  * Added keys and values methods to Form
835
850
  * Added has_value? to Form
@@ -844,7 +859,7 @@ Mechanize is now under the MIT license
844
859
  * Fixed a bug where '#' symbols are encoded
845
860
  http://rubyforge.org/forum/message.php?msg_id=14747
846
861
 
847
- === 0.6.2
862
+ ## 0.6.2
848
863
 
849
864
  * Added a yield to Page#form so that dealing with forms can be more DSL like.
850
865
  * Added the parsed page to the ResponseCodeError so that the parsed results
@@ -852,7 +867,7 @@ Mechanize is now under the MIT license
852
867
  http://rubyforge.org/pipermail/mechanize-users/2006-September/000007.html
853
868
  * Updated documentation (Thanks to Paul Smith)
854
869
 
855
- === 0.6.1
870
+ ## 0.6.1
856
871
 
857
872
  * Added a method to Form called "submit". Now forms can be submitted by
858
873
  calling a method on the form.
@@ -870,7 +885,7 @@ Mechanize is now under the MIT license
870
885
  * Fixed a bug with loading text in to links.
871
886
  http://rubyforge.org/pipermail/mechanize-users/2006-September/000000.html
872
887
 
873
- === 0.6.0
888
+ ## 0.6.0
874
889
 
875
890
  * Changed main parser to use hpricot
876
891
  * Made WWW::Mechanize::Page class searchable like hpricot
@@ -882,7 +897,7 @@ Mechanize is now under the MIT license
882
897
  * Removed REXML helper methods since the main parser is now hpricot
883
898
  * Overhauled cookie parser to use WEBrick::Cookie
884
899
 
885
- === 0.5.4
900
+ ## 0.5.4
886
901
 
887
902
  * Added WWW::Mechanize#trasact for saving history state between in a
888
903
  transaction. See the EXAMPLES file. Thanks Johan Kiviniemi.
@@ -897,7 +912,7 @@ Mechanize is now under the MIT license
897
912
  * Fixed a bug with saving files on windows
898
913
  * Fixed a bug with the filename being set in forms
899
914
 
900
- === 0.5.3
915
+ ## 0.5.3
901
916
 
902
917
  * Mechanize#click will now act on the first element of an array. So if an
903
918
  array of links is passed to WWW::Mechanize#click, the first link is clicked.
@@ -915,7 +930,7 @@ Mechanize is now under the MIT license
915
930
  * Updated log4r support for a speed increase. Thanks Yinon Bentor
916
931
  * Added inspect methods and pretty printing
917
932
 
918
- === 0.5.2
933
+ ## 0.5.2
919
934
 
920
935
  * Fixed a bug with input names that are nil
921
936
  * Added a warning when using attr_finder because attr_finder will be deprecated
@@ -932,12 +947,12 @@ Mechanize is now under the MIT license
932
947
  WWW::Mechanize::Form#set_fields. Which can be used like so:
933
948
  form.set_fields( :foo => 'bar', :name => 'Aaron' )
934
949
 
935
- === 0.5.1
950
+ ## 0.5.1
936
951
 
937
952
  * Fixed bug with file uploads
938
953
  * Added performance tweaks to the cookie class
939
954
 
940
- === 0.5.0
955
+ ## 0.5.0
941
956
 
942
957
  * Added pluggable parsers. (Thanks to Eric Kolve for the idea)
943
958
  * Changed namespace so all classes are under WWW::Mechanize.
@@ -952,7 +967,7 @@ Mechanize is now under the MIT license
952
967
  * Removed support for body filters in favor of pluggable parsers.
953
968
  * Fixed cookie bug adding a '/' when the url is missing one (Thanks Nick Dainty)
954
969
 
955
- === 0.4.7
970
+ ## 0.4.7
956
971
 
957
972
  * Fixed bug with no action in forms. Thanks to Adam Wiggins
958
973
  * Setting a default user-agent string
@@ -961,7 +976,7 @@ Mechanize is now under the MIT license
961
976
  (thanks to Gregory Brown)
962
977
  * Added WWW::Mechanize#get_file for fetching non text/html files
963
978
 
964
- === 0.4.6
979
+ ## 0.4.6
965
980
 
966
981
  * Added support for proxies
967
982
  * Added a uri field to WWW::Link
@@ -972,7 +987,7 @@ Mechanize is now under the MIT license
972
987
  allows syntax as such: form.fields.name('q').value = 'xyz'
973
988
  Before it was like this: form.fields.name('q').first.value = 'xyz'
974
989
 
975
- === 0.4.5
990
+ ## 0.4.5
976
991
 
977
992
  * Added support for multiple values of the same name
978
993
  * Updated build_query_string to take an array of arrays (Thanks Michal Janeczek)
@@ -982,13 +997,13 @@ Mechanize is now under the MIT license
982
997
  * Fixed a bug with empty select lists
983
998
  * Fixing a problem with cookies not handling no spaces after semicolons
984
999
 
985
- === 0.4.4
1000
+ ## 0.4.4
986
1001
 
987
1002
  * Fixed error in method signature, basic_authetication is now basic_auth
988
1003
  * Fixed bug with encoding names in file uploads (Big thanks to Alex Young)
989
1004
  * Added options to the select list
990
1005
 
991
- === 0.4.3
1006
+ ## 0.4.3
992
1007
 
993
1008
  * Added syntactic sugar for finding things
994
1009
  * Fixed bug with HttpOnly option in cookies
@@ -996,21 +1011,21 @@ Mechanize is now under the MIT license
996
1011
  * Defaulted dropdown lists to the first element
997
1012
  * Added unit tests
998
1013
 
999
- === 0.4.2
1014
+ ## 0.4.2
1000
1015
 
1001
1016
  * Added support for iframes
1002
1017
  * Made mechanize dependant on ruby-web rather than narf
1003
1018
  * Added unit tests
1004
1019
  * Fixed a bunch of warnings
1005
1020
 
1006
- === 0.4.1
1021
+ ## 0.4.1
1007
1022
 
1008
1023
  * Added support for file uploading
1009
1024
  * Added support for frames (Thanks Gabriel[mailto:leerbag@googlemail.com])
1010
1025
  * Added more unit tests
1011
1026
  * Fixed some bugs
1012
1027
 
1013
- === 0.4.0
1028
+ ## 0.4.0
1014
1029
 
1015
1030
  * Added more unit tests
1016
1031
  * Added a cookie jar with better cookie support, included expiration of cookies