Passenger 5.0.25: Rails 5 and Action Cable integration, crash fixes
Version 5.0.25 of the Phusion Passenger application server for Ruby, Node.js, Meteor and Python has been released. This release introduces much better Rails 5 integration, better Action Cable integration, fixes a number of crashes and bugs and adds a few improvements.
If you hadn't already, be sure to check out the many major improvements that the 5.x series of Passenger introduces. And please be aware that you can enjoy enterprise features and sponsor the open source development directly by buying Phusion Passenger Enterprise.
Rails 5 integration
Passenger integrates with Rails 5 in many ways that other application servers do not. For example, we perform static asset acceleration, we support ActionPack page caching and we automatically set HTTP caching headers for the asset pipeline. We have added new documentation which describes our integration in detail.
Action Cable integration documentation and features
Passenger has been compatible with the new Action Cable since our previous (5.0.24) release. This remains true with the recently released Rails 5.0.0.beta2.
It's very easy to set up, as you can see in our newly added documentation. We've also added a new option that helps set up Passenger Standalone with the officially recommended Action Cable configuration.
rails server
command integration
For Ruby users, the instructions for using Passenger differed slightly from the traditional way of defining a gem and using rails server
. We've added support for this mechanism, so that you can now use Passenger via rails server
as well if you want to!
The other ways of using Passenger (through the passenger start
command, or integrated with Nginx / Apache) remain fully supported and unchanged.
Ubuntu 15.04 / Debian 6 packages: End of Life
Ubuntu 15.04 and Debian 6 are still supported for running Passenger, but we no longer supply packages for them, per our packaging policy.
If you are an Ubuntu 15.04 or Debian 6 user and you want to use Passenger >= 5.0.25, then please install Passenger from RubyGems/tarball or upgrade your distribution.
Bug fixes
- Fixes a crash that occurs when using Nginx + HTTPS + Sub-requests. Closes GH-1724.
- Fixes a crash that occurs when using Nginx + syslog and a logfile for Passenger. Also fixes edge cases where the Nginx logpath would override the Passenger logpath. Closes GH-1514 (again).
- Fixes a potential crash due to memory corruption in code for
passenger-config reopen-logs
. - Fixes a potential crash in the large (inbound/outbound) file buffering code.
- [Standalone] Don't reject the value 0 (meaning no limit) for
--max-request-queue-size
. Closes GH-1743. - [Union Station] Fixes a potential crash due to a wrong limit on
snprintf
(introduced in 5.0.24 by GH-1633). Closes GH-1744. - [Union Station] Fixes Union Station Node.js request introspection to allow for
application.use
method chaining. Closes GH-1745. - [Union Station] Fixes information about sinks sometimes missing from
passenger-status --show=union_station
.
Improvements
- [Standalone] Adds the
--unlimited-concurrency-path
configuration option. - [Standalone] Adds IPv6 support to the builtin engine.
- [Standalone] Makes the
--address
option work more reliably if the passed hostname may resolve to multiple addresses. For example, if you pass--address localhost
then previous versions could fail because Passenger thinks it's an IPv6 address (::1) while Nginx thinks it's an IPv4 address (127.0.0.1). Hostname resolution is now done in a consistent manner. - If one or more Union Station gateways are suffering from technical difficulties, the Union Station support code now tries more quickly to reestablish the connection.
Installing 5.0.25
Please see the installation guide.
Upgrading to 5.0.25
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.
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.