=head1 NAME Changes - Apache mod_perl change logfile =head1 CHANGES all changes without author attribution are by Doug MacEachern =over 3 =item 1.99_08 - January 10, 2003 Correct ModPerl::RegistryCooker to reset %INC, after compile for .pl files which don't declare the package + add tests to check that [Stas] Log the real error message when Foo::Bar::sub_name fails to resolve, because of a problem in Foo::Bar, when Foo::Bar *was* found [Stas] Add PerlPreConnectionHandler support in Apache::Test [Stas] Enable PerlPreConnectionHandler [Stas] Support the Host: request header in Apache::TestClient [Stas] restore the ModPerl::RegistryLoader::new() method for backwards compatibility [Stas] port the support for NameWithVirtualHost in ModPerl::RegistryCooker and ModPerl::RegistryLoader [Stas] fix the handling of the return status in ModPerl::RegistryCooker, add a test to verify that [Stas] under non-threaded perl need to check whether mod_perl is running, when modperl_vhost_is_running check is done. [Stas] fix $r->read to read all the requested amount of data if possible, adjust the test TestApache::read to verify that [Stas] fix the method content() in Apache::compat to read a whole request body. same for ModPerl::Test::read_post. add tests. [Stas] Adjust the reverse filter test to work on win32 (remove trailing \r) [Randy Kobes ] Strongly suggest win32 users to upgrade to 5.8.0, if they run 5.6.x [Randy Kobes ] When installing the mod_perl shared object, first need to check whether the directory 'modules' already exists, and create it if not. [Randy Kobes ] Add a capability to tune the test configuration sections ordering in Apache::TestConfigPerl [Stas Bekman] fix the complaining code about late PerlSwitches when PerlLoadModule is used before it [Stas Bekman] add various tests that exercise PerlLoadModule and vhosts [Stas Bekman] handle correctly PerlLoadModules (directives) with vhosts: - handle gracefully cases when things are undef/NULL - handle the case when scfg==NULL, by stealing the base_servers's config [Stas Bekman] make mod_perl work with vhosts when the server is started prior to post_config(): - call modperl_init_globals as early as possible, because the main server record is needed during the configuration parsing, for perlloadmodule and vhosts - also make sure that we are using a real base_server, when dealing with modperl_init, and if not retrieve it from the global record [Stas Bekman] prevent segfaults, when scfg is NULL in Apache::Module->get_config(); [Stas Bekman] ensure that a core file is a file indeed, before complaining [Philippe M. Chiasson ] add $r->as_string [Geoffrey Young] add backcompat vars: $Apache::Server::CWD and $Apache::Server::AddPerlVersion [Stas Bekman] env var MOD_PERL_TRACE is working again [Stas Bekman] add a new test TestDirective::perlloadmodule2, which performs a more evolved merging. [Stas Bekman] fix Apache::TestConfigPerl under mod_perl 1.0, need to require mod_perl.pm before using $mod_perl::VERSION [Geoffrey Young ] add an Apache::SIG backcompat stub to Apache::compat [Stas Bekman] fix the Apache::TestConfigPerl's run_apache_test_config() function where test packages are scanned for the magic APACHE_TEST_CONFIGURE and if found get require()'d. Apache2 needs to be run for mod_perl 2.0. [Stas Bekman] move the custom mod_perl 2.0 configuration bits out of the ModPerl::TestRun, where they don't belong, into a special config file which is included at the very end of httpd.conf [Stas Bekman] extend Apache::Test to allow extra configuration files to be included at the very end of httpd.conf, when everything was loaded and configured [Stas Bekman] resolve a segfault in Apache::Module::get_config() for the edge case when the package name is bogus. [Stas Bekman] Apache::Reload: add support for watching and reloading modules only in specified sub-dirs [Harry Danilevsky ] enable APR.pm's linking for apr 0.9.2 and higher, which uses a new lib naming scheme, such as libapr-0.so.0.9.2, only if apr-config and apu-config scripts exist. [Stas Bekman] define IoTYPE_RDONLY/IoTYPE_WRONLY for perl-5.6.0 so the project compiles again under 5.6.0 [Stas Bekman] allow output streaming filters to append data to the end of the stream [Stas Bekman] fixes to compile with ActivePerl 5.8 beta [Randy Kobes ] fix for directive handlers within vhosts using threaded MPMs [Stephen Clouse ] fix support default AuthType to Basic if not set in $r->get_basic_auth_pw() [Philippe M. Chiasson ] workaround glibc/Perl-5.8.0 crypt() bug (seen with threaded MPMs) fix delete $ENV{$key} bug fix parse_args compat method to support non-ascii characters and tr/+/ / [Walery Studennikov ] fix post_connection compat method to behave as it did in 1.x [Geoff Young ] add support for setting $r->auth_name and $r->auth_type [Philippe M. Chiasson ] add Apache->httpd_conf compat method [Philippe M. Chiasson ] add default handler Apache::PerlSection. make blocks to be EXEC_ON_READ so apache does not parse the contents. add "Perl" directive for general use and for which sections are stuffed into. [Philippe M. Chiasson ] rename overloaded LoadModule directive to PerlLoadModule and adjust the test naming =item 1.99_07 - September 25, 2002 fix =pod directive test config problem [Philippe M. Chiasson ] =item 1.99_06 - September 25, 2002 add support for pod directives (=pod,=back,=cut) and __END__ directive [Philippe M. Chiasson ] tweaks to support Test.pm 1.21 [Philippe M. Chiasson ] add $r->add_config method to add dynamic configuration at request time add Apache::DIR_MAGIC_TYPE constant add support for directive handlers fix source_scan to run with current httpd/apr add Apache::Server->add_config method to add dynamic configuration at server startup time add Apache::Directive->to_string method add support for pluggable sections fix compilation probs with get_remote_host() that had a wrong prototype [Stas Bekman] Apache::SubProcess now has a manpage [Stas Bekman] fix the Apache::SubProcess tests to work with perlio-disabled Perl [Stas Bekman] fix the filehandle leak in APR::PerlIO (both perlio-disabled and perlio-enabled Perl) [Stas Bekman] remove dup() when converting filehandles from apr_file_t to FILE* under perlio-disabled Perl (APR::PerlIO) [Stas Bekman] fix compilation if apache/apr do not have thread support =item 1.99_05 - August 20, 2002 fix PerlOptions +ParseHeaders to only parse once per-request add external redirects Registry tests [Stas Bekman] get rid of the compat layer in ModPerl-Registry [Stas Bekman] ModPerl::RegistryLoader is now fully operational and tested [Stas Bekman] Registry method handlers are now working [Stas Bekman] core Registry packages all compile the scripts into ModPerl::RegistryROOT:: namespace and cache them in %ModPerl::RegistryCache. Both overridable by the sub-classes. [Stas Bekman] compat tests were split into groups by functionality, send_fd test moved to compat. [Stas Bekman] added $c->get_remote_host and a compat wrapper $r->get_remote_host + tests [Stas Bekman] adjust the build system to support mod_perl build from the source tree. [Stas Bekman] ModPerl::RegistryCooker syncs with mod_perl 1.0's registry: - prototypes defined checks in flush_namespace [Yair Lenga ] - set error-notes on error [Geoff Young ] - preserve status in Registry scripts [Geoff Young ] apr_table_t is now an opaque type, use apr_table_elts() to get the array record [Stas Bekman] add support for redirects with PerlOptions +ParseHeaders backport to 2.0.35 adjust to filter register api change added APR::ThreadMutex module =item 1.99_04 - June 21, 2002 various APR PerlIO updates [Stas Bekman] stop using an apr_pool_t to allocate items for the interpreter pool, safer for threaded MPMs and prevents "leaks" when interpreters are removed from due to PerlInterpMax{Requests,Spare} implement modperl_sys_dlclose() to avoid apr/pool overhead/thread issues get the -DPERL_CORE optimization working again PERL_SET_CONTEXT to the parent interpreter when cloning interpreters at request time, else dTHX might be NULL during clone in the given thread, which would crash the server. =item 1.99_03 - June 15, 2002 win32 fix for the global Apache->request object to make sure it uses the thread local storage mechanism add a reference count mechanism to interpreters for use in threaded MPMs, so if APR::Pool cleanups have been registered the interpreter is not putback into the interpreter pool until all cleanups have run. unbuffer STDERR (by turning on autoflush by default) add support for Perl*Handler +Apache::Foo fix open_logs,post_config,child_init hooks to run in the proper order adjust to apr_bucket_type_t changes in 2.0.37-dev [Mladen Turk ] add MODPERL2 config define, as if the server had been started with -DMODPERL2 compat additions and fixes: $r->lookup_{file,uri}, $r->is_main, Apache->define added compat for Apache::log_error [Stas Bekman] =item 1.99_02 - June 1, 2002 pass the PATH and TZ environment variables at startup by default as 1.xx did fix ModPerl::Util::exit segv with 5.6.0 no longer support 5.7.x perl development versions added compat for Apache::Table->new various fixes to compile/run on darwin server-scope Perl{Set,Pass}Env config now propagated to %ENV at startup use SvOK(sv) instead of sv == &PL_sv_undef to detect undef values in xs [Stephen Clouse ] complete Apache::Util 1.x compat added Apache::MPM_IS_THREADED constant added compat function for Apache::Constants::SERVER_VERSION added Apache::Constants::export stub for compat added noop stubs for timeout functions removed from 2.0: $r->{soft,hard,reset,kill}_timeout turned on PerlOptions +GlobalRequest by default for perl-script handler unless it is explicitly turned off with PerlOptions -GlobalRequest added APR::OS::thread_current function added support for 1.x $r->subprocess_env functionality added support for $r->push_handlers(PerlHandler => ...) added support for $r->proxyreq to detect proxy requests $r->content_type($val) now calls ap_set_content_type underneath add the err_header_out() wrapper to Apache::compat + corresponding tests [Stas Bekman] fix $r->dir_config lookup of values set in the server context added Apache::REDIRECT shortcut constant various fixes for method handlers use Apache::ServerUtil in Apache::compat so Apache->server works in compat mode [Dave Rolsky ] add Apache::Util::unescape_uri alias to Apache::unescape_url in Apache::compat change Apache::unescape_url to return the escaped url as 1.x does disabled term coloring by default (enable with env var APACHE_TEST_COLOR=1) fix for APR::IpSubnet->new to check return status apr_ipsubnet_create enabled APR::SockAddr module turn on binmode for filehandle used in $r->send_fd get MP_{TRACE,DEBUG} Makefile.PL options working on win32 various fixes to build/run with bleedperl various fixes for win32 to get make test passing moved constuct_{url,server} methods to Apache::URI module implement Apache::URI::parse in Apache::compat give Perl*Handlers precedence over other handlers by using APR_HOOK_FIRST rather than APR_HOOK_LAST workaround bug in 5.6.1 when XSLoader loads DynaLoader, wiping out any dl handles it had been keeping track of. tidy up test to run standalone (without modperl test config) [Stas Bekman] override T_PTROBJ INPUT typemap to croak if object is not a blessed reference, to prevent possible segv from e.g. Apache::Server->process apr_lock.h is gone; disable APR::Lock for the moment enabled the Apache::Process module fix ModPerl::Util::exit to clear $@ before calling Perl_croak cut down on some build noise fix 'PerlOptions +GlobalRequest' when used within subrequests get rid of some "subroutine redefined" warnings in ModPerl::MM that show up with newer bleedperls. a few fixes for Apache::compat [Dave Rolsky ] =item 1.99_01 - April 6, 2002 First public release of mod_perl-2.0-tobe. =back =cut