$MODULE=Apache::ASP; $VERSION = 2.33; $DATE="TBA"

- fixed up t/server_mail.t test to skip if a sendmail server
  is not available on localhost.  We only want the test to run
  if there is a server to test against.

+ removed cgi/asp script, just a symlink now to the ./asp-perl script
  which in this way deprecates it.  I had it hard linked, but the 
  distribution did not untar very well on win32 platform.

+ Reordered the modules in Bundle::Apache::ASP for a cleaner install.

- Fixed bug where XMLSubs where removing <?xml version ... ?> tag
  when it was needed in XSLT mode.

+ $Server->Mail({ CC => '...', BCC => '...' }), now works to send
  CC & BCC headers/recipients.

+ Removed $Apache::ASP::Register definition which defined the current
  executing Apache::ASP object.  Only one part of the application was
  using it, and this has been fixed.  This would have been an unsafe
  use of globals for a threaded environment.

+ Decreased latency when doing Application_OnStart, used to sleep(1) 
  for CleanupMaster sync, but this is not necessary for Application_OnStart 
  scenario

+ Restructure code / core templates for MailErrorsTo funcationality.  
  Wrote test mail_error.t to cover this.  $ENV{REMOTE_USER} will now be displayed
  in the MailErrorsTo message when defined from 401 basic auth.

+ $Server->RegisterCleanup should be thread safe now, as it no longer relies
  on access to @Apache::ASP::Cleanup for storing the CODE ref stack.

+ test t/inode_names.t for InodeNames and other file tests covering case
  of long file names.

- Fixed long file name sub identifier bug.  Added test t/long_names.t.

+ CacheDir may now be set independently of StateDir.  It used to default
  to StateDir if it was set.

++ Decomposition of modules like Apache::ASP::Session & Apache::ASP::Application
  out of ASP.pm file.  This should make the source more developer friendly.  

  This selective code compilation also speeds up CGI requests that do not 
  need to load unneeded modules like Apache::ASP::Session, by about 50%,
  so where CGI mode ran at about 2.1 hits/sec before, now for 
  light requests that do not load $Session & $Application, requests
  run at 3.4 hits/sec, this is on a dual PIII-450 linux 2.4.x

- Caching like for XSLTCache now works in CGI mode.  
  This was a bug that it did not before.

+ $Server->File() API added, acts as a wrapper around Apache->request->filename
  Added test in t/server.t

++  *** EXPERIMENTAL / ALPHA FEATURE NOTE BEGIN ***

  New $PERLLIB/Apache/ASP/Share/ directory created to 
  hold system & user contributed components, which will be found
  on the $Server->MapInclude() path, which helps $Response->Include
  search '.',Global,IncludesDir, and now Apache::ASP::Share for
  includes to load at runtime.  

  The syntax for loading a shared include is to prefix the file
  name with Share:: as in:

   $Response->TrapInclude('Share::CORE/MailError.inc');

  New test to cover this at t/share.t

  This feature is experimental.  The naming convention may change
  and the feature may disappear altogether, so only use if you
  are interesting in experimenting with this feature & will
  provide feedback about how it works.

  *** EXPERIMENTAL / ALPHA FEATURE NOTE END ***

+ asp-perl script now uses ./asp.conf instead of ./asp.config
  for runtime configuration via %Config defined there.  Update docs
  for running in standalone CGI mode

+ Make use of MANFEST.SKIP to not publish the dev/* files anymore.

- Script_OnEnd guaranteed to run after $Response->End, but 
  it will not run if there was an error earlier in the request.

+ lots of new test cases covering behaviour of $Response->End
  and $Response->Redirect under various conditions like XMLSubs
  and SoftRedirect and global.asa Script_OnStart

+ asp-perl will be installed into the bin executables when
  Apache::ASP is installed.  asp-perl is the command line version
  of Apache::ASP that can also be used to run script in CGI mode.
  Test case covering asp-perl functionality.

+ asp CGI/command line script now called asp-perl.  I picked this 
  name because Apache::ASP often has the name asp-perl in distributions
  of the module.

+ Apache::ASP::CGI::Test class now subclass of Apache::ASP::CGI.  To facilitate
  this Apache::ASP::CGI::init() now called OO like Apache::ASP::CGI->init()
  Fixed up places where the old style was called.  New Test class allows
  a dummy Apache request object to be built which caches header & body output
  for later inspection instead of writing it to STDOUT.

- $Response->Redirect() under SoftRedirect 1 will not first Clear() buffer

- $Response->Redirect() in an XMLSubs will work now ... behavior
  of $Response->Flush() being turned off in an XMLSubs was interfering with this.

+ srand() init tracking done better, thanks for patch from Ime Smits

+ Added file/directory being used for precompilation in 
  Apache::ASP->Loader($file, ...) to output like:

   [Mon Feb 04 20:19:22 2002] [error] [asp] 4215 (re)compiled 22 scripts of 22 loaded for $file

  This is so that when precompiling multiple web sites
  each with different directories, one can easier see the 
  compile output relevant to the Loader() command being run.

+ better decomp of Apache::ASP site build files at ./build/* files,
  which is good should anyone look at it for ideas.

+ improved test suite to error when unintended output results from
  t/*.t test scripts.

- () now supported in XMLSubsMatch config, added xmlsubsmatch.t test...
  specifically a config like 

    PerlSetVar (aaa|bbb):\w+ 

  should now work.  Thanks for bug report from David Kulp.

+ Added an early srand() for better $ServerID creation

+ Work around for DSO problems where $r is not always correctly 
  defined in Apache::ASP::handler().  Thanks to Tom Lear for patch.

$MODULE=Apache::ASP; $VERSION = 2.31; $DATE="01/22/2002";

Please see README for changes for past versions.

 + = improvement; - = bug fix

 + $Server->MapInclude() API extension created to wrap up Apache::ASP::SearchDirs functionality
   so one may do an conditional check for an include existence befor executing $Response->Include().
   Added API test to server.t

 + $Server->Transfer() now allows arguments like $Response->Include(), and now acts just
   as a wrapper for:

     $Response->Include($file, @args);
     $Response->End();

   added test case at t/server_transfer.t

 + Removed dependency of StatINC functionality on Apache::Symbol.  Apache::Symbol 
   is no longer required.  Added test of t/stat_inc.t for correct StatINC initialization
   for platforms where Devel::Symdump is present.

 + Better error message when $Request->Params has not been defined with RequestParams
   config & it gets used in script.  Added test case as t/request_params_none.t

 + Directories cannot now be included as scripts via $Response->Include(), added
   test case to t/include.t

 - No longer make $Response->Flush dependent on $Response->IsClientConnected() to 
   be true to write output to client.  There have been spurious errors reported
   about the new ( >= 2.25 ) IsClientConnected code, and this will limit the impact 
   of that functionality possibly not working still to those users explicitly using 
   that API.

 + $Response->AddHeader($header_name, $value) now will set $Response members
   for these headers: Content-Type, Cache-Control, Expires.  This is to avoid
   both the application & Apache::ASP sending out duplicate headers.  Added
   test cases for this to t/response.t

 + split up Bundle::Apache::ASP into that, and Bundle::Apache::ASP::Extra
   the former with just the required modules to run, and the latter 
   for extra functionality in Apache::ASP

 + new $Request->{Method} member to return $r->method of GET or POST that 
   client browser is requesting, added t/request.t sub test to cover this member.

