macournoyer / thin
- Source
- Commits
- Network (36)
- Issues (6)
- Downloads (17)
- Wiki (1)
- Graphs
-
Tag:
v1.0.0
commit 2ab507223d0aec596f3574e5f7fc30c276efa68a
tree 926cddc22b4e837fd8fd8fad83946e24d466c8ef
parent f7599b6d2711966bc38d19dd415a0888a144dfb1
tree 926cddc22b4e837fd8fd8fad83946e24d466c8ef
parent f7599b6d2711966bc38d19dd415a0888a144dfb1
thin / CHANGELOG
| f7599b6d » | macournoyer | 2008-09-28 | 1 | == 1.0.0 That's What She Said release | |
| 2 | * Fixed vlad.rake to allow TCP or socket [hellekin] | ||||
| 3 | * Updated Mack adapter to handle both <0.8.0 and >0.8.0 [Mark Bates] | ||||
| 4 | * rails rack adapter uses File.readable_real? so it recognizes ACL permissions [Ricardo Chimal] | ||||
| 5 | * Log a warning if Rack application returns nil body [Michael S. Klishin] | ||||
| b4808879 » | macournoyer | 2008-07-25 | 6 | * Handle nil and Time header values correctly [#76 state:resolved] [tmm1] | |
| c9634028 » | macournoyer | 2008-07-19 | 7 | * Add Content-Length header to response automatically when possible [#74 state:resolved] [dkubb] | |
| a8ed858f » | macournoyer | 2008-07-18 | 8 | * Runner now remembers -r, -D and -V parameters so that clustered servers inherit those and | |
| 9 | `restart` keep your parameters. | ||||
| 34da9ea8 » | macournoyer | 2008-07-13 | 10 | * Make Set-Cookie header, in Rails adapter, compatible with current Rack spec [Pedro Belo] | |
| 11 | [#73, state:resolved] | ||||
| 37fbf1d5 » | macournoyer | 2008-07-13 | 12 | * Add --no-epoll option to disable epoll usage on Linux [#61 state:resolved] | |
| 13 | * Add --force (-f) option to force stopping of a daemonized server [#72 state:resolved] | ||||
| d6a6fc96 » | macournoyer | 2008-07-01 | 14 | * Update halycon adapter loader [mtodd] | |
| 15 | |||||
| bdddd866 » | macournoyer | 2008-06-24 | 16 | == 0.8.2 Double Margarita release | |
| 17 | * Require EventMachine 0.12.0 | ||||
| 44d6ce72 » | macournoyer | 2008-05-26 | 18 | * [bug] Fix timeout handling when running command | |
| 19 | * [bug] Fix hanging when restarting and no process is running in single server move, fixes #67 | ||||
| c8c527be » | macournoyer | 2008-04-22 | 20 | * Added Mack adapter [markbates] | |
| ae6f5b56 » | macournoyer | 2008-04-22 | 21 | * Allow rackup .rb files by getting a conventionally named constant as the app [bmizerany] | |
| 22 | |||||
| b02c717f » | macournoyer | 2008-04-08 | 23 | == 0.8.1 Rebel Porpoise release | |
| a9acdec9 » | macournoyer | 2008-04-18 | 24 | * [bug] Rescue all types of errors when processing request, fixes #62 | |
| 79f2a325 » | macournoyer | 2008-04-18 | 25 | * [bug] Use Swiftiply backend when -y option is specified, fixes #63 and #64 | |
| c90f50f6 » | macournoyer | 2008-04-18 | 26 | * Allow passing port as a string in Server.new | |
| b02c717f » | macournoyer | 2008-04-08 | 27 | * Define deferred?(env) in your Rack application to set if a request is handled in a | |
| 28 | thread (return true) or not (return false). | ||||
| 29 | |||||
| 97d1b9ed » | macournoyer | 2008-04-03 | 30 | == 0.8.0 Dodgy Dentist release | |
| 79f2a325 » | macournoyer | 2008-04-18 | 31 | * [bug] Fix server crash when header too large. | |
| a3a783e2 » | macournoyer | 2008-04-05 | 32 | * Add --require (-r) option to require a library, before executing your script. | |
| 33 | * Rename --rackup short option to -R, warn and load as rackup when file ends with .ru. | ||||
| dc472b68 » | macournoyer | 2008-04-05 | 34 | * List supported adapters in command usage. | |
| 35 | * Add file adapter to built-in adapter, serve static files in current directory. | ||||
| 6cb32ec3 » | macournoyer | 2008-04-03 | 36 | * Allow disabling signal handling in Server with :signals => false | |
| 01dece1c » | macournoyer | 2008-04-03 | 37 | * Make Server.new arguments more flexible, can now specify any of host, port, app or hash options. | |
| 38 | * Add --backend option to specified which backend to use, closes #55 | ||||
| 79f2a325 » | macournoyer | 2008-04-18 | 39 | * [bug] Serve static file only on GET and HEAD requests in Rails adapter, fixes #58 | |
| 4d3709fa » | macournoyer | 2008-03-28 | 40 | * Add threaded option to run server in threaded mode, calling the application in a | |
| 41 | thread allowing for concurrency in the Rack adapter, closes #46 | ||||
| af63af25 » | macournoyer | 2008-03-13 | 42 | * Guess which adapter to use from directory (chdir option) | |
| 43 | or use specified one in 'adapter' option, re #47. | ||||
| 44 | |||||
| cda09475 » | macournoyer | 2008-02-27 | 45 | == 0.7.1 Fancy Pants release | |
| d44352ac » | macournoyer | 2008-03-03 | 46 | * Clean stale PID files when starting as daemon, fixes #53 [Chu Yeow] | |
| 1cb90c6a » | macournoyer | 2008-03-05 | 47 | * Require EventMachine 0.11.0 for UNIX domain sockets. Until it's released, install from: | |
| 38a20d9d » | macournoyer | 2008-03-03 | 48 | gem install eventmachine --source http://code.macournoyer.com | |
| 4c30c781 » | macournoyer | 2008-03-02 | 49 | * Ruby 1.8.5 compatibility, closes #49 [Wincent Colaiuta] | |
| dee65369 » | macournoyer | 2008-02-29 | 50 | * Move all EventMachine stuff out of Server, you can now create a Thin Backend that | |
| 51 | does not depend on EventMachine. | ||||
| b686394e » | macournoyer | 2008-02-28 | 52 | * Rename Connector to Backend. Extend Thin::Backends::Base to implement your own. | |
| 61da9491 » | macournoyer | 2008-02-27 | 53 | * Fix high memory usage with big POST body, fixes #48 | |
| cda09475 » | macournoyer | 2008-02-27 | 54 | ||
| 96217b94 » | macournoyer | 2008-02-14 | 55 | == 0.7.0 Spherical Cow release | |
| 2b7d72da » | macournoyer | 2008-02-20 | 56 | * Add --max-persistent-conns option to sets the maximum number of persistent connections. | |
| 57 | Set to 0 to disable Keep-Alive. | ||||
| 58 | * INT signal now force stop and QUIT signal gracefully stops. | ||||
| 0304be1f » | macournoyer | 2008-02-17 | 59 | * Warn when descriptors table size can't be set as high as expected. | |
| 8cd1a958 » | macournoyer | 2008-02-17 | 60 | * Eval Rackup config file using top level bindings. | |
| 35fc7426 » | macournoyer | 2008-02-17 | 61 | * Remove daemons gem dependency on Windows plateform, fixes #45. | |
| 6c6ded81 » | macournoyer | 2008-02-15 | 62 | * Change default timeout from 60 to 30 seconds. | |
| 2b7d72da » | macournoyer | 2008-02-20 | 63 | * Add --max-conns option to sets the maximum number of file or socket descriptors that | |
| 64 | your process may open, defaults to 1024. | ||||
| 6c6ded81 » | macournoyer | 2008-02-15 | 65 | * Tail logfile when stopping and restarting a demonized server, fixes #26. | |
| 65d6456c » | macournoyer | 2008-02-11 | 66 | * Wrap application in a Rack::CommonLogger adapter in debug mode. | |
| 67 | * --debug (-D) option no longer set $DEBUG so logging will be less verbose | ||||
| 68 | and Ruby won't be too strict, fixes #36. | ||||
| 6c6ded81 » | macournoyer | 2008-02-15 | 69 | * Deprecate Server#silent in favour of Logging.silent. | |
| 04664f6b » | macournoyer | 2008-02-24 | 70 | * Persistent connection (keep-alive) support. | |
| be7b2468 » | macournoyer | 2008-02-09 | 71 | * Fix -s option not being included in generated config file, fixes #37. | |
| 704af397 » | macournoyer | 2008-02-08 | 72 | * Add Swiftiply support. Use w/ the --swiftiply (-y) option in the thin script, | |
| 73 | closes #28 [Alex MacCaw] | ||||
| e442be1f » | macournoyer | 2008-01-24 | 74 | ||
| 7c1472b6 » | macournoyer | 2008-02-12 | 75 | == 0.6.4 Sexy Lobster release | |
| 7e8c975b » | macournoyer | 2008-02-12 | 76 | * Fix error when stopping server on UNIX domain socket, fixes #42 | |
| 7c1472b6 » | macournoyer | 2008-02-12 | 77 | * Rescue errors in Connection#get_peername more gracefully, setting REMOTE_ADDR to nil, fixes #43 | |
| 78 | |||||
| 2a7e1025 » | macournoyer | 2008-01-31 | 79 | == 0.6.3 Ninja Cookie release | |
| 74c348b2 » | macournoyer | 2008-02-07 | 80 | * Add tasks for Vlad the Deployer in example/vlad.rake [cnantais] | |
| f877d8ba » | macournoyer | 2008-02-06 | 81 | * Add Ramaze Rackup config file in example dir [tmm1] | |
| 82 | Use like this from you Ramaze app dir: | ||||
| 83 | |||||
| 84 | thin start -r /path/to/thin/example/ramaze.ru | ||||
| 85 | |||||
| ab5f77d0 » | macournoyer | 2008-02-05 | 86 | * Add the --rackup option to load a Rack config file instead of the Rails adapter. | |
| 87 | So you can use any framework with the thin script and start cluster and stuff like that. | ||||
| 88 | A Rack config file is one that is usable through the rackup command and looks like this: | ||||
| 89 | |||||
| 90 | use Rack::CommonLogger | ||||
| 91 | run MyCrazyRackAdapter.new(:uterly, 'cool') | ||||
| 92 | |||||
| 93 | Then use it with thin like this: | ||||
| 94 | |||||
| 95 | thin start --rackup config.ru | ||||
| 96 | |||||
| 05459cd9 » | macournoyer | 2008-02-05 | 97 | * thin config --chrdir ... -C thin/yml do not change current directory anymore, fixes #33. | |
| 86ca18a9 » | macournoyer | 2008-02-05 | 98 | * Add a better sample god config file in example/thin.god that loads all info from config | |
| 74c348b2 » | macournoyer | 2008-02-07 | 99 | files in /etc/thin. Drop-in replacement for the thin runlevel service [Gump]. | |
| 100 | * Add support for specifying a custom Connector to the server and add more doc about Server | ||||
| 86ca18a9 » | macournoyer | 2008-02-05 | 101 | configuration. | |
| 74c348b2 » | macournoyer | 2008-02-07 | 102 | * Add a script to run thin as a runlevel service that can start at startup, closes #31 [Gump] | |
| 348f6e4d » | macournoyer | 2008-02-03 | 103 | Setup the service like this: | |
| 117e405e » | macournoyer | 2008-02-02 | 104 | ||
| 348f6e4d » | macournoyer | 2008-02-03 | 105 | sudo thin install /etc/thin | |
| 117e405e » | macournoyer | 2008-02-02 | 106 | ||
| 348f6e4d » | macournoyer | 2008-02-03 | 107 | This will install the boot script under /etc/init.d/thin. Then copy your config files to | |
| 108 | /etc/thin. Works only under Linux. | ||||
| 2772b6e2 » | macournoyer | 2008-02-02 | 109 | * Set process name to 'thin server (0.0.0.0:3000)' when running as a daemon, closes #32. | |
| 3210ef9b » | macournoyer | 2008-02-02 | 110 | * Make sure chdir option from config file is used when present. | |
| 2a7e1025 » | macournoyer | 2008-01-31 | 111 | * Raise an error when starting a server as a daemon and pid file already exist, fixes #27. | |
| 112 | |||||
| 855d90da » | macournoyer | 2008-01-26 | 113 | == 0.6.2 Rambo release | |
| b6aa2a6e » | macournoyer | 2008-01-29 | 114 | * Server now let current connections finish before stopping, fixes #18 | |
| dc607a67 » | macournoyer | 2008-01-29 | 115 | * Fix uploading hanging bug when body is moved to a tempfile, | |
| 116 | also delete the tempfile properly upon completion, fixes #25 | ||||
| 117 | * 'thin restart' now sends HUP signals rather then stopping & starting, closes #17 | ||||
| 546e6a9e » | macournoyer | 2008-01-28 | 118 | * HUP signal now launches a new process with the same options. | |
| 5d29f05e » | macournoyer | 2008-01-27 | 119 | * Add PID and more info from the last request to the Stats adapter | |
| 120 | mostly taken from Rack::ShowException. | ||||
| cb878db6 » | macournoyer | 2008-01-27 | 121 | * pid and log files in cluster are no longer required to be relative to the | |
| 122 | app directory (chdir option), fixes #24 | ||||
| f7451b3d » | macournoyer | 2008-01-27 | 123 | * Revert to using #each when building response headers under Ruby 1.8, | |
| 124 | solves an issue w/ Camping adapter, fixes #22 | ||||
| 3e3bb71d » | macournoyer | 2008-01-27 | 125 | * Restructure thin script options in 3 sections: server, daemon and cluster | |
| 126 | * Add --only (-o) option to control only one server of a cluster. | ||||
| e4d9619f » | macournoyer | 2008-01-26 | 127 | * Stylize stats page and make the url configurable from the thin script. | |
| 3e3bb71d » | macournoyer | 2008-01-27 | 128 | * Raise error if attempting to use unix sockets on windows. | |
| 76908538 » | macournoyer | 2008-01-30 | 129 | * Add example config files for http://www.tildeslash.com/monit usage. | |
| 6520c075 » | kevwil | 2008-01-26 | 130 | Include the example file using "include /path/to/thin/monit/file" in your monitrc file. | |
| 131 | The group settings let you do this to manage your clusters: | ||||
| 132 | |||||
| 133 | sudo monit -g blog restart all | ||||
| 134 | |||||
| 135 | There are examples of thin listening on sockets and thin listening on unix sockets. | ||||
| 136 | |||||
| 488564f0 » | macournoyer | 2008-01-25 | 137 | == 0.6.1 Cheesecake release | |
| 138 | * Remove socket file when server stops. | ||||
| 139 | * Set back cluster to use 'thin' command to launch servers. | ||||
| 140 | |||||
| 31af2a1b » | macournoyer | 2008-01-25 | 141 | == 0.6.0 Big Pony release | |
| a68f46d6 » | macournoyer | 2008-01-23 | 142 | * Add support for connection through UNIX domain socket. | |
| 143 | Use the --socket (-S) option w/ the thin script to configure the socket filename. | ||||
| 144 | Nginx support binding to a UNIX socket like this: | ||||
| 145 | |||||
| 146 | upstream backend { | ||||
| 147 | server unix:/tmp/thin.0.sock; | ||||
| 148 | server unix:/tmp/thin.1.sock; | ||||
| 149 | server unix:/tmp/thin.2.sock; | ||||
| 150 | } | ||||
| 151 | |||||
| 152 | Start your servers like this: | ||||
| 153 | |||||
| 154 | thin start -s3 -S/tmp/thin.sock | ||||
| 155 | |||||
| 156 | * Remove Server#listen! method. Use Server#start instead. | ||||
| 57eceafe » | macournoyer | 2008-01-22 | 157 | * Server can now yield a Rack::Builder to allow building an app in one call: | |
| 158 | |||||
| 159 | Server.start '0.0.0.0', 3000 do | ||||
| 160 | use Rack::CommonLogger | ||||
| 161 | use Rack::ShowExceptions | ||||
| 162 | map "/lobster" do | ||||
| 163 | use Rack::Lint | ||||
| 164 | run Rack::Lobster.new | ||||
| 165 | end | ||||
| 166 | end | ||||
| 167 | |||||
| 98d3e8f4 » | macournoyer | 2008-01-21 | 168 | * Add a very basic stats page through Stats adapter, load w/ --stats and browse to /stats. | |
| 2b8482fd » | macournoyer | 2008-01-21 | 169 | * Add --trace (-V) option to trace request/response and get backtrace w/out all Ruby debug stuff. | |
| 170 | * Add --config (-C) option to load options from a config file in thin script [Matt Todd]. | ||||
| a6b4cae7 » | macournoyer | 2008-01-20 | 171 | * Alter response headers to output directly to a string. | |
| d50a45e3 » | macournoyer | 2008-01-20 | 172 | * Improve specs stability. | |
| 6aa930c5 » | macournoyer | 2008-01-19 | 173 | * Move request body to a Tempfile if too big (> 112 MB) | |
| 174 | * Remove useless check for max header size in Request (already done in the parser) | ||||
| 175 | |||||
| 787a4284 » | macournoyer | 2008-01-18 | 176 | == 0.5.4 Flying Mustard release | |
| 782a71e8 » | macournoyer | 2008-01-18 | 177 | * Don't read the full body, use direct streaming when sending response. | |
| 178 | See: Response#each | ||||
| 54a99f93 » | macournoyer | 2008-01-19 | 179 | As a result, the Content-Length can not be calculated anymore. | |
| 180 | You have to do set this in your adapter. All frameworks do it anyway. | ||||
| 181 | It improve memory usage and boost speed for low concurrency. | ||||
| 182 | Thanks to Kent Sibilev and Ezra for their help on that one. | ||||
| 183 | * Add 'Server' response header | ||||
| 787a4284 » | macournoyer | 2008-01-18 | 184 | * Fix --user and --group option not changing daemon process privileges | |
| 185 | |||||
| d0e2e14d » | macournoyer | 2008-01-13 | 186 | == 0.5.3 Purple Yogurt release | |
| 2176ea64 » | macournoyer | 2008-01-17 | 187 | * win32 pre-compiled gem now available | |
| 188 | * change rake task configuration to allow win32 gem build | ||||
| d0e2e14d » | macournoyer | 2008-01-13 | 189 | * Add prefix option to thin script to mount app under a given path. | |
| 190 | |||||
| 08229939 » | macournoyer | 2008-01-08 | 191 | == 0.5.2 Cheezburger release | |
| 6a772566 » | macournoyer | 2008-01-12 | 192 | * Add cluster support through the -s option in the thin script, start 3 thins like this: | |
| 193 | thin start -s3 -p3000 | ||||
| 194 | 3 thin servers will be started on port 3000, 3001, 3002, also the port number will be | ||||
| 195 | injected in the pid and log filenames. | ||||
| 1a226855 » | macournoyer | 2008-01-09 | 196 | * Fix IOError when writing to logger when starting server as a daemon. | |
| 197 | * Really change directory when the -c option is specified. | ||||
| 198 | * Add restart command to thin script. | ||||
| 0ff4b424 » | macournoyer | 2008-01-12 | 199 | * Fix typos in thin script usage message and expand chdir path. | |
| 6a772566 » | macournoyer | 2008-01-12 | 200 | * Rename thin script options to be the same as mongrel_rails script [thronedrk]: | |
| 201 | -o --host => -a --address | ||||
| 202 | --log-file => --log | ||||
| 203 | --pid-file => --pid | ||||
| 204 | --env => --environment | ||||
| 08229939 » | macournoyer | 2008-01-08 | 205 | ||
| 206 | == 0.5.1 LOLCAT release | ||||
| 6b31acff » | macournoyer | 2008-01-06 | 207 | * Add URL rewriting to Rails adapter so that page caching works and / fetches index.html if present. | |
| 96ef5249 » | macournoyer | 2008-01-06 | 208 | * Fix bug in multiline response header parsing. | |
| 209 | * Add specs for the Rails adapter. | ||||
| 210 | * Fix Set-Cookie headers in Rails adapter to handle multiple values correctly. | ||||
| c646a937 » | macournoyer | 2008-01-05 | 211 | * Fix Ruby 1.9 incompatibility in Response#headers= and Rakefile. | |
| dbfb0718 » | macournoyer | 2008-01-05 | 212 | * Fix parser to be Ruby 1.9 compatible [Aman Gupta] | |
| bce0fabf » | macournoyer | 2008-01-04 | 213 | * Set gemspec to use EventMachine version 0.8.1 as it's the latest one having precompiled windows binaries. | |
| dbfb0718 » | macournoyer | 2008-01-05 | 214 | [Francis Cianfrocca]. | |
| edaaa848 » | macournoyer | 2008-01-04 | 215 | * Add -D option to thin script to set debugging on. | |
| 216 | * Output incoming data and response when debugging is on. | ||||
| bce0fabf » | macournoyer | 2008-01-04 | 217 | ||
| 35ec139c » | macournoyer | 2007-12-16 | 218 | == 0.5.0 | |
| 219 | * Full rewrite to use EventMachine, Rack and Mongrel parser | ||||
| 220 | |||||
| 13bb0c16 » | macournoyer | 2007-12-05 | 221 | == 0.4.1 | |
| 222 | * Fix Rails environment option not being used in thin script. | ||||
| 223 | |||||
| 2a00b0f3 » | macournoyer | 2007-12-03 | 224 | == 0.4.0 | |
| 6134e439 » | kevwil | 2008-01-16 | 225 | * First alphaish release as a gem. | |


