The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.99_05

  • 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 <yair.lenga@citigroup.com>
    • set error-notes on error [Geoff Young <geoff@modperlcookbook.org>]
    • preserve status in Registry scripts [Geoff Young <geoff@modperlcookbook.org>]
  • 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

Changes for version 1.99_04

  • 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.

Changes for version 1.99_03

  • 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 <mturk@mappingsoft.com>
    • 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]

Changes for version 1.99_02

  • 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 <stephenc@theiqgroup.com>
    • 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 <autarch@urth.org>]
    • 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 <autarch@urth.org>]

Changes for version 1.99_01

  • First public release of mod_perl-2.0-tobe.
  • =back
  • =cut

Documentation

Run unaltered CGI scripts under mod_perl
Run unaltered CGI scripts persistently under mod_perl
Run unaltered CGI scripts persistently under mod_perl
Cook mod_perl 2.0 Registry Modules
Compile ModPerl::RegistryCooker scripts at server startup
An APR Perl IO layer
A Perl API for manipulating opaque string-content table
Perl API for Apache Logging Methods
Reload Perl Modules when Changed on Disk
A Perl API for Apache request object
Methods for work with Apache::Server object
1.0 backward compatibility functions deprecated in 2.0

Modules

Test.pm wrapper with helpers for testing Apache
Test Configuration setup module
Special Tests Sequence Failure Finder
Utility functions for writing tests
A bundle to install all Apache-Test related modules
A Base Class of all mod_perl Registry Modules
Methods for locating and parsing bits of Apache source code
Generate mod_perl glue code
Functions to retrieve mod_perl specific env information.

Provides

APR
in xs/APR/APR/APR.pm
in xs/APR/Const/Const.pm
in xs/APR/PerlIO/PerlIO.pm
in lib/APR/XSLoader.pm
in lib/Apache/compat.pm
in lib/Apache2.pm
in xs/Apache/Const/Const.pm
in lib/Apache/compat.pm
in xs/tables/current/Apache/ConstantsTable.pm
in lib/Apache/compat.pm
in xs/tables/current/Apache/FunctionTable.pm
in lib/Apache/ParseSource.pm
in lib/Apache/ParseSource.pm
in lib/Apache/Reload.pm
in lib/Apache/compat.pm
in lib/Apache/SourceTables.pm
in xs/tables/current/Apache/StructureTable.pm
in lib/Apache/compat.pm
in Apache-Test/lib/Apache/Test5005compat.pm
in Apache-Test/lib/Apache/TestBuild.pm
in Apache-Test/lib/Apache/TestClient.pm
in Apache-Test/lib/Apache/TestClient.pm
in Apache-Test/lib/Apache/TestCommon.pm
in Apache-Test/lib/Apache/TestCommonPost.pm
in Apache-Test/lib/Apache/TestConfigC.pm
in Apache-Test/lib/Apache/TestConfigParse.pm
in Apache-Test/lib/Apache/TestConfigPerl.pm
in Apache-Test/lib/Apache/TestConfigC.pm
in Apache-Test/lib/Apache/TestHandler.pm
in Apache-Test/lib/Apache/TestHarness.pm
in Apache-Test/lib/Apache/TestMM.pm
in Apache-Test/lib/Apache/TestReport.pm
in Apache-Test/lib/Apache/TestReportPerl.pm
in Apache-Test/lib/Apache/TestRequest.pm
in Apache-Test/lib/Apache/TestRun.pm
in Apache-Test/lib/Apache/TestRunPerl.pm
in Apache-Test/lib/Apache/TestSSLCA.pm
in Apache-Test/lib/Apache/TestServer.pm
in Apache-Test/lib/Apache/TestSmokePerl.pm
in Apache-Test/lib/Apache/TestSort.pm
in Apache-Test/lib/Apache/Test.pm
in Apache-Test/lib/Apache/TestTrace.pm
in lib/Apache/compat.pm
in lib/Apache/XSLoader.pm
in lib/Apache/compat.pm
in Apache-Test/lib/Apache/TestRequest.pm
in lib/ModPerl/BuildOptions.pm
in xs/ModPerl/Const/Const.pm
in lib/ModPerl/FunctionMap.pm
in xs/tables/current/ModPerl/FunctionTable.pm
in lib/ModPerl/MM.pm
in lib/ModPerl/Manifest.pm
in lib/ModPerl/MapUtil.pm
in lib/ModPerl/MapUtil.pm
in lib/ModPerl/ParseSource.pm
in ModPerl-Registry/lib/ModPerl/RegistryBB.pm
in ModPerl-Registry/lib/ModPerl/RegistryLoader.pm
in lib/ModPerl/StructureMap.pm
in lib/ModPerl/TestRun.pm
in lib/ModPerl/TestRun.pm
in lib/ModPerl/TypeMap.pm
in lib/ModPerl/WrapXS.pm
in lib/mod_perl.pm
in Apache-Test/lib/Apache/Test5005compat.pm