Passenger 5.1.4: New Ubuntu, Fix for System Keychain Bug on macOS

Version 5.1.4 of the Passenger application server for Ruby, Node.js, Meteor and Python has been released. Version 5.1.3 was skipped because of problems during the release process. Version 5.1.4 fixes an unfortunate side-effect from using a private keychain as part of the security update check on macOS, as well as some other minor nuisances. This release adds Ubuntu 17.04 "Zesty" support, and is packaged with Nginx 1.10.3.

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.

Fix for System keychain bug on macOS

In 5.1.2 Passenger created a private keychain for use with the security update checker. Unfortunately the related APIs had undocumented side effects and caused issues with the system keychain which resulted in irregularities with wifi, Time-Machine, and other system services.

In Passenger 5.1.4 we reverted this change and no longer create a private keychain on macOS, and instead handle the certificate/key-pair separately to increase robustness. For more details on undoing the side effects caused by this problem, you can read here.

In addition some unnecessary logging in the non-error case was suppressed.

macOS Sierra built-in Apache support

This release adds support for compiling against the built-in Apache installation supplied with macOS 10.12 Sierra. Previous versions of Passenger failed to compile because macOS Sierra's Apache installation is incomplete and does not supply the apr-config tool. We now work around this by using hardcoded default values for macOS.

Ubuntu 17.04 Zesty packages

We’ve added Passenger packages for the Ubuntu Zesty 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 16.10 “Yakkety” are now deprecated.

Nginx 1.10.3 preferred

The preferred Nginx version is now 1.10.3, which contains several bugfixes.

We are not moving to Nginx 1.12.0 in this release because multiple modules we include are not ready for the new Nginx version.

Various other

  • [Standalone] Fixes install-standalone-runtime command after regression in 5.1.2.
  • Removes unnecessary logging of "No Error" from macOS Security Update Checker.
  • Don't output colorized text during dependency check when output isn't a TTY, unless forced. Closes GH-1902.
  • [Enterprise] Fixes send-cloud-usage command when Passenger is installed from gem.
  • [Enterprise] Improves robustness of machine properties reporting for pay-as-you-go cloud-license holders.
  • [Enterprise] Adds support for reporting available RAM, and CONTAINER_HOST_IDENTIFIER envvar, to support RAM-based pricing model.
  • Added additional debug level logging for troubleshooting issues with bash scripts. Closes GH-1928.
  • Fix missing openssl check in passenger-install-apache2-module dependency checker. Closes GH-1934.

Installing 5.1.4

Please see the installation guide.

Upgrading to 5.1.4

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.