= Mechanize CHANGELOG == 0.6.1 * Added a method to Form called "submit". Now forms can be submitted by calling a method on the form. * Added a click method to links * Added an REXML pluggable parser for backwards compatability. To use it, just do this: agent.pluggable_parser.html = WWW::Mechanize::REXMLPage * Fixed a bug with referrers by adding a page attribute to forms and links. * Fixed a bug where domain names were case sensitive. http://tenderlovemaking.com/2006/09/04/road-to-ruby-mechanize-060/#comment-53 * Fixed a bug with URI escaped links. http://rubyforge.org/pipermail/mechanize-users/2006-September/000002.html * Fixed a bug when options in select lists don't have a value. Thanks Dan Higham [#5837] Code in lib/mechanize/form_elements.rb is incorrect. * Fixed a bug with loading text in to links. http://rubyforge.org/pipermail/mechanize-users/2006-September/000000.html == 0.6.0 * Changed main parser to use hpricot * Made WWW::Mechanize::Page class searchable like hpricot * Updated WWW::Mechanize#click to support hpricot links like this: @agent.click (page/"a").first * Clicking a Frame is now possible: @agent.click (page/"frame").first * Removed deprecated attr_finder * Removed REXML helper methods since the main parser is now hpricot * Overhauled cookie parser to use WEBrick::Cookie == 0.5.4 * Added WWW::Mechanize#trasact for saving history state between in a transaction. See the EXAMPLES file. Thanks Johan Kiviniemi. * Added support for gzip compressed pages * Forms can now be accessed like a hash. For example, to set the value of an input field named 'name' to "Aaron", you can do this: form['name'] = "Aaron" Or to get the value of a field named 'name', do this: puts form['name'] * File uploads will now read the file specified in FileUpload#file_name * FileUpload can use an IO object in FileUpload#file_data * Fixed a bug with saving files on windows * Fixed a bug with the filename being set in forms == 0.5.3 * Mechanize#click will now act on the first element of an array. So if an array of links is passed to WWW::Mechanize#click, the first link is clicked. That means the syntax for clicking links is shortened and still supports selecting a link. The following are equivalent: agent.click page.links.first agent.click page.links * Fixed a bug with spaces in href's and get's * Added a tick, untick, and click method to radio buttons so that radiobuttons can be "clicked" * Added a tick, untick, and click method to check boxes so that checkboxes can be "clicked" * Options on Select lists can now be "tick"ed, and "untick"ed. * Fixed a potential bug conflicting with rails. Thanks Eric Kolve * Updated log4r support for a speed increase. Thanks Yinon Bentor * Added inspect methods and pretty printing == 0.5.2 * Fixed a bug with input names that are nil * Added a warning when using attr_finder because attr_finder will be deprecated in 0.6.0 in favor of method calls. So this syntax: @agent.links(:text => 'foo') should be changed to this: @agent.links.text('foo') * Added support for selecting multiple options in select tags that support multiple options. See WWW::Mechanize::MultiSelectList. * New select list methods have been added, select_all, select_none. * Options for select lists can now be "clicked" which toggles their selection, they can be "selected" and "unselected". See WWW::Mechanize::Option * Added a method to set multiple fields at the same time, WWW::Mechanize::Form#set_fields. Which can be used like so: form.set_fields( :foo => 'bar', :name => 'Aaron' ) == 0.5.1 * Fixed bug with file uploads * Added performance tweaks to the cookie class == 0.5.0 * Added pluggable parsers. (Thanks to Eric Kolve for the idea) * Changed namespace so all classes are under WWW::Mechanize. * Updating Forms so that fields can be used as accessors (Thanks Gregory Brown) * Added WWW::Mechanize::File as default object used for unknown content types. * Added 'save_as' method to Mechanize::File, so any page can be saved. * Adding 'save_as' and 'load' to CookieJar so that cookies can be saved between sessions. * Added WWW::Mechanize::FileSaver pluggable parser to automatically save files. * Added WWW::Mechanize::Page#title for page titles * Added OpenSSL certificate support (Thanks Mike Dalessio) * Removed support for body filters in favor of pluggable parsers. * Fixed cookie bug adding a '/' when the url is missing one (Thanks Nick Dainty) == 0.4.7 * Fixed bug with no action in forms. Thanks to Adam Wiggins * Setting a default user-agent string * Added house cleaning to the cookie jar so expired cookies don't stick around. * Added new method WWW::Form#field to find the first field with a given name. (thanks to Gregory Brown) * Added WWW::Mechanize#get_file for fetching non text/html files == 0.4.6 * Added support for proxies * Added a uri field to WWW::Link * Added a error class WWW::Mechanize::ContentTypeError * Added image alt text to link text * Added an visited? method to WWW::Mechanize * Added Array#value= which will set the first value to the argument. That allows syntax as such: form.fields.name('q').value = 'xyz' Before it was like this: form.fields.name('q').first.value = 'xyz' == 0.4.5 * Added support for multiple values of the same name * Updated build_query_string to take an array of arrays (Thanks Michal Janeczek) * Added WWW::Mechanize#body_filter= so that response bodies can be preprocessed * Added WWW::Page#body_filter= so that response bodies can be preprocessed * Added support for more date formats in the cookie parser * Fixed a bug with empty select lists * Fixing a problem with cookies not handling no spaces after semicolons == 0.4.4 * Fixed error in method signature, basic_authetication is now basic_auth * Fixed bug with encoding names in file uploads (Big thanks to Alex Young) * Added options to the select list == 0.4.3 * Added syntactic sugar for finding things * Fixed bug with HttpOnly option in cookies * Fixed a bug with cookie date parsing * Defaulted dropdown lists to the first element * Added unit tests == 0.4.2 * Added support for iframes * Made mechanize dependant on ruby-web rather than narf * Added unit tests * Fixed a bunch of warnings == 0.4.1 * Added support for file uploading * Added support for frames (Thanks Gabriel[mailto:leerbag@googlemail.com]) * Added more unit tests * Fixed some bugs == 0.4.0 * Added more unit tests * Added a cookie jar with better cookie support, included expiration of cookies and general cookie security. * Updated mechanize to use built in net/http if ruby version is new enough. * Added support for meta refresh tags * Defaulted form actions to 'GET' * Fixed various bugs * Added more unit tests * Added a response code exception * Thanks to Brian Ellin (brianellin@gmail.com) for: Added support for CA files, and support for 301 response codes