README.md in poltergeist-0.4.0 vs README.md in poltergeist-0.5.0
- old
+ new
@@ -1,18 +1,19 @@
# Poltergeist - A PhantomJS driver for Capybara #
-Version: 0.4.0
+Version: 0.5.0
[![Build Status](https://secure.travis-ci.org/jonleighton/poltergeist.png)](http://travis-ci.org/jonleighton/poltergeist)
+[![Dependency Status](https://gemnasium.com/jonleighton/poltergeist.png)](https://gemnasium.com/jonleighton/poltergeist)
Poltergeist is a driver for [Capybara](https://github.com/jnicklas/capybara). It allows you to
run your Capybara tests on a headless [WebKit](http://webkit.org) browser,
provided by [PhantomJS](http://www.phantomjs.org/).
## Installation ##
-Add `poltergeist` to your Gemfile, and add in your test setup add:
+Add `poltergeist` to your Gemfile, and in your test setup add:
``` ruby
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
```
@@ -169,9 +170,54 @@
makes debugging easier). Running `rake autocompile` will watch the
`.coffee` files for changes, and compile them into
`lib/capybara/client/compiled`.
## Changes ##
+
+### 0.5.0 ###
+
+#### Features ####
+
+* Detect if clicking an element will fail. If the click will actually
+ hit another element (because that element is in front of the one we
+ want to click), the user will now see an exception explaining what
+ happened and which element would actually be targeted by the click. This
+ should aid debugging. [Issue #25]
+
+* Click elements at their middle position rather than the top-left.
+ This is presumed to be more likely to succeed because the top-left
+ may be obscured by overlapping elements, negative margins, etc. [Issue #26]
+
+* Add experimental support for using the remote WebKit web inspector.
+ This will only work with PhantomJS 1.5, which is not yet released,
+ so it won't be officially supported by Poltergeist until 1.5 is
+ released. [Issue #31]
+
+* Add `page.driver.quit` method. If you spawn additional Capybara
+ sessions, you might want to use this to reap the child phantomjs
+ process. [Issue #24]
+
+* Errors produced by Javascript on the page will now generate an
+ exception within Ruby. [Issue #27]
+
+#### Bug fixes ####
+
+* Fix bug where we could end up interacting with an obsolete element. [Issue #30]
+
+* Raise an suitable error if PhantomJS returns a non-zero exit status.
+ Previously a version error would be raised, indicating that the
+ PhantomJS version was too old when in fact it did not start at all. [Issue #23]
+
+* Ensure the `:timeout` option is actually used. [Issue #36]
+
+* Nodes need to know which page they are associated with. Before this,
+ if Javascript caused a new page to load, existing node references
+ would be wrong, but wouldn't raise an ObsoleteNode error. [Issue #39]
+
+* In some circumstances, we could end up missing an inline element
+ when attempting to click it. This is due to the use of
+ `getBoundingClientRect()`. We're now using `getClientRects()` to
+ address this.
### 0.4.0 ###
* Element click position is now calculated using the native
`getBoundingClientRect()` method, which will be faster and less