# Unicorn 0.92.0

**URL:** <https://www.ruby-forum.com/t/unicorn-0-92-0/175753>\
**Category:** Ruby\
**Created:** [September 19, 2009, 12:21am UTC](https://www.ruby-forum.com/t/unicorn-0-92-0/175753 "2009-09-19T00:21:15Z")\
**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:** [September 19, 2009, 12:21am UTC](https://www.ruby-forum.com/t/unicorn-0-92-0/175753/1 "2009-09-19T00:21:15Z")

</div>

Unicorn is a Rack HTTP server for Unix and fast clients

Small fixes and documentation are the focus of this release.

James Golick reported and helped me track down a bug that caused  
SIGHUP to drop the default listener (0.0.0.0:8080) if and only  
if listeners were completely unspecified in both the  
command-line and Unicorn config file. The Unicorn config file  
remains the recommended option for specifying listeners as it  
allows fine-tuning of the :backlog, :rcvbuf, :sndbuf,  
:tcp\_nopush, and :tcp\_nodelay options.

There are some documentation (and resulting website)  
improvements. setup.rb users will notice the new section 1  
manpages for `unicorn` and `unicorn_rails`, Rubygems users  
will have to install manpages manually or use the website.

Edit: That’s not entirely true, I screwed up the package but  
you can get them from [http://unicorn.bogomips.org/unicorn.1](http://unicorn.bogomips.org/unicorn.1)  
and [http://unicorn.bogomips.org/unicorn\_rails.1](http://unicorn.bogomips.org/unicorn_rails.1)

The HTTP parser got a 3rd-party code review which resulted in  
some cleanups and one insignificant bugfix as a result.

Additionally, the HTTP parser compiles, runs and passes unit  
tests under Rubinius. The pure-Ruby parts still do not work yet  
and we currently lack the resources/interest to pursue this  
further but help will be gladly accepted.

The website now has an Atom feed for new release announcements.  
Those unfamiliar with Atom or HTTP may finger removed\_email\_address@domain.invalid  
for the latest announcements.

Eric W. (53):  
README: update with current version  
http: cleanup and avoid potential signedness warning  
http: clarify the setting of the actual header in the hash  
http: switch to macros for bitflag handling  
http: refactor keepalive tracking to functions  
http: use explicit elses for readability  
http: remove needless goto  
http: extra assertion when advancing p manually  
http: verbose assertions  
http: NIL\_P(var) instead of var == Qnil  
http: rb\_gc\_mark already ignores immediates  
http: ignore Host: continuation lines with absolute URIs  
doc/SIGNALS: fix the no-longer-true bit about socket options  
“encoding: binary” comments for all sources (1.9)  
http\_response: don’t “rescue nil” for body.close  
CONTRIBUTORS: fix capitalization for why  
http: support Rubies without the OBJ\_FROZEN macro  
http: define OFFT2NUM macro on Rubies without it  
http: no-op rb\_str\_modify() for Rubies without it  
http: compile with -fPIC  
http: use rb\_str\_{update,flush} if available  
http: create a new string buffer on empty values  
Update documentation for Rubinius support status  
http: cleanup assertion for memoized header strings  
http: add #endif comment labels where appropriate  
Add .mailmap file for “git shortlog” and other tools  
Update Manifest with mailmap  
Fix comment about speculative accept()  
SIGNALS: use “Unicorn” when referring to the web server  
Add new Documentation section for manpages  
test\_exec: add extra tests for HUP and preload\_app  
socket\_helper: (FreeBSD) don’t freeze the accept filter constant  
Avoid freezing objects that don’t benefit from it  
SIGHUP no longer drops lone, default listener  
doc: generate ChangeLog and NEWS file for RDoc  
Remove Echoe and roll our own packaging/release…  
unicorn\_rails: close parentheses in help message  
launchers: deprecate ambiguous -P/–p\* switches  
man1/unicorn: avoid unnecessary emphasis  
Add unicorn\_rails(1) manpage  
Documentation: don’t force --rsyncable flag with gzip(1)  
Simplify and standardize manpages build/install  
GNUmakefile: package .tgz includes all generated files  
doc: begin integration of HTML manpages into RDoc  
Update TODO  
html: add Atom feeds  
doc: latest news is available through finger  
NEWS.atom: file timestamp matches latest entry  
pandoc needs the standalone switch for manpages  
man1/unicorn: split out RACK ENVIRONMENT section  
man1/unicorn\_rails: fix unescaped underscore  
NEWS.atom.xml only lists the first 10 entries  
unicorn 0.92.0

- site: [http://unicorn.bogomips.org/](http://unicorn.bogomips.org/)
- git: git://git.bogomips.org/unicorn.git
- cgit: [Rack HTTP server for Unix and fast clients](http://git.bogomips.org/cgit/unicorn.git/)
- list: removed\_email\_address@domain.invalid
- nntp: nntp://news.gmane.org/gmane.comp.lang.ruby.unicorn.general
- finger: removed\_email\_address@domain.invalid
