2.4.0 / 2013-07-22
- 5 minor features:
- Add PUMA_JRUBY_DAEMON_OPTS to get around agent starting twice
- Add ability to drain accept socket on shutdown
- Add port to DSL
- Adds support for using puma config file in capistrano deploys.
- Make phased_restart fallback to restart if not available
- 10 bug fixes:
- Be sure to only delete the pid in the master. Fixes 334
- Call out -C/—config flags
- Change parser symbol names to avoid clash. Fixes 179
- Convert thread pool sizes to integers
- Detect when the jruby daemon child doesn‘t start properly
- Fix typo in CLI help
- Improve the logging output when hijack is used. Fixes 332
- Remove unnecessary thread pool size conversions
- Setup :worker_boot as an Array. Fixes 317
- Use 127.0.0.1 as REMOTE_ADDR of unix client. Fixes 309
2.3.2 / 2013-07-08
- 1 bug fix:
- Move starting control server to after daemonization.
2.3.1 / 2013-07-06
- 2 bug fixes:
- Include the right files in the Manifest.
- Disable inheriting connections on restart on windows. Fixes 166
- 1 doc change:
- Better document some platform constraints
2.3.0 / 2013-07-05
- 1 major bug fix:
- Stabilize control server, add support in cluster mode
- 5 minor bug fixes:
- Add ability to cleanup stale unix sockets
- Check status data better. Fixes 292
- Convert raw IO errors to ConnectionError.
Fixes 274
- Fix sending Content-Type and Content-Length for no body status. Fixes 304
- Pass state path through to `pumactl start`. Fixes 287
- 2 internal changes:
- Refactored modes into seperate classes that CLI uses
- Changed CLI to take an Events object instead of stdout/stderr (API change)
2.2.2 / 2013-07-02
- 1 bug fix:
- Fix restart_command in the config
2.2.1 / 2013-07-02
- 1 minor feature:
- 1 bug fix:
- Pass custom restart command in JRuby
2.2.0 / 2013-07-01
- 1 major feature:
- Add ability to preload rack app
- 2 minor bugfixes:
- Don‘t leak info when not in development. Fixes 256
- Load the app, then bind the ports
2.1.1 / 2013-06-20
- 2 minor bug fixes:
- Fix daemonization on jruby
- Load the application before daemonizing. Fixes 285
2.1.0 / 2013-06-18
- 3 minor features:
- Allow listening socket to be configured via Capistrano variable
- Output results from ‘stat‘s command when using pumactl
- Support systemd socket activation
- 15 bug fixes:
- Deal with pipes closing while stopping. Fixes 270
- Error out early if there is no app configured
- Handle ConnectionError rather than the lowlevel exceptions
- tune with `-C` config file and `on_worker_boot`
- use `-w`
- Fixed some typos in upstart scripts
- Make sure to use bytesize instead of size (MiniSSL write)
- Fix an error in puma-manager.conf
- fix: stop leaking sockets on restart (affects ruby 1.9.3 or before)
- Ignore errors on the cross-thread pipe. Fixes 246
- Ignore errors while uncorking the socket (it might already be closed)
- Ignore the body on a HEAD request. Fixes 278
- Handle all engine data when possible. Fixes 251.
- Handle all read exceptions properly. Fixes 252
- Handle errors from the server better
- 3 doc changes:
- Add note about on_worker_boot hook
- Add some documentation for Clustered mode
- Added quotes to /etc/puma.conf
2.0.1 / 2013-04-30
- 1 bug fix:
- Fix not starting on JRuby properly
2.0.0 / 2013-04-29
RailsConf 2013 edition!
- 2 doc changes:
- Start with rackup -s Puma, NOT rackup -s
puma.
- Minor doc fixes in the README.md, Capistrano section
- 2 bug fixes:
- Fix reading RACK_ENV properly. Fixes 234
- Make cap recipe handle tmp/sockets; fixes 228
- 3 minor changes:
- Fix capistrano recipe
- Fix stdout/stderr logs to sync outputs
- allow binding to IPv6 addresses
2.0.0.b7 / 2013-03-18
- 5 minor enhancements:
- Add -q option for :start
- Add -V, —version
- Add default Rack handler helper
- Upstart support
- Set worker directory from configuration file
- 12 bug fixes:
- Close the binder in the right place. Fixes 192
- Handle early term in workers. Fixes 206
- Make sure that the default port is 80 when the request doesn‘t
include HTTP_X_FORWARDED_PROTO.
- Prevent Errno::EBADF errors on restart when running ruby 2.0
- Record the proper @master_pid
- Respect the header HTTP_X_FORWARDED_PROTO when the host doesn‘t
include a port number.
- Retry EAGAIN/EWOULDBLOCK during syswrite
- Run exec properly to restart. Fixes 154
- Set Rack run_once to false
- Syncronize all access to @timeouts. Fixes 208
- Write out the state post-daemonize. Fixes 189
- Prevent crash when all workers are gone
2.0.0.b6 / 2013-02-06
- 2 minor enhancements:
- Add hook for running when a worker boots
- Advertise the Configuration object for apps to use.
- 1 bug fix:
- Change directory in working during upgrade. Fixes 185
2.0.0.b5 / 2013-02-05
- 2 major features:
- Add phased worker upgrade
- Add support for the rack hijack protocol
- 2 minor features:
- Add -R to specify the restart command
- Add config file option to specify the restart command
- 5 bug fixes:
- Cleanup pipes properly. Fixes 182
- Daemonize earlier so that we don‘t lose app threads. Fixes 183
- Drain the notification pipe. Fixes 176, thanks @cryo28
- Move write_pid to after we daemonize. Fixes 180
- Redirect IO properly and emit message for
checkpointing
2.0.0.b4 / 2012-12-12
- 4 bug fixes:
- Properly check syswrite‘s value for variable sized buffers. Fixes 170
- Shutdown status server properly
- Handle char vs byte and mixing syswrite with write properly
- made MiniSSL validate key/cert file existence
2.0.0.b3 / 2012-11-22
- 1 bug fix:
- Package right files in gem
2.0.0.b2 / 2012-11-18
- 5 minor feature:
- 7 bug fixes:
- Reset the IOBuffer properly. Fixes 148
- Shutdown gracefully on JRuby with Ctrl-C
- Various methods to get newrelic to start. Fixes 128
- fixing syntax error at capistrano recipe
- Force ECONNRESET when read returns nil
- Be sure to empty the drain the todo before shutting down. Fixes 155
- allow for alternate locations for status app
2.0.0.b1 / 2012-09-11
- 1 major feature:
- Optional worker process mode (-w) to allow for process scaling in addition
to thread scaling
- 1 bug fix:
- Introduce Puma::MiniSSL to be
able to properly control doing nonblocking SSL
NOTE: SSL support in JRuby is not supported at present. Support will be
added back in a future date when a java Puma::MiniSSL is added.
1.6.3 / 2012-09-04
- 1 bug fix:
- Close sockets waiting in the reactor when a hot restart is performed so
that browsers reconnect on the next request
1.6.2 / 2012-08-27
- 1 bug fix:
- Rescue StandardError instead of IOError to handle SystemCallErrors as well
as other application exceptions inside the reactor.
1.6.1 / 2012-07-23
1.6.0 / 2012-07-23
- 1 major bug fix:
- Prevent slow clients from starving the server by introducing a dedicated IO reactor thread. Credit for reporting goes
to @meh.
1.5.0 / 2012-07-19
- 7 contributers to this release:
- Christian Mayer
- DarĂo Javier Cravero
- Dirkjan Bussink
- Gianluca Padovani
- Santiago Pastorino
- Thibault Jouan
- tomykaira
- 6 bug fixes:
- Define RSTRING_NOT_MODIFIED for Rubinius
- Convert status to integer. Fixes 123
- Delete pidfile when stopping the server
- Allow compilation with -Werror=format-security option
- Fix wrong HTTP version for a HTTP/1.0 request
- Use String#bytesize instead of String#length
- 3 minor features:
- Added support for setting RACK_ENV via the CLI, config file, and rack app
- Allow Server#run to run sync. Fixes 111
- Puma can now run on windows
1.4.0 / 2012-06-04
- 1 bug fix:
- SCRIPT_NAME should be passed from env to allow mounting apps
- 1 experimental feature:
- Add puma.socket key for direct socket access
1.3.1 / 2012-05-15
- 2 bug fixes:
- use bytesize instead of length for Content-Length header
- Use StringIO properly. Fixes 98
1.3.0 / 2012-05-08
- 2 minor features:
- Return valid Rack responses (passes
Lint) from status server
- Add -I option to specify $LOAD_PATH directories
- 4 bug fixes:
- Don‘t join the server thread inside the signal handle. Fixes 94
- Make NullIO#read mimic IO#read
- Only stop the status server if it‘s started. Fixes 84
- Set RACK_ENV early in cli also. Fixes 78
- 1 new contributer:
1.2.2 / 2012-04-28
- 4 bug fixes:
- Report a lowlevel error to stderr
- Set a fallback SERVER_NAME and SERVER_PORT
- Keep the encoding of the body correct. Fixes 79
- show error.to_s along with backtrace for low-level error
1.2.1 / 2012-04-11
1 bug fix:
* Fix rack.url_scheme for SSL servers. Fixes #65
1.2.0 / 2012-04-11
1 major feature:
* When possible, the internal restart does a "hot restart" meaning
the server sockets remains open, so no connections are lost.
1 minor feature:
* More helpful fallback error message
6 bug fixes:
* Pass the proper args to unknown_error. Fixes #54, #58
* Stop the control server before restarting. Fixes #61
* Fix reporting https only on a true SSL connection
* Set the default content type to 'text/plain'. Fixes #63
* Use REUSEADDR. Fixes #60
* Shutdown gracefull on SIGTERM. Fixes #53
2 new contributers:
* Seamus Abshere
* Steve Richert
1.1.1 / 2012-03-30
1 bugfix:
* Include puma/compat.rb in the gem (oops!)
1.1.0 / 2012-03-30
1 bugfix:
* Make sure that the unix socket has the perms 0777 by default
1 minor feature:
* Add umask param to the unix:// bind to set the umask
1.0.0 / 2012-03-29