
  C h a n g e L o g   o f   e P e r l
  ___________________________________________________________________________

  Changes between 2.1b3 and 2.1b4
  -------------------------------

  970403 o fixed a bug in the b3 distribution:
           autoheader was not run, so to _compile_
           ePerl GNU autoconf was needed. :-(
         o slight adjustments to eperl.pod

  Changes between 2.1b2 and 2.1b3
  -------------------------------

  970402 o starting with Perl 5.003_96 the dXSUB_SYS define
           is empty.  Removed the call and the gcc -Wall 
           kludge from eperl_perl5.c
         o fixed etc/newvers
         o add "none" to configure DynaLoader check

  Changes between 2.1b1 and 2.1b2
  -------------------------------
  
  970330 o reduced the logo GIF image in size to fit betteri
           into the browser window. The reduced one also has 
           10 KB less bytes.
         o made the Error HTML page nicer
         o removed the not used -a (age) option

  Changes between 2.1b0 and 2.1b1
  -------------------------------

  970326 o added "-o file" to the usage message
         o when running as a Unix filter the current
           working directory is restored before the
           final outputfile (-o) is created.
         o documented that "-o outputfile" is
           relative to source file dir when
           runtime mode is CGI or NPH-CGI
         o added new-betalevel to Makefile.in

  Changes between 2.0.3 and 2.1b0
  -------------------------------

  970322 o released as 2.1b0 for first test

  970310 o added --with-perl=/path/to/perl option
           to ./configure to force a specific perl

  970302 o removed getdate.c stuff :-(
         o added more tests
         o changed aux dir to etc for porting to WinNT :-(

  970228 o debugged and cleanup up eperl_parse.c
         o fixed the core-dump under SunOS which
           comes from SunOS' non-POSIX vsprintf().
         o removed the sdbm and md5 stuff because
           this should be introduced in 3.0 later only.
         o removed brainfile stuff
         o fixed another coredump in eperl_parse.c
         o fixed mode determination and mode-dependend
           error message

  970227 o debugged and cleanup up eperl_parse.c

  970226 o added dmalloc support for debugging

  970224 o changed sprintf stuff to more portable 
           variant in eperl_main.c
         o now autoconf checks for memmove and
           if not found eperl_parse.c uses bcopy.

  970219 o changed bool checking to Autoconf stuff

  970216 o ported to Linux: now bool is defined,
           prefix was replaced by AC_prefix to avoid collisions and the
           ccdlflags from Perl are used which need to be -rdynamic under
           Linux. Now ePerl compiles out of the box on Linux and runs fine,
           even with dynamic loading.

  970210 o added getdate() code
         o added --enable-brainfile=/path/to/brainfile
           which sets the brain file where timestamps and
           md5 etc. are stored.
         o added -a option to set an age

  970209 o added MD5 code
         o added SDBM code

  970207 o changed -c and -s options to -m c and -m f
         o adding -m n for NPH/CGI, -m c is no only CGI
         o added stdin support via "-" and tmpfiles
         o added automatic tmpfile support with remove
           on interrupts or errors
         o now the old tempfiles are also created
           with new mechanism
         o added -o option for specifying an
           explicit outputfile instead of stdout
         o greatly imporved the manpage and brroght it 
           to the latest status
         o created a test suite with Perl Test::Harness
         o now ePerl also accepts an empty file
         o added a security logfile which can be optionally
           enabled via "--enable-logfile=/path/to/logfile"
           at compile time.
         o added configure support for debug compilation
           via --enable-debug. This adds -g -ggdb3 to
           the CFLAGS and LDFLAGS and prevents the
           executable from being stripped.
         o removed the old doc/ subdir with the
           old FAQ and About file. 

  970206 o removed the generation of libeperl.a
         o added a real installation target to Makefile
         o removed eperl_parse.h, because it is still
           replaced by the generated eperl_proto.h
         o added -V option which now displays the compile
           parameters
         o removed the <tt>..</tt> tags from error output
           because for the stand-alone version is looks bad.
         o added experimental TAINT...TAINT_NOT around perl_run.
         o added -d option to set real Perl variables and
           not just $ENV{'...'};

  970128 o added support to configure for Perl snapshot
           releases named 5.003_XX.
         o added a first security check: If operating in
           NPH-CGI mode the source file has to be one of
           the predefined valid file extensions.
         o now when ePerl runs as a setuid program (seteuid = 0)
           it switches to the uid/gid of the file owner 

  970127 o added -D option to set environment variables.
           (this is needed for my WML project where in
           pass 3 eperl gets called via -D...)
         o added -k option to keep CWD.
           (this is needed for my WML project where 
           ePerl should not chdir to the /tmp/xxx files).

  970118 o make the BEGIN/END_DELIMITER strings variables which
           now can be set via -b and -e 
           (this is needed for my WML project where I use
           two variants of embedded Perl blocks)

  970107 o fixed this changelog file
         o added test directory
         o cleanup of Makefile
         o removed obsolete prototypes in eperl_lib.h
         o cleaned up eperl_global.h
         o make eperl_getopt.[ch] gcc -Wall clean
         o added support for shebang usage, i.e.  you can use #!/path/to/eperl
           at the top of your pages and use them as a CGI script now. ePerl
           will ignore the shebang line.
         o moved the system IO and env functions out to new eperl_sys.c
         o renamed eperl_lib to eperl_parse
         o Hups! all references to the CGI/1.0 standard were wrong, it
           actually is CGI/1.1...

  970106 o added stand-alone interpreter with options
         o added -x and -v options
         o added README and LICENSE display
         o now ePerl reads the file from stdin if
           the argument is "-"
         o added a ePerl manual page for the
           stand-alone interpreter

  ___________________________________________________________________________


  Changes between 2.0.2 and 2.0.3
  -------------------------------

  970104 o added some documentation from the webpages to misc/doc/
         o added a FreeBSD ports area to the webpages

  Changes between 2.0.1 and 2.0.2
  -------------------------------

  970104 o remove of the temporary files were disabled for
           debugging purposes. Fixed.

  Changes between 2.0.0 and 2.0.1
  -------------------------------

  970103 o removed unused variables

  Changes between 1.0 and 2.0.0
  -----------------------------

  970102 o ePerl now supports the Perl 5 DynaLoader interface for
           dynamic linking and loading of shared modules. This provides ePerl
           with the complete power of the underlying Perl 5 installation,
           including the shared objects.

         o ePerl now runs as NPH-CGI/1.1 script, i.e. as a Non-Parsed-Header
           CGI-script. This means that it is able to create its own HTTP
           header.  Implications of this include:
             - To create HTTP headers just put them on the first
               lines in your script as plain text or just generate them on the
               fly by a ePerl block at the beginning of your script. With this
               feature you can for instance write pages which create images
               instead of HTML code.
             - If no headers were created by the script, it
               outputs it with MIME-type "text/html", including an additional
               calculated "Content-Length" header.
             - It automatically adds "Date" and "Server" headers.
  
         o ePerl now saves and checks the STDERR output of the script.
           If this contains data this implies an error and leads to the
           display of the error HTML page, displaying the STDERR output.
  
         o ePerl now saves the STDOUT output of the script (the real
           contents). This implies that it can calculate the Content-Length or
           ignore it if STDERR was created and the error page have to be
           displayed.
  
         o Additional environment variables will be set by ePerl
           prior to the execution of the bristled Perl blocks:
             SCRIPT_SRC_SIZE ....... the byte size of the original source file
             SCRIPT_SRC_MTIME ...... the integer value of the last modify time
             SCRIPT_SRC_MTIME_FMT .. the formatted string of the last modify time
             SCRIPT_SRC_OWNER ...... the owner of the original source file
             VERSION_INTERPRETER ... the ePerl version string
             VERSION_LANGUAGE ...... the Perl version string
  
         o The ePerl sources were split into distinct peaces to
           allow further development, e.g. a standalone program or a Apache
           API module.

  ___________________________________________________________________________


  Changes between 1.4 and 1.5
  ---------------------------

  9609xx o started with the work to split the ePerl
           functionality into a library and create a stand-alone
           CGI-program and a Apache module which use this library.

  Changes between 1.3 and 1.4
  ---------------------------

  960906 o changed source from PATH_INFO to PATH_TRANSLATED

         o cleanup the sources and released it
           the first time officially on the Web

  Changes between 1.2 and 1.3
  ---------------------------

  960622 o created WWW pages

         o changed all old EPL references to ePerl

         o added a lot of comments to the source

         o made the begin and end delimiters variable

         o changed the end delimiter from ">" to "!>"
           because ">" makes problems if it occurs inside the 
           ePerl block

  Changes between 1.1 and 1.2
  ---------------------------

  960510 o created GNU autoconf files, Makefiles, etc.

  Changes between 1.0 and 1.1
  ---------------------------

  960415 o fixed a bug in the escape code: more chars 
           have to be escaped!

  Changes between *GENESIS* and 1.0
  ---------------------------------

  960323 o adapted for Apache 1.1b0+ak

  960310 o *GENESIS* 

  ___________________________________________________________________________

