=== clogger 0.8.0 - delegating away! / 2011-01-21 09:09 UTC Clogger now delegates all unknown methods to the response body in cases where it needs to wrap the response body. This allows apps that use non-standard Rack extensions to continue working. Eric Wong (4): pass along "to_io" calls to the body delegate method_missing calls to the response body pure: simpler autoload trigger switch to pkg.mk for maintenance tasks === clogger 0.7.0 - portability improvements, cleanups / 2011-01-15 00:39 UTC Broken/crazy systems without CLOCK_MONOTONIC (in varying degrees) and/or clock_gettime() should be supported by using gettimeofday(). Thanks to Lawrence Pit for reporting and helping us test. The Clogger::ToPath proxy class is gone, Clogger itself can proxy to_path/close calls correctly to the response body. $time_utc with a default strftime-format is now supported, and time formats can now be arbitrarily long in the C extension. === clogger 0.6.0 - :path shortcut, minor bugfixes / 2010-12-25 09:28 UTC 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. === clogger 0.5.0 - body.to_path forwarding / 2010-06-06 07:59 UTC 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 === clogger 0.4.0 / 2010-04-21 23:54 UTC 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 === clogger 0.3.2 / 2010-02-13 09:48 UTC 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. === clogger 0.3.1 / 2010-02-13 09:38 UTC 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. === clogger 0.3.0 / 2010-02-09 22:04 UTC 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. === clogger 0.2.0 / 2010-01-07 02:03 UTC 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. === clogger 0.1.0 / 2009-10-06 20:49 UTC 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 === clogger 0.0.7 / 2009-09-09 17:13 UTC We now properly handle bodies that do not respond to the :close method. Additionally there small documentation/formatting fixes. === clogger 0.0.6 / 2009-09-07 23:59 UTC "clogger_ext" is no longer a separate gem, but merged into the "clogger" gem itself. The installation should automatically detect compatible versions of Ruby and only build the C extension for MRI 1.8/1.9. Rack::Utils::HeaderHash is now used for $sent_http_* variable lookups instead of a hand-rolled solution. HeaderHash objects should be reusable in Rack soon to avoid the penalty of recreating them repeatedly in middlewares and hopefully more-widely used as a result. Underlying logger objects are sync=true for safety reasons. This has always been the case for the C extension version when writing to regular files. Other small changes include more CGI variables and the :ORS (output record separator) option added (default: "\n"). === clogger 0.0.5 / 2009-09-03 01:45 UTC The following variables are now exposed: $request_method, $content_length and $content_type. Additionally, attempts to use $http_content_length or $http_content_type will be remapped to use the non-"$http_"-prefixed variable instead since the "$http_"-variants of those variables is not allowed by Rack. === clogger 0.0.4 / 2009-09-02 08:04 UTC The pure Ruby version now escapes with uppercase A-F characters to match nginx log output. There are now extra checks against badly behaving Rack applications and 500 errors will be logged before TypeError is raised if the application response does not conform (minimally) to Rack expectations. Finally, handling of $request (requests without "HTTP_VERSION" set in the Rack env) should now be logged correctly without unnecessary trailing characters. Hackers: the primary git repository has been moved to git://git.bogomips.org/clogger.git for now since I'm having issues with pushing to Rubyforge (seems related to Support Requests item #26185). === clogger 0.0.3 / 2009-08-29 23:20 UTC The MRI extension clogger_ext gets GC bug fix and cleanups/robustness improvements. It should now be more tolerant of misbehaving applications in that it'll be less likely to segfault. No changes to the (recommended) pure implementation. === clogger 0.0.2 / 2009-08-29 20:53 UTC The $request_uri variable (as documented in the README) is now implemented. Those using C extension could potentially segfault if the app returned an invalid response; we now log 500 errors in their place. === clogger 0.0.1 / 2009-08-29 04:47 UTC initial release