TODO list for Perl module CPAN::Reporter

#--------------------------------------------------------------------------#
# Bugs
#--------------------------------------------------------------------------#

- Check for failing configure_requires for downgrades

- Check for makefile out of date strings and discard

#--------------------------------------------------------------------------#
# Features, etc
#--------------------------------------------------------------------------#

# High priority

- Add datestamps to history (ISO 8601: YYYY-MM-DD HH:MM:SS)
    -   my @t=localtime; $t[4]++; $t[5]+=1900; 
        my $iso = sprintf("%4d-%02d-%02d %02d:%02d:%02d", reverse @t[0..5]);

- For failure in PL stage -- show configure_requires and an error message
  that other requirements aren't available if PL fails

- change report truncation to take first 25K and last 25K (summary) (?)

# Medium priority 

- add support for a "comment.txt" file in the config directory to use
  in place of the default comment

- add support for an 'opt-in' file for authors that want CC and then set
  default cc to none -- possibly kept in author's CPAN directory?

- add 'cc_self' option

- 'force_prompt' config to locally unset PERL_MM_USE_DEFAULT (Rezic)

- add results back to CPAN::Distribution object

- Create a discards file that shows missing prerequisites for each discarded
  report.  Could be interesting data to find highly requested.  Or, perhaps
  track *all* prerequisites for all files tested.  Very interesting data
  I suspect.  Probably not something that should be on by default

# Low priority

- document Windows ErrorMode registry hack to stop segfault dialog

- add earlier, successful phases to output in reverse order.  Probably have to
  bump up the test-length cutoff, though, to deal with lengthy make output
    - Test phase output
    - make phase output
    - PL phase output

- check for how to confirm portability of setpgrp and kill

- refactor t/Helper.pm

- add warnings::compat to toolchain or else add config to allow local
  modules to be added to toolchain report
    - SAPER: 
        Hmm... ok. The fact is that warnings::compat isn't listed in
        Sys::Syslog prereqs, but it should in order to make it work under
        5.5. So I guess that Slaven manually installed it in his 5.5.5 smoker
        in order to ease the process, but in that case, it becomes (in a
        sense) part of the toolchain, because it masks a potentially missing
        prereq (this is what happened here). warnings::compat is a little
        special because it provides a way to make a core module available on
        old Perls. So maybe CPAN::Reporter should allow one to add locally
        installed modules in the toolchain section.
    - SREZIC:
        To add my 0.02EUR: maybe warnings::compat could/should be shown only
        if 5.5.x is used.

- switch from a single flat file for history. e.g.
    - SDBM_File for history (key on subject line, with phase as value?
      Or key on distro name/perl with result and phase as value? ) -- but
      does it scale well?  (See MJD's article)
    - Or use sorted file with Search::Dict(?) -- (prefer this option,
      keeps search for non-existant line fast; insertion is a just a few
      block writes and a rename.) If we do this, need to put distro name
      first to make "have_tested()" easier to write
    - Use filesystem to index -- one file per distname? hash with directories
      to keep number of files/directory down?
    - Or flat file per perl/archname/osver (usually constant)
    - use File::ReadBackwards for searches on flat file

- Add interactive config for editor?

- Improve test coverage for utility subs and error handling

- Check email addresses for validity (cf. Email::Valid, etc.)

- Add other Config items like 'make' to report context

- heuristics for missing library files --> discard report ??

- figure out how to support color output from Test::Harness 3.0 -- probably
  set an environment variable to get them to pass color strings to the pipe
  and then strip color escape codes from the teed file.

# Probably won't implement

- add timeout to EU::MM prompts (RT#28034)

- remove File::Temp as a build_requires dependency

- Add config to save reports to a file (Jerry Hedden) (RT#24816)
    - may not do this until we have the new CPAN::Testers::Report
      object and associated transports

- send duplicate report if using "report" (?) or "force" (?)

