History.txt

Path: History.txt
Last Update: Thu Oct 16 19:58:57 +0000 2008

Mechanize CHANGELOG

0.7.8

  • Bug Fixes:
    • Fixed bug when receiving a 304 response (HTTPNotModified) on a page not cached in history.
    • 21428 Default to HTML parser for ‘application/xhtml+xml’ content-type.
    • Fixed an issue where redirects were resending posted data

0.7.7

  • New Features:
    • Page#form_with takes a criteria hash.
    • Page#form is changed to Page#form_with
    • Mechanize#get takes custom http headers. Thanks Mike Dalessio!
    • Form#click_button submits a form defaulting to the current button.
    • Form#set_fields now takes a hash. Thanks Tobi!
    • Mechanize#redirection_limit= for setting the max number of redirects.
  • Bug Fixes:
    • Added more examples. Thanks Robert Jackson.
    • 20480 Making sure the Host header is set.
    • 20672 Making sure cookies with weird semicolons work.
    • Fixed bug with percent signs in urls. d.hatena.ne.jp/kitamomonga/20080410/ruby_mechanize_percent_url_bug
    • 21132 Not checking for EOF errors on redirect
    • Fixed a weird gzipping error.
    • 21233 Smarter multipart boundry. Thanks Todd Willey!
    • 20097 Supporting meta tag cookies.

0.7.6

0.7.5

  • Fixed a bug when fetching files and not pages. Thanks Mat Schaffer!

0.7.4

  • doh!

0.7.3

  • Pages are now yielded to a blocks given to WWW::Mechanize#get
  • WWW::Mechanize#get now takes hash arguments for uri parameters.
  • WWW::Mechanize#post takes an IO object as a parameter and posts correctly.
  • Fixing a strange zlib inflate problem on windows

0.7.2

  • Handling gzipped responses with no Content-Length header

0.7.1

  • Added iPhone to the user agent aliases. [17572]
  • Fixed a bug with EOF errors in net/http. [17570]
  • Handling 0 length gzipped responses. [17471]

0.7.0

  • Removed Ruby 1.8.2 support
  • Changed parser to lazily parse links
  • Lazily parsing document
  • Adding verify_callback for SSL requests. Thanks Mike Dalessio!
  • Fixed a bug with Accept-Language header. Thanks Bill Siggelkow.

0.6.11

0.6.10

0.6.9

0.6.8

  • Keep alive can be shut off now with WWW::Mechanize#keep_alive
  • Conditional requests can be shut off with WWW::Mechanize#conditional_requests
  • Monkey patched Net::HTTP#keep_alive?
  • [9877] Moved last request time. Thanks Max Stepanov
  • Added WWW::Mechanize::File#save
  • Defaulting file name to URI or Content-Disposition
  • Updating compatability with hpricot
  • Added more unit tests

0.6.7

  • Fixed a bug with keep-alive requests
  • [9549] fixed problem with cookie paths

0.6.6

  • Removing hpricot overrides
  • Fixed a bug where alt text can be nil. Thanks Yannick!
  • Unparseable expiration dates in cookies are now treated as session cookies
  • Caching connections
  • Requests now default to keep alive
  • [9434] Fixed bug where html entities weren‘t decoded
  • [9150] Updated mechanize history to deal with redirects

0.6.5

0.6.4

0.6.3

0.6.2

0.6.1

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)
  • 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

[Validate]