Phusion Passenger is a fast and robust web server and application server for Ruby, Python, Node.js and Meteor. Passenger takes a lot of complexity out of deploying web apps, and adds powerful enterprise-grade features that are useful in production. High-profile companies such as Apple, New York Times, AirBnB, Juniper, American Express, etc are already using it, as well as over 350.000 websites.
Phusion Passenger is under constant maintenance and development. Version 4.0.46 is a bugfix release.
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.
Most notable changes:
- Further improved Node.js and Socket.io compatibility.
- Sticky session cookies have been made more reliable.
- Fixed WebSocket upgrade issues on Firefox. Closes GH-1232.
- Improved Python compatibility.
- Logging of application spawning errors has been much improved. Full details
about the error, such as environment variables, are saved to a private log file.
In the past, these details were only viewable in the browser. This change also
fixes a bug on Phusion Passenger Enterprise, where enabling Deployment Error
Resistance causes error messages to get lost. Closes GH-1021 and GH-1175.
- Passenger Standalone no longer, by default, loads shell startup files before
loading the application. This is because Passenger Standalone is often invoked
from the shell anyway. Indeed, loading shell startup files again can interfere
with any environment variables already set in the invoking shell. You can
still tell Passenger Standalone to load shell startup files by passing
--load-shell-envvars. Passenger for Apache and Passenger for Nginx still
load shell startup files by default.
- If you are a Union Station customer, then
Phusion Passenger will now also log application spawning errors to Union Station.
This data isn’t shown in the Union Station interface yet, but it will be
implemented in the future.
- The Python application loader now inserts the application root into
The fact that this was not done previously caused a lot of confusion amongst
Python users, who wondered why their
passenger_wsgi.pycould not import any
modules from the same directory.
- Fixed a compatibility problem with Django, which could cause Django apps to
freeze indefinitely. Closes GH-1215.
- Fixed a regression in Node.js support. When a Node.js app is deployed on
a HTTPS host, the
X-Forwarded-Protoheader wasn’t set in 4.0.45.
- Passenger Standalone now works properly when the HOME environment variable
isn’t set. Closes GH-713.
- Passenger Standalone’s
package-runtimecommand has been removed. It has
been broken for a while and has nowadays been obsolete by our automatic
binary generation system.
passenger_startup_fileoption now also works on Python apps. Closes GH-1233.
- Fixed compilation problems on OmniOS and OpenIndiana. Closes GH-1212.
- Fixed compilation problems when Nginx is configured with OpenResty.
Thanks to Yichun Zhang. Closes GH-1226.
- Fixed Nginx HTTP POST failures on ARM platforms. Thanks to nocelic for the fix.
- Documentation contributions by Tim Bishop and Tugdual de Kerviler.
- Minor Nginx bug fix by Feng Gu. Closes GH-1235.
Installing or upgrading to 4.0.46
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.