[ANNOUNCE] mod_perl 1.99_18 (2.0.0-RC1)

[prev] [thread] [next] [Date index for 2004/12/13]

From: Philippe M. Chiasson
Subject: [ANNOUNCE] mod_perl 1.99_18 (2.0.0-RC1)
Date: 00:11 on 13 Dec 2004
--------------enigE2EB6D3E9D4DDAB6E55AA1C2
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

mod_perl 1.99_18 (2.0.0-RC1) is out: 

http://perl.apache.org/dist/mod_perl-2.0.0-RC1.tar.gz
http://perl.apache.org/dist/mod_perl-2.0.0-RC1.tar.gz.asc (gpg sig)

CPAN:

 file: $CPAN/authors/id/G/GO/GOZER/mod_perl-2.0.0-RC1.tar.gz
 size: 1401333 bytes
  md5: 6b3453396263cf0cdd3ae433eeadbedf

Changes since 1.99_17:

Fix x86_64 warnings in modperl_restart_count_*, due to casting between
integers and pointer types [Joe Orton]

open_logs and post_config handlers require the Apache::OK return code
or the server aborts, so we need to log an error in case the handler
didn't fail but returned something different from Apache::OK [Stas]

new function ModPerl::Util::current_perl_id() which returns something
like (.e.g 0x92ac760) (aTHX) under threaded mpm and 0 under
non-threaded perl (0x0). Useful for debugging modperl under threaded
perls.  [Stas]

make sure that modperl's internal post_config callback, which amongst
other things, cloning perl interpreters is running as
modperl_hook_post_config_last APR_HOOK_REALLY_LAST, which ensures that
user's post_config callbacks are run before the cloning. now the code
from config phase's startup.pl can be safely moved to the post_config
phase's equivalent. [Stas]

Further sync with libapr constants changes: [Stas] 
- the constants
 APR::(READ|WRITE|CREATE|APPEND|TRUNCATE|BINARY|EXCL|BUFFERED|DELONCLOSE)
 now have a prefix APR::FOPEN_ and moved group s/filemode/fopen/
- constants from the fileprot group moved to the fprot group and the
 prefix has changed: from APR::FILEPROT_ to APR::FPROT_
- this also fixes the import of APR_EXCL as an error constant

$r->print() and tied print() now return 0E0 (zero but true) when the
call was successful but for zero bytes.  [Geoffrey Young]

a new function Apache::ServerUtil::server_shutdown_cleanup_register to
register cleanups to be run at server shutdown. [Stas]

$bb->cleanup is no more segfaulting (was segfaulting due to a broken
prototype in APR, and consequently invalid XS glue code) [Randy Kobes,
Stas]

make sure that ABSPERLRUN and ABSPERLRUN are defined in
src/modules/perl/Makefile (needed by win32 build) [Stas]

For static builds, mod_perl header files were being installed
into apache's source tree instead of where apache installed it's
own headers [Gozer]

modperl_threads_started() wasn't working under static worker build,
due to MP_threads_started static variable not being reset on
restart. Now resetting it. [Stas]

@INC shrinking efforts: [Stas]
1) when adding $ServerRoot don't add the trailing / (as it ends up
twice when added by A-T w/o trailing /)
2) add $ServerRoot/lib/perl only if it actually exists

For static builds, we now run 'make clean' in httpd's source
tree before running ./configure if the source tree has been
configured before [Gozer]

Apache::SizeLimit ported [Perrin Harkins <perrin elem.com>]

create a new subpool modperl_server_user_pool (from
modperl_server_pool), which is used internally by
Apache::ServerUtil::server_restart_register. This ensures that
user-registered cleanups are run *before* perl's internals cleanups
are run. (previously there was a problem with non-threaded perls which
were segfaulting on user cleanups, since perl was already gone by that
time). [Stas]

Starting from ExtUtils::MakeMaker 6.22 it no longer generates
pm_to_blib target, but pm_to_blib.ts, so needed to fix the glue_pod
target, so install will work correctly [Stas]

Apache::RequestUtil : $r->child_terminate() implemented for
non-threaded MPMs. [Gozer]

new API Apache::ServerUtil::restart_count() which can be used to tell
whether the server is starting/restarting/gracefully
restarting/etc. Based on this feature implement
$Apache::Server::Starting and $Apache::Server::ReStarting in
Apache::compat [Stas]

Apache::Resource ported to mp2 [Stas]

If none of MP_APXS, MP_AP_PREFIX and MP_USE_STATIC were specified when
configuring Makefile.PL, we now prompt for APXS path first and only if
that fails ask for MP_AP_PREFIX. This is a requirement to get 'make
test' find httpd. [Stas]

Dynamically prompt and add MP_INST_APACHE2=1 when installing on
systems with mod_perl 1 preinstalled. [Stas]

fix the logging call in RegistryCooker [Lars Eggert <lars.eggert
netlab.nec.de>]

fix $r->filename in Apache::compat to update the finfo struct (which
is how it worked in mp1) [Stas]

enclose all occurences of eval_* with ENTER;SAVETMPS;
... FREETMPS;LEAVE; previously things just happened to work, due to
external scopes which was not very reliable and some change could
introduce obsure bugs. [Stas]

in case a native apache response filter is configured outside the
<Location> block with PerlSet*Filter directive, make sure that
mod_perl doesn't try to add it as connection filter (previously was
logging an error like: [error] a content filter was added without a
request: includes) [Stas]

replace the slow implementation of anon handlers using B::Deparse,
with per-interpreter cache of compiled CODE refs (sort of emulating
named subroutines for anonymous handlers) [Stas].

avoid segfaults when a bogus $r object is used [Stas]

Remove magicness of PerlLoadModule and implement Apache::Module::add()
for modules that implement their own configuration directives [Gozer]

Apache::Connection::remote_ip is now settable (needed to set the
remote_ip record based on proxy's X-Forwarded-For header) [Stas]

Fix Modperl::Util::unload_package() [Gozer]
 - Mistakenly skipping small entries of size 2 and less
 - Leave entries from other packages alone

$filter->remove now works with native (non-modperl) filters + test
[Torsten Förtsch <torsten.foertsch gmx.net>]

--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/     F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5


--------------enigE2EB6D3E9D4DDAB6E55AA1C2
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBvN5DyzKhB4jDpaURAlg4AJ0WzhXYIU0Q+K0TUp2bivW8mhjMlQCeJHXu
tmYlx7juNNFE8+U/OGtdM8w=
=1vod
-----END PGP SIGNATURE-----

--------------enigE2EB6D3E9D4DDAB6E55AA1C2--

[ANNOUNCE] mod_perl 1.99_18 (2.0.0-RC1)
Philippe M. Chiasson 00:11 on 13 Dec 2004

Generated at 11:26 on 21 Dec 2004 by mariachi v0.52