Date | Commit message (Collapse) |
|
In case I'm hit by a bus, the lesser evil is to allow the FSF
to update our license than to be stuck as LGPLv3-only in the
future.
Some documentation/gemspec formatting updates while I'm at it.
|
|
StringIO isn't a very realistic use case, and our changing
the length of a shared string causes errors on 32-bit.
|
|
:to_io never was a Rack extension, and ends up breaking the case
where an SSL socket is proxied. The role of :to_io in IO-like
objects is to aid IO.select and like methods.
|
|
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.
|
|
Rubyforge is going away on May 15, 2014.
|
|
Rubyforge about to be dead.
|
|
rb_thread_blocking_region is deprecated and will be removed
|
|
|
|
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.
|
|
RB_GC_GUARD is more explicit in intent.
|
|
We do not need it anymore
|
|
The fstat syscall should never take long, even on sockets and
slow FSes.
|
|
RAA is still dead.
|
|
RAA is dead
|
|
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.
|
|
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.
|
|
Because we do, and this is still what I end up using all of the
time (startup performance, and I understand C, not C++)
|
|
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 "<<"
|
|
Ruby 2.0.0preview1 is out, and we happen to be compatible
(with some harmless linker/build warnings)
|
|
1.8 did not support my preferred way of writing hashes
with symbol keys.
|
|
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.
|
|
It never /not/ worked under 1.9.3, but we should keep the
website up-to-date.
|
|
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.
|
|
It's easier-to-read with the concise syntax.
|
|
|
|
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_*)
|
|
These values are untrusted, so if any client sends them to us
we must escape them.
|
|
This matches the behavior of nginx 1.0.9
|
|
It's clearer that we have zero commercial intent
when using a non-profit .org domain for the mailing
list.
|
|
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.
|
|
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.
|
|
Some Ruby installs muck up headers/#defines and cause weirdness.
We now explicitly define _BSD_SOURCE and include #stdio.h
|
|
Could be useful for some folks.
|
|
LGPLv4 could be completely different, so we won't give
the FSF a blank check to force it upon us.
|
|
* $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
|
|
strftime() isn't locale-independent, so it can lead to
inconsistencies in logs.
|
|
This doesn't apply to people that use strftime()-formats,
but that's a minority.
|
|
This appeared in nginx 0.9.6
|
|
Braindamage from back in the day when I didn't understand mkmf
|
|
This allows using:
use Clogger, :format => :Rack_1_0
Instead of:
use Clogger, :format => Clogger::Format::Rack_1_0
|
|
Oops
|
|
|
|
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.
|
|
People shouldn't care, there have been no backwards-incompatible
changes in the UI and we're not a library people write code
against.
|
|
Unlikely, but it may make a difference somewhere...
|
|
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.
|
|
Unlikely, but some app could pass '\0' into us
|
|
|
|
Old git URLs still work, but new ones are shorter
|
|
Rubinius may be pickier about what a VALUE is, so we can't
safely cast any C address into VALUEs.
|