Passenger 5.0.30: Installation fix, stability and speed improvements

Version 5.0.30 of the Phusion Passenger application server for Ruby, Node.js, Meteor and Python has been released. We've fixed an issue that could prevent Passenger from installing, an issue where large uploads could crash Passenger in Apache integration mode, and made some speed and robustness improvements while we were at it.

If you hadn't already, be sure to check out the many major improvements that the 5.x series of Passenger introduces. And please be aware that you can enjoy enterprise features and sponsor the open source development directly by buying Phusion Passenger Enterprise.

Large upload crashfix

When Passenger was running in Apache integration mode, and a user uploaded a file larger than 4GB faster than the disk write speed on the server, and the buffer limit was reached, Passenger would crash. We fixed that, closing GH-1620, and limited per-client buffer memory usage to 130 KB.

PCRE checksum correction

The checksum included for PCRE in 5.0.29 was for the wrong file (sorry about that), which prevented Passenger from installing on some platforms, this has been fixed now. (thanks to: clemensg).

Mbuf block size increase

We increased the mbuf block size from 512 to 4096 bytes to better fit modern requests and significantly speed up disk buffering, which should result in a tidy speed increase when uploading data, for free.

Prevent application hangs

We now prevent Ruby applications that recursively serialize the ActionDispatch::Request object's @env member, from serializing the rack.input socket, which will prevent some specific apps from hanging, and closes GH-1838.

Installing 5.0.30

Please see the installation guide.

Upgrading to 5.0.30

We strongly advise staying up to date with the latest version.

See also the upgrade notes below!


OS X

Debian

Ubuntu

Heroku

Red Hat

CentOS

Ruby gem

Tarball

Docker

If you are upgrading from 4.x, please read the 5.0 upgrade notes to learn about potential upgrade caveats.

Download issue with old gem version

Old versions of gem (below 2.2.0, released in 2013) may fail to download the Passenger Enterprise gem from our rubygem hosting software (Gem in a box).

ERROR: Could not find a valid gem 'passenger-enterprise-server' (= 5.0.30), here is why:
 Unable to download data from https://..@www.phusionpassenger.com/enterprise_gems/
 - bad response Unauthorized 401 

If this happens, please upgrade to a newer version of gem:

gem install rubygems-update; update_rubygems

Special notes about capistrano-passenger

If you are using Capistrano and capistrano-passenger, then it may fail with this error:

SSHKit::Runner::ExecuteError: Exception while executing as user@99.99.99.99: undefined method `[]' for nil:NilClass

NoMethodError: undefined method `[]' for nil:NilClass

Tasks: TOP => passenger:restart

This is due to an incompatibility in capistrano-passenger with Passenger 5.0.22 and later. Please upgrade capistrano-passenger to 0.2.0 or later.