Servertec iPP Version 1.4.4 09/04/2005 

-----------------------------------------------------------------------------
CHANGES

iPP 1.4.4 08/04/2005
- initial open source release

iPP 1.4.3 08/15/2002
- added new API methods: _init(), _preprocess(), _wrapup() and _reset()
- updated documentation

iPP 1.4.2 01/04/2001
- reduced size of class files

iPP 1.4.1 10/05/2000
- updated documentation

iPP 1.4.0 08/13/2000
- added method isDefined() to return whether the specified identifier is
  currently defined
- added method isMacro() to return whether the specified identifier is
  currently defined as a macro
- added method getDefinition() to return the current definition of the
  specified identifier
- added method getLine() to return the current line being preprocessed
- added method getIdentifiers() to return an enumeration of defined
  identifiers
- Strings, Integers, Doubles and Booleans are now automatically converted as
  needed during expression processing
- Boolean values now return "true" or "false" when converted to a String
- fixed bug in define() that resulted in exception being thrown when a macro
  was being defined
- expanded documented API

iPP 1.3.0 01/19/2000
- added support for redirection and piping stdin/stdout/stderr
- added new command line option, -fo, used to specify the name of the output
  file
- added new command line option, -fe, used to specify the name of the file
  used to log errors
- added new command line option, -fi, used to specify the name of the input
  file
- added new method, pp.preprocess(InputReader, OutputWriter, ErrorWriter), to
  API, used to directly run preprocessor specifying input reader, output
  write and error writer
- added new method,
  pp.preprocess(InputFileName, OutputFileName, ErrorFileName), to API, used
  to directly run preprocessor specifying the input file, output file and
  error file
- added new method, getFileName(), to API, used in custom exception handler
  to get the name of the file currenty being processed
- added new method, getLineNumber(), to API, used in custom exception handler
  to get the current line number
- added new method, getVersion(), to API, used to return the current version.
- added new variable, directiveDelimiter, to API, used to access the
  directive delimiter
- added new variable, lineDelimiter, to API, used to access the line
  delimiter

iPP 1.2.0 01/03/2000 
- eliminated redundant calls to displayLogo() by display()
- documented generateLineDirective Java API variable
- updated documentation
- expanded ipp C wrapper to support java vm parameters embedded in java_exe environment variable
- added -l flag used to generate #line directive
- added support for generating #line directive
- changed ipp C wrapup to remove temp files on abort
- wrapup() now clears global variables
- fixed bug that resulted in comments being removed from included files
  regardless of settings
- fixed bug that resulted in comments not being removed when preserve blanks
  was selected
- fixed bug that resulted in muliple lines being concatenated when lines in
  multiline comments ended with \

iPP 1.1.1 07/11/1999 
- improved performance by where possible replacing use of Strings with
  StringBuffers

iPP 1.0.0 02/21/1999 
- updated documentation
- added support for #pragma directive

iPP 1.0.0 01/24/1999 
- alphabetized command line options
- command line option, -d, now undefines predefined environment variables
- added command line option, -w,  to ignore all warnings
- added command line option, -e, to support embedded quotes within quoted
  strings using \ to preface quote
- macro redefinitions now generate a warning
- fixed bug where evaluating include directive within if/ifdef/ifndef
  directive resulted in unexpected end of file while in if/ifdef/ifndef.
- fixed bug where results from ## were not being evaluated recursively
- removed use of System.exit()

iPP 1.0.0 09/06/1998 
- updated documentation, macros can not be defined from the command line
  using -d
- added Java API public method define(String) which allows definition of
  identifiers and macros.
- changed preserve comments to -c (no longer -e)
- changed -c command line option to no longer removes blank lines
- added preserve blank lines -b command line option
- added preserveBlankLines in Java API (same as -b)
- fixed bug with macro and identifier identification
- changed how macros are defined

iPP 1.0.0 08/27/1998 
- documented iPP Java API
- fixed bugs with operations on doubles
- defined iPP public Java API

iPP 1.0.0 08/22/1998 
- fixed bug with evaluating embedded macros

iPP 1.0.0 08/17/1998 
- corrected program bug which caused "array out of bounds" error when an
  output file was specified from the command line
- eliminated need for root access

iPP 1.0.0 07/19/1998 
- fixed bug with evaluation of != operator
- fixed bug with evaluation of hexadecimal constants
- fixed bug with evaluation of identifiers, identifiers where mistaken as
  real values
- added support for #elseif directive
- cleanup html/formatting/spelling documentation

iPP 1.0.0 07/05/1998 
- documented predefined identifiers

iPP 1.0.0 06/30/1998 
- cleanup iPP documentation
- integrated iPP into Servertec's Web site
