Version 6.0.7 of the Passenger application server has been released. This release adds compatibility for Ubuntu Groovy, and addresses several regressions.

Passenger 6, introduced Generic Language Support, or: the ability to support any and all arbitrary apps.

Updates & improvements

  • Addresses regression introduced in 6.0.5 when attempting to establish database connection after fork and activerecord is not configured in the expected way. Closes GH-2281.
  • Addresses regression introduced in 5.1.5 where hook scripts would fail to run. As a result the PASSENGER_ERROR_PAGE and PASSENGER_CONFIG_MANIFEST env vars have been removed from the passenger hook script environment.
  • Match static rails assets on 8-digit content hash. Contributed by @mattozinga.
  • Allow skipping the Apache/Nginx sections of the passenger-memory-stats output, through the --no-apache and --no-nginx commandline options. Closes GH-2306. Contributed by Saverio Miroddi (@saveriomiroddi).
  • Fixes an issue where passenger-memory-stats would throw an error if a process went away while it was running. Closes GH-2305.
  • Fixes a formatting issue with apr-1 include flags on macOS.
  • Fixes a warning about BOOST_*_ENDIAN macros being deprecated by migrating to new suggested macros.
  • Fixes an occasional issue with the node loader where the startup handshake would fail to record progress.
  • Adds an option for specifying the address to bind ruby apps to, for sending requests directly to specific app instances:
  • Standalone: direct_instance_request_address
  • Nginx: passenger_direct_instance_request_address
  • Apache: PassengerDirectInstanceRequestAddress
  • Updated various library versions used in precompiled binaries (used for e.g. gem installs):

    • ccache: 4.0 (was: 3.7.10)
    • curl: 7.73.0 (was: 7.71.1)
    • git: 2.29.1 (was: 2.27.0)
    • gnupg: 2.2.23 (was: 2.2.21)
    • libgpg_error: 1.39 (was: 1.38)
    • ruby: 2.7.2 (was: 2.7.1)
    • libassuan 2.5.4 (was: 2.5.3)
    • libgcrypt 1.8.7 (was 1.8.6)
    • OpenSSL 1.1.1h (was 1.0.2u)

Fix for deferred port binding with SSL/TLS

Passenger 6.0.7 also includes a fix for an interesting problem. When deferred port binding was introduced in Passenger Enterprise 5.1.11 it was to address a need for Passenger to not signal its readiness to accept requests to a load balancer until it had finished starting its apps. In the customer's use case the load balancer was terminating ssl and Passenger was simply serving http. However as use of this feature grew we were notified that when you used deferred port binding with SSL/TLS the communication between the proxy and Passenger would fail. After digging in, we found that the communication between Passenger and the proxy couldn't use the same SSL/TLS configuration as the proxy, so we had the proxy terminate the SSL/TLS and now everything works.

deferredportbindingdiagram

Installing 6.0.7

Please see the installation guide for advice on getting started with Passenger. Coming from a language other than Ruby, Python, Meteor or Node? Even if we didn't write a specific tutorial for your language, we made a generic guide that shows you the steps.

Upgrading to 6.0.7

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

Check out our upgrade guides for the different platforms:

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