release plans and minor change to tools/imager (avoid Died message)
authorTony Cook <tony@develop=help.com>
Mon, 6 Dec 2004 02:35:40 +0000 (02:35 +0000)
committerTony Cook <tony@develop=help.com>
Mon, 6 Dec 2004 02:35:40 +0000 (02:35 +0000)
TODO
tools/imager

diff --git a/TODO b/TODO
index 11258c4f6e0a814955ea4e8b12713d125e5d33e9..8b81d237b43e7388364c21e8f8442eff7169871f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,12 @@
                          *** TODO ***
 
-PRE-0.44:
+Release Plans (subject to change)
+-------------
+
+brown-bag bugs may add intermediate releases.  The dates are goals,
+not commitments.
+
+0.44: (december 2004)
 - set i_format for every file type on read and test for it:
   - bmp - done
   - jpeg - done
@@ -10,7 +16,7 @@ PRE-0.44:
   - png - done
   - gif - done
   - pnm - done
-  - raw
+  - raw - done
 - check each file reader for possible integer overflows
   - bmp - done
   - tiff
@@ -21,7 +27,41 @@ PRE-0.44:
   - pnm
 - check bmp code uses image data offset correctly - done
 - check quant code for integer overflows - done
-- check for old URLs (umich and imager.perl.org/~addi/...)
+- check for old URLs (umich and imager.perl.org/~addi/...) - done
+
+0.45: (march 2005?)
+- audit pnm.c
+- audit tga.c
+- audit rgb.c and add tests
+- capture TIFF read warnings (i_warnings tag?)
+- add Imager::Cookbook with at least 5 recipes
+- implement i_incomplete for bmp files
+- store floating point tags in an appropriate precision
+- allow image creation to fail on malloc() failure for the image data
+  rather than aborting.  The current behaviour could be a denial of
+  service attack.
+- eliminate unused variable warning (especially the RETVAL ones in Imager.xs)
+
+0.46: (june 2005)
+- allow limits to be set on the size of an image read from a file.  This is
+  to prevent an attacker supplying huge images that consume all of 
+  memory causing a denial of service attack.
+- add Imager::Tutorial (see Tk::UserGuide for a structure)
+  don't cover installation - belongs in README or INSTALL
+  it doesn't need to cover everything - read/write/create/simple drawing
+  and simple text - other stuff belongs in the cookbook or in sample code
+- add 5 more recipes to Imager::Cookbook
+- implement gsamp()/gsampf()/plin() etc methods for those low level image
+  interfaces which don't yet have methods.
+- implement i_incomplete for png and gif files.
+
+Speculation
+-----------
+
+Some of what's listed below has been implemented.
+
+- should i_incomplete be optional?  ie. reading a short image results in
+  an error unless the user requests incomplete images.
 
 Iolayer:
 - Add scalar/mmap to iolayer
@@ -33,7 +73,6 @@ Iolayer:
   underlying source.  For making sure only the relevant
   data is read from a socket for example. 
 
-
 Enhanched internal structure:
 
 MultiImage & metadata support:
index 67403cc916ba830675e14e9d3913e95f174b73c5..c08df0047564d90e3a1b79bca0209ec454444bdf 100755 (executable)
@@ -83,14 +83,14 @@ GetOptions('help' => sub { $help_func->("synopsis") },
 $did_help and exit;
 
 unless ($understand) {
-  print STDERR <<EOS;
+  die <<EOS;
 This tool is under-tested and will probably destroy your data.
 
-If you understand and agree with this use the --understand option.
+If you understand and agree with this use the --understand option to
+avoid this message.
 
 In fact, only the --info and --tags actions have been used at all.
 EOS
-  die;
 }
 
 exists $write_opts{file}
@@ -469,6 +469,7 @@ imager - Imager command-line image manipulation tool
  imager --help-options
  imager --help-actions
  imager --help-general
+ imager --help-colorspec
 
 =head1 DESCRIPTION