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