about summary refs log tree commit homepage
DateCommit message (Collapse)
2014-05-12clogger 1.4.0 - updated website URL, cleanups v1.4.0
This updates the documentation to point to the new homepage at http://clogger.bogomips.org/ This also fixes a minor incompatibility which prevented the GVL from being released on ruby-trunk (2.2.0dev) during disk operations. The mailing list continues to be hosted at librelist, but that will probably soon change to a public-inbox + mailing list. There are also minor code cleanups.
2014-05-12update docs for rubyforge death
Rubyforge is going away on May 15, 2014.
2014-05-06Add script for redirecting to clogger.bogomips.org
Rubyforge about to be dead.
2014-02-15use rb_thread_call_without_gvl for Ruby 2+
rb_thread_blocking_region is deprecated and will be removed
2014-02-15remove each_id, it was never used
2014-02-15prevent potential premature GC in byte_xs
If we convert an object to string, there is a potential the compiler may optimize away the converted string if escaping is needed. Prevent that with RB_GC_GUARD.
2014-02-15use RB_GC_GUARD instead of volatile
RB_GC_GUARD is more explicit in intent.
2014-02-15remove unused RARRAY_PTR macro
We do not need it anymore
2014-02-15blocking_helpers: remove fstat wrapper
The fstat syscall should never take long, even on sockets and slow FSes.
2013-09-30GNUmakefile: kill raa_update invocation
RAA is still dead.
2013-09-26Rakefile: kill task to update RAA
RAA is dead
2013-09-26clogger 1.3.0 - avoid RARRAY_PTR usage v1.3.0
This release only affects users of the C extension. Users of the pure Ruby code are not affected. * avoid RARRAY_PTR usage for RGenGC in Ruby 2.1.0 I have not benchmarked this, but this is unlikely to be a bottleneck at all in older Rubies. It results in a smaller binary, too, which will help with icache bloat. This should also improve performance under Rubinius, too.
2013-09-26ext: avoid RARRAY_PTR usage for RGenGC in Ruby 2.1.0
I have not benchmarked this, but this is unlikely to be a bottleneck at all in older Rubies. It results in a smaller binary, too, which will help with icache bloat. This should also improve performance under Rubinius, too.
2013-09-26README: indicate we support all versions of C Ruby
Because we do, and this is still what I end up using all of the time (startup performance, and I understand C, not C++)
2012-11-06clogger 1.2.0 - small bug and compatibility fixes v1.2.0
This release enables the optional C extension on MRI Ruby 2.0.0 (and any other platform that builds C extensions). For rare setups which do not specify a :logger or :path parameter for Clogger#initialize, we are now Rack::Lint compliant and call #write on env["rack.errors"] instead of "<<"
2012-11-06ext: enable C extension under Ruby 2.0.0
Ruby 2.0.0preview1 is out, and we happen to be compatible (with some harmless linker/build warnings)
2012-11-06test_clogger: fix Ruby 1.8 test compatibility
1.8 did not support my preferred way of writing hashes with symbol keys.
2012-11-02avoid calling "<<" on env["rack.errors"]
Rack::Lint::ErrorWrapper forbids the "<<" method. This fallback only comes into play when no log destination (via :logger or :path) is specified and is rarely an issue in real setups.
2012-06-08README: update for Ruby 1.9.3 support status
It never /not/ worked under 1.9.3, but we should keep the website up-to-date.
2012-06-08test case to simulate Rack::BodyProxy usage pattern
The use of Rack::BodyProxy#method_missing causes failures under mainline Ruby 1.9.2 and 1.9.1, but not 1.9.3. This test case exists to document this (now-fixed) bug for users stuck on older Rubies. On a side note, our usage of rb_iterate() should be rewritten to use rb_block_call() as rb_iterate() is deprecated in 1.9. A Ruby 1.9.2-p290 user privately reported this issue.
2012-05-08README: updated to use concise format syntax
It's easier-to-read with the concise syntax.
2011-12-06pkg.mk update
2011-12-05clogger 1.1.0 - more escaping! v1.1.0
This release fixes potential vulnerabilities when escape sequences are viewed in certain terminals. The 0x7F-0xFF byte range is escaped to match behavior of nginx 1.0.9+, as some character sets may have escape characters in that range. $cookie_* values are now escaped to be consistent with the behavior of the $http_cookie value. All users of $cookie_* in their log format must upgrade (of course there may be no Clogger users other than myself, and I don't use $cookie_*)
2011-12-05escape individual cookie values from $cookie_*
These values are untrusted, so if any client sends them to us we must escape them.
2011-12-05escape bytes in the 0x7F-0xFF range, too
This matches the behavior of nginx 1.0.9
2011-07-22use librelist.org for mailing list address
It's clearer that we have zero commercial intent when using a non-profit .org domain for the mailing list.
2011-07-20ext: note we rely on GVL for reentrancy detection
Nothing wrong with the GVL in Ruby 1.9.3; but we'll need to modify our code if it's removed for C extensions.
2011-06-22clogger 1.0.1 - portability fixes v1.0.1
Minor portability fixes noticed on some systems. There is a minor license change, it is now explicitly LGPLv2.1 and LGPLv3 and later versions at the project leader's discretion. It is no longer LGPLv2.1+, so it doesn't give a blank check to the FSF to change the license on us.
2011-06-22ext: fix portability defines for some installs
Some Ruby installs muck up headers/#defines and cause weirdness. We now explicitly define _BSD_SOURCE and include #stdio.h
2011-05-11tests: add full URL example
Could be useful for some folks.
2011-04-26change from LGPLv2.1+ to LGPLv2.1 + LGPLv3
LGPLv4 could be completely different, so we won't give the FSF a blank check to force it upon us.
2011-04-21clogger 1.0.0 - \o/ v1.0.0
* $time_iso8601 added for nginx compatibility * $time_local (without strftime-options) is now locale-independent There's also a minor usability tweak that allows Symbols to be specified as the :format argument, so config.ru can be shortened: before (continues to work with 1.0.0): use Clogger, :format => Clogger::Format::Rack_1_0 after: use Clogger, :format => :Rack_1_0
2011-04-19README: stop promoting strftime()-compatible formats
strftime() isn't locale-independent, so it can lead to inconsistencies in logs.
2011-04-19$time_local and $time_utc are locale-independent
This doesn't apply to people that use strftime()-formats, but that's a minority.
2011-04-16add support for $time_iso8601 format
This appeared in nginx 0.9.6
2011-03-21extconf: unnecessary dir_config statement
Braindamage from back in the day when I didn't understand mkmf
2011-03-16:format may be a Symbol for less typing
This allows using: use Clogger, :format => :Rack_1_0 Instead of: use Clogger, :format => Clogger::Format::Rack_1_0
2011-03-16fix documentation of Clogger.new for :path
Oops
2011-03-15README: misspelled "discusssion"
2011-03-15clogger 0.9.0 - configurable logging for Rack v0.9.0
Under 1.9, we always release the GVL for filesystem operations now to avoid worst case scenarios. This may hurt performance for some folks with bad locking implementations and extremely fast filesystems. A couple of minor cleanups, too.
2011-03-15clogger: remove VERSION constant
People shouldn't care, there have been no backwards-incompatible changes in the UI and we're not a library people write code against.
2011-03-13avoid potential RString -> C-string conversions
Unlikely, but it may make a difference somewhere...
2011-03-13release GVL for filesystem operations
While local filesystems are usually very fast, we are pessimistic and should prepare for worst-case scenarios. This can use rb_thread_io_blocking_region() under Ruby 1.9.3dev.
2011-03-13ext: ensure path is a valid C string
Unlikely, but some app could pass '\0' into us
2011-03-13update pkg.mk
2011-03-04doc: bogomips.org URL diet
Old git URLs still work, but new ones are shorter
2011-03-04ext: avoid potentially unsafe casts with C API
Rubinius may be pickier about what a VALUE is, so we can't safely cast any C address into VALUEs.
2011-01-27pkg.mk: update in case we get rid of C ext
2011-01-21clogger 0.8.0 - delegating away! v0.8.0
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
2011-01-21switch to pkg.mk for maintenance tasks
I like make :D