ChangeLog.md in spidr-0.2.7 vs ChangeLog.md in spidr-0.3.0

- old
+ new

@@ -1,21 +1,46 @@ +### 0.3.0 / 2011-04-14 + +* Switched from Jeweler to [Ore](http://github.com/ruby-ore/ore). +* Split all header related methods out of {Spidr::Page} and into + {Spidr::Headers}. +* Split all body related methods out of {Spidr::Page} and into + {Spidr::Body}. +* Split all link related methods out of {Spidr::Page} and into + {Spidr::Links}. +* Added {Spidr::Headers#directory?}. +* Added {Spidr::Headers#json?}. +* Added {Spidr::Links#each_url}. +* Added {Spidr::Links#each_link}. +* Added {Spidr::Links#each_redirect}. +* Added {Spidr::Links#each_meta_redirect}. +* Aliased {Spidr::Headers#raw_cookie} to {Spidr::Headers#cookie}. +* Aliased {Spidr::Body#to_s} to {Spidr::Body#body}. +* Also check for `application/xml` in {Spidr::Headers#xml?}. +* Catch all exceptions when merging URIs in {Spidr::Links#to_absolute}. +* Always prepend a `/` to all FTP URI paths. Fixes a Ruby 1.8 specific + bug, where it expects an absolute path for all FTP URIs. +* Refactored {URI.expand_path}. +* Start the session in {Spidr::SessionCache#[]} to prevent multiple + `CONNECT` commands being sent to HTTP Proxies (thanks falaise). + ### 0.2.7 / 2010-08-17 * Added {Spidr::CookieJar#cookies_for_host} (thanks zapnap). -* Renamed `Spidr::Page#cookie` to {Spidr::Page#raw_cookie}. +* Renamed `Spidr::Page#cookie` to `Spidr::Page#raw_cookie`. * Rescue `URI::InvalidComponentError` exceptions in - {Spidr::Page#to_absolute} (thanks zapnap). + `Spidr::Page#to_absolute` (thanks zapnap). ### 0.2.6 / 2010-07-05 -* Fixed a bug in {Spidr::Page#meta_redirect}, by calling +* Fixed a bug in `Spidr::Page#meta_redirect`, by calling `Nokogiri::XML::Element#get_attribute` instead of `attr`. ### 0.2.5 / 2010-07-02 -* Added {Spidr::Page#meta_redirect}. -* Added {Spidr::Page#meta_redirect?}. +* Added `Spidr::Page#meta_redirect`. +* Added `Spidr::Page#meta_redirect?`. * Manage development dependencies with Bundler. * Support following "old-school" meta-refresh redirects (thanks zapnap). * Allow {Spidr::CookieJar} inherit cookies set by a parent domain. * Fixed a constant lookup issue in {Spidr::Agent}. * Use `yield` instead of `block.call` when necessary. @@ -24,14 +49,14 @@ * Added {Spidr::Filters#visit_urls}. * Added {Spidr::Filters#visit_urls_like}. * Added {Spidr::Filters#ignore_urls}. * Added {Spidr::Filters#ignore_urls_like}. -* Added {Spidr::Page#is_content_type?}. -* Default {Spidr::Page#body} to an empty String. -* Default {Spidr::Page#content_type} to an empty String. -* Default {Spidr::Page#content_types} to an empty Array. +* Added `Spidr::Page#is_content_type?`. +* Default `Spidr::Page#body` to an empty String. +* Default `Spidr::Page#content_type` to an empty String. +* Default `Spidr::Page#content_types` to an empty Array. * Improved reliability of {Spidr::Page#is_redirect?}. * Improved content type detection in {Spidr::Page} to handle `Content-Type` headers containing charsets (thanks Josh Lindsey). ### 0.2.3 / 2010-02-27 @@ -45,14 +70,14 @@ ### 0.2.2 / 2010-01-06 * Require Web Spider Obstacle Course (WSOC) >= 0.1.1. * Integrated the new WSOC into the specs. * Removed the built-in Web Spider Obstacle Course. -* Added {Spidr::Page#content_types}. -* Added {Spidr::Page#cookie}. -* Added {Spidr::Page#cookies}. -* Added {Spidr::Page#cookie_params}. +* Added `Spidr::Page#content_types`. +* Added `Spidr::Page#cookie`. +* Added `Spidr::Page#cookies`. +* Added `Spidr::Page#cookie_params`. * Added {Spidr::Sanitizers}. * Added {Spidr::SessionCache}. * Added {Spidr::CookieJar} (thanks Nick Plante). * Added {Spidr::AuthStore} (thanks Nick Plante). * Added {Spidr::Agent#post_page} (thanks Nick Plante). @@ -91,37 +116,37 @@ * Spider `link` and `script` tags in HTML pages (thanks Nick Plante). ### 0.2.0 / 2009-10-10 * Added {URI.expand_path}. -* Added {Spidr::Page#search}. -* Added {Spidr::Page#at}. -* Added {Spidr::Page#title}. +* Added `Spidr::Page#search`. +* Added `Spidr::Page#at`. +* Added `Spidr::Page#title`. * Added {Spidr::Agent#failures=}. * Added a HTTP session cache to {Spidr::Agent}, per suggestion of falter. * Added `Spidr::Agent#get_session`. * Added `Spidr::Agent#kill_session`. * Added {Spidr.proxy=}. * Added {Spidr.disable_proxy!}. -* Aliased `Spidr::Page#txt?` to {Spidr::Page#plain_text?}. -* Aliased `Spidr::Page#ok?` to {Spidr::Page#is_ok?}. -* Aliased `Spidr::Page#redirect?` to {Spidr::Page#is_redirect?}. -* Aliased `Spidr::Page#unauthorized?` to {Spidr::Page#is_unauthorized?}. -* Aliased `Spidr::Page#forbidden?` to {Spidr::Page#is_forbidden?}. -* Aliased `Spidr::Page#missing?` to {Spidr::Page#is_missing?}. +* Aliased `Spidr::Page#txt?` to `Spidr::Page#plain_text?`. +* Aliased `Spidr::Page#ok?` to `Spidr::Page#is_ok?`. +* Aliased `Spidr::Page#redirect?` to `Spidr::Page#is_redirect?`. +* Aliased `Spidr::Page#unauthorized?` to `Spidr::Page#is_unauthorized?`. +* Aliased `Spidr::Page#forbidden?` to `Spidr::Page#is_forbidden?`. +* Aliased `Spidr::Page#missing?` to `Spidr::Page#is_missing?`. * Split URL filtering code out of {Spidr::Agent} and into {Spidr::Filters}. * Split URL / Page event code out of {Spidr::Agent} and into {Spidr::Events}. * Split pause! / continue! / skip_link! / skip_page! methods out of {Spidr::Agent} and into {Spidr::Actions}. -* Fixed a bug in {Spidr::Page#code}, where it was not returning an Integer. -* Make sure {Spidr::Page#doc} returns `Nokogiri::XML::Document` objects for +* Fixed a bug in `Spidr::Page#code`, where it was not returning an Integer. +* Make sure `Spidr::Page#doc` returns `Nokogiri::XML::Document` objects for RSS/RDF/Atom pages as well. -* Fixed the handling of the Location header in {Spidr::Page#links} +* Fixed the handling of the Location header in `Spidr::Page#links` (thanks falter). -* Fixed a bug in {Spidr::Page#to_absolute} where trailing `/` characters on +* Fixed a bug in `Spidr::Page#to_absolute` where trailing `/` characters on URI paths were not being preserved (thanks falter). * Fixed a bug where the URI query was not being sent with the request in {Spidr::Agent#get_page} (thanks Damian Steer). * Fixed a bug where SSL sessions were not being properly setup (thanks falter). @@ -167,11 +192,11 @@ ### 0.1.7 / 2009-04-24 * Added `Spidr::Agent#all_headers`. * Fixed a bug where {Spidr::Page#headers} was always `nil`. -* {Spidr::Spidr::Agent} will now follow the Location header in HTTP 300, +* {Spidr::Agent} will now follow the Location header in HTTP 300, 301, 302, 303 and 307 Redirects. * {Spidr::Agent} will now follow iframe and frame tags. ### 0.1.6 / 2009-04-14 @@ -187,12 +212,12 @@ * Updated the Web Spider Obstacle Course with links that always fail to be visited. ### 0.1.5 / 2009-03-22 -* Catch malformed URIs in {Spidr::Page#to_absolute} and return `nil`. -* Filter out `nil` URIs in {Spidr::Page#urls}. +* Catch malformed URIs in `Spidr::Page#to_absolute` and return `nil`. +* Filter out `nil` URIs in `Spidr::Page#urls`. ### 0.1.4 / 2009-01-15 * Use Nokogiri for HTML and XML parsing. @@ -202,12 +227,12 @@ * Added the Web Spider Obstacle Course files to the Manifest. * Aliased {Spidr::Agent#visited_urls} to {Spidr::Agent#history}. ### 0.1.2 / 2008-11-06 -* Fixed a bug in {Spidr::Page#to_absolute} where URLs with no path were not +* Fixed a bug in `Spidr::Page#to_absolute` where URLs with no path were not receiving a default path of `/`. -* Fixed a bug in {Spidr::Page#to_absolute} where URL paths were not being +* Fixed a bug in `Spidr::Page#to_absolute` where URL paths were not being expanded, in order to remove `..` and `.` directories. * Fixed a bug where absolute URLs could have a blank path, thus causing {Spidr::Agent#get_page} to crash when it performed the HTTP request. * Added RSpec spec tests. * Created a Web-Spider Obstacle Course