Passenger 5.3.1: crash + spawn hotfix

Version 5.3.1 of the Passenger application server for Ruby, Node.js, Meteor and Python has been released. This release contains two hotfixes for regressions that were discovered in 5.3.0 a few days ago.

Besides support for the latest software (Nginx stable, Ubuntu), the 5.3 series of Passenger features per-application logfiles. There has been a lot of work on the internals to enable vastly improved error reporting, but also newly planned features (hint: Support more languages).

Please be aware that you can enjoy enterprise features and sponsor the open source development directly by buying Phusion Passenger Enterprise.

Crash fix: user without shell

For 5.3.0, an internal component of Passenger called SpawningKit was completely rewritten. This enables much richer spawning error analysis & visualization, as well as laying the ground work for language-independent spawning.

The rewritten code contained the assumption that users either have a shell filled in, or that their shell is explicitely disabled by being set to something like /bin/false. However, when no shell was filled in (empty string), Passenger would crash trying to process it (GH-2078). This has now been fixed.

Fix for app start failure

In another part of the new spawning code, an uninitialized array was being used (related to user switching). This didn't cause any issues in our various development and test environments, but under certain circumstances application spawning would fail with a permission error (GH-2077). This is fixed in 5.3.1.

Installing 5.3.1

The 5.x series of Passenger in general brings a plethora of improvements in uptime maximization, security and efficiency. Please see the installation guide.

Upgrading to 5.3.1

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

See also the upgrade notes below!

Check out our upgrade guides for the different platforms:

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