# Unicorn 0.95.0 - we \<3 Rainbows! and ponies too

**URL:** <https://www.ruby-forum.com/t/unicorn-0-95-0-we-3-rainbows-and-ponies-too/179021>\
**Category:** Ruby\
**Created:** [November 15, 2009, 11:35pm UTC](https://www.ruby-forum.com/t/unicorn-0-95-0-we-3-rainbows-and-ponies-too/179021 "2009-11-15T23:35:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ericw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/97f17d/32.png) [@ericw](https://www.ruby-forum.com/u/ericw)\
**Post date:** [November 15, 2009, 11:35pm UTC](https://www.ruby-forum.com/t/unicorn-0-95-0-we-3-rainbows-and-ponies-too/179021/1 "2009-11-15T23:35:03Z")

</div>

Unicorn is a HTTP server for Rack applications designed to only serve  
fast clients on low-latency, high-bandwidth connections and take  
advantage of features in Unix/Unix-like kernels. Slow clients should  
only be served by placing a reverse proxy capable of fully buffering  
both the the request and response in between Unicorn and slow clients.

- [http://unicorn.bogomips.org/](http://unicorn.bogomips.org/)
- removed\_email\_address@domain.invalid
- git://git.bogomips.org/unicorn.git

Changes:

Mostly internal cleanups and documentation updates. Irrelevant  
stacktraces from client disconnects/errors while reading  
“rack.input” are now cleared to avoid unnecessary noise. If  
user switching in workers is used, ownership of logs is now  
preserved when reopening worker logs (send USR1 only to the the  
master in this case). The timeout config no longer affects long  
after\_fork hooks or application startups.

New features include the addition of the :umask option for the  
“listen” config directive and error reporting for non-portable  
socket options.

No ponies have ever been harmed in our development.

Eric W. (28):  
unicorn.1: document RACK\_ENV changes in 0.94.0  
HACKING: update with “gmake” in examples  
don’t nuke children for long after\_fork and app loads  
local.mk.sample: steal some updates from Rainbows!  
Load Unicorn constants when building app  
tee\_input: fix RDoc argument definition for tee  
Add FAQ  
FAQ: fix links to Configurator docs  
tee\_input: better premature disconnect handling  
tee\_input: don’t shadow struct members  
raise Unicorn::ClientShutdown if client aborts in TeeInput  
tee\_input: fix comment from an intermediate commit  
FAQ: additional notes on getting HTTPS redirects right  
configurator: update RDoc and comments in examples  
bump version to 0.95.0pre  
configurator: listen :umask parameter for UNIX sockets  
preserve user/group ownership when reopening logs  
old\_rails/static: avoid freezing strings  
old\_rails: autoload Static  
const: no need to freeze HTTP\_EXPECT  
test\_server: ensure stderr is written to before reading  
tee\_input: expand client error handling  
replace “rescue =\> e” with “rescue Object =\> e”  
socket\_helper: do not hide errors when setting socket options  
socket\_helper: RDoc for constants  
ClientShutdown: RDoc  
Rakefile: add raa\_update task  
tee\_input: client\_error always raises
