History.txt

Path: History.txt
Last Update: Wed Jul 24 14:57:07 -0400 2013

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:
    • Introduce preload flag
  • 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:
    • Now Puma is bundled with an capistrano recipe. Just require
       'puma/capistrano' in you deploy.rb
      
    • Only inject CommonLogger in development mode
    • Add -p option to pumactl
    • Add ability to use pumactl to start a server
    • Add options to daemonize puma
  • 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 packaging bug fixed:
    • Include missing files

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:
    • Jesse Cooke

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

  • Released!

[Validate]