public
Description: Mechanize is a ruby library that makes automated web interaction easy.
Homepage: http://mechanize.rubyforge.org/
Clone URL: git://github.com/aaronp/mechanize.git
Search Repo:
Click here to lend your support to: mechanize and make a donation at www.pledgie.com !
updating Rakefile, VERSION, and moving CHANGELOG to History
aaronp (author)
Sun May 11 19:15:10 -0700 2008
commit  551383ad320f81a2d3dc79f37f00ec16be4a8472
tree    647fad04bcaf0fde2aac1fdbb3a6ed1e575ab021
parent  67ce61445a1beee6bcd556796e4e734f24ff294a
...
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
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0
@@ -1,354 +1 @@
0
-= Mechanize CHANGELOG
0
-
0
-== 0.7.6
0
-
0
-* New Features:
0
- * Added support for reading Mozilla cookie jars. Thanks Chris Riddoch!
0
- * Moving text, password, hidden, int to default. Thanks Tim Harper!
0
- * Mechanize#history_added callback for page loads. Thanks Tobi Reif!
0
- * Mechanize#scheme_handlers callbacks for handling unsupported schemes on
0
- links.
0
-
0
-* Bug Fixes:
0
- * Ignoring scheme case
0
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=470642
0
- * Not encoding tildes in uris. Thanks Bruno. [#19380]
0
- * Resetting request bodys when retrying form posts. Thanks Bruno. [#19379]
0
- * Throwing away keep alive connections on EPIPE and ECONNRESET.
0
- * Duplicating request headers when retrying a 401. Thanks Hiroshi Ichikawa.
0
- * Simulating an EOF error when a response length is bad. Thanks Tobias Gruetzmacher.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=19178&group_id=1453&atid=5711
0
- * Defaulting option tags to the inner text.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=19976&group_id=1453&atid=5709
0
- * Supporting blank strings for option values.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=19975&group_id=1453&atid=5709
0
-
0
-== 0.7.5
0
-
0
-* Fixed a bug when fetching files and not pages. Thanks Mat Schaffer!
0
-
0
-== 0.7.4
0
-
0
-* doh!
0
-
0
-== 0.7.3
0
-
0
-* Pages are now yielded to a blocks given to WWW::Mechanize#get
0
-* WWW::Mechanize#get now takes hash arguments for uri parameters.
0
-* WWW::Mechanize#post takes an IO object as a parameter and posts correctly.
0
-* Fixing a strange zlib inflate problem on windows
0
-
0
-== 0.7.2
0
-
0
-* Handling gzipped responses with no Content-Length header
0
-
0
-== 0.7.1
0
-
0
-* Added iPhone to the user agent aliases. [#17572]
0
-* Fixed a bug with EOF errors in net/http. [#17570]
0
-* Handling 0 length gzipped responses. [#17471]
0
-
0
-== 0.7.0
0
-
0
-* Removed Ruby 1.8.2 support
0
-* Changed parser to lazily parse links
0
-* Lazily parsing document
0
-* Adding verify_callback for SSL requests. Thanks Mike Dalessio!
0
-* Fixed a bug with Accept-Language header. Thanks Bill Siggelkow.
0
-
0
-== 0.6.11
0
-
0
-* Detecting single quotes in meta redirects.
0
-* Adding pretty inspect for ruby versions > 1.8.4 (Thanks Joel Kociolek)
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=13150&group_id=1453&atid=5709
0
-* Fixed bug with file name in multipart posts
0
- http://rubyforge.org/tracker/?func=detail&aid=15594&group_id=1453&atid=5709
0
-* Posting forms relative to the originating page. Thanks Mortee.
0
-* Added a FAQ
0
- http://rubyforge.org/tracker/?func=detail&aid=15772&group_id=1453&atid=5709
0
-
0
-== 0.6.10
0
-
0
-* Made digest authentication work with POSTs.
0
-* Made sure page was HTML before following meta refreshes.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=12260&group_id=1453&atid=5709
0
-* Made sure that URLS with a host and no path would default to '/' for history
0
- purposes.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=12368&group_id=1453&atid=5709
0
-* Avoiding memory leaks with transact. Thanks Tobias Gruetzmacher!
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=12057&group_id=1453&atid=5711
0
-* Fixing a problem with # signs in the file name. Thanks Tobias Gruetzmacher!
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=12510&group_id=1453&atid=5711
0
-* Made sure that blank form values are submitted.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=12505&group_id=1453&atid=5709
0
-* Mechanize now respects the base tag. Thanks Stephan Dale.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=12468&group_id=1453&atid=5709
0
-* Aliasing inspect to pretty_inspect. Thanks Eric Promislow.
0
- http://rubyforge.org/pipermail/mechanize-users/2007-July/000157.html
0
-
0
-== 0.6.9
0
-
0
-* Updating UTF-8 support for urls
0
-* Adding AREA tags to the links list.
0
- http://rubyforge.org/pipermail/mechanize-users/2007-May/000140.html
0
-* WWW::Mechanize#follow_meta_refresh will allow you to automatically follow
0
- meta refresh tags. [#10032]
0
-* Adding x-gzip to accepted content-encoding. Thanks Simon Strandgaard
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=11167&group_id=1453&atid=5711
0
-* Added Digest Authentication support. Thanks to Ryan Davis and Eric Hodel,
0
- you get a gold star!
0
-
0
-== 0.6.8
0
-
0
-* Keep alive can be shut off now with WWW::Mechanize#keep_alive
0
-* Conditional requests can be shut off with WWW::Mechanize#conditional_requests
0
-* Monkey patched Net::HTTP#keep_alive?
0
-* [#9877] Moved last request time. Thanks Max Stepanov
0
-* Added WWW::Mechanize::File#save
0
-* Defaulting file name to URI or Content-Disposition
0
-* Updating compatability with hpricot
0
-* Added more unit tests
0
-
0
-== 0.6.7
0
-
0
-* Fixed a bug with keep-alive requests
0
-* [#9549] fixed problem with cookie paths
0
-
0
-== 0.6.6
0
-
0
-* Removing hpricot overrides
0
-* Fixed a bug where alt text can be nil. Thanks Yannick!
0
-* Unparseable expiration dates in cookies are now treated as session cookies
0
-* Caching connections
0
-* Requests now default to keep alive
0
-* [#9434] Fixed bug where html entities weren't decoded
0
-* [#9150] Updated mechanize history to deal with redirects
0
-
0
-== 0.6.5
0
-
0
-* Copying headers to a hash to prevent memory leaks
0
-* Speeding up page parsing
0
-* Aliased fields to elements
0
-* Adding If-Modified-Since header
0
-* Added delete_field! to form. Thanks to Sava Chankov
0
-* Updated uri escaping to support high order characters. Thanks to Henrik Nyh.
0
-* Better handling relative URIs. Thanks to Henrik Nyh
0
-* Now handles pipes in URLs
0
- http://rubyforge.org/tracker/?func=detail&aid=7140&group_id=1453&atid=5709
0
-* Now escaping html entities in form fields.
0
- http://rubyforge.org/tracker/?func=detail&aid=7563&group_id=1453&atid=5709
0
-* Added MSIE 7.0 user agent string
0
-
0
-== 0.6.4
0
-
0
-* Adding the "redirect_ok" method to Mechanize to stop mechanize from
0
- following redirects.
0
- http://rubyforge.org/tracker/index.php?func=detail&aid=6571&group_id=1453&atid=5712
0
-* Added protected method Mechanize#set_headers so that subclasses can set
0
- custom headers.
0
- http://rubyforge.org/tracker/?func=detail&aid=7208&group_id=1453&atid=5712
0
-* Aliased Page#referer to Page#page
0
-* Fixed a bug when clicking relative urls
0
- http://rubyforge.org/pipermail/mechanize-users/2006-November/000035.html
0
-* Fixing a bug when bad version or max age is passed to Cookie::parse
0
- http://rubyforge.org/pipermail/mechanize-users/2006-November/000033.html
0
-* Fixing a bug with response codes. [#6526]
0
-* Fixed bug [#6548]. Input type of 'button' was not being added as a button.
0
-* Fixed bug [#7139]. REXML parser calls hpricot parser by accident
0
-
0
-== 0.6.3
0
-
0
-* Added keys and values methods to Form
0
-* Added has_value? to Form
0
-* Added a has_field? method to Form
0
-* The add_field! method on Form now creates a field for you on the form.
0
- Thanks to Mat Schaffer for the patch.
0
- http://rubyforge.org/pipermail/mechanize-users/2006-November/000025.html
0
-* Fixed a bug when form actions have html ecoded entities in them.
0
- http://rubyforge.org/pipermail/mechanize-users/2006-October/000019.html
0
-* Fixed a bug when links or frame sources have html encoded entities in the
0
- href or src.
0
-* Fixed a bug where '#' symbols are encoded
0
- http://rubyforge.org/forum/message.php?msg_id=14747
0
-
0
-== 0.6.2
0
-
0
-* Added a yield to Page#form so that dealing with forms can be more DSL like.
0
-* Added the parsed page to the ResponseCodeError so that the parsed results
0
- can be accessed even in the event of an error.
0
- http://rubyforge.org/pipermail/mechanize-users/2006-September/000007.html
0
-* Updated documentation (Thanks to Paul Smith)
0
-
0
-== 0.6.1
0
-
0
-* Added a method to Form called "submit". Now forms can be submitted by
0
- calling a method on the form.
0
-* Added a click method to links
0
-* Added an REXML pluggable parser for backwards compatability. To use it,
0
- just do this:
0
- agent.pluggable_parser.html = WWW::Mechanize::REXMLPage
0
-* Fixed a bug with referrers by adding a page attribute to forms and links.
0
-* Fixed a bug where domain names were case sensitive.
0
- http://tenderlovemaking.com/2006/09/04/road-to-ruby-mechanize-060/#comment-53
0
-* Fixed a bug with URI escaped links.
0
- http://rubyforge.org/pipermail/mechanize-users/2006-September/000002.html
0
-* Fixed a bug when options in select lists don't have a value. Thanks Dan Higham
0
- [#5837] Code in lib/mechanize/form_elements.rb is incorrect.
0
-* Fixed a bug with loading text in to links.
0
- http://rubyforge.org/pipermail/mechanize-users/2006-September/000000.html
0
-
0
-== 0.6.0
0
-
0
-* Changed main parser to use hpricot
0
-* Made WWW::Mechanize::Page class searchable like hpricot
0
-* Updated WWW::Mechanize#click to support hpricot links like this:
0
- @agent.click (page/"a").first
0
-* Clicking a Frame is now possible:
0
- @agent.click (page/"frame").first
0
-* Removed deprecated attr_finder
0
-* Removed REXML helper methods since the main parser is now hpricot
0
-* Overhauled cookie parser to use WEBrick::Cookie
0
-
0
-== 0.5.4
0
-
0
-* Added WWW::Mechanize#trasact for saving history state between in a
0
- transaction. See the EXAMPLES file. Thanks Johan Kiviniemi.
0
-* Added support for gzip compressed pages
0
-* Forms can now be accessed like a hash. For example, to set the value
0
- of an input field named 'name' to "Aaron", you can do this:
0
- form['name'] = "Aaron"
0
- Or to get the value of a field named 'name', do this:
0
- puts form['name']
0
-* File uploads will now read the file specified in FileUpload#file_name
0
-* FileUpload can use an IO object in FileUpload#file_data
0
-* Fixed a bug with saving files on windows
0
-* Fixed a bug with the filename being set in forms
0
-
0
-== 0.5.3
0
-
0
-* Mechanize#click will now act on the first element of an array. So if an
0
- array of links is passed to WWW::Mechanize#click, the first link is clicked.
0
- That means the syntax for clicking links is shortened and still supports
0
- selecting a link. The following are equivalent:
0
- agent.click page.links.first
0
- agent.click page.links
0
-* Fixed a bug with spaces in href's and get's
0
-* Added a tick, untick, and click method to radio buttons so that
0
- radiobuttons can be "clicked"
0
-* Added a tick, untick, and click method to check boxes so that
0
- checkboxes can be "clicked"
0
-* Options on Select lists can now be "tick"ed, and "untick"ed.
0
-* Fixed a potential bug conflicting with rails. Thanks Eric Kolve
0
-* Updated log4r support for a speed increase. Thanks Yinon Bentor
0
-* Added inspect methods and pretty printing
0
-
0
-== 0.5.2
0
-
0
-* Fixed a bug with input names that are nil
0
-* Added a warning when using attr_finder because attr_finder will be deprecated
0
- in 0.6.0 in favor of method calls. So this syntax:
0
- @agent.links(:text => 'foo')
0
- should be changed to this:
0
- @agent.links.text('foo')
0
-* Added support for selecting multiple options in select tags that support
0
- multiple options. See WWW::Mechanize::MultiSelectList.
0
-* New select list methods have been added, select_all, select_none.
0
-* Options for select lists can now be "clicked" which toggles their selection,
0
- they can be "selected" and "unselected". See WWW::Mechanize::Option
0
-* Added a method to set multiple fields at the same time,
0
- WWW::Mechanize::Form#set_fields. Which can be used like so:
0
- form.set_fields( :foo => 'bar', :name => 'Aaron' )
0
-
0
-== 0.5.1
0
-
0
-* Fixed bug with file uploads
0
-* Added performance tweaks to the cookie class
0
-
0
-== 0.5.0
0
-
0
-* Added pluggable parsers. (Thanks to Eric Kolve for the idea)
0
-* Changed namespace so all classes are under WWW::Mechanize.
0
-* Updating Forms so that fields can be used as accessors (Thanks Gregory Brown)
0
-* Added WWW::Mechanize::File as default object used for unknown content types.
0
-* Added 'save_as' method to Mechanize::File, so any page can be saved.
0
-* Adding 'save_as' and 'load' to CookieJar so that cookies can be saved
0
- between sessions.
0
-* Added WWW::Mechanize::FileSaver pluggable parser to automatically save files.
0
-* Added WWW::Mechanize::Page#title for page titles
0
-* Added OpenSSL certificate support (Thanks Mike Dalessio)
0
-* Removed support for body filters in favor of pluggable parsers.
0
-* Fixed cookie bug adding a '/' when the url is missing one (Thanks Nick Dainty)
0
-
0
-== 0.4.7
0
-
0
-* Fixed bug with no action in forms. Thanks to Adam Wiggins
0
-* Setting a default user-agent string
0
-* Added house cleaning to the cookie jar so expired cookies don't stick around.
0
-* Added new method WWW::Form#field to find the first field with a given name.
0
- (thanks to Gregory Brown)
0
-* Added WWW::Mechanize#get_file for fetching non text/html files
0
-
0
-== 0.4.6
0
-
0
-* Added support for proxies
0
-* Added a uri field to WWW::Link
0
-* Added a error class WWW::Mechanize::ContentTypeError
0
-* Added image alt text to link text
0
-* Added an visited? method to WWW::Mechanize
0
-* Added Array#value= which will set the first value to the argument. That
0
- allows syntax as such: form.fields.name('q').value = 'xyz'
0
- Before it was like this: form.fields.name('q').first.value = 'xyz'
0
-
0
-== 0.4.5
0
-
0
-* Added support for multiple values of the same name
0
-* Updated build_query_string to take an array of arrays (Thanks Michal Janeczek)
0
-* Added WWW::Mechanize#body_filter= so that response bodies can be preprocessed
0
-* Added WWW::Page#body_filter= so that response bodies can be preprocessed
0
-* Added support for more date formats in the cookie parser
0
-* Fixed a bug with empty select lists
0
-* Fixing a problem with cookies not handling no spaces after semicolons
0
-
0
-== 0.4.4
0
-
0
-* Fixed error in method signature, basic_authetication is now basic_auth
0
-* Fixed bug with encoding names in file uploads (Big thanks to Alex Young)
0
-* Added options to the select list
0
-
0
-== 0.4.3
0
-
0
-* Added syntactic sugar for finding things
0
-* Fixed bug with HttpOnly option in cookies
0
-* Fixed a bug with cookie date parsing
0
-* Defaulted dropdown lists to the first element
0
-* Added unit tests
0
-
0
-== 0.4.2
0
-
0
-* Added support for iframes
0
-* Made mechanize dependant on ruby-web rather than narf
0
-* Added unit tests
0
-* Fixed a bunch of warnings
0
-
0
-== 0.4.1
0
-
0
-* Added support for file uploading
0
-* Added support for frames (Thanks Gabriel[mailto:leerbag@googlemail.com])
0
-* Added more unit tests
0
-* Fixed some bugs
0
-
0
-== 0.4.0
0
-
0
-* Added more unit tests
0
-* Added a cookie jar with better cookie support, included expiration of cookies
0
- and general cookie security.
0
-* Updated mechanize to use built in net/http if ruby version is new enough.
0
-* Added support for meta refresh tags
0
-* Defaulted form actions to 'GET'
0
-* Fixed various bugs
0
-* Added more unit tests
0
-* Added a response code exception
0
-* Thanks to Brian Ellin (brianellin@gmail.com) for:
0
- Added support for CA files, and support for 301 response codes
0
-
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
...
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
0
@@ -1 +1,354 @@
0
+= Mechanize CHANGELOG
0
+
0
+=== 0.7.6
0
+
0
+* New Features:
0
+ * Added support for reading Mozilla cookie jars. Thanks Chris Riddoch!
0
+ * Moving text, password, hidden, int to default. Thanks Tim Harper!
0
+ * Mechanize#history_added callback for page loads. Thanks Tobi Reif!
0
+ * Mechanize#scheme_handlers callbacks for handling unsupported schemes on
0
+ links.
0
+
0
+* Bug Fixes:
0
+ * Ignoring scheme case
0
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=470642
0
+ * Not encoding tildes in uris. Thanks Bruno. [#19380]
0
+ * Resetting request bodys when retrying form posts. Thanks Bruno. [#19379]
0
+ * Throwing away keep alive connections on EPIPE and ECONNRESET.
0
+ * Duplicating request headers when retrying a 401. Thanks Hiroshi Ichikawa.
0
+ * Simulating an EOF error when a response length is bad. Thanks Tobias Gruetzmacher.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=19178&group_id=1453&atid=5711
0
+ * Defaulting option tags to the inner text.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=19976&group_id=1453&atid=5709
0
+ * Supporting blank strings for option values.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=19975&group_id=1453&atid=5709
0
+
0
+=== 0.7.5
0
+
0
+* Fixed a bug when fetching files and not pages. Thanks Mat Schaffer!
0
+
0
+=== 0.7.4
0
+
0
+* doh!
0
+
0
+=== 0.7.3
0
+
0
+* Pages are now yielded to a blocks given to WWW::Mechanize#get
0
+* WWW::Mechanize#get now takes hash arguments for uri parameters.
0
+* WWW::Mechanize#post takes an IO object as a parameter and posts correctly.
0
+* Fixing a strange zlib inflate problem on windows
0
+
0
+=== 0.7.2
0
+
0
+* Handling gzipped responses with no Content-Length header
0
+
0
+=== 0.7.1
0
+
0
+* Added iPhone to the user agent aliases. [#17572]
0
+* Fixed a bug with EOF errors in net/http. [#17570]
0
+* Handling 0 length gzipped responses. [#17471]
0
+
0
+=== 0.7.0
0
+
0
+* Removed Ruby 1.8.2 support
0
+* Changed parser to lazily parse links
0
+* Lazily parsing document
0
+* Adding verify_callback for SSL requests. Thanks Mike Dalessio!
0
+* Fixed a bug with Accept-Language header. Thanks Bill Siggelkow.
0
+
0
+=== 0.6.11
0
+
0
+* Detecting single quotes in meta redirects.
0
+* Adding pretty inspect for ruby versions > 1.8.4 (Thanks Joel Kociolek)
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=13150&group_id=1453&atid=5709
0
+* Fixed bug with file name in multipart posts
0
+ http://rubyforge.org/tracker/?func=detail&aid=15594&group_id=1453&atid=5709
0
+* Posting forms relative to the originating page. Thanks Mortee.
0
+* Added a FAQ
0
+ http://rubyforge.org/tracker/?func=detail&aid=15772&group_id=1453&atid=5709
0
+
0
+=== 0.6.10
0
+
0
+* Made digest authentication work with POSTs.
0
+* Made sure page was HTML before following meta refreshes.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=12260&group_id=1453&atid=5709
0
+* Made sure that URLS with a host and no path would default to '/' for history
0
+ purposes.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=12368&group_id=1453&atid=5709
0
+* Avoiding memory leaks with transact. Thanks Tobias Gruetzmacher!
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=12057&group_id=1453&atid=5711
0
+* Fixing a problem with # signs in the file name. Thanks Tobias Gruetzmacher!
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=12510&group_id=1453&atid=5711
0
+* Made sure that blank form values are submitted.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=12505&group_id=1453&atid=5709
0
+* Mechanize now respects the base tag. Thanks Stephan Dale.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=12468&group_id=1453&atid=5709
0
+* Aliasing inspect to pretty_inspect. Thanks Eric Promislow.
0
+ http://rubyforge.org/pipermail/mechanize-users/2007-July/000157.html
0
+
0
+=== 0.6.9
0
+
0
+* Updating UTF-8 support for urls
0
+* Adding AREA tags to the links list.
0
+ http://rubyforge.org/pipermail/mechanize-users/2007-May/000140.html
0
+* WWW::Mechanize#follow_meta_refresh will allow you to automatically follow
0
+ meta refresh tags. [#10032]
0
+* Adding x-gzip to accepted content-encoding. Thanks Simon Strandgaard
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=11167&group_id=1453&atid=5711
0
+* Added Digest Authentication support. Thanks to Ryan Davis and Eric Hodel,
0
+ you get a gold star!
0
+
0
+=== 0.6.8
0
+
0
+* Keep alive can be shut off now with WWW::Mechanize#keep_alive
0
+* Conditional requests can be shut off with WWW::Mechanize#conditional_requests
0
+* Monkey patched Net::HTTP#keep_alive?
0
+* [#9877] Moved last request time. Thanks Max Stepanov
0
+* Added WWW::Mechanize::File#save
0
+* Defaulting file name to URI or Content-Disposition
0
+* Updating compatability with hpricot
0
+* Added more unit tests
0
+
0
+=== 0.6.7
0
+
0
+* Fixed a bug with keep-alive requests
0
+* [#9549] fixed problem with cookie paths
0
+
0
+=== 0.6.6
0
+
0
+* Removing hpricot overrides
0
+* Fixed a bug where alt text can be nil. Thanks Yannick!
0
+* Unparseable expiration dates in cookies are now treated as session cookies
0
+* Caching connections
0
+* Requests now default to keep alive
0
+* [#9434] Fixed bug where html entities weren't decoded
0
+* [#9150] Updated mechanize history to deal with redirects
0
+
0
+=== 0.6.5
0
+
0
+* Copying headers to a hash to prevent memory leaks
0
+* Speeding up page parsing
0
+* Aliased fields to elements
0
+* Adding If-Modified-Since header
0
+* Added delete_field! to form. Thanks to Sava Chankov
0
+* Updated uri escaping to support high order characters. Thanks to Henrik Nyh.
0
+* Better handling relative URIs. Thanks to Henrik Nyh
0
+* Now handles pipes in URLs
0
+ http://rubyforge.org/tracker/?func=detail&aid=7140&group_id=1453&atid=5709
0
+* Now escaping html entities in form fields.
0
+ http://rubyforge.org/tracker/?func=detail&aid=7563&group_id=1453&atid=5709
0
+* Added MSIE 7.0 user agent string
0
+
0
+=== 0.6.4
0
+
0
+* Adding the "redirect_ok" method to Mechanize to stop mechanize from
0
+ following redirects.
0
+ http://rubyforge.org/tracker/index.php?func=detail&aid=6571&group_id=1453&atid=5712
0
+* Added protected method Mechanize#set_headers so that subclasses can set
0
+ custom headers.
0
+ http://rubyforge.org/tracker/?func=detail&aid=7208&group_id=1453&atid=5712
0
+* Aliased Page#referer to Page#page
0
+* Fixed a bug when clicking relative urls
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-November/000035.html
0
+* Fixing a bug when bad version or max age is passed to Cookie::parse
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-November/000033.html
0
+* Fixing a bug with response codes. [#6526]
0
+* Fixed bug [#6548]. Input type of 'button' was not being added as a button.
0
+* Fixed bug [#7139]. REXML parser calls hpricot parser by accident
0
+
0
+=== 0.6.3
0
+
0
+* Added keys and values methods to Form
0
+* Added has_value? to Form
0
+* Added a has_field? method to Form
0
+* The add_field! method on Form now creates a field for you on the form.
0
+ Thanks to Mat Schaffer for the patch.
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-November/000025.html
0
+* Fixed a bug when form actions have html ecoded entities in them.
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-October/000019.html
0
+* Fixed a bug when links or frame sources have html encoded entities in the
0
+ href or src.
0
+* Fixed a bug where '#' symbols are encoded
0
+ http://rubyforge.org/forum/message.php?msg_id=14747
0
+
0
+=== 0.6.2
0
+
0
+* Added a yield to Page#form so that dealing with forms can be more DSL like.
0
+* Added the parsed page to the ResponseCodeError so that the parsed results
0
+ can be accessed even in the event of an error.
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-September/000007.html
0
+* Updated documentation (Thanks to Paul Smith)
0
+
0
+=== 0.6.1
0
+
0
+* Added a method to Form called "submit". Now forms can be submitted by
0
+ calling a method on the form.
0
+* Added a click method to links
0
+* Added an REXML pluggable parser for backwards compatability. To use it,
0
+ just do this:
0
+ agent.pluggable_parser.html = WWW::Mechanize::REXMLPage
0
+* Fixed a bug with referrers by adding a page attribute to forms and links.
0
+* Fixed a bug where domain names were case sensitive.
0
+ http://tenderlovemaking.com/2006/09/04/road-to-ruby-mechanize-060/#comment-53
0
+* Fixed a bug with URI escaped links.
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-September/000002.html
0
+* Fixed a bug when options in select lists don't have a value. Thanks Dan Higham
0
+ [#5837] Code in lib/mechanize/form_elements.rb is incorrect.
0
+* Fixed a bug with loading text in to links.
0
+ http://rubyforge.org/pipermail/mechanize-users/2006-September/000000.html
0
+
0
+=== 0.6.0
0
+
0
+* Changed main parser to use hpricot
0
+* Made WWW::Mechanize::Page class searchable like hpricot
0
+* Updated WWW::Mechanize#click to support hpricot links like this:
0
+ @agent.click (page/"a").first
0
+* Clicking a Frame is now possible:
0
+ @agent.click (page/"frame").first
0
+* Removed deprecated attr_finder
0
+* Removed REXML helper methods since the main parser is now hpricot
0
+* Overhauled cookie parser to use WEBrick::Cookie
0
+
0
+=== 0.5.4
0
+
0
+* Added WWW::Mechanize#trasact for saving history state between in a
0
+ transaction. See the EXAMPLES file. Thanks Johan Kiviniemi.
0
+* Added support for gzip compressed pages
0
+* Forms can now be accessed like a hash. For example, to set the value
0
+ of an input field named 'name' to "Aaron", you can do this:
0
+ form['name'] = "Aaron"
0
+ Or to get the value of a field named 'name', do this:
0
+ puts form['name']
0
+* File uploads will now read the file specified in FileUpload#file_name
0
+* FileUpload can use an IO object in FileUpload#file_data
0
+* Fixed a bug with saving files on windows
0
+* Fixed a bug with the filename being set in forms
0
+
0
+=== 0.5.3
0
+
0
+* Mechanize#click will now act on the first element of an array. So if an
0
+ array of links is passed to WWW::Mechanize#click, the first link is clicked.
0
+ That means the syntax for clicking links is shortened and still supports
0
+ selecting a link. The following are equivalent:
0
+ agent.click page.links.first
0
+ agent.click page.links
0
+* Fixed a bug with spaces in href's and get's
0
+* Added a tick, untick, and click method to radio buttons so that
0
+ radiobuttons can be "clicked"
0
+* Added a tick, untick, and click method to check boxes so that
0
+ checkboxes can be "clicked"
0
+* Options on Select lists can now be "tick"ed, and "untick"ed.
0
+* Fixed a potential bug conflicting with rails. Thanks Eric Kolve
0
+* Updated log4r support for a speed increase. Thanks Yinon Bentor
0
+* Added inspect methods and pretty printing
0
+
0
+=== 0.5.2
0
+
0
+* Fixed a bug with input names that are nil
0
+* Added a warning when using attr_finder because attr_finder will be deprecated
0
+ in 0.6.0 in favor of method calls. So this syntax:
0
+ @agent.links(:text => 'foo')
0
+ should be changed to this:
0
+ @agent.links.text('foo')
0
+* Added support for selecting multiple options in select tags that support
0
+ multiple options. See WWW::Mechanize::MultiSelectList.
0
+* New select list methods have been added, select_all, select_none.
0
+* Options for select lists can now be "clicked" which toggles their selection,
0
+ they can be "selected" and "unselected". See WWW::Mechanize::Option
0
+* Added a method to set multiple fields at the same time,
0
+ WWW::Mechanize::Form#set_fields. Which can be used like so:
0
+ form.set_fields( :foo => 'bar', :name => 'Aaron' )
0
+
0
+=== 0.5.1
0
+
0
+* Fixed bug with file uploads
0
+* Added performance tweaks to the cookie class
0
+
0
+=== 0.5.0
0
+
0
+* Added pluggable parsers. (Thanks to Eric Kolve for the idea)
0
+* Changed namespace so all classes are under WWW::Mechanize.
0
+* Updating Forms so that fields can be used as accessors (Thanks Gregory Brown)
0
+* Added WWW::Mechanize::File as default object used for unknown content types.
0
+* Added 'save_as' method to Mechanize::File, so any page can be saved.
0
+* Adding 'save_as' and 'load' to CookieJar so that cookies can be saved
0
+ between sessions.
0
+* Added WWW::Mechanize::FileSaver pluggable parser to automatically save files.
0
+* Added WWW::Mechanize::Page#title for page titles
0
+* Added OpenSSL certificate support (Thanks Mike Dalessio)
0
+* Removed support for body filters in favor of pluggable parsers.
0
+* Fixed cookie bug adding a '/' when the url is missing one (Thanks Nick Dainty)
0
+
0
+=== 0.4.7
0
+
0
+* Fixed bug with no action in forms. Thanks to Adam Wiggins
0
+* Setting a default user-agent string
0
+* Added house cleaning to the cookie jar so expired cookies don't stick around.
0
+* Added new method WWW::Form#field to find the first field with a given name.
0
+ (thanks to Gregory Brown)
0
+* Added WWW::Mechanize#get_file for fetching non text/html files
0
+
0
+=== 0.4.6
0
+
0
+* Added support for proxies
0
+* Added a uri field to WWW::Link
0
+* Added a error class WWW::Mechanize::ContentTypeError
0
+* Added image alt text to link text
0
+* Added an visited? method to WWW::Mechanize
0
+* Added Array#value= which will set the first value to the argument. That
0
+ allows syntax as such: form.fields.name('q').value = 'xyz'
0
+ Before it was like this: form.fields.name('q').first.value = 'xyz'
0
+
0
+=== 0.4.5
0
+
0
+* Added support for multiple values of the same name
0
+* Updated build_query_string to take an array of arrays (Thanks Michal Janeczek)
0
+* Added WWW::Mechanize#body_filter= so that response bodies can be preprocessed
0
+* Added WWW::Page#body_filter= so that response bodies can be preprocessed
0
+* Added support for more date formats in the cookie parser
0
+* Fixed a bug with empty select lists
0
+* Fixing a problem with cookies not handling no spaces after semicolons
0
+
0
+=== 0.4.4
0
+
0
+* Fixed error in method signature, basic_authetication is now basic_auth
0
+* Fixed bug with encoding names in file uploads (Big thanks to Alex Young)
0
+* Added options to the select list
0
+
0
+=== 0.4.3
0
+
0
+* Added syntactic sugar for finding things
0
+* Fixed bug with HttpOnly option in cookies
0
+* Fixed a bug with cookie date parsing
0
+* Defaulted dropdown lists to the first element
0
+* Added unit tests
0
+
0
+=== 0.4.2
0
+
0
+* Added support for iframes
0
+* Made mechanize dependant on ruby-web rather than narf
0
+* Added unit tests
0
+* Fixed a bunch of warnings
0
+
0
+=== 0.4.1
0
+
0
+* Added support for file uploading
0
+* Added support for frames (Thanks Gabriel[mailto:leerbag@googlemail.com])
0
+* Added more unit tests
0
+* Fixed some bugs
0
+
0
+=== 0.4.0
0
+
0
+* Added more unit tests
0
+* Added a cookie jar with better cookie support, included expiration of cookies
0
+ and general cookie security.
0
+* Updated mechanize to use built in net/http if ruby version is new enough.
0
+* Added support for meta refresh tags
0
+* Defaulted form actions to 'GET'
0
+* Fixed various bugs
0
+* Added more unit tests