Version 5.0.29 of the Phusion Passenger application server for Ruby, Node.js, Meteor and Python has been released. It's also available through apt on Ubuntu 16.04 now, and packaged with Nginx 1.10.1. We've added logging improvements for Docker and fixed a few issues like the FreeBSD build failure.

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.

Ubuntu 16.04 Xenial packages

We’ve added Passenger packages for the Ubuntu Xenial release. In accordance with our support policy (support all Ubuntu LTS releases that are still supported by Canonical, plus the latest Ubuntu release), this means that our packages for Ubuntu 15.10 “Wily” are now deprecated.

Docker-friendly logging

Passenger Standalone now supports logging to /dev/stdout and /dev/stderr. Before this feature Passenger expected the configured log to be a proper file which it read from to detect startup problems and present the user with a friendly error message. This behaviour conflicted with Docker images, which tend to configure the log file to /dev/stdout, which can not be read from.

Passenger Standalone now special cases /dev/stdout and /dev/stderr, and if detected automatically degrades to a behaviour that does not present friendly startup error messages.

This behaviour is only present in Passenger Standalone, and can only be enabled by configuring the log file specifically through the Passenger Standalone configuration options (Passengerfile.json, --log-file, PASSENGER_LOG_FILE). Note that Passenger for Nginx and Passenger for Apache were already compatible with /dev/{stdout,stderr} -- only the Standalone mode needed special changes.

Nginx 1.10.1 preferred

The preferred Nginx version is now 1.10.1, which contains a fix for a NULL pointer dereference while writing client request body (CVE-2016-4450).

Various bug fixes

  • Fixes the FreeBSD build breaking due to the -ldl flag introduced by the LVE integration patch (5.0.28). Closes GH-1805.
  • Fixes per-application interpreter override (ruby, node, python) being ignored in mass deployment mode. Closes GH-1818.
  • Fixes incomplete refactor from 5.0.27 that could, under specific conditions, lead to a Passenger crash. Closes GH-1794.
  • [Apache] Remove unused code that caused a crash in configurations with thousands of VirtualHost entries. Closes GH-1676.
  • [Nginx] Fixes use of invalid logfile name (memory already released) in backup log redirection code. Possibly related to GH-1774.
  • [Nginx] The preferred PCRE version is now 8.39 (previously 8.34).
  • [Nginx] Passenger Standalone's Nginx engine included the RealIP module since 5.0.11, but not if Passenger was installed as a gem (rather than through apt/yum). This is now fixed. Closes GH-1389.

Installing 5.0.29

Please see the installation guide.

Upgrading to 5.0.29

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

See also the upgrade notes below!

OS X
OS X
Debian
Debian
Ubuntu
Ubuntu
Heroku
Heroku
Red Hat
Red Hat
CentOS
CentOS
Ruby gem
Ruby gem
Tarball
Tarball
Ruby gem
Docker

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

Update: download issue with old gem version

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

ERROR: Could not find a valid gem 'passenger-enterprise-server' (= 5.0.29), 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.