The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
########################
# mp1 missing features #
########################

### try to get this first post 2.0 release ###

* mp2 test suite opens many files - quite a few failure reports were
  due to the low shell file limit. But at the moment we can't tell
  users why this have the problem. Gisle Aas has suggested that we
  check whether the shell has a big enough setting for this limit and
  either die explaining the situation or try to manually raise the
  limit.

    http://thread.gmane.org/gmane.comp.apache.mod-perl/16154

  once implemented this should be ideally abstracted to be usable by
  Apache-Test, and have a hook so each project can specify its own
  min files limit, so other projects can benefit too.

* directive handlers are supported but need some work for 1.x compat
  - Apache::CmdParms::{GETC,getline} needs compat mapping, similar to
    what Apache::Directive->as_string does, but one char or line at a time

  - Automatic setting of cmd_args in @APACHE_MODULE_DIRECTIVE based on
    function prototype

* $r->child_terminate:
  - Apache has no API for this (used to be ap_child_terminate). The
    current solution is not ideal. Better trying to get ap_child_terminate
    back in the httpd API.
  - future ideas for threaded mpms: might consider knocking
    off the current PerlInterpreter instead.

* tied filehandle interface:
 -EOF, TELL, SEEK
 -READLINE - proper implementation (see comment in Apache::compat)
 need to attempt to fix that interface so it'll work with IPC::Open* family  

* It'd be nice to have PAUSE and the clients support packages with
  several versions, like mod_perl 1.0 and mod_perl 2.0, since once we
  release it any dependency on mod_perl will be resolved as mod_perl
  2.0, when mod_perl 1.0 may be required instead.
  owner: stas: talked to autrijus, he will start working on it, but
               not sure when. we need to ping him every so often. but
               it'll probably won't happen by the time we release 2.0.

### other, less important things ###

* Integrate the new perl feature: PL_use_safe_putenv (starting from
  perl 5.8.6)
  http://public.activestate.com/cgi-bin/perlbrowse?patch=23529 this is
  needed to make it possible mod_php and mod_perl run at the same
  time. Relevant threads:
  http://www.gossamer-threads.com/lists/perl/porters/187753
  http://www.phpbuilder.com/lists/php-install/2003092/0018.php

  at the moment recompiling perl with -DPERL_USE_SAFE_PUTENV may or
  may not work

* $r->last is missing (it was provided explicitly by modperl, it's not
  an apache thing) see modperl/src/modules/perl/Apache.xs

* automate generation of xs/tables/current/apr/FunctionTable.pm
  via Apache::ParseSource. This file contains a subset of
  functions appearing in ModPerl::FunctionTable that are
  needed when building APR.so, and is used when generating
  the def/exp files on Win32/AIX.

* Apache::PerlSections missing features for backwards compatibility:
 - $Apache::ReadConfig::DocumentRoot
 - Apache::PerlSections->store(filename)

  Report: Philippe M. Chiasson <gozer@cpan.org>
  Status: Philippe M. Chiasson <gozer@cpan.org> is working on it

* PerlOpCodeMask (experimental in 1.xx)

* die 404 (consider deprecating it)

* mod_perl::import
  - Apache->import:
   required for exit/warn overridding
  - use mod_perl2 qw(2.0 MethodHandlers Authen Authz [...]);
   used to be able to specify what optionnal feature were required

* Apache::test: tobe a compat stub around new test framework

* Apache::src: tobe a compat stub around new build framework

* hooks ordering is not implemented yet
  Owner: geoff

* $r->finfo:
  need apr_finfo_t <-> struct stat conversion (might already be there,
  haven't looked close enough yet)

* $r->chdir_file:
  not safe for threaded environments.  should at least unshift @INC
  with dirname $r->filename.  consider overriding open() to resolve
  relative filenames.

* size_string() - can we use apr_strfsize ?

* $r->send_fd:
  need to figure out howto map PerlIO <-> apr_file_t
  at the moment $r->send_fd is implement in Apache::compat, functions,
  but does not have the performance benefits of ap_send_fd()
  however, $r->sendfile is a new function that opens the file for you
  and calls ap_send_fd() underneath. ap_send_fd() in APR doesn't work 
  with fd's which aren't files and of unknown length, therefore it cannot 
  be used for implementing 1.x compatible send_fd.
  Solution: send_fd will require the length argument and there will be
  no send_fd without the length argument as in mp1
  Owner: stas

* Apache::Debug:
  Possibly work it differently, but certainly add support for dealing with $^M
  Report: http://gossamer-threads.com/lists/modperl/modperl/77853