diff --git a/CHANGELOG b/CHANGELOG index 3357fc3..9cd0724 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,14 @@ +## 2.0.0 (2015-04-23) + +* Rewritten Xvfb launch using Process.spawn and avoiding a shell +* Do not manually remove X11 lock file when stopping Xvfb; this isn’t conventional. Should eliminate some errors with not being able to find Xvfb +* More informative error messages +* Detect situation when Xvfb can’t listen to any sockets and raise corresponding error. +* If video recorder provider is libav, use avconv binary instead of ffmpeg +* Fixes to video recorder launch options (from @gpavlidi, @abotalov, @ynagorny, @WeAreFarmGeek) +* Customize launch timeout (from @ShockwaveNN) +* Properly working integration tests + ## 1.0.2 (2014-06-03) * pass options correctly to ffmpeg (from @abotalov) diff --git a/README.md b/README.md index 525b95c..e7fccf6 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # Headless [![Travis CI status](https://secure.travis-ci.org/leonid-shevtsov/headless.png)](http://travis-ci.org/leonid-shevtsov/headless) -Headless is *the* Ruby interface for Xvfb. It allows you to create a headless display straight from Ruby code, hiding some low-level action. -It can also capture images and video from the virtual framebuffer. +Headless is *the* Ruby interface for Xvfb. It allows you to create a headless display straight from Ruby code, hiding the low-level action. +It can also capture images and video from the virtual framebuffer. For example, you can record screenshots and screencasts of your failing integration specs. I created it so I can run Selenium tests in Cucumber without any shell scripting. Even more, you can go headless only when you run tests against Selenium. Other possible uses include pdf generation with `wkhtmltopdf`, or screenshotting. -Documentation is available at [rdoc.info](http://rdoc.info/projects/leonid-shevtsov/headless) +Documentation is available at [rubydoc.info](http://www.rubydoc.info/gems/headless) [Changelog](https://github.com/leonid-shevtsov/headless/blob/master/CHANGELOG) @@ -159,15 +159,19 @@ To install the necessary libraries on ubuntu: `import` - run `sudo apt-get install imagemagick` `xwd` - run `sudo apt-get install X11-apps` and if you are going to use netpbm utilities for image conversion - `sudo apt-get install netpbm` -## Contributors +## Troubleshooting -* [Igor Afonov](http://iafonov.github.com) - video and screenshot capturing functionality. +### Display socket is taken but lock file is missing ---- +This means that there is an X server that is taking up the chosen display number, but its lock file is missing. This is an exceptional situation. Please stop the server process manually (`pkill Xvfb`) and open an issue. + +### Video not recording -© 2011 Leonid Shevtsov, released under the MIT license +If video is not recording, and there are no visible exceptions, try passing the following option to Headless to figure out the reason: `Headless.new(video: {log_file_path: STDERR})`. In particular, there are some issues with the version of avconv packaged with Ubuntu 12.04 - an outdated release, but still in use on Travis. +##[Contributors](https://github.com/leonid-shevtsov/headless/graphs/contributors) -[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/leonid-shevtsov/headless/trend.png)](https://bitdeli.com/free "Bitdeli Badge") +--- +© 2011-2015 Leonid Shevtsov, released under the MIT license diff --git a/headless.gemspec b/headless.gemspec index 83559cb..74c5f75 100644 --- a/headless.gemspec +++ b/headless.gemspec @@ -3,7 +3,7 @@ spec = Gem::Specification.new do |s| s.email = 'leonid@shevtsov.me' s.name = 'headless' - s.version = '1.0.2' + s.version = '2.0.0' s.summary = 'Ruby headless display interface' s.description = <<-EOF