mechanize 2.7.6 → 2.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/dependabot.yml +11 -0
- data/.github/workflows/ci.yml +43 -0
- data/.github/workflows/upstream.yml +51 -0
- data/.yardopts +8 -0
- data/{CHANGELOG.rdoc → CHANGELOG.md} +221 -96
- data/EXAMPLES.rdoc +1 -24
- data/Gemfile +10 -4
- data/{LICENSE.rdoc → LICENSE.txt} +4 -0
- data/README.md +77 -0
- data/Rakefile +18 -3
- data/examples/latest_user_agents.rb +100 -0
- data/examples/rubygems.rb +2 -2
- data/examples/wikipedia_links_to_philosophy.rb +5 -6
- data/lib/mechanize/chunked_termination_error.rb +1 -0
- data/lib/mechanize/content_type_error.rb +1 -0
- data/lib/mechanize/cookie.rb +3 -15
- data/lib/mechanize/cookie_jar.rb +13 -9
- data/lib/mechanize/directory_saver.rb +1 -0
- data/lib/mechanize/download.rb +2 -1
- data/lib/mechanize/element_matcher.rb +1 -0
- data/lib/mechanize/element_not_found_error.rb +1 -0
- data/lib/mechanize/file.rb +2 -1
- data/lib/mechanize/file_connection.rb +5 -3
- data/lib/mechanize/file_request.rb +1 -0
- data/lib/mechanize/file_response.rb +4 -1
- data/lib/mechanize/file_saver.rb +1 -0
- data/lib/mechanize/form/button.rb +1 -0
- data/lib/mechanize/form/check_box.rb +1 -0
- data/lib/mechanize/form/field.rb +1 -0
- data/lib/mechanize/form/file_upload.rb +1 -0
- data/lib/mechanize/form/hidden.rb +1 -0
- data/lib/mechanize/form/image_button.rb +1 -0
- data/lib/mechanize/form/keygen.rb +1 -0
- data/lib/mechanize/form/multi_select_list.rb +2 -1
- data/lib/mechanize/form/option.rb +1 -0
- data/lib/mechanize/form/radio_button.rb +1 -0
- data/lib/mechanize/form/reset.rb +1 -0
- data/lib/mechanize/form/select_list.rb +1 -0
- data/lib/mechanize/form/submit.rb +1 -0
- data/lib/mechanize/form/text.rb +1 -0
- data/lib/mechanize/form/textarea.rb +1 -0
- data/lib/mechanize/form.rb +5 -13
- data/lib/mechanize/headers.rb +1 -0
- data/lib/mechanize/history.rb +1 -0
- data/lib/mechanize/http/agent.rb +83 -10
- data/lib/mechanize/http/auth_challenge.rb +1 -0
- data/lib/mechanize/http/auth_realm.rb +1 -0
- data/lib/mechanize/http/auth_store.rb +1 -0
- data/lib/mechanize/http/content_disposition_parser.rb +15 -4
- data/lib/mechanize/http/www_authenticate_parser.rb +3 -3
- data/lib/mechanize/http.rb +1 -0
- data/lib/mechanize/image.rb +1 -0
- data/lib/mechanize/page/base.rb +1 -0
- data/lib/mechanize/page/frame.rb +1 -0
- data/lib/mechanize/page/image.rb +1 -0
- data/lib/mechanize/page/label.rb +1 -0
- data/lib/mechanize/page/link.rb +8 -1
- data/lib/mechanize/page/meta_refresh.rb +1 -0
- data/lib/mechanize/page.rb +6 -8
- data/lib/mechanize/parser.rb +1 -0
- data/lib/mechanize/pluggable_parsers.rb +2 -1
- data/lib/mechanize/prependable.rb +1 -0
- data/lib/mechanize/redirect_limit_reached_error.rb +1 -0
- data/lib/mechanize/redirect_not_get_or_head_error.rb +1 -0
- data/lib/mechanize/response_code_error.rb +2 -1
- data/lib/mechanize/response_read_error.rb +1 -0
- data/lib/mechanize/robots_disallowed_error.rb +1 -0
- data/lib/mechanize/test_case/bad_chunking_servlet.rb +1 -0
- data/lib/mechanize/test_case/basic_auth_servlet.rb +1 -0
- data/lib/mechanize/test_case/content_type_servlet.rb +1 -0
- data/lib/mechanize/test_case/digest_auth_servlet.rb +1 -0
- data/lib/mechanize/test_case/file_upload_servlet.rb +1 -0
- data/lib/mechanize/test_case/form_servlet.rb +1 -0
- data/lib/mechanize/test_case/gzip_servlet.rb +4 -3
- data/lib/mechanize/test_case/header_servlet.rb +1 -0
- data/lib/mechanize/test_case/http_refresh_servlet.rb +1 -0
- data/lib/mechanize/test_case/infinite_redirect_servlet.rb +1 -0
- data/lib/mechanize/test_case/infinite_refresh_servlet.rb +1 -0
- data/lib/mechanize/test_case/many_cookies_as_string_servlet.rb +1 -0
- data/lib/mechanize/test_case/many_cookies_servlet.rb +1 -0
- data/lib/mechanize/test_case/modified_since_servlet.rb +1 -0
- data/lib/mechanize/test_case/ntlm_servlet.rb +1 -0
- data/lib/mechanize/test_case/one_cookie_no_spaces_servlet.rb +1 -0
- data/lib/mechanize/test_case/one_cookie_servlet.rb +1 -0
- data/lib/mechanize/test_case/quoted_value_cookie_servlet.rb +1 -0
- data/lib/mechanize/test_case/redirect_servlet.rb +1 -0
- data/lib/mechanize/test_case/referer_servlet.rb +1 -0
- data/lib/mechanize/test_case/refresh_with_empty_url.rb +1 -0
- data/lib/mechanize/test_case/refresh_without_url.rb +1 -0
- data/lib/mechanize/test_case/response_code_servlet.rb +1 -0
- data/lib/mechanize/test_case/robots_txt_servlet.rb +1 -0
- data/lib/mechanize/test_case/send_cookies_servlet.rb +1 -0
- data/lib/mechanize/test_case/server.rb +1 -0
- data/lib/mechanize/test_case/servlets.rb +1 -0
- data/lib/mechanize/test_case/verb_servlet.rb +5 -6
- data/lib/mechanize/test_case.rb +34 -34
- data/lib/mechanize/unauthorized_error.rb +1 -0
- data/lib/mechanize/unsupported_scheme_error.rb +1 -0
- data/lib/mechanize/util.rb +2 -1
- data/lib/mechanize/version.rb +2 -1
- data/lib/mechanize/xml_file.rb +1 -0
- data/lib/mechanize.rb +56 -37
- data/mechanize.gemspec +43 -35
- data/test/htdocs/dir with spaces/foo.html +1 -0
- data/test/htdocs/tc_links.html +1 -1
- data/test/test_mechanize.rb +21 -8
- data/test/test_mechanize_cookie.rb +38 -26
- data/test/test_mechanize_cookie_jar.rb +87 -54
- data/test/test_mechanize_directory_saver.rb +1 -0
- data/test/test_mechanize_download.rb +14 -1
- data/test/test_mechanize_element_not_found_error.rb +1 -0
- data/test/test_mechanize_file.rb +11 -0
- data/test/test_mechanize_file_connection.rb +23 -4
- data/test/test_mechanize_file_request.rb +1 -0
- data/test/test_mechanize_file_response.rb +26 -1
- data/test/test_mechanize_file_saver.rb +1 -0
- data/test/test_mechanize_form.rb +14 -1
- data/test/test_mechanize_form_check_box.rb +1 -0
- data/test/test_mechanize_form_encoding.rb +2 -1
- data/test/test_mechanize_form_field.rb +1 -0
- data/test/test_mechanize_form_file_upload.rb +1 -0
- data/test/test_mechanize_form_image_button.rb +1 -0
- data/test/test_mechanize_form_keygen.rb +2 -0
- data/test/test_mechanize_form_multi_select_list.rb +1 -0
- data/test/test_mechanize_form_option.rb +1 -0
- data/test/test_mechanize_form_radio_button.rb +1 -0
- data/test/test_mechanize_form_select_list.rb +1 -0
- data/test/test_mechanize_form_textarea.rb +1 -0
- data/test/test_mechanize_headers.rb +1 -0
- data/test/test_mechanize_history.rb +1 -0
- data/test/test_mechanize_http_agent.rb +187 -26
- data/test/test_mechanize_http_auth_challenge.rb +1 -0
- data/test/test_mechanize_http_auth_realm.rb +1 -0
- data/test/test_mechanize_http_auth_store.rb +1 -0
- data/test/test_mechanize_http_content_disposition_parser.rb +28 -0
- data/test/test_mechanize_http_www_authenticate_parser.rb +1 -0
- data/test/test_mechanize_image.rb +1 -0
- data/test/test_mechanize_link.rb +25 -0
- data/test/test_mechanize_page.rb +15 -0
- data/test/test_mechanize_page_encoding.rb +33 -5
- data/test/test_mechanize_page_frame.rb +1 -0
- data/test/test_mechanize_page_image.rb +1 -0
- data/test/test_mechanize_page_link.rb +27 -23
- data/test/test_mechanize_page_meta_refresh.rb +1 -0
- data/test/test_mechanize_parser.rb +1 -0
- data/test/test_mechanize_pluggable_parser.rb +1 -0
- data/test/test_mechanize_redirect_limit_reached_error.rb +1 -0
- data/test/test_mechanize_redirect_not_get_or_head_error.rb +1 -0
- data/test/test_mechanize_response_read_error.rb +1 -0
- data/test/test_mechanize_subclass.rb +1 -0
- data/test/test_mechanize_util.rb +4 -3
- data/test/test_mechanize_xml_file.rb +1 -0
- data/test/test_multi_select.rb +1 -0
- metadata +106 -86
- data/.travis.yml +0 -36
- data/README.rdoc +0 -77
|
@@ -1,6 +1,142 @@
|
|
|
1
|
-
|
|
1
|
+
# Mechanize CHANGELOG
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 2.12.2 / 2023-10-02
|
|
4
|
+
|
|
5
|
+
* Quash warnings from `Mime::Type.new` in `mime-types` v3.6.0. (#655) @avk
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 2.12.1 / 2024-08-21
|
|
9
|
+
|
|
10
|
+
* Introduce experimental support for handling Zstd-compressed responses (CRuby only). (#652) @adrianodennanni
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## 2.12.0 / 2024-07-29
|
|
14
|
+
|
|
15
|
+
* Introduce experimental support for handling Brotli-compressed responses (CRuby only). (#650) @weshatheleopard
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## 2.11.0 / 2024-07-18
|
|
19
|
+
|
|
20
|
+
* The `accept-charset` header is no longer sent. In early versions of Mechanize, circa 2007, this was a common header but now no modern browser sends it, and servers are instructed to ignore it. See #646 for an example of a server that is confused by its presence. (#647) @flavorjones
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## 2.10.1 / 2024-06-12
|
|
24
|
+
|
|
25
|
+
* Improve page encoding error recovery on pages with broken encoding when used with libxml2 >= 2.12.0. (#644) @flavorjones
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## 2.10.0 / 2024-01-22
|
|
29
|
+
|
|
30
|
+
* Add `nkf` and `base64` as explicit dependencies, since they are being unbundled in Ruby 3.4. (#634) @flavorjones
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## 2.9.2 / 2024-01-15
|
|
34
|
+
|
|
35
|
+
* Correct spelling errors in documentation. (#631) @p-linnane
|
|
36
|
+
* Updated User-Agent strings to represent modern browser versions. (#632) @takatea
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## 2.9.1 / 2023-04-17
|
|
40
|
+
|
|
41
|
+
### Update
|
|
42
|
+
|
|
43
|
+
* Updated User-Agent strings to represent modern browser versions. (#612) Thank you, @takatea!
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## 2.9.0 / 2023-04-07
|
|
47
|
+
|
|
48
|
+
### Requirements
|
|
49
|
+
|
|
50
|
+
* Mechanize now requires Ruby 2.6 or newer.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Improvement
|
|
54
|
+
|
|
55
|
+
* Mechanize can now parse frozen strings. (#610)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## 2.8.5 / 2022-06-09
|
|
59
|
+
|
|
60
|
+
### Security
|
|
61
|
+
|
|
62
|
+
Fixes low-severity CVE-2022-31033, "Authorization header leak on port redirect." See [GHSA-64qm-hrgp-pgr9](https://github.com/sparklemotion/mechanize/security/advisories/GHSA-64qm-hrgp-pgr9) for more details.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## 2.8.4 / 2022-01-17
|
|
66
|
+
|
|
67
|
+
### Fix
|
|
68
|
+
|
|
69
|
+
* `Mechanize::CookieJar#load` calls `Psych.safe_load` when using Psych >= 3.1
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## 2.8.3 / 2021-11-11
|
|
73
|
+
|
|
74
|
+
### Update
|
|
75
|
+
|
|
76
|
+
* Update the "Linux Firefox" user agent string to rev94 (#587) Thank you, @ncs1!
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## 2.8.2 / 2021-08-06
|
|
80
|
+
|
|
81
|
+
### Dependencies
|
|
82
|
+
|
|
83
|
+
* Update dependency on Addressable from `~>2.7` to `~>2.8`. (#584) @yidingww
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## 2.8.1 / 2021-05-09
|
|
87
|
+
|
|
88
|
+
### Fix
|
|
89
|
+
|
|
90
|
+
* Gracefully handle parsing errors that contain an invalid byte sequence. Previously, if libxml2 registered a parsing error that itself contained invalid encoding, an exception might be raised. (#553)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## 2.8.0 / 2021-04-01
|
|
94
|
+
|
|
95
|
+
### Requirements
|
|
96
|
+
|
|
97
|
+
* Mechanize now requires Ruby 2.5 or newer.
|
|
98
|
+
* Move from `ntlm-http` to `rubyntlm` gem. (#495, #574)
|
|
99
|
+
|
|
100
|
+
### New Features
|
|
101
|
+
|
|
102
|
+
* Page::Link#uri now handles non-ASCII `href`s. (#569) @terryyin
|
|
103
|
+
* FileConnection supports Windows drive letters (#483)
|
|
104
|
+
* Credential headers 'Authorization' and 'Cookie' are deleted on cross-origin redirects. (#538) @kyoshidajp
|
|
105
|
+
* ContentDispositionParser handles ISO8601 date headers, to be robust with websites that ignore RFC2183. (#554) @reitermarkus
|
|
106
|
+
|
|
107
|
+
### Bug fix
|
|
108
|
+
|
|
109
|
+
* 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.
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
## 2.7.7 / 2021-02-01
|
|
113
|
+
|
|
114
|
+
* Security fixes for CVE-2021-21289
|
|
115
|
+
|
|
116
|
+
Mechanize `>= v2.0`, `< v2.7.7` allows for OS commands to be injected into several classes'
|
|
117
|
+
methods via implicit use of Ruby's `Kernel.open` method. Exploitation is possible only if
|
|
118
|
+
untrusted input is used as a local filename and passed to any of these calls:
|
|
119
|
+
|
|
120
|
+
- `Mechanize::CookieJar#load`: since v2.0 (see 208e3ed)
|
|
121
|
+
- `Mechanize::CookieJar#save_as`: since v2.0 (see 5b776a4)
|
|
122
|
+
- `Mechanize#download`: since v2.2 (see dc91667)
|
|
123
|
+
- `Mechanize::Download#save` and `#save!` since v2.1 (see 98b2f51, bd62ff0)
|
|
124
|
+
- `Mechanize::File#save` and `#save_as`: since v2.1 (see 2bf7519)
|
|
125
|
+
- `Mechanize::FileResponse#read_body`: since v2.0 (see 01039f5)
|
|
126
|
+
|
|
127
|
+
See https://github.com/sparklemotion/mechanize/security/advisories/GHSA-qrqm-fpv6-6r8g for more
|
|
128
|
+
information.
|
|
129
|
+
|
|
130
|
+
Also see #547, #548. Thank you, @kyoshidajp!
|
|
131
|
+
|
|
132
|
+
* New Features
|
|
133
|
+
* Support for Ruby 3.0 by adding `webrick` as a runtime dependency. (#557) @pvalena
|
|
134
|
+
|
|
135
|
+
* Bug fix
|
|
136
|
+
* Ignore input fields with blank names (#542, #536)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
## 2.7.6
|
|
4
140
|
|
|
5
141
|
* New Features
|
|
6
142
|
* Mechanize#set_proxy accepts an HTTP URL/URI. (#513)
|
|
@@ -9,10 +145,10 @@
|
|
|
9
145
|
* Fix element(s)_with(search: selector) methods not working for forms, form fields and frames. (#444)
|
|
10
146
|
* Improve the filename parser for the `Content-Disposition` header. (#496, #517)
|
|
11
147
|
* Accept `Content-Encoding: identity`. (#515)
|
|
12
|
-
* Mechanize::Page#title no longer picks a title in an
|
|
148
|
+
* Mechanize::Page#title no longer picks a title in an embedded SVG/RDF element. (#503)
|
|
13
149
|
* Make Mechanize::Form#has_field? boolean. (#501)
|
|
14
150
|
|
|
15
|
-
|
|
151
|
+
## 2.7.5
|
|
16
152
|
|
|
17
153
|
* New Features
|
|
18
154
|
* All 4xx responses and RedirectLimitReachedError when fetching robots.txt are treated as full allow just like Googlebot does.
|
|
@@ -23,7 +159,7 @@
|
|
|
23
159
|
* Fix basic authentication for a realm that contains uppercase characters. (#458, #459)
|
|
24
160
|
* Fix encoding error when uploading a file which name is non-ASCII. (#333)
|
|
25
161
|
|
|
26
|
-
|
|
162
|
+
## 2.7.4
|
|
27
163
|
|
|
28
164
|
* New Features
|
|
29
165
|
* Accept array-like and hash-like values as query/parameter value.
|
|
@@ -45,7 +181,7 @@
|
|
|
45
181
|
* Fix whitespace bug in WWW-Authenticate. #451, #450, by Rasmus Bergholdt
|
|
46
182
|
* Don't allow redirect from a non-file URL to a file URL for security reasons. (#455)
|
|
47
183
|
|
|
48
|
-
|
|
184
|
+
## 2.7.3
|
|
49
185
|
|
|
50
186
|
* New Features
|
|
51
187
|
* Allow net-http-persistent instance to be named. #324, John Weir.
|
|
@@ -56,34 +192,33 @@
|
|
|
56
192
|
* Ensure Download#save! defaults back to original filename if
|
|
57
193
|
none is provided (#300)
|
|
58
194
|
|
|
59
|
-
|
|
195
|
+
## 2.7.2
|
|
60
196
|
|
|
61
197
|
* Bug fix
|
|
62
198
|
* API compatibility issues with Mechanize::CookieJar cookies has been
|
|
63
199
|
addressed. https://github.com/sparklemotion/http-cookie/issues/2 #326
|
|
64
200
|
|
|
65
|
-
|
|
201
|
+
## 2.7.1
|
|
66
202
|
|
|
67
203
|
* Bug fix
|
|
68
204
|
* Ensure images with no "src" attribute still return correct URLs. #317
|
|
69
205
|
* Fixes Mechanize::Parser#extract_filename where an empty string filename
|
|
70
206
|
in the response caused unhandled exception. #318
|
|
71
207
|
|
|
72
|
-
|
|
208
|
+
## 2.7.0
|
|
73
209
|
|
|
74
210
|
* New Features
|
|
75
211
|
* Mechanize::Agent#response_read will now raise a
|
|
76
212
|
Mechanize::ResponseReadError instead of an EOFError and avoid losing
|
|
77
213
|
requested content. #296.
|
|
78
|
-
* Depend on http-cookie, add backwards compatible deprecations.
|
|
79
|
-
#257 Akinori MUSHA.
|
|
214
|
+
* Depend on http-cookie, add backwards compatible deprecations. #257 Akinori MUSHA.
|
|
80
215
|
* Added `Download#save!` for overwriting existing files. #300 Sean Kim.
|
|
81
216
|
|
|
82
217
|
* Bug fix
|
|
83
218
|
* Ensure page URLs with whitespace in them are escaped #313 @pacop.
|
|
84
219
|
* Added a workaround for a bug of URI#+ that led to failure in resolving a relative path containing double slash like "/../http://.../". #304
|
|
85
220
|
|
|
86
|
-
|
|
221
|
+
## 2.6.0
|
|
87
222
|
|
|
88
223
|
* New Features
|
|
89
224
|
* Mechanize#start and Mechanize#shutdown (Thanks, Damian Janowski!)
|
|
@@ -105,19 +240,16 @@
|
|
|
105
240
|
* Added iPad and Android user agents. #277 by sambit, #278 by seansay.
|
|
106
241
|
|
|
107
242
|
* Bug fix
|
|
108
|
-
* Mechanize#cert and Mechanize#key now return the values set by
|
|
109
|
-
|
|
110
|
-
* Mechanize no longer submits disabled form fields. #276 by Bogdan Gusiev,
|
|
111
|
-
#279 by Ricardo Valeriano.
|
|
243
|
+
* Mechanize#cert and Mechanize#key now return the values set by #cert= and #key=. #244, #245 (Thanks, Robert Gogolok!)
|
|
244
|
+
* Mechanize no longer submits disabled form fields. #276 by Bogdan Gusiev, #279 by Ricardo Valeriano.
|
|
112
245
|
* Mechanize::File#save now behaves like Mechanize::Download#save in
|
|
113
|
-
that it will create the parent directory before saving.
|
|
114
|
-
#272, #280 by Ryan Kowalick
|
|
246
|
+
that it will create the parent directory before saving. #272, #280 by Ryan Kowalick
|
|
115
247
|
* Ensure `application/xml` is registered as an XML parser in
|
|
116
248
|
`PluggableParser`, not just `text/xml`. #266 James Gregory
|
|
117
249
|
* Mechanize now writes cookiestxt with a prefixed dot for wildcard domain
|
|
118
250
|
handling. #295 by Mike Morearty.
|
|
119
251
|
|
|
120
|
-
|
|
252
|
+
## 2.5.2
|
|
121
253
|
|
|
122
254
|
* New Features
|
|
123
255
|
* Mechanize::CookieJar#save_as takes a keyword option "session" to say
|
|
@@ -131,18 +263,17 @@
|
|
|
131
263
|
In mechanize 3 the old "Mac FireFox" user-agent alias will be removed.
|
|
132
264
|
Pull request #231 by Gavin Miller.
|
|
133
265
|
* Mechanize now authenticates using the raw challenge, not a reconstructed
|
|
134
|
-
one, to avoid dealing with quoting rules of RFC 2617. Fixes failures in
|
|
135
|
-
#231 due to net-http-digest_auth 1.2.1
|
|
266
|
+
one, to avoid dealing with quoting rules of RFC 2617. Fixes failures in #231 due to net-http-digest_auth 1.2.1
|
|
136
267
|
* Fixed Content-Disposition parameter parser to be case insensitive. #233
|
|
137
268
|
* Fixed redirection counting in following meta refresh. #240
|
|
138
269
|
|
|
139
|
-
|
|
270
|
+
## 2.5.1
|
|
140
271
|
|
|
141
272
|
* Bug fix
|
|
142
273
|
* Mechanize no longer copies POST requests during a redirect which was
|
|
143
274
|
introduced by #215. Pull request #229 by Godfrey Chan.
|
|
144
275
|
|
|
145
|
-
|
|
276
|
+
## 2.5
|
|
146
277
|
|
|
147
278
|
* Minor enhancements
|
|
148
279
|
* Added Mechanize#ignore_bad_chunking for working around servers that don't
|
|
@@ -163,12 +294,11 @@
|
|
|
163
294
|
terminate chunked transfer-encoding properly. Issue #116
|
|
164
295
|
* Mechanize no longer raises an exception when multiple identical
|
|
165
296
|
radiobuttons are checked. Issue #214 by Matthias Guenther
|
|
166
|
-
* Fixed documentation for pre_connect_hooks and post_connect_hooks. Issue
|
|
167
|
-
#226 by Robert Poor
|
|
297
|
+
* Fixed documentation for pre_connect_hooks and post_connect_hooks. Issue #226 by Robert Poor
|
|
168
298
|
* Worked around ruby 1.8 run with -Ku and ISO-8859-1 encoded characters in
|
|
169
299
|
URIs. Issue #228 by Stanislav O.Pogrebnyak
|
|
170
300
|
|
|
171
|
-
|
|
301
|
+
## 2.4
|
|
172
302
|
|
|
173
303
|
* Security fix:
|
|
174
304
|
|
|
@@ -191,7 +321,7 @@
|
|
|
191
321
|
* Improved exception messages for 401 Unauthorized responses. Mechanize now
|
|
192
322
|
tells you if you were missing credentials, had an incorrect password, etc.
|
|
193
323
|
|
|
194
|
-
|
|
324
|
+
## 2.3 / 2012-02-20
|
|
195
325
|
|
|
196
326
|
* Minor enhancements
|
|
197
327
|
* Add support for the Max-Age attribute in the Set-Cookie header.
|
|
@@ -211,14 +341,14 @@
|
|
|
211
341
|
* Cookies with an empty Expires attribute value were stored as session
|
|
212
342
|
cookies but cookies without the Expires attribute were not. Issue #78
|
|
213
343
|
|
|
214
|
-
|
|
344
|
+
## 2.2.1 / 2012-02-13
|
|
215
345
|
|
|
216
346
|
* Bug fixes
|
|
217
347
|
* Add missing file to the gem, ensure that missing files won't cause
|
|
218
348
|
failures again. Issue #201 by Alex
|
|
219
349
|
* Fix minor grammar issue in README. Issue #200 by Shane Becker.
|
|
220
350
|
|
|
221
|
-
|
|
351
|
+
## 2.2 / 2012-02-12
|
|
222
352
|
|
|
223
353
|
* API changes
|
|
224
354
|
* MetaRefresh#href is not normalized to an absolute URL, but set to the
|
|
@@ -230,8 +360,7 @@
|
|
|
230
360
|
* SSL parameters and proxy may now be set at any time. Issue #194 by
|
|
231
361
|
dsisnero.
|
|
232
362
|
* Improved Mechanize::Page with #image_with and #images_with and
|
|
233
|
-
Mechanize::Page::Image various img element attribute accessors, #caption,
|
|
234
|
-
#extname, #mime_type and #fetch. Pull request #173 by kitamomonga
|
|
363
|
+
Mechanize::Page::Image various img element attribute accessors, #caption, #extname, #mime_type and #fetch. Pull request #173 by kitamomonga
|
|
235
364
|
* Added MIME type parsing for content-types in Mechanize::PluggableParser
|
|
236
365
|
for fine-grained parser choices. Parsers will be chosen based on exact
|
|
237
366
|
match, simplified type or media type in that order. See
|
|
@@ -253,7 +382,7 @@
|
|
|
253
382
|
* A link with an empty href is now resolved correctly where previously the
|
|
254
383
|
query part was dropped.
|
|
255
384
|
|
|
256
|
-
|
|
385
|
+
## 2.1.1 / 2012-02-03
|
|
257
386
|
|
|
258
387
|
* Bug fixes
|
|
259
388
|
* Set missing idle_timeout default. Issue #196
|
|
@@ -281,7 +410,7 @@
|
|
|
281
410
|
* Documented how to convert a Mechanize::ResponseReadError into a File or
|
|
282
411
|
Page, along with a new method #force_parse. Issue #176
|
|
283
412
|
|
|
284
|
-
|
|
413
|
+
## 2.1 / 2011-12-20
|
|
285
414
|
|
|
286
415
|
* Deprecations
|
|
287
416
|
* Mechanize#get no longer accepts an options hash.
|
|
@@ -294,8 +423,7 @@
|
|
|
294
423
|
* SSL connections will be verified against the system certificate store by
|
|
295
424
|
default.
|
|
296
425
|
* Added Mechanize#retry_change_requests to allow mechanize to retry POST and
|
|
297
|
-
other non-idempotent requests when you know it is safe to do so. Issue
|
|
298
|
-
#123
|
|
426
|
+
other non-idempotent requests when you know it is safe to do so. Issue #123
|
|
299
427
|
* Mechanize can now stream files directly to disk without loading them into
|
|
300
428
|
memory first through Mechanize::Download, a pluggable parser for
|
|
301
429
|
downloading files.
|
|
@@ -310,8 +438,7 @@
|
|
|
310
438
|
agent.pluggable_parser.default = Mechanize::Download
|
|
311
439
|
* Added Mechanize#content_encoding_hooks which allow handling of
|
|
312
440
|
non-standard content encodings like "agzip". Patch #125 by kitamomonga
|
|
313
|
-
* Added dom_class to elements and the element matcher like dom_id. Patch
|
|
314
|
-
#156 by Dan Hansen.
|
|
441
|
+
* Added dom_class to elements and the element matcher like dom_id. Patch #156 by Dan Hansen.
|
|
315
442
|
* Added support for the HTML5 keygen form element. See
|
|
316
443
|
http://dev.w3.org/html5/spec/Overview.html#the-keygen-element Patch #157
|
|
317
444
|
by Victor Costan.
|
|
@@ -324,8 +451,8 @@
|
|
|
324
451
|
* When given multiple HTTP authentication options mechanize now picks the
|
|
325
452
|
strongest method.
|
|
326
453
|
* Improvements to HTTP authorization:
|
|
327
|
-
* mechanize raises Mechanize::
|
|
328
|
-
a
|
|
454
|
+
* mechanize raises Mechanize::UnauthorizedError for 401 responses which is
|
|
455
|
+
a subclass of Mechanize::ResponseCodeError.
|
|
329
456
|
* Added support for NTLM authentication, but this has not been tested.
|
|
330
457
|
* Mechanize::Cookie.new accepts attributes in a hash.
|
|
331
458
|
* Mechanize::CookieJar#<<(cookie) (alias: add!) is added. Issue #139
|
|
@@ -360,11 +487,10 @@
|
|
|
360
487
|
* The original Referer value persists on redirection. Issue #150
|
|
361
488
|
* Do not send a referer on a Refresh header based redirection.
|
|
362
489
|
* Fixed encoding error in tests when LANG=C. Patch #142 by jinschoi.
|
|
363
|
-
* The order of items in a form submission now match the DOM order. Patch
|
|
364
|
-
#129 by kitamomonga
|
|
490
|
+
* The order of items in a form submission now match the DOM order. Patch #129 by kitamomonga
|
|
365
491
|
* Fixed proxy example in EXAMPLE. Issue #146 by NielsKSchjoedt
|
|
366
492
|
|
|
367
|
-
|
|
493
|
+
## 2.0.1 / 2011-06-28
|
|
368
494
|
|
|
369
495
|
Mechanize now uses minitest to avoid 1.9 vs 1.8 assertion availability in
|
|
370
496
|
test/unit
|
|
@@ -375,7 +501,7 @@ test/unit
|
|
|
375
501
|
* Mechanize#keep_alive_time no longer crashes but does nothing as
|
|
376
502
|
net-http-persistent does not support HTTP/1.0 keep-alive extensions.
|
|
377
503
|
|
|
378
|
-
|
|
504
|
+
## 2.0 / 2011-06-27
|
|
379
505
|
|
|
380
506
|
Mechanize is now under the MIT license
|
|
381
507
|
|
|
@@ -417,7 +543,7 @@ Mechanize is now under the MIT license
|
|
|
417
543
|
|
|
418
544
|
* New Features
|
|
419
545
|
|
|
420
|
-
* Add header reference methods to Mechanize::File so that a
|
|
546
|
+
* Add header reference methods to Mechanize::File so that a response
|
|
421
547
|
object gets compatible with Net::HTTPResponse.
|
|
422
548
|
* Mechanize#click accepts a regexp or string to click a button/link in the
|
|
423
549
|
current page. It works as expected when not passed a string or regexp.
|
|
@@ -429,8 +555,7 @@ Mechanize is now under the MIT license
|
|
|
429
555
|
* Mechanize now implements session cookies. GH #78
|
|
430
556
|
* Mechanize now implements deflate decoding. GH #40
|
|
431
557
|
* Mechanize now allows a certificate and key to be passed directly. GH #71
|
|
432
|
-
* Mechanize::Form::MultiSelectList now implements #option_with and
|
|
433
|
-
#options_with. GH #42
|
|
558
|
+
* Mechanize::Form::MultiSelectList now implements #option_with and #options_with. GH #42
|
|
434
559
|
* Add Mechanize::Page::Link#rel and #rel?(kind) to read and test the rel
|
|
435
560
|
attribute.
|
|
436
561
|
* Add Mechanize::Page#canonical_uri to read a </tt><link
|
|
@@ -483,7 +608,7 @@ Mechanize is now under the MIT license
|
|
|
483
608
|
* Mechanize::Page::Link#uri now handles both escaped and unescaped hrefs.
|
|
484
609
|
GH #107
|
|
485
610
|
|
|
486
|
-
|
|
611
|
+
## 1.0.0
|
|
487
612
|
|
|
488
613
|
* New Features:
|
|
489
614
|
|
|
@@ -501,7 +626,7 @@ Mechanize is now under the MIT license
|
|
|
501
626
|
* Fixing default values with serialized cookies. GH #3
|
|
502
627
|
* Checkboxes and fields are sorted by page appearance before submitting. #11
|
|
503
628
|
|
|
504
|
-
|
|
629
|
+
## 0.9.3
|
|
505
630
|
|
|
506
631
|
* Bug Fixes:
|
|
507
632
|
|
|
@@ -519,7 +644,7 @@ Mechanize is now under the MIT license
|
|
|
519
644
|
* Fixed a bug with double semi-colons in Content-Disposition headers
|
|
520
645
|
* Properly handling cookies that specify a path. RF #25259
|
|
521
646
|
|
|
522
|
-
|
|
647
|
+
## 0.9.2 / 2009/03/05
|
|
523
648
|
|
|
524
649
|
* New Features:
|
|
525
650
|
* Mechanize#submit and Form#submit take arbitrary headers(thanks penguincoder)
|
|
@@ -532,7 +657,7 @@ Mechanize is now under the MIT license
|
|
|
532
657
|
* Made Content-Type match case insensitive (Thanks Kelly Reynolds)
|
|
533
658
|
* Non-string form parameters work
|
|
534
659
|
|
|
535
|
-
|
|
660
|
+
## 0.9.1 2009/02/23
|
|
536
661
|
|
|
537
662
|
* New Features:
|
|
538
663
|
* Encoding may be specified for a page: Page#encoding=
|
|
@@ -548,7 +673,7 @@ Mechanize is now under the MIT license
|
|
|
548
673
|
* WAP content types will now be parsed
|
|
549
674
|
* Rescued poorly formatted cookies. Thanks Kelley Reynolds!
|
|
550
675
|
|
|
551
|
-
|
|
676
|
+
## 0.9.0
|
|
552
677
|
|
|
553
678
|
* Deprecations
|
|
554
679
|
* WWW::Mechanize::List is gone!
|
|
@@ -558,7 +683,7 @@ Mechanize is now under the MIT license
|
|
|
558
683
|
* Bug Fixes:
|
|
559
684
|
* Nil check on page when base tag is used #23021
|
|
560
685
|
|
|
561
|
-
|
|
686
|
+
## 0.8.5
|
|
562
687
|
|
|
563
688
|
* Deprecations
|
|
564
689
|
* WWW::Mechanize::List will be deprecated in 0.9.0, and warnings have
|
|
@@ -582,28 +707,28 @@ Mechanize is now under the MIT license
|
|
|
582
707
|
* Mechanize#get requests no longer send a referer unless they are relative
|
|
583
708
|
requests.
|
|
584
709
|
|
|
585
|
-
|
|
710
|
+
## 0.8.4
|
|
586
711
|
|
|
587
712
|
* Bug Fixes:
|
|
588
713
|
* Setting the port number on the host header.
|
|
589
714
|
* Fixing Authorization headers for picky servers
|
|
590
715
|
|
|
591
|
-
|
|
716
|
+
## 0.8.3
|
|
592
717
|
|
|
593
718
|
* Bug Fixes:
|
|
594
719
|
* Making sure logger is set during SSL connections.
|
|
595
720
|
|
|
596
|
-
|
|
721
|
+
## 0.8.2
|
|
597
722
|
|
|
598
723
|
* Bug Fixes:
|
|
599
724
|
* Doh! I was accidentally setting headers twice.
|
|
600
725
|
|
|
601
|
-
|
|
726
|
+
## 0.8.1
|
|
602
727
|
|
|
603
728
|
* Bug Fixes:
|
|
604
729
|
* Fixed problem with nil pointer when logger is set
|
|
605
730
|
|
|
606
|
-
|
|
731
|
+
## 0.8.0
|
|
607
732
|
|
|
608
733
|
* New Features:
|
|
609
734
|
* Lifecycle hooks. Mechanize#pre_connect_hooks, Mechanize#post_connect_hooks
|
|
@@ -617,7 +742,7 @@ Mechanize is now under the MIT license
|
|
|
617
742
|
* Only setting headers once
|
|
618
743
|
* Adding IIS authentication support
|
|
619
744
|
|
|
620
|
-
|
|
745
|
+
## 0.7.8
|
|
621
746
|
|
|
622
747
|
* Bug Fixes:
|
|
623
748
|
* Fixed bug when receiving a 304 response (HTTPNotModified) on a page not
|
|
@@ -625,7 +750,7 @@ Mechanize is now under the MIT license
|
|
|
625
750
|
* #21428 Default to HTML parser for 'application/xhtml+xml' content-type.
|
|
626
751
|
* Fixed an issue where redirects were resending posted data
|
|
627
752
|
|
|
628
|
-
|
|
753
|
+
## 0.7.7
|
|
629
754
|
|
|
630
755
|
* New Features:
|
|
631
756
|
* Page#form_with takes a +criteria+ hash.
|
|
@@ -643,10 +768,10 @@ Mechanize is now under the MIT license
|
|
|
643
768
|
http://d.hatena.ne.jp/kitamomonga/20080410/ruby_mechanize_percent_url_bug
|
|
644
769
|
* #21132 Not checking for EOF errors on redirect
|
|
645
770
|
* Fixed a weird gzipping error.
|
|
646
|
-
* #21233 Smarter multipart
|
|
771
|
+
* #21233 Smarter multipart boundary. Thanks Todd Willey!
|
|
647
772
|
* #20097 Supporting meta tag cookies.
|
|
648
773
|
|
|
649
|
-
|
|
774
|
+
## 0.7.6
|
|
650
775
|
|
|
651
776
|
* New Features:
|
|
652
777
|
* Added support for reading Mozilla cookie jars. Thanks Chris Riddoch!
|
|
@@ -669,32 +794,32 @@ Mechanize is now under the MIT license
|
|
|
669
794
|
* Supporting blank strings for option values.
|
|
670
795
|
http://rubyforge.org/tracker/index.php?func=detail&aid=19975&group_id=1453&atid=5709
|
|
671
796
|
|
|
672
|
-
|
|
797
|
+
## 0.7.5
|
|
673
798
|
|
|
674
799
|
* Fixed a bug when fetching files and not pages. Thanks Mat Schaffer!
|
|
675
800
|
|
|
676
|
-
|
|
801
|
+
## 0.7.4
|
|
677
802
|
|
|
678
803
|
* doh!
|
|
679
804
|
|
|
680
|
-
|
|
805
|
+
## 0.7.3
|
|
681
806
|
|
|
682
807
|
* Pages are now yielded to a blocks given to WWW::Mechanize#get
|
|
683
808
|
* WWW::Mechanize#get now takes hash arguments for uri parameters.
|
|
684
809
|
* WWW::Mechanize#post takes an IO object as a parameter and posts correctly.
|
|
685
810
|
* Fixing a strange zlib inflate problem on windows
|
|
686
811
|
|
|
687
|
-
|
|
812
|
+
## 0.7.2
|
|
688
813
|
|
|
689
814
|
* Handling gzipped responses with no Content-Length header
|
|
690
815
|
|
|
691
|
-
|
|
816
|
+
## 0.7.1
|
|
692
817
|
|
|
693
818
|
* Added iPhone to the user agent aliases. [#17572]
|
|
694
819
|
* Fixed a bug with EOF errors in net/http. [#17570]
|
|
695
820
|
* Handling 0 length gzipped responses. [#17471]
|
|
696
821
|
|
|
697
|
-
|
|
822
|
+
## 0.7.0
|
|
698
823
|
|
|
699
824
|
* Removed Ruby 1.8.2 support
|
|
700
825
|
* Changed parser to lazily parse links
|
|
@@ -702,7 +827,7 @@ Mechanize is now under the MIT license
|
|
|
702
827
|
* Adding verify_callback for SSL requests. Thanks Mike Dalessio!
|
|
703
828
|
* Fixed a bug with Accept-Language header. Thanks Bill Siggelkow.
|
|
704
829
|
|
|
705
|
-
|
|
830
|
+
## 0.6.11
|
|
706
831
|
|
|
707
832
|
* Detecting single quotes in meta redirects.
|
|
708
833
|
* Adding pretty inspect for ruby versions > 1.8.4 (Thanks Joel Kociolek)
|
|
@@ -713,7 +838,7 @@ Mechanize is now under the MIT license
|
|
|
713
838
|
* Added a FAQ
|
|
714
839
|
http://rubyforge.org/tracker/?func=detail&aid=15772&group_id=1453&atid=5709
|
|
715
840
|
|
|
716
|
-
|
|
841
|
+
## 0.6.10
|
|
717
842
|
|
|
718
843
|
* Made digest authentication work with POSTs.
|
|
719
844
|
* Made sure page was HTML before following meta refreshes.
|
|
@@ -732,7 +857,7 @@ Mechanize is now under the MIT license
|
|
|
732
857
|
* Aliasing inspect to pretty_inspect. Thanks Eric Promislow.
|
|
733
858
|
http://rubyforge.org/pipermail/mechanize-users/2007-July/000157.html
|
|
734
859
|
|
|
735
|
-
|
|
860
|
+
## 0.6.9
|
|
736
861
|
|
|
737
862
|
* Updating UTF-8 support for urls
|
|
738
863
|
* Adding AREA tags to the links list.
|
|
@@ -744,7 +869,7 @@ Mechanize is now under the MIT license
|
|
|
744
869
|
* Added Digest Authentication support. Thanks to Ryan Davis and Eric Hodel,
|
|
745
870
|
you get a gold star!
|
|
746
871
|
|
|
747
|
-
|
|
872
|
+
## 0.6.8
|
|
748
873
|
|
|
749
874
|
* Keep alive can be shut off now with WWW::Mechanize#keep_alive
|
|
750
875
|
* Conditional requests can be shut off with WWW::Mechanize#conditional_requests
|
|
@@ -752,25 +877,25 @@ Mechanize is now under the MIT license
|
|
|
752
877
|
* [#9877] Moved last request time. Thanks Max Stepanov
|
|
753
878
|
* Added WWW::Mechanize::File#save
|
|
754
879
|
* Defaulting file name to URI or Content-Disposition
|
|
755
|
-
* Updating
|
|
880
|
+
* Updating compatibility with hpricot
|
|
756
881
|
* Added more unit tests
|
|
757
882
|
|
|
758
|
-
|
|
883
|
+
## 0.6.7
|
|
759
884
|
|
|
760
885
|
* Fixed a bug with keep-alive requests
|
|
761
886
|
* [#9549] fixed problem with cookie paths
|
|
762
887
|
|
|
763
|
-
|
|
888
|
+
## 0.6.6
|
|
764
889
|
|
|
765
890
|
* Removing hpricot overrides
|
|
766
891
|
* Fixed a bug where alt text can be nil. Thanks Yannick!
|
|
767
|
-
*
|
|
892
|
+
* Unparsable expiration dates in cookies are now treated as session cookies
|
|
768
893
|
* Caching connections
|
|
769
894
|
* Requests now default to keep alive
|
|
770
895
|
* [#9434] Fixed bug where html entities weren't decoded
|
|
771
896
|
* [#9150] Updated mechanize history to deal with redirects
|
|
772
897
|
|
|
773
|
-
|
|
898
|
+
## 0.6.5
|
|
774
899
|
|
|
775
900
|
* Copying headers to a hash to prevent memory leaks
|
|
776
901
|
* Speeding up page parsing
|
|
@@ -785,7 +910,7 @@ Mechanize is now under the MIT license
|
|
|
785
910
|
http://rubyforge.org/tracker/?func=detail&aid=7563&group_id=1453&atid=5709
|
|
786
911
|
* Added MSIE 7.0 user agent string
|
|
787
912
|
|
|
788
|
-
|
|
913
|
+
## 0.6.4
|
|
789
914
|
|
|
790
915
|
* Adding the "redirect_ok" method to Mechanize to stop mechanize from
|
|
791
916
|
following redirects.
|
|
@@ -802,7 +927,7 @@ Mechanize is now under the MIT license
|
|
|
802
927
|
* Fixed bug [#6548]. Input type of 'button' was not being added as a button.
|
|
803
928
|
* Fixed bug [#7139]. REXML parser calls hpricot parser by accident
|
|
804
929
|
|
|
805
|
-
|
|
930
|
+
## 0.6.3
|
|
806
931
|
|
|
807
932
|
* Added keys and values methods to Form
|
|
808
933
|
* Added has_value? to Form
|
|
@@ -817,7 +942,7 @@ Mechanize is now under the MIT license
|
|
|
817
942
|
* Fixed a bug where '#' symbols are encoded
|
|
818
943
|
http://rubyforge.org/forum/message.php?msg_id=14747
|
|
819
944
|
|
|
820
|
-
|
|
945
|
+
## 0.6.2
|
|
821
946
|
|
|
822
947
|
* Added a yield to Page#form so that dealing with forms can be more DSL like.
|
|
823
948
|
* Added the parsed page to the ResponseCodeError so that the parsed results
|
|
@@ -825,12 +950,12 @@ Mechanize is now under the MIT license
|
|
|
825
950
|
http://rubyforge.org/pipermail/mechanize-users/2006-September/000007.html
|
|
826
951
|
* Updated documentation (Thanks to Paul Smith)
|
|
827
952
|
|
|
828
|
-
|
|
953
|
+
## 0.6.1
|
|
829
954
|
|
|
830
955
|
* Added a method to Form called "submit". Now forms can be submitted by
|
|
831
956
|
calling a method on the form.
|
|
832
957
|
* Added a click method to links
|
|
833
|
-
* Added an REXML pluggable parser for backwards
|
|
958
|
+
* Added an REXML pluggable parser for backwards compatibility. To use it,
|
|
834
959
|
just do this:
|
|
835
960
|
agent.pluggable_parser.html = WWW::Mechanize::REXMLPage
|
|
836
961
|
* Fixed a bug with referrers by adding a page attribute to forms and links.
|
|
@@ -843,7 +968,7 @@ Mechanize is now under the MIT license
|
|
|
843
968
|
* Fixed a bug with loading text in to links.
|
|
844
969
|
http://rubyforge.org/pipermail/mechanize-users/2006-September/000000.html
|
|
845
970
|
|
|
846
|
-
|
|
971
|
+
## 0.6.0
|
|
847
972
|
|
|
848
973
|
* Changed main parser to use hpricot
|
|
849
974
|
* Made WWW::Mechanize::Page class searchable like hpricot
|
|
@@ -855,7 +980,7 @@ Mechanize is now under the MIT license
|
|
|
855
980
|
* Removed REXML helper methods since the main parser is now hpricot
|
|
856
981
|
* Overhauled cookie parser to use WEBrick::Cookie
|
|
857
982
|
|
|
858
|
-
|
|
983
|
+
## 0.5.4
|
|
859
984
|
|
|
860
985
|
* Added WWW::Mechanize#trasact for saving history state between in a
|
|
861
986
|
transaction. See the EXAMPLES file. Thanks Johan Kiviniemi.
|
|
@@ -870,7 +995,7 @@ Mechanize is now under the MIT license
|
|
|
870
995
|
* Fixed a bug with saving files on windows
|
|
871
996
|
* Fixed a bug with the filename being set in forms
|
|
872
997
|
|
|
873
|
-
|
|
998
|
+
## 0.5.3
|
|
874
999
|
|
|
875
1000
|
* Mechanize#click will now act on the first element of an array. So if an
|
|
876
1001
|
array of links is passed to WWW::Mechanize#click, the first link is clicked.
|
|
@@ -888,7 +1013,7 @@ Mechanize is now under the MIT license
|
|
|
888
1013
|
* Updated log4r support for a speed increase. Thanks Yinon Bentor
|
|
889
1014
|
* Added inspect methods and pretty printing
|
|
890
1015
|
|
|
891
|
-
|
|
1016
|
+
## 0.5.2
|
|
892
1017
|
|
|
893
1018
|
* Fixed a bug with input names that are nil
|
|
894
1019
|
* Added a warning when using attr_finder because attr_finder will be deprecated
|
|
@@ -905,12 +1030,12 @@ Mechanize is now under the MIT license
|
|
|
905
1030
|
WWW::Mechanize::Form#set_fields. Which can be used like so:
|
|
906
1031
|
form.set_fields( :foo => 'bar', :name => 'Aaron' )
|
|
907
1032
|
|
|
908
|
-
|
|
1033
|
+
## 0.5.1
|
|
909
1034
|
|
|
910
1035
|
* Fixed bug with file uploads
|
|
911
1036
|
* Added performance tweaks to the cookie class
|
|
912
1037
|
|
|
913
|
-
|
|
1038
|
+
## 0.5.0
|
|
914
1039
|
|
|
915
1040
|
* Added pluggable parsers. (Thanks to Eric Kolve for the idea)
|
|
916
1041
|
* Changed namespace so all classes are under WWW::Mechanize.
|
|
@@ -925,7 +1050,7 @@ Mechanize is now under the MIT license
|
|
|
925
1050
|
* Removed support for body filters in favor of pluggable parsers.
|
|
926
1051
|
* Fixed cookie bug adding a '/' when the url is missing one (Thanks Nick Dainty)
|
|
927
1052
|
|
|
928
|
-
|
|
1053
|
+
## 0.4.7
|
|
929
1054
|
|
|
930
1055
|
* Fixed bug with no action in forms. Thanks to Adam Wiggins
|
|
931
1056
|
* Setting a default user-agent string
|
|
@@ -934,7 +1059,7 @@ Mechanize is now under the MIT license
|
|
|
934
1059
|
(thanks to Gregory Brown)
|
|
935
1060
|
* Added WWW::Mechanize#get_file for fetching non text/html files
|
|
936
1061
|
|
|
937
|
-
|
|
1062
|
+
## 0.4.6
|
|
938
1063
|
|
|
939
1064
|
* Added support for proxies
|
|
940
1065
|
* Added a uri field to WWW::Link
|
|
@@ -945,7 +1070,7 @@ Mechanize is now under the MIT license
|
|
|
945
1070
|
allows syntax as such: form.fields.name('q').value = 'xyz'
|
|
946
1071
|
Before it was like this: form.fields.name('q').first.value = 'xyz'
|
|
947
1072
|
|
|
948
|
-
|
|
1073
|
+
## 0.4.5
|
|
949
1074
|
|
|
950
1075
|
* Added support for multiple values of the same name
|
|
951
1076
|
* Updated build_query_string to take an array of arrays (Thanks Michal Janeczek)
|
|
@@ -955,13 +1080,13 @@ Mechanize is now under the MIT license
|
|
|
955
1080
|
* Fixed a bug with empty select lists
|
|
956
1081
|
* Fixing a problem with cookies not handling no spaces after semicolons
|
|
957
1082
|
|
|
958
|
-
|
|
1083
|
+
## 0.4.4
|
|
959
1084
|
|
|
960
|
-
* Fixed error in method signature,
|
|
1085
|
+
* Fixed error in method signature, basic_authentication is now basic_auth
|
|
961
1086
|
* Fixed bug with encoding names in file uploads (Big thanks to Alex Young)
|
|
962
1087
|
* Added options to the select list
|
|
963
1088
|
|
|
964
|
-
|
|
1089
|
+
## 0.4.3
|
|
965
1090
|
|
|
966
1091
|
* Added syntactic sugar for finding things
|
|
967
1092
|
* Fixed bug with HttpOnly option in cookies
|
|
@@ -969,21 +1094,21 @@ Mechanize is now under the MIT license
|
|
|
969
1094
|
* Defaulted dropdown lists to the first element
|
|
970
1095
|
* Added unit tests
|
|
971
1096
|
|
|
972
|
-
|
|
1097
|
+
## 0.4.2
|
|
973
1098
|
|
|
974
1099
|
* Added support for iframes
|
|
975
1100
|
* Made mechanize dependant on ruby-web rather than narf
|
|
976
1101
|
* Added unit tests
|
|
977
1102
|
* Fixed a bunch of warnings
|
|
978
1103
|
|
|
979
|
-
|
|
1104
|
+
## 0.4.1
|
|
980
1105
|
|
|
981
1106
|
* Added support for file uploading
|
|
982
1107
|
* Added support for frames (Thanks Gabriel[mailto:leerbag@googlemail.com])
|
|
983
1108
|
* Added more unit tests
|
|
984
1109
|
* Fixed some bugs
|
|
985
1110
|
|
|
986
|
-
|
|
1111
|
+
## 0.4.0
|
|
987
1112
|
|
|
988
1113
|
* Added more unit tests
|
|
989
1114
|
* Added a cookie jar with better cookie support, included expiration of cookies
|