##################################################
# Things to be resolved for mod_perl 2.0 release #
##################################################

-- see also todo/api_status

* current_callback lives in ModPerl::Util, but called as
  Apache::current_callback(), which doesn't sound right. It should
  probably be invoked as ModPerl::Util::current_callback

* docs/install/install.pod:=head2 Configuring mod_perl
  should be rewritten to clearly explain how to build static and
  dynamic mod_perl (each separately).

* APR::URI missing $uri->rpath (was in mp1)

* Apache::RequestRec's $r->content_languages is missing (was in mp1)

* check other todo/features_missing items (some of them might be
  critical for 2.0 release, since missing methods might be a problem
  for migration)

* pools that go out of scope:

  perl -MApache2 -MAPR::Pool -MAPR::PerlIO -le '; 
  open my $fh, "<:APR", "/tmp/xxx", APR::Pool->new; print <$fh>'
  APR::PerlIO::read: (9) Bad file descriptor at -e li

  first of all, try to never allow passing temp pools, e.g in the
  above example, we can check that the pool object doesn't have the
  TEMP flag on.

  but that doesn't really solve the problem. So we aren't sure how to
  deal with that.

* $bb->cleanup segfaults (originally in TestProtocol::echo_bbs2
  http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=108967266419527&w=2
  owner: gozer

* on windows $pool->clean, followed by $pool->destroy breaks other tests
  See test TestAPR::pool
  http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=108547894817083&w=2

* consider changing the allocation method in APR::Bucket::new from
  malloc/free to bucket_alloc, like all other buckets do

* revamp directive handlers, expose modperl_module_add, fix
  PerlLoadModule, etc.
  owner: geoff

* PerlSetVar/PerlAddVar still do not merge properly.  geoff knows
  the issues and thinks he knows how to fix it, he just needs the time.
  owner: geoff

* Fixing Apache->warn("foo")

  Report: http://mathforum.org/epigone/modperl-dev/noxtramcay/3D11A4E5.6010202@stason.org
  Thread: http://mathforum.org/epigone/modperl-dev/noxtramcay
  Status: pending Apache::Log compat issues, this and other methods
          might be dropped.

* per-server cleanups core dump or are otherwise ineffective
    Apache->server->process->pconf->cleanup_register(sub { ...  });
  Report: geoff

- cgi emulation: %ENV management:

   - %ENV is currently only saved/restored for the perl-script
     handler, i.e. changes to %ENV outside of a perl-script handler
     are not cleared.  of course, "clean" modules would use local() to
     modify %ENV, but there should be an option to save/restore
     globals outside of the perl-script handler

  STATUS: do the cleanup for all handlers, but provide a new config
  option so users can disable it if they know what they are doing.

* Apache::SizeLimit
  o Need to port tools that restrict the memory size used by processes
    for prefork mpms and develop new ones for threaded mpms. Need to
    work out the details of the implementation of the garbage
    collection thread for the threaded mpms as originally suggested by
    doug.  The issue with threads is that there is no way to know the
    thread's size, can we use B::Size and B::TerseSize?

    prefork:
        Apache::SizeLimit - Owner: perrin
        Apache::GTopLimit - Owner: stas
    threaded:
        Garbage Collector thread

  => Ideally the tools should work transparently with threaded and
  non-threaded mpms, but how?

* Apache::Resource

* 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.
  stas: talked to autrijus, he will start working on it, but not sure
  when. we need to ping him every so often.

* Apache::Reload
  - needs to handle properly redefined subs warnings
  owner: gozer

* Apache->unescape_url{_info}:
  not yet implemented.  should be moved to Apache::Util

