freebsd-ports/www/nginx-devel/files/extra-patch-passenger-build-nginx.rb

34 lines
1.2 KiB
Ruby
Raw Normal View History

--- ../passenger-5.3.1/build/nginx.rb.orig 2013-10-26 18:00:00.000000000 -0400
+++ ../passenger-5.3.1/build/nginx.rb 2016-05-09 18:21:22.426777000 -0400
@@ -33,13 +33,12 @@
desc "Build Nginx support files"
task :nginx => [
Upgrade from 4.0.59 to 5.0.2: o) www/rubygem-passenger; o) third-party modules for www/nginx and www/nginx-devel. <ChangeLog> Release 5.0.2 ------------- * Fixes a connection freeze that could occur when processing large responses. This would manifest itself under the error message "This website is under heavy load" or "Request queue is full, returning an error". Closes GH-1404. * Debian and Ubuntu packages have been reintroduces. * When `passenger-config restart-app` is run interactively, if Passenger is not serving any applications, then the command now prints an error message instead of showing a menu with only a "Cancel" option. * Fixes a compilation problem on FreeBSD 10 (contributed by: clemensg). Closes GH-1401. * [Standalone] Fixes a crash that would occur if you use the `--ctl` parameter. * [Enterprise] The `--max-request-time` option has been added to Passenger Standalone. * [Enterprise] The `max_request_time_reached` hook has been introduced. This hook allows you to run diagnostics on a process that that took too long to respond to a request. Release 5.0.1 ------------- * The `passenger-config restart-app` command is now more user friendly. When run in a terminal, it will show an interactive menu, allowing you to select the app to restart. Closes GH-1387. * Fixed a crash bug in the handling of sticky session cookies. * Log failed program in error message, not its command line (contributed by: paisleyrob). Closes GH-1397. * [Nginx] Fixes cases in which Passenger overrides the Nginx handler function even when it shouldn't, for example when Passenger is disabled. Closes GH-1393. * [Enterprise] The `sticky_sessions` and `envvars` options in Passengerfile.json is now also supported in mass deployment mode. Release 5.0.0 release candidate 2 --------------------------------- * Fixes an installation problem with the Ruby gem due to incorrect Makefile generation. Closes GH-1382. * More helpful message when request queue is full. Closes GH-1375. Release 5.0.0 release candidate 1 --------------------------------- * Fixed Date headers not being formatted in the GMT timezone. Closes GH-1367. * Fixed Passengerfile.json/passenger-standalone.json not being properly loaded in Passenger Standalone. * Fixed support for sticky sessions. * Fixed an infinite loop if the ApplicationPool garbage collector fails due to an exception. Closes GH-1360. * Fixed Passenger Standalone exiting prematurely when the HelperAgent crashes. Exiting prematurely is not supposed to happen because the watchdog will restart the HelperAgent. Closes GH-1339. * Fixed a crash that occurs when using a non-standard startup file value. Closes GH-1378. * When dumping system metrics during error page generation, the `passenger-config` command is now invoked under the same Ruby interpreter as the app, instead of the one in PATH. Closes GH-1381. * When a Ruby process crashes due to an uncaught exception, this fact is now properly logged. * Specifying 0 for the `max_pool_size` config option no longer results in a crash. Closes GH-1334. * The timeouts when downloading Passenger Standalone binaries and source files are now customizable. Closes GH-1295. * The `envvars` option is now supported in Passengerfile.json, for passing environment variables to the application. Closes GH-1377. * Introduced `hook_queue_full_error` for request queue overflows. Closes GH-1358. * [Ruby] Fixed handling of "transfer-encoding chunked" response bodies which contain zero-sized chunks. * [Nginx] It is no longer necessary to re-specify `passenger_enabled` in `location` contexts. Closes GH-1338. * [Enterprise] Fixed a bug in mass deployment reloading. * [Enterprise] Fixed a bug in mass deployment daemonization. * [Enterprise] The mass deployment mode now supports the `app_type` and `startup_file` configuration options in Passengerfile.json/passenger-standalone.json. Closes GH-1366. Release 5.0.0 beta 3 -------------------- * The turbocache has received major updates and fixes based on excellent feedback Chris Heald and the community. First, several bugs w.r.t. the handling of caching headers have been fixed. Second, the turbocache has become slightly more conservative for security reasons. In previous versions, default cacheable responses (as defined by RFC 7234) were cached unless caching headers tell us not to. Now, default cacheable responses are only cached if caching headers explicitly tell us to. This change was introduced because there are many applications that set incorrect caching headers on private responses. This new behavior is currently not configurable, but there are plans to make it configurable in 5.0.0 release candidate 1. * Introduced a new configuration option, `passenger_response_buffer_high_watermark` (Nginx) and `PassengerResponseBufferHighWatermark` (Apache), for configuring the behavior of the response buffering system. Closes GH-1300. * Fixed more cookie handling issues. Closes GH-1310. * Fixed various WebSocket issues. Closes GH-1306. * Fixed some crashes caused by race conditions. Closes GH-1326. * Fixed issues with handling POST data. Closes GH-1331. * Fixed some issues on Heroku. Closes GH-1329. * Fixed some integer overflows. Fix contributed by Go Maeda. Closes GH-1357. * Fixed the `passenger-status --show=union_station` command. Closes GH-1336. * Nginx versions earlier than 1.6 are no longer supported. * Improved state introspection. Release 5.0.0 beta 2 -------------------- * Fixed handling of multiple Set-Cookie headers. Closes GH-1296. * `passenger-config system-metrics` now works properly if the agent is installed in ~/.passenger. Closes GH-1304. * Documentation enhancements by Igor Vuk. Closes GH-1318. * Fixed some crasher bugs. * [Standalone] User switching is now correctly disabled. * [Standalone] Fixed the `--thread-count` parameter. * [Apache] IPs set by mod_remoteip are now respected. Closes GH-1284. * [Apache] Fixed support for gzipped chunked responses. Closes GH-1309. Release 5.0.0 beta 1 -------------------- Version 5.0.0 beta 1 contains major changes. It's mostly compatible with version 4, but there are a few minor breakages, which are described below. Major changes and notable breakages are: * Performance has been much improved. This is thanks to months of optimization work. You can learn more at www.rubyraptor.org. * We've published a [server optimization guide] (https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for those who are interested in tuning Phusion Passenger. * Support for Rails 1.2 - 2.2 has been removed, for performance reasons. Rails 2.3 is still supported. * Phusion Passenger now supports integrated HTTP caching, which we call turbocaching. If your app sets the right HTTP headers then Phusion Passenger can tremendously accelerate your app. It is enabled by default, but you can disable it with `--disable-turbocaching` (Standalone), `PassengerTurbocaching off` (Apache), or 'passenger_turbocaching off' (Nginx). * Touching restart.txt will no longer restart your app immediately. This is because, for performance reasons, the stat throttle rate now defaults to 10. You can still get back the old behavior by setting `PassengerStatThrottleRate 0` (Apache) or `passenger_stat_throttle_rate 0` (Nginx), but this is not encouraged. Instead, we encourage you to use the `passenger-config restart-app` tool to initiate restarts, which has immediate effect. * Websockets are now properly disconnected on application restarts. * The Phusion Passneger log levels have been completely revamped. If you were setting a log level before (e.g. through `passenger_log_level`), please read the latest documentation to learn about the new log levels. * If you use out-of-band garbage collection, beware that the `X-Passenger-Request-OOB-Work` header has now been renamed to `!~Request-OOB-Work`. * When using Rack's full socket hijacking, you must now output an HTTP status line. * [Nginx] The `passenger_set_cgi_param` option has been removed and replaced by `passenger_set_header` and `passenger_env_var`. * [Nginx] `passenger_show_version_in_header` is now only valid in the `http` context. * [Apache] The `PassengerStatThrottleRate` option is now global. Minor changes: * The minimum required Nginx version is now 1.6.0. * The instance directory is now touched every hour instead of every 6 hours. This should hopefully prevent more problems with /tmp cleaner daemons. * Applications are not grouped not only on the application root path, but also on the environment. For example, this allows you to run the same app in both production and staging mode, with only a single directory, without further configuration. Closes GH-664. * The `passenger_temp_dir` option (Nginx) and the `PassengerTempDir` option (Apache) have been replaced by two config options. On Nginx they are `passenger_instance_registry_dir` and `passenger_data_buffer_dir`. On Apache they are `PassengerInstanceRegistryDir` and `PassengerDataBufferDir`. On Apache, `PassengerUploadBufferDir` has been replaced by `PassengerDataBufferDir`. * Command line tools no longer respect the `PASSENGER_TEMP_DIR` environment variable. Use `PASSENGER_INSTANCE_REGISTRY_DIR` instead. * `passenger-status --show=requests` has been deprecated in favor of `passenger-status --show=connections`. * Using the SIGUSR1 signal to restart a Ruby app without dropping connections, is no longer supported. Instead, use `passenger-config detach-process`. * Introduced the `passenger-config reopen-logs` command, which instructs all Phusion Passenger agent processes to reopen their log files. You should call this after having rotated the web server logs. * [Standalone] The Phusion Passenger Standalone config template has changed. Users are encouraged to update it. * [Standalone] `passenger-standalone.json` has been renamed to `Passengerfile.json`. * [Standalone] `passenger-standalone.json`/`Passengerfile.json` no longer overrides command line options. Instead, command line options now have the highest priority. Release 4.0.60 -------------- * Fixed the password protection of internal Phusion Passenger processes. For security reasons, Phusion Passenger limits access to internal processes, by using Unix file permissions and randomly generated passwords that only authorized internal processes know. It turns out that this password wasn't set correctly, which has now been fixed. There was no security vulnerability, because the file permissions already provide sufficient security. The password only serves as an extra layer of security just in case there is a problem with the former. This issue is not at all related to any application-level security or application-level passwords. Any database passwords, keys, or secrets used and generated by applications have got nothing to do with the nature of this issue. This issue only relates to some randomly generated passwords that Passenger uses internally, for its internal operations. </ChangeLog>
2015-03-13 01:06:29 +01:00
:nginx_without_native_support,
- NATIVE_SUPPORT_TARGET
Upgrade from 4.0.59 to 5.0.2: o) www/rubygem-passenger; o) third-party modules for www/nginx and www/nginx-devel. <ChangeLog> Release 5.0.2 ------------- * Fixes a connection freeze that could occur when processing large responses. This would manifest itself under the error message "This website is under heavy load" or "Request queue is full, returning an error". Closes GH-1404. * Debian and Ubuntu packages have been reintroduces. * When `passenger-config restart-app` is run interactively, if Passenger is not serving any applications, then the command now prints an error message instead of showing a menu with only a "Cancel" option. * Fixes a compilation problem on FreeBSD 10 (contributed by: clemensg). Closes GH-1401. * [Standalone] Fixes a crash that would occur if you use the `--ctl` parameter. * [Enterprise] The `--max-request-time` option has been added to Passenger Standalone. * [Enterprise] The `max_request_time_reached` hook has been introduced. This hook allows you to run diagnostics on a process that that took too long to respond to a request. Release 5.0.1 ------------- * The `passenger-config restart-app` command is now more user friendly. When run in a terminal, it will show an interactive menu, allowing you to select the app to restart. Closes GH-1387. * Fixed a crash bug in the handling of sticky session cookies. * Log failed program in error message, not its command line (contributed by: paisleyrob). Closes GH-1397. * [Nginx] Fixes cases in which Passenger overrides the Nginx handler function even when it shouldn't, for example when Passenger is disabled. Closes GH-1393. * [Enterprise] The `sticky_sessions` and `envvars` options in Passengerfile.json is now also supported in mass deployment mode. Release 5.0.0 release candidate 2 --------------------------------- * Fixes an installation problem with the Ruby gem due to incorrect Makefile generation. Closes GH-1382. * More helpful message when request queue is full. Closes GH-1375. Release 5.0.0 release candidate 1 --------------------------------- * Fixed Date headers not being formatted in the GMT timezone. Closes GH-1367. * Fixed Passengerfile.json/passenger-standalone.json not being properly loaded in Passenger Standalone. * Fixed support for sticky sessions. * Fixed an infinite loop if the ApplicationPool garbage collector fails due to an exception. Closes GH-1360. * Fixed Passenger Standalone exiting prematurely when the HelperAgent crashes. Exiting prematurely is not supposed to happen because the watchdog will restart the HelperAgent. Closes GH-1339. * Fixed a crash that occurs when using a non-standard startup file value. Closes GH-1378. * When dumping system metrics during error page generation, the `passenger-config` command is now invoked under the same Ruby interpreter as the app, instead of the one in PATH. Closes GH-1381. * When a Ruby process crashes due to an uncaught exception, this fact is now properly logged. * Specifying 0 for the `max_pool_size` config option no longer results in a crash. Closes GH-1334. * The timeouts when downloading Passenger Standalone binaries and source files are now customizable. Closes GH-1295. * The `envvars` option is now supported in Passengerfile.json, for passing environment variables to the application. Closes GH-1377. * Introduced `hook_queue_full_error` for request queue overflows. Closes GH-1358. * [Ruby] Fixed handling of "transfer-encoding chunked" response bodies which contain zero-sized chunks. * [Nginx] It is no longer necessary to re-specify `passenger_enabled` in `location` contexts. Closes GH-1338. * [Enterprise] Fixed a bug in mass deployment reloading. * [Enterprise] Fixed a bug in mass deployment daemonization. * [Enterprise] The mass deployment mode now supports the `app_type` and `startup_file` configuration options in Passengerfile.json/passenger-standalone.json. Closes GH-1366. Release 5.0.0 beta 3 -------------------- * The turbocache has received major updates and fixes based on excellent feedback Chris Heald and the community. First, several bugs w.r.t. the handling of caching headers have been fixed. Second, the turbocache has become slightly more conservative for security reasons. In previous versions, default cacheable responses (as defined by RFC 7234) were cached unless caching headers tell us not to. Now, default cacheable responses are only cached if caching headers explicitly tell us to. This change was introduced because there are many applications that set incorrect caching headers on private responses. This new behavior is currently not configurable, but there are plans to make it configurable in 5.0.0 release candidate 1. * Introduced a new configuration option, `passenger_response_buffer_high_watermark` (Nginx) and `PassengerResponseBufferHighWatermark` (Apache), for configuring the behavior of the response buffering system. Closes GH-1300. * Fixed more cookie handling issues. Closes GH-1310. * Fixed various WebSocket issues. Closes GH-1306. * Fixed some crashes caused by race conditions. Closes GH-1326. * Fixed issues with handling POST data. Closes GH-1331. * Fixed some issues on Heroku. Closes GH-1329. * Fixed some integer overflows. Fix contributed by Go Maeda. Closes GH-1357. * Fixed the `passenger-status --show=union_station` command. Closes GH-1336. * Nginx versions earlier than 1.6 are no longer supported. * Improved state introspection. Release 5.0.0 beta 2 -------------------- * Fixed handling of multiple Set-Cookie headers. Closes GH-1296. * `passenger-config system-metrics` now works properly if the agent is installed in ~/.passenger. Closes GH-1304. * Documentation enhancements by Igor Vuk. Closes GH-1318. * Fixed some crasher bugs. * [Standalone] User switching is now correctly disabled. * [Standalone] Fixed the `--thread-count` parameter. * [Apache] IPs set by mod_remoteip are now respected. Closes GH-1284. * [Apache] Fixed support for gzipped chunked responses. Closes GH-1309. Release 5.0.0 beta 1 -------------------- Version 5.0.0 beta 1 contains major changes. It's mostly compatible with version 4, but there are a few minor breakages, which are described below. Major changes and notable breakages are: * Performance has been much improved. This is thanks to months of optimization work. You can learn more at www.rubyraptor.org. * We've published a [server optimization guide] (https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for those who are interested in tuning Phusion Passenger. * Support for Rails 1.2 - 2.2 has been removed, for performance reasons. Rails 2.3 is still supported. * Phusion Passenger now supports integrated HTTP caching, which we call turbocaching. If your app sets the right HTTP headers then Phusion Passenger can tremendously accelerate your app. It is enabled by default, but you can disable it with `--disable-turbocaching` (Standalone), `PassengerTurbocaching off` (Apache), or 'passenger_turbocaching off' (Nginx). * Touching restart.txt will no longer restart your app immediately. This is because, for performance reasons, the stat throttle rate now defaults to 10. You can still get back the old behavior by setting `PassengerStatThrottleRate 0` (Apache) or `passenger_stat_throttle_rate 0` (Nginx), but this is not encouraged. Instead, we encourage you to use the `passenger-config restart-app` tool to initiate restarts, which has immediate effect. * Websockets are now properly disconnected on application restarts. * The Phusion Passneger log levels have been completely revamped. If you were setting a log level before (e.g. through `passenger_log_level`), please read the latest documentation to learn about the new log levels. * If you use out-of-band garbage collection, beware that the `X-Passenger-Request-OOB-Work` header has now been renamed to `!~Request-OOB-Work`. * When using Rack's full socket hijacking, you must now output an HTTP status line. * [Nginx] The `passenger_set_cgi_param` option has been removed and replaced by `passenger_set_header` and `passenger_env_var`. * [Nginx] `passenger_show_version_in_header` is now only valid in the `http` context. * [Apache] The `PassengerStatThrottleRate` option is now global. Minor changes: * The minimum required Nginx version is now 1.6.0. * The instance directory is now touched every hour instead of every 6 hours. This should hopefully prevent more problems with /tmp cleaner daemons. * Applications are not grouped not only on the application root path, but also on the environment. For example, this allows you to run the same app in both production and staging mode, with only a single directory, without further configuration. Closes GH-664. * The `passenger_temp_dir` option (Nginx) and the `PassengerTempDir` option (Apache) have been replaced by two config options. On Nginx they are `passenger_instance_registry_dir` and `passenger_data_buffer_dir`. On Apache they are `PassengerInstanceRegistryDir` and `PassengerDataBufferDir`. On Apache, `PassengerUploadBufferDir` has been replaced by `PassengerDataBufferDir`. * Command line tools no longer respect the `PASSENGER_TEMP_DIR` environment variable. Use `PASSENGER_INSTANCE_REGISTRY_DIR` instead. * `passenger-status --show=requests` has been deprecated in favor of `passenger-status --show=connections`. * Using the SIGUSR1 signal to restart a Ruby app without dropping connections, is no longer supported. Instead, use `passenger-config detach-process`. * Introduced the `passenger-config reopen-logs` command, which instructs all Phusion Passenger agent processes to reopen their log files. You should call this after having rotated the web server logs. * [Standalone] The Phusion Passenger Standalone config template has changed. Users are encouraged to update it. * [Standalone] `passenger-standalone.json` has been renamed to `Passengerfile.json`. * [Standalone] `passenger-standalone.json`/`Passengerfile.json` no longer overrides command line options. Instead, command line options now have the highest priority. Release 4.0.60 -------------- * Fixed the password protection of internal Phusion Passenger processes. For security reasons, Phusion Passenger limits access to internal processes, by using Unix file permissions and randomly generated passwords that only authorized internal processes know. It turns out that this password wasn't set correctly, which has now been fixed. There was no security vulnerability, because the file permissions already provide sufficient security. The password only serves as an extra layer of security just in case there is a problem with the former. This issue is not at all related to any application-level security or application-level passwords. Any database passwords, keys, or secrets used and generated by applications have got nothing to do with the nature of this issue. This issue only relates to some randomly generated passwords that Passenger uses internally, for its internal operations. </ChangeLog>
2015-03-13 01:06:29 +01:00
+ LIBBOOST_OXT,
].compact
desc "Build Nginx support files, including objects suitable for dynamic linking against Nginx"
task 'nginx:as_dynamic_module' => [
:nginx_dynamic_without_native_support,
- NATIVE_SUPPORT_TARGET
].compact
# Workaround for https://github.com/jimweirich/rake/issues/274
@@ -47,7 +46,6 @@
Update from 4.0.41 to 4.0.44: o) www/rubygem-passenger; o) third-party modules for www/nginx and www/nginx-devel. <ChangeLog> Release 4.0.44 -------------- * The issue tracker has now been moved from Google Code to Github. Before version 4.0.44 (May 29 2014, commit 3dd0964c9f4), all issue numbers referred to Google Code. From now on, all issue numbers will refer to Github Issues. * Fixed compilation problems on OS X Lion and OS X Mountain Lion. * On Ruby, fixed `nil` being frozen on accident in some cases. See issue #1192. Release 4.0.43 -------------- * Introduced a new command `passenger-config list-instances`, which prints all running Phusion Passenger instances. * Introduced a new command `passenger-config system-metrics, which displays metrics about the system such as the total CPU and memory usage. * Fixed some compilation problems caused by the compiler capability autodetector. * System metrics such as total CPU usage and memory usage, are now sent to [Union Station](https://www.unionstationapp.com) in preparation for future features. Release 4.0.42 -------------- * [Nginx] Upgraded the preferred Nginx version to 1.6.0. * [Nginx] Fixed compatibility with Nginx 1.7.0. * [Standalone] The MIME type for .woff files has been changed to application/font-woff. Fixes issue #1071. * There are now APT packages for Ubuntu 14.04. At the same time, packages for Ubuntu 13.10 have been abandoned. * Introduced a new command, `passenger-config build-native-support`, for ensuring that the native_support library for the current Ruby interpreter is built. This is useful in system provisioning scripts. * For security reasons, friendly error pages (those black/purple pages that shows the error message, backtrace and environment variable dump when an application fails to start) are now disabled by default when the application environment is set to 'staging' or 'production'. Fixes issue #1063. * Fixed some compilation warnings on Ubuntu 14.04. * Fixed some compatibility problems with Rake 10.2.0 and later. See [Rake issue 274](https://github.com/jimweirich/rake/issues/274). * Improved error handling in [Union Station](https://www.unionstationapp.com) support. * Data is now sent to Union Station on a more frequent basis, in order to make new data show up more quickly. * Information about the code revision is now sent to Union Station, which will be used in the upcoming deployment tracking feature in Union Station 2. </ChangeLog>
2014-06-02 04:14:54 +02:00
task :nginx_without_native_support => [
Upgrade from 4.0.59 to 5.0.2: o) www/rubygem-passenger; o) third-party modules for www/nginx and www/nginx-devel. <ChangeLog> Release 5.0.2 ------------- * Fixes a connection freeze that could occur when processing large responses. This would manifest itself under the error message "This website is under heavy load" or "Request queue is full, returning an error". Closes GH-1404. * Debian and Ubuntu packages have been reintroduces. * When `passenger-config restart-app` is run interactively, if Passenger is not serving any applications, then the command now prints an error message instead of showing a menu with only a "Cancel" option. * Fixes a compilation problem on FreeBSD 10 (contributed by: clemensg). Closes GH-1401. * [Standalone] Fixes a crash that would occur if you use the `--ctl` parameter. * [Enterprise] The `--max-request-time` option has been added to Passenger Standalone. * [Enterprise] The `max_request_time_reached` hook has been introduced. This hook allows you to run diagnostics on a process that that took too long to respond to a request. Release 5.0.1 ------------- * The `passenger-config restart-app` command is now more user friendly. When run in a terminal, it will show an interactive menu, allowing you to select the app to restart. Closes GH-1387. * Fixed a crash bug in the handling of sticky session cookies. * Log failed program in error message, not its command line (contributed by: paisleyrob). Closes GH-1397. * [Nginx] Fixes cases in which Passenger overrides the Nginx handler function even when it shouldn't, for example when Passenger is disabled. Closes GH-1393. * [Enterprise] The `sticky_sessions` and `envvars` options in Passengerfile.json is now also supported in mass deployment mode. Release 5.0.0 release candidate 2 --------------------------------- * Fixes an installation problem with the Ruby gem due to incorrect Makefile generation. Closes GH-1382. * More helpful message when request queue is full. Closes GH-1375. Release 5.0.0 release candidate 1 --------------------------------- * Fixed Date headers not being formatted in the GMT timezone. Closes GH-1367. * Fixed Passengerfile.json/passenger-standalone.json not being properly loaded in Passenger Standalone. * Fixed support for sticky sessions. * Fixed an infinite loop if the ApplicationPool garbage collector fails due to an exception. Closes GH-1360. * Fixed Passenger Standalone exiting prematurely when the HelperAgent crashes. Exiting prematurely is not supposed to happen because the watchdog will restart the HelperAgent. Closes GH-1339. * Fixed a crash that occurs when using a non-standard startup file value. Closes GH-1378. * When dumping system metrics during error page generation, the `passenger-config` command is now invoked under the same Ruby interpreter as the app, instead of the one in PATH. Closes GH-1381. * When a Ruby process crashes due to an uncaught exception, this fact is now properly logged. * Specifying 0 for the `max_pool_size` config option no longer results in a crash. Closes GH-1334. * The timeouts when downloading Passenger Standalone binaries and source files are now customizable. Closes GH-1295. * The `envvars` option is now supported in Passengerfile.json, for passing environment variables to the application. Closes GH-1377. * Introduced `hook_queue_full_error` for request queue overflows. Closes GH-1358. * [Ruby] Fixed handling of "transfer-encoding chunked" response bodies which contain zero-sized chunks. * [Nginx] It is no longer necessary to re-specify `passenger_enabled` in `location` contexts. Closes GH-1338. * [Enterprise] Fixed a bug in mass deployment reloading. * [Enterprise] Fixed a bug in mass deployment daemonization. * [Enterprise] The mass deployment mode now supports the `app_type` and `startup_file` configuration options in Passengerfile.json/passenger-standalone.json. Closes GH-1366. Release 5.0.0 beta 3 -------------------- * The turbocache has received major updates and fixes based on excellent feedback Chris Heald and the community. First, several bugs w.r.t. the handling of caching headers have been fixed. Second, the turbocache has become slightly more conservative for security reasons. In previous versions, default cacheable responses (as defined by RFC 7234) were cached unless caching headers tell us not to. Now, default cacheable responses are only cached if caching headers explicitly tell us to. This change was introduced because there are many applications that set incorrect caching headers on private responses. This new behavior is currently not configurable, but there are plans to make it configurable in 5.0.0 release candidate 1. * Introduced a new configuration option, `passenger_response_buffer_high_watermark` (Nginx) and `PassengerResponseBufferHighWatermark` (Apache), for configuring the behavior of the response buffering system. Closes GH-1300. * Fixed more cookie handling issues. Closes GH-1310. * Fixed various WebSocket issues. Closes GH-1306. * Fixed some crashes caused by race conditions. Closes GH-1326. * Fixed issues with handling POST data. Closes GH-1331. * Fixed some issues on Heroku. Closes GH-1329. * Fixed some integer overflows. Fix contributed by Go Maeda. Closes GH-1357. * Fixed the `passenger-status --show=union_station` command. Closes GH-1336. * Nginx versions earlier than 1.6 are no longer supported. * Improved state introspection. Release 5.0.0 beta 2 -------------------- * Fixed handling of multiple Set-Cookie headers. Closes GH-1296. * `passenger-config system-metrics` now works properly if the agent is installed in ~/.passenger. Closes GH-1304. * Documentation enhancements by Igor Vuk. Closes GH-1318. * Fixed some crasher bugs. * [Standalone] User switching is now correctly disabled. * [Standalone] Fixed the `--thread-count` parameter. * [Apache] IPs set by mod_remoteip are now respected. Closes GH-1284. * [Apache] Fixed support for gzipped chunked responses. Closes GH-1309. Release 5.0.0 beta 1 -------------------- Version 5.0.0 beta 1 contains major changes. It's mostly compatible with version 4, but there are a few minor breakages, which are described below. Major changes and notable breakages are: * Performance has been much improved. This is thanks to months of optimization work. You can learn more at www.rubyraptor.org. * We've published a [server optimization guide] (https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for those who are interested in tuning Phusion Passenger. * Support for Rails 1.2 - 2.2 has been removed, for performance reasons. Rails 2.3 is still supported. * Phusion Passenger now supports integrated HTTP caching, which we call turbocaching. If your app sets the right HTTP headers then Phusion Passenger can tremendously accelerate your app. It is enabled by default, but you can disable it with `--disable-turbocaching` (Standalone), `PassengerTurbocaching off` (Apache), or 'passenger_turbocaching off' (Nginx). * Touching restart.txt will no longer restart your app immediately. This is because, for performance reasons, the stat throttle rate now defaults to 10. You can still get back the old behavior by setting `PassengerStatThrottleRate 0` (Apache) or `passenger_stat_throttle_rate 0` (Nginx), but this is not encouraged. Instead, we encourage you to use the `passenger-config restart-app` tool to initiate restarts, which has immediate effect. * Websockets are now properly disconnected on application restarts. * The Phusion Passneger log levels have been completely revamped. If you were setting a log level before (e.g. through `passenger_log_level`), please read the latest documentation to learn about the new log levels. * If you use out-of-band garbage collection, beware that the `X-Passenger-Request-OOB-Work` header has now been renamed to `!~Request-OOB-Work`. * When using Rack's full socket hijacking, you must now output an HTTP status line. * [Nginx] The `passenger_set_cgi_param` option has been removed and replaced by `passenger_set_header` and `passenger_env_var`. * [Nginx] `passenger_show_version_in_header` is now only valid in the `http` context. * [Apache] The `PassengerStatThrottleRate` option is now global. Minor changes: * The minimum required Nginx version is now 1.6.0. * The instance directory is now touched every hour instead of every 6 hours. This should hopefully prevent more problems with /tmp cleaner daemons. * Applications are not grouped not only on the application root path, but also on the environment. For example, this allows you to run the same app in both production and staging mode, with only a single directory, without further configuration. Closes GH-664. * The `passenger_temp_dir` option (Nginx) and the `PassengerTempDir` option (Apache) have been replaced by two config options. On Nginx they are `passenger_instance_registry_dir` and `passenger_data_buffer_dir`. On Apache they are `PassengerInstanceRegistryDir` and `PassengerDataBufferDir`. On Apache, `PassengerUploadBufferDir` has been replaced by `PassengerDataBufferDir`. * Command line tools no longer respect the `PASSENGER_TEMP_DIR` environment variable. Use `PASSENGER_INSTANCE_REGISTRY_DIR` instead. * `passenger-status --show=requests` has been deprecated in favor of `passenger-status --show=connections`. * Using the SIGUSR1 signal to restart a Ruby app without dropping connections, is no longer supported. Instead, use `passenger-config detach-process`. * Introduced the `passenger-config reopen-logs` command, which instructs all Phusion Passenger agent processes to reopen their log files. You should call this after having rotated the web server logs. * [Standalone] The Phusion Passenger Standalone config template has changed. Users are encouraged to update it. * [Standalone] `passenger-standalone.json` has been renamed to `Passengerfile.json`. * [Standalone] `passenger-standalone.json`/`Passengerfile.json` no longer overrides command line options. Instead, command line options now have the highest priority. Release 4.0.60 -------------- * Fixed the password protection of internal Phusion Passenger processes. For security reasons, Phusion Passenger limits access to internal processes, by using Unix file permissions and randomly generated passwords that only authorized internal processes know. It turns out that this password wasn't set correctly, which has now been fixed. There was no security vulnerability, because the file permissions already provide sufficient security. The password only serves as an extra layer of security just in case there is a problem with the former. This issue is not at all related to any application-level security or application-level passwords. Any database passwords, keys, or secrets used and generated by applications have got nothing to do with the nature of this issue. This issue only relates to some randomly generated passwords that Passenger uses internally, for its internal operations. </ChangeLog>
2015-03-13 01:06:29 +01:00
auto_generated_sources,
- AGENT_TARGET,
Upgrade from 4.0.59 to 5.0.2: o) www/rubygem-passenger; o) third-party modules for www/nginx and www/nginx-devel. <ChangeLog> Release 5.0.2 ------------- * Fixes a connection freeze that could occur when processing large responses. This would manifest itself under the error message "This website is under heavy load" or "Request queue is full, returning an error". Closes GH-1404. * Debian and Ubuntu packages have been reintroduces. * When `passenger-config restart-app` is run interactively, if Passenger is not serving any applications, then the command now prints an error message instead of showing a menu with only a "Cancel" option. * Fixes a compilation problem on FreeBSD 10 (contributed by: clemensg). Closes GH-1401. * [Standalone] Fixes a crash that would occur if you use the `--ctl` parameter. * [Enterprise] The `--max-request-time` option has been added to Passenger Standalone. * [Enterprise] The `max_request_time_reached` hook has been introduced. This hook allows you to run diagnostics on a process that that took too long to respond to a request. Release 5.0.1 ------------- * The `passenger-config restart-app` command is now more user friendly. When run in a terminal, it will show an interactive menu, allowing you to select the app to restart. Closes GH-1387. * Fixed a crash bug in the handling of sticky session cookies. * Log failed program in error message, not its command line (contributed by: paisleyrob). Closes GH-1397. * [Nginx] Fixes cases in which Passenger overrides the Nginx handler function even when it shouldn't, for example when Passenger is disabled. Closes GH-1393. * [Enterprise] The `sticky_sessions` and `envvars` options in Passengerfile.json is now also supported in mass deployment mode. Release 5.0.0 release candidate 2 --------------------------------- * Fixes an installation problem with the Ruby gem due to incorrect Makefile generation. Closes GH-1382. * More helpful message when request queue is full. Closes GH-1375. Release 5.0.0 release candidate 1 --------------------------------- * Fixed Date headers not being formatted in the GMT timezone. Closes GH-1367. * Fixed Passengerfile.json/passenger-standalone.json not being properly loaded in Passenger Standalone. * Fixed support for sticky sessions. * Fixed an infinite loop if the ApplicationPool garbage collector fails due to an exception. Closes GH-1360. * Fixed Passenger Standalone exiting prematurely when the HelperAgent crashes. Exiting prematurely is not supposed to happen because the watchdog will restart the HelperAgent. Closes GH-1339. * Fixed a crash that occurs when using a non-standard startup file value. Closes GH-1378. * When dumping system metrics during error page generation, the `passenger-config` command is now invoked under the same Ruby interpreter as the app, instead of the one in PATH. Closes GH-1381. * When a Ruby process crashes due to an uncaught exception, this fact is now properly logged. * Specifying 0 for the `max_pool_size` config option no longer results in a crash. Closes GH-1334. * The timeouts when downloading Passenger Standalone binaries and source files are now customizable. Closes GH-1295. * The `envvars` option is now supported in Passengerfile.json, for passing environment variables to the application. Closes GH-1377. * Introduced `hook_queue_full_error` for request queue overflows. Closes GH-1358. * [Ruby] Fixed handling of "transfer-encoding chunked" response bodies which contain zero-sized chunks. * [Nginx] It is no longer necessary to re-specify `passenger_enabled` in `location` contexts. Closes GH-1338. * [Enterprise] Fixed a bug in mass deployment reloading. * [Enterprise] Fixed a bug in mass deployment daemonization. * [Enterprise] The mass deployment mode now supports the `app_type` and `startup_file` configuration options in Passengerfile.json/passenger-standalone.json. Closes GH-1366. Release 5.0.0 beta 3 -------------------- * The turbocache has received major updates and fixes based on excellent feedback Chris Heald and the community. First, several bugs w.r.t. the handling of caching headers have been fixed. Second, the turbocache has become slightly more conservative for security reasons. In previous versions, default cacheable responses (as defined by RFC 7234) were cached unless caching headers tell us not to. Now, default cacheable responses are only cached if caching headers explicitly tell us to. This change was introduced because there are many applications that set incorrect caching headers on private responses. This new behavior is currently not configurable, but there are plans to make it configurable in 5.0.0 release candidate 1. * Introduced a new configuration option, `passenger_response_buffer_high_watermark` (Nginx) and `PassengerResponseBufferHighWatermark` (Apache), for configuring the behavior of the response buffering system. Closes GH-1300. * Fixed more cookie handling issues. Closes GH-1310. * Fixed various WebSocket issues. Closes GH-1306. * Fixed some crashes caused by race conditions. Closes GH-1326. * Fixed issues with handling POST data. Closes GH-1331. * Fixed some issues on Heroku. Closes GH-1329. * Fixed some integer overflows. Fix contributed by Go Maeda. Closes GH-1357. * Fixed the `passenger-status --show=union_station` command. Closes GH-1336. * Nginx versions earlier than 1.6 are no longer supported. * Improved state introspection. Release 5.0.0 beta 2 -------------------- * Fixed handling of multiple Set-Cookie headers. Closes GH-1296. * `passenger-config system-metrics` now works properly if the agent is installed in ~/.passenger. Closes GH-1304. * Documentation enhancements by Igor Vuk. Closes GH-1318. * Fixed some crasher bugs. * [Standalone] User switching is now correctly disabled. * [Standalone] Fixed the `--thread-count` parameter. * [Apache] IPs set by mod_remoteip are now respected. Closes GH-1284. * [Apache] Fixed support for gzipped chunked responses. Closes GH-1309. Release 5.0.0 beta 1 -------------------- Version 5.0.0 beta 1 contains major changes. It's mostly compatible with version 4, but there are a few minor breakages, which are described below. Major changes and notable breakages are: * Performance has been much improved. This is thanks to months of optimization work. You can learn more at www.rubyraptor.org. * We've published a [server optimization guide] (https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for those who are interested in tuning Phusion Passenger. * Support for Rails 1.2 - 2.2 has been removed, for performance reasons. Rails 2.3 is still supported. * Phusion Passenger now supports integrated HTTP caching, which we call turbocaching. If your app sets the right HTTP headers then Phusion Passenger can tremendously accelerate your app. It is enabled by default, but you can disable it with `--disable-turbocaching` (Standalone), `PassengerTurbocaching off` (Apache), or 'passenger_turbocaching off' (Nginx). * Touching restart.txt will no longer restart your app immediately. This is because, for performance reasons, the stat throttle rate now defaults to 10. You can still get back the old behavior by setting `PassengerStatThrottleRate 0` (Apache) or `passenger_stat_throttle_rate 0` (Nginx), but this is not encouraged. Instead, we encourage you to use the `passenger-config restart-app` tool to initiate restarts, which has immediate effect. * Websockets are now properly disconnected on application restarts. * The Phusion Passneger log levels have been completely revamped. If you were setting a log level before (e.g. through `passenger_log_level`), please read the latest documentation to learn about the new log levels. * If you use out-of-band garbage collection, beware that the `X-Passenger-Request-OOB-Work` header has now been renamed to `!~Request-OOB-Work`. * When using Rack's full socket hijacking, you must now output an HTTP status line. * [Nginx] The `passenger_set_cgi_param` option has been removed and replaced by `passenger_set_header` and `passenger_env_var`. * [Nginx] `passenger_show_version_in_header` is now only valid in the `http` context. * [Apache] The `PassengerStatThrottleRate` option is now global. Minor changes: * The minimum required Nginx version is now 1.6.0. * The instance directory is now touched every hour instead of every 6 hours. This should hopefully prevent more problems with /tmp cleaner daemons. * Applications are not grouped not only on the application root path, but also on the environment. For example, this allows you to run the same app in both production and staging mode, with only a single directory, without further configuration. Closes GH-664. * The `passenger_temp_dir` option (Nginx) and the `PassengerTempDir` option (Apache) have been replaced by two config options. On Nginx they are `passenger_instance_registry_dir` and `passenger_data_buffer_dir`. On Apache they are `PassengerInstanceRegistryDir` and `PassengerDataBufferDir`. On Apache, `PassengerUploadBufferDir` has been replaced by `PassengerDataBufferDir`. * Command line tools no longer respect the `PASSENGER_TEMP_DIR` environment variable. Use `PASSENGER_INSTANCE_REGISTRY_DIR` instead. * `passenger-status --show=requests` has been deprecated in favor of `passenger-status --show=connections`. * Using the SIGUSR1 signal to restart a Ruby app without dropping connections, is no longer supported. Instead, use `passenger-config detach-process`. * Introduced the `passenger-config reopen-logs` command, which instructs all Phusion Passenger agent processes to reopen their log files. You should call this after having rotated the web server logs. * [Standalone] The Phusion Passenger Standalone config template has changed. Users are encouraged to update it. * [Standalone] `passenger-standalone.json` has been renamed to `Passengerfile.json`. * [Standalone] `passenger-standalone.json`/`Passengerfile.json` no longer overrides command line options. Instead, command line options now have the highest priority. Release 4.0.60 -------------- * Fixed the password protection of internal Phusion Passenger processes. For security reasons, Phusion Passenger limits access to internal processes, by using Unix file permissions and randomly generated passwords that only authorized internal processes know. It turns out that this password wasn't set correctly, which has now been fixed. There was no security vulnerability, because the file permissions already provide sufficient security. The password only serves as an extra layer of security just in case there is a problem with the former. This issue is not at all related to any application-level security or application-level passwords. Any database passwords, keys, or secrets used and generated by applications have got nothing to do with the nature of this issue. This issue only relates to some randomly generated passwords that Passenger uses internally, for its internal operations. </ChangeLog>
2015-03-13 01:06:29 +01:00
COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
].flatten
@@ -55,7 +53,6 @@
# it also creates a namespace:clean task to clean up the output_dir
task :nginx_dynamic_without_native_support => [
auto_generated_sources,
- AGENT_TARGET,
define_libboost_oxt_task("nginx", NGINX_DYNAMIC_OUTPUT_DIR + "libboost_oxt", "-fPIC"),
COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
set_namespace("nginx").set_output_dir(NGINX_DYNAMIC_OUTPUT_DIR + "module_libpassenger_common").define_tasks("-fPIC").