Release Notes: The time-out bug hitting Linux users since 1.3.9 due to speculative I/O was finally identified and fixed. Users of 1.3.9 or 1.3.10 should either upgrade or disable sepoll as a workaround.
Release Notes: Several bugs introduced with speculative I/O were fixed, as well as another rare one on TCP. Support for URI hashing and SMTP health checks was added. The heavy rbtree was replaced with a faster ul2tree, giving about a 5% performance boost. A new framework to implement ACLs was written, with a preliminary support for IP, port, and URI criteria. Users of 1.3.9 on Linux should really upgrade to fix issues caused by speculative I/O.
Release Notes: The polling mechanisms have been modularized. Support has been implemented for kqueue() on FreeBSD/OpenBSD/MacOS X. The concept of speculative I/O around Linux epoll() has been introduced, providing a net performance gain of about 10%. There are several minor cleanups.
Release Notes: A major bug introduced in 1.3.6 caused the process to occasionally crash soon after a request method and/or URI has been rewritten. A minor bug made it impossible to rewrite the response's status line. Users of 1.3.6 and later are strongly encouraged to upgrade.
Release Notes: Adding headers did not work if "option httpclose" was not set. Do not try to emit a log when no log server is defined. Minor speed improvements were made due to some cleanups. A vim script for syntax highlighting is provided.
Release Notes: Multiple crash bugs have been fixed. This release completes the content-switching implementation by processing the HTTP response. Several optimizations will noticeably reduce CPU load when approaching Gigabit/s. Support has been added for Mac OS 10.4. There are more user-friendly error messages with better hints. There are various other features and improvements.
Release Notes: A backport of the stable rbtree-based scheduler for improved performance with thousands of connections. Support for user/group in addition to UID/GID. Better integration with Stunnel by exempting certain IP addresses from x-forwarded-for. Support for multi-line headers has been reimplemented. There are various fixes, as well as useful updates to the architecture manual. High-bandwidth sites are encouraged to upgrade.
Release Notes: A missing pointer assignment in the new HTTP parser made it possible for anybody to remotely crash version 1.3.6 by sending a request containing an empty header. All 1.3.6 users must upgrade. A missing include that broke building on FreeBSD has been fixed.
Release Notes: The HTTP parser FSM has been rewritten for better accuracy and increased speed. Parsing a full request to Freshmeat now takes 2 microseconds on a 1.7 GHz Pentium. The stats page now supports the HEAD request. Some documentation was added. Several bugs were fixed. Many cleanups and optimizations were made. Upgrading is recommended for 1.3 users.
Release Notes: A new rbtree-based scheduler dramatically improves performance under extreme conditions. Support was added for kernel TCP splicing based on the Linux Layer7 Switching project. A document has been written about TCP splicing. A few minor fixups were made.