Date | Commit message (Collapse) |
|
Clogger may now be initialized with a :path instead of :logger
to avoid typing "::File" in config.ru files to avoid conflicting
with the completely-unrelated Rack::File.
$request_time is now uses the monotonic clock, making it immune
to system clock changes. $usec and $msec statements were
completely broken in the pure-Ruby code and now fixed.
Rubinius is supported by the optional C extension as well,
the pure-Ruby code always worked.
|
|
This release allows middleware like Rack::Contrib::Sendfile to
work properly higher up the stack from Clogger.
Certain configurations of the Rainbows! and Zbatery web servers
are able to use the return value of body.to_path to serve static
files efficiently (via IO.copy_stream under 1.9 or
stream_file_data with EventMachine).
There are some small cleanups and documentation improvements
as well.
I've relicensed to LGPLv2.1+ (from LGPLv3-only) to allow
bundling with GPLv2-only applications (I'm currently the sole
copyright holder).
Signed-off-by: Eric Wong <normalperson@yhbt.net>
|
|
Small cleanups and minor enhancements (mainly for the optional
C extension) for this release:
Eric Wong (10):
ext: use FIX macros instead of generic NUM macros if possible
ext: preserve subclasses of Rack::Utils::HeaderHash
test: fix Linux memory usage test
avoid direct require of "rack" to quiet warnings
ext: GC safety fix when throwing an exception
ext: eliminate unused variable
ext: fix signedness and shadow warnings
ext: sparse cleanups
ext: avoid void pointer arithmetic
clogger 0.4.0
|
|
This release fixes a memory leak in the optional C extension due to
misuse of the Ruby C API. Users of the pure Ruby version are
unaffected.
We also misreleased 0.3.1 with this fix, but without bumping the
Clogger::VERSION constant.
|
|
You may now force the :reentrant flag to +true+ or +false+ in
your Rack configuration file:
use Clogger,
:format => Clogger::Format::Combined,
:logger => ::File.open("/path/to/log", "ab"),
:reentrant => true
This is to be compatible with Rack servers that do not use use
events or Fibers for concurrency instead of threads. By
default, reentrancy is enabled if env["rack.multithread"] is
true, but "rack.multithread" cannot indicative of a reentrancy
requirement in a web server.
|
|
The optional C extension no longer tries to preserve the
original response array as it could become subtly broken by
people using non-frozen but constant responses. For the pure
Ruby version, there is a 1.9-encoding bugfix for response
size calculation.
|
|
This release should help ensure compatibility with a
to-be-released version of Rack::Lint that allows subclasses of
the core String and Hash objects for users of the optional C
extension.
Eric Wong (6):
ext: convert non-Hashes #to_hash if possible
ext: ensure all objects we byte_xs are Strings
tests for subclassing
gemspec: disable the license= field for older RubyGems
GNUmakefile: fix grammar FAIL in comment
cleanup packaging and website/rdoc
|
|
|