

Phusion Passenger is software that deploys Ruby and Python web apps, by integrating into Apache and Nginx and turning them into a fully-featured application server. It is very fast, stable and robust and thus used by the likes of New York Times, AirBnB, Symantec, Pixar, etc. It comes with many features that make your life easier and your application perform better.

Phusion Passenger is under constant maintenance and development. Version 4.0.7 is a bugfix releases. UPDATE: this announcement was originally about 4.0.6, but there was a regression in 4.0.6 that sometimes prevents PassengerLoggingAgent from starting up. Unfortunately this slipped our release testing. This regression has been fixed in 4.0.7 and we’ve updated our test suite to check for these kinds of regressions. Our apologies for the inconvenience!

Phusion Passenger also has an Enterprise version which comes with a wide array of additional features. By buying Phusion Passenger Enterprise you will directly sponsor the development of the open source version.

Recent changes

Fixed a potential 100% CPU lock up in the crash handler, which only occurs

on OS X. Fixes issue #908.

on OS X. Fixes issue #908. Fixed a crash in request handling, when certain events are trigger after

the client has already disconnected. Fixes issue #889.

the client has already disconnected. Fixes issue #889. Phusion Passenger will no longer crash when the Phusion Passenger

native_support Ruby extension cannot be compiled, e.g. because the Ruby

development headers are not installed or because the current user has no

permission to save the native extension file. Fixes issue #890.

native_support Ruby extension cannot be compiled, e.g. because the Ruby development headers are not installed or because the current user has no permission to save the native extension file. Fixes issue #890. Fixed OS X 10.9 support. Fixes issue #906.

Removed dependency on bash, so that Phusion Passenger works out of the box

on BSD platforms without installing/configuring bash. Fixes issue #911.

on BSD platforms without installing/configuring bash. Fixes issue #911. Fix ‘PassengerPoolIdleTime 0’ not being respected correctly. Issue #904.

Admin tools improvement: it is now possible to see all currently running

requests by invoking passenger-status --show=requests .

requests by invoking . A new feature called Flying Passenger allows you to decouple the life time

of Phusion Passenger from the web server, so that both can be restarted

indepedently from each other. Please refer to this article for an introduction.

of Phusion Passenger from the web server, so that both can be restarted indepedently from each other. Please refer to this article for an introduction. [Apache] Fixed compatibility with Apache pipe logging. Previously this

would cause Phusion Passenger to lock up with 100% CPU during Apache

restart.

would cause Phusion Passenger to lock up with 100% CPU during Apache restart. [Nginx] The Nginx configure script now checks whether ‘ruby’ is in $PATH.

Previously, if ‘ruby’ is not in $PATH, then the compilation process fails

with an obscure error.

Previously, if ‘ruby’ is not in $PATH, then the compilation process fails with an obscure error. [Nginx] passenger-install-nginx-module now works properly even when Phusion

Passenger is installed through the Debian packages. Before, the installer

would tell you to install Phusion Passenger through the gem or tarball

instead.

Passenger is installed through the Debian packages. Before, the installer would tell you to install Phusion Passenger through the gem or tarball instead. [Enterprise] Added pretty printing helpers to the Live IRB Console.

Fixed permissions on a subdirectory in the server instance directory. The

server instance directory is a temporary directory that Phusion Passenger

uses to store working files, and is deleted after Phusion Passenger exits.

A subdirectory inside it is world-writable (but not world-readable) and is

used for storing Unix domain sockets created by different apps, which may

run as different users. These sockets had long random filenames to prevent

them from being guessed. However because of a typo, this subdirectory was

created with the setuid bit, when it should have sticky bit (to prevent

existing files from being deleted or renamed by a user that doesn’t own the

file). This has now been fixed.

server instance directory is a temporary directory that Phusion Passenger uses to store working files, and is deleted after Phusion Passenger exits. A subdirectory inside it is world-writable (but not world-readable) and is used for storing Unix domain sockets created by different apps, which may run as different users. These sockets had long random filenames to prevent them from being guessed. However because of a typo, this subdirectory was created with the setuid bit, when it should have sticky bit (to prevent existing files from being deleted or renamed by a user that doesn’t own the file). This has now been fixed. If the server instance directory already exists, it will now be removed

first in order get correct directory permissions. If the directory still

exists after removal, Phusion Passenger aborts to avoid writing to a

directory with unexpected permissions. Fixes issue #910.

first in order get correct directory permissions. If the directory still exists after removal, Phusion Passenger aborts to avoid writing to a directory with unexpected permissions. Fixes issue #910. The installer now checks whether the system has enough virtual memory, and

prints a helpful warning if it doesn’t.

prints a helpful warning if it doesn’t. Linux/AArch64 compatibility fixes. Patch contributed by Dirk Mueller.

Improved documentation.

Installing 4.0.7

Quick install/upgrade

Phusion Passenger Enterprise users can download the Enterprise version of 4.0.7 from the Customer Area.

Open source users can install the open source version of 4.0.7 with the following commands:

gem install passenger passenger-install-apache2-module passenger-install-nginx-module

You can also download the tarball at the Release Archive page. We strongly encourage you to cryptographically verify files after downloading them.

In-depth instructions

In-depth installation and upgrade instructions can be found in the Installation section of the documentation. The documentation covers:

Detailed tarball installation instructions.

Detailed upgrade instructions.

Installation troubleshooting.

Installation through APT and YUM.

You can view the documentation online here:

Final

If you would like to stay up to date with Phusion news, please fill in your name and email address below and sign up for our newsletter. We won’t spam you, we promise.