Passenger 5.1.8: Nginx 1.12.1, webpacker, fixes

Version 5.1.8 of the Passenger application server for Ruby, Node.js, Meteor and Python has been released. We have built a few minor improvements and fixes, like improved logging, faster serving of Webpacker assets and a fix for a socket leak regression. In addition, we've upgraded Nginx in our APT package to version 1.12.1.

The 5.1.x series of Passenger brings a plethora of improvements in uptime maximization, security and efficiency. Please be aware that you can enjoy enterprise features and sponsor the open source development directly by buying Phusion Passenger Enterprise.

APT Nginx package to 1.12.1

The APT Nginx package we provide for older distributions (Ubuntu Xenial / Debian Jessie and below) was stuck at Nginx version 1.10.3 due to incompatibilities in the module set that those distributions use. Updated module versions have solved these issues, so we've upgraded the package to the latest stable Nginx (1.12.1).

Webpacker asset support

Passenger Standalone now automatically uses Nginx to serves static asset URLs that conform to the webpacker gem format (GH-1966).

Improved logging

We've changed the log format to be shorter and more informative. The new format significantly shortens the thread ID, and includes the message's (abbreviated) log level so that it's a lot easier to filter through messages.

Various fixes

  • [Enterprise] Fixes a potential use-after-free bug when reporting usage data to the Phusion licensing server. This bug only occurs when Passenger Enterprise is running inside a container.
  • [Standalone] If configured to listen on a Unix domain socket, properly cleans up this socket on Nginx shutdown (a regression from 5.1.6). Closes GH-1969.
  • [Standalone] Fixes the --max-requests option when using the builtin engine (a regression from 5.1.4).

Installing 5.1.8

Please see the installation guide.

Upgrading to 5.1.8

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.1.4), 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.