Phusion Passenger is software that deploys Ruby and Python web apps, by integrating into Apache and Nginx and turning them into a fully-featured application server. It is very fast, stable and robust and thus used by the likes of New York Times, AirBnB, Symantec, Pixar, etc. It comes with many features that makes your life easier and your application perform better.

After a period of being in beta, we’re proud to announce the first stable release of the Phusion Passenger 4 series. The 4.x series is a huge improvement over the 3.x series: during the development of 4.0, we’ve introduced a myriad of changes which we’ve covered in past beta preview articles:

The beta period took a while because we wanted to ensure that the first stable release is indeed rock solid. People tend to say that one should skip “x.0.0” releases and wait until “x.0.1” for the first bug fixes. But we’re confident enough about the stability of the 4.x series that we gave this first release the version number 4.0.1.

Changes in 4.0.1

Compared to 4.0.0 RC 6, the following changes have been introduced:

Fixed a crasher bug in the Deployment Error Resistance feature.

Fixed a bug in PassengerDefaultUser and PassengerDefaultGroup.

Fixed a bug which could cause application processes to exit before they’ve finished their request.

In-depth instructions

In-depth installation and upgrade instructions can be found in the Installation section of the documentation. The documentation has been updated to cover 4.0 changes, including Enterprise features. You can view them online here:

Final

We would like to thank everybody who has helped with testing the betas and release candidates so far, and we would like to thank our Enterprise customers. We couldn’t have done it without you!

4.0.1 is just the beginning though. We have many excited changes on the pipeline. Want to stay up to date? Fill in your name and email address below and sign up for our newsletter. We won’t spam you, we promise.

This is great news, the OOB GC is going to shave 20-30% off of all our actions.

Question, though: since we’ve upgraded (we’re on Enterprise 4.0.1) the PassengerSpawnServer process from 3.x is no longer present, and the rack-preloader that now appears to start our Passenger processes is only loading 1-2 processes at a time, then it dies, starts again and has to reload the entire environment (~50s) just to generate 1 more Passenger process.

Previously SpawnServer would stay in memory and spit out as many processes as necessary instantaneously. With this new method, it takes several minutes for our servers to start or restart.

I have tried explicitly setting the spawn method to “smart” and still seeing this problem. Any ideas?

Rack-preloader fulfills the same tasks as the old spawn-server/ApplicationSpawner. Can you send more details to support@phusion.nl? For example we would like to know what you mean by “then it dies, starts again”. Any error messages and stack traces would help.

“Phusion” and “Phusion Passenger” are registered trademarks of Phusion. “Rails”, “Ruby on Rails” and the Rails logo are registered trademarks of David Heinemeier Hansson. All other trademarks are property of their respective owners.