GNUJSP 1.0.1 (29 September 2000)
---------------------------
   Notable changes and new features in this version are:
	-- support for virtual hosts and mappings under Apache + JServ
	-- support for Apache-style language negotiation based on extension
	-- new "keepJava" parameter to save generated .java files
	-- new "usehostname" parameter to run virtual hosts in one scratchdir
	-- all Throwables are caught and sent to errorPage, not just Exceptions
	-- better support for Win32 systems
	-- you need sax2.jar and openxml-1.2-w3c.jar now
        -- initial xml parsing support
	-- no more close on end of page

   The detailed change log (in reverse chronological order) follows:

   29 September Carsten Heyl
   - added new apache config checker
   - fixed windows tips in apache install
   - added note about beans to FAQ
   - fixed possible file descriptor leak in RequestDispatcherImpl
     Thanks to Kent Smotherman
   - Preparing for 1.0.1 release

   7 September Carsten Heyl
   - added sax2.jar
   - added openxml-1.2-wc3.jar
   - fixed apache docs for above additions

   29 August 2000 Carsten Heyl
   Runtime:
   - only use HTTP GET when resolving include/forward if this is activated via
	usehttpfallback=true
   - make it an Exception in jsp:forward/jsp:include if url is empty
   - removed dontusepagebasehack parameter and made it the default
     (old behaviour can be got by setting usedocroot=true)
   - fixed file location problems when using virtual hosts and user home directives
   - added and documented usedocroot parameter 
   - hopefully fixed looping but when using include on non JSDK 2.0 servlet engines

   Source Generation:
   - don't close out on exit from jsp page but flush the stream
   - display Throwables in jsp pages when we caught them 
	(they were silently ignored)
   
   - Added short (!) installation guide for installing gnujsp on apache.
   - added perl skript to check jserv config
   
 

   24 August 2000 Carsten Heyl
   Source Generation, Internal:
   - use resource url for dependancy checking this avoids duplicate
     and complicated recource calculations

   03 August 2000 Carsen Heyl
   - better error message if java source could not be written

   17 May 2000 Carsten Heyl (alph)
   - check for keepJava and keepjava

   30 April 2000 Mark Wielaard
   - Use toString() and not getMessage() when an exception occurs when trying
     to use the builtin-javac. Should give a bit more information.

   28 April 2000 Mark Wielaard
   - added final servlet libs from Paul Siegmann (version 20000428)
     (moved README.servlet to doc directory where all the other docs live)
   
   25 April 2000 Wes Biggs (fix from Kawamichi Ryoji)
   - changed Emitter/JavaEmitter to use BufferedWriter and newLine() function.

   19 April 2000 Carsten Heyl
   - added jserv special attributes to snoop.jsp

   18 April 2000 Mark Wielaard
   - Work around for bug in the Adaptive ClassLoader from Apache JServ 1.1
     that failed to load resources from jar files in the repository.
     This prevented the JSP localised ResourceBundle to load.
     Adapted JspConfig.getLocalizedMsg() to fallback to a new JspMsgBundle
     class that contains the same text as JspMsgRes.properties (the english
     version).

   16 April 2000 Mark Wielaard
	- Add new versions of servlet jars which contain a fix for
      HttpUtil.parsePostData() - Thanks to Joachim Achtzehnter
    - Add a public static final String VERSION = "1.0.1";
      that can be referenced from all places that want to know the version
      (JspServlet and ServletContextWrapper)

   14 April 2000 Carsten Heyl
	- debugging: print compiler command on startup

   6 April 2000 Wes Biggs
	- Happy days, jsp:useBean works again (broken on 5 April).

   5 April 2000 Wes Biggs
	- Fix from Mike Hardy to not use tail recursion in Emitter.

   04 April 2000 Noel J. Bergman
	- Fixed JspServlet.destroy().  It failed to invoke destroy() on page servlets
	  because the page table was improperly iterated.

   09 March 2000 Carsten Heyl (alph)
	- fixed page cache if useHostname is true (thanks to
	  Van Marshall)

   02 March 2000 Noel J. Bergman
	- Fixed defect from merging Eugen Kulshov's code, which cased JspServlet to call each page twice.

   28 February 2000 Noel J. Bergman
	- Merged Eugen Kuleshov's code for language negotiation.  EXPERIMENTAL.

   25 February 2000 Noel J. Bergman
	- Fixed path construction in JspParserContext.  If file separator
	  is '\', must use '/' or the URL parser will break later.
	- Fixed JspParser handling of charset encodings.
	- Added more debug statements to JspParser (used in tracking relative path issues).

   12 February 2000 Noel J. Bergman
	- Modified JspServlet.getResourceImpl() to use "org.apache.jserv.DOCUMENT_ROOT"
	  when running under Apache + JServ.
	- Modified parameter list for dynamic invoke of getX methods in HttpJspPageUtil.java.

   20 January 2000 Noel J. Bergman
	- Added keepJava initArg (default is false) to preserve intermediate .java files.
	- Modified JspServlet.java to remove intermediate .java files unless keepJava=true.

   17 January 2000 Noel J. Bergman
	- Changed JavaEmitter so that pages catch Throwable,
	  not Exception, as per JSP 1.1 specification 2.7.1.

   15 January 2000 Noel J. Bergman
	- Added <jsp:param> values to JspNode class.
	- Changed CombinedEnumeration constructor to public, not private.
	- Changed doc\testsuite\main.jsp to force ISO 8859-1 encoding

   12 December 1999 Wes Biggs
	- Fix parsing of multiple '<' characters in a row (thanks to
	  Miles Chaston).
	- Correctly pass parameters when forwarding/including under JSDK 2.0.

   29 November 1999 Wes Biggs
	- workaround for Process.waitFor for NT, thanks to Herve' Boutemy.

   23 November 1999 Carsten Heyl
	- try a Lotus Domino Fix

   21 Novemver 1999 Carsten Heyl
	- removed pagebase from INSTALL.apache
	- check file system case sensitivity in compat mode only

   20 November 1999 Wes Biggs
	- Remove ".." from path in PageContextImpl.findURI (helps Jigsaw)
	- Upgraded servlet JARs from classpathx-servlet-19991120
	- Corrected note on multivalued parameter tests in testsuite;
	  restarted results section.

   19 November 1999 Wes Biggs
	- Fixes to path computation in mapped directories.
	- Added some more javadoc.
	- Moved JSDK20 include/forward code to RequestDispatcherImpl.
	- Added getDebug() and getPathDebug() methods to JspServlet.
	- Reorganized service/xservice to better accommodate
	  the needs of RequestDispatcherImpl.
	- Added URL of the JSP being compiled to CompileException

   18 November 1999 Noel J. Bergman
	- JspServlet/JspParserContext.  Moved case sensitivity
	  detection code to JspServlet, where we have access to the
	  scratch directory path, and added set/get methods to
	  JspParserContext.

   17 November 1999 Noel J. Bergman
	- JspParserContext.  Added logic to detect case insensitive
	  file systems. This supports the work that Carsten has been
	  doing to eliminate PAGEBASE, and fixes the problem that 
	  /Mypage.jsp would fail while /mypage.jsp would work.

   16 November 1999 Wes Biggs
	- Changed JspParser to better support static includes
	  in mapped directories. (for example, ~wes == /home/wes/public_html)
	- Added usehostname parameter to append hostname and port to
	  generated filename.  If combined with usepackages, the
	  hostname and port will be a package/directory.
	- Fixed packaging algorithm to work correctly on Win32, etc.
	- Changed timestamp detection to use maximum timestamp of
	  dependencies instead of System.currentTimeMillis().  Should
	  be more accurate when used in a multi-server environment where
	  the clock of the servlet engine is not in sync with the clock
	  of the JSP filesystem.
	- Fixed bug in checkclass code when checking compilerVersion.

   14 November 1999 Carsten Heyl
	- check if scratchdir is writable and provide 
	  useful error message

   13 November 1999 Carsten Heyl
	- JspServlet: cleanup of doInclude/doForward path issues
	- JspParserContext: (hopefully) fixed path matching for
	  windows
	- HttpServletRequestWrapper: fixed getPathTranslated() for
	  Windows, uses JspParserContext.getRealPath() now
	- This should remove need for pagebase on jserv!

   11 November 1999 Carsten Heyl
	- undid latest CHANGE from Noel. Breaks Apache JServ 1.0
	- take a look at envdb.txt (Noel: can you add OS/2 data) and you
          would have seen what will break
	- if you want a fix for a specific engine which does not support
	  what we currently have: detect that engine and just change
	  behaviour for that engine (e.g. hasBrokenXXX or ignoreXXX)

   10 November 1999 Noel J. Bergman
	- JspServlet: Fixed JspServlet.requestToJspURI to call getServletPath() first.

   10 November 1999 Carsten Heyl
	- JspNode: added object type attributes
	- JspParser: use object type attribute to store list 
	  of defined id's for duplicate id detection
	- JspParser: replaced System.err with log()
	- my GIF generating example is back (works now without Writer())
	- removed need for pagebase on jserv (needs testing on windows!!!)

   9 November 1999 Carsten Heyl
	- fixed latest fixes 
	- use $(MAKE) in Makefiles
	- fixed INSTALL.apache

   8 November 1999 Noel J. Bergman
	- Fixed defect in JspServlet.process() where the JSP source
	  file might not be closed in the event of an error.

   7 November 1999 Wes Biggs
	- Added support for jsp:param tag within jsp:include, jsp:forward.
	- Changed doForward() to always wrap request, fixed wrappers and
	  wrapper methods to work with forward/include params.

   6 November 1999 Carsten Heyl
	- tested on vqserver 1.9.23, still enough path bugs ...
	- removed need for pagebase on vqserver
	- you MUST remove pagebase from your servlet args!
	- fixed gnujsp for vqserver 
	- using vqservers authors INSTALL now

   4 November 1999 Wes Biggs
	- Use getPathTranslated() first in getResourceImpl().  Fixes
	  URIs mapped by web server (e.g. ~user)
	- Fixed jsp_precompile to conform to JSP 1.1PR2 spec.
	- Detect jsp_precompile via query string, not getParameter.
	  Allows input stream/reader access under certain conditions.

   4 November 1999 Carsten Heyl
	- Added StringQuotesTokenizer from Gavin Porter. Now our friends
	  from the BG-Universe may use pathes like "c:\Apache Files\" ...
	  (sorry for taking so long ...)
        - Added some notes about Windows installation to INSTALL.apache

   1 November 1999 Carsten Heyl
	- JspServlet/docs: make full environment/request information 
	  if pathdebug=true, mention pathdebug in install.html
	- started env.db containing information about servlet engines/
	  runtime environments

  29 October 1999 Carsten Heyl
	- JavaEmitter: avoid extra getServletConfig() call in generated code
	- Testsuite: minor fixes
	- INSTALL.apache: added notes about wrapper/repository decision
          (submitted by "Simon Waterhouse (UK)" <simon.waterhouse@eu.citrix.com>)
	- INSTALL.netware5 added

  28 October 1999 Wes Biggs
	- Add Hendrik Schreiber's change to PageContextImpl.findURI() to
	  support JSDK 2.2-style includes.
	- Synchronize access to JSPs that implement SingleThreadModel.
	- Fix handling of jsp:setProperty property="*" with multivalued params.
	- Use GnuJspPage as an implemented interface on every generated
	  servlet.  Fixes the problem of having to extend HttpJspPageImpl
	  to get reloading behavior.  HttpJspPageImpl, JspServlet and
	  JavaEmitter were modified to support this.
	- To test this feature, added test/TestNonHttpJspPageImpl.java and
	  an entry in the testsuite.

  27 October 1999 Carsten Heyl
	- JspConfig: add message number to output if 
	  MissingResourceException
	- JavaEmitter: use JspWriter.NO_BUFFER/JspWriter.DEFAULT_BUFFER
	  in generated code
	- JspWriterImpl: use JspWriter.NO_BUFFER/JspWriter.DEFAULT_BUFFER
	- Testsuite: fixed HTML comment tests, new (failing) array tests,
	  working on TODO...
	  (the 2 non "*" array tests work for me on jserv 1.1b3)
	- JspServlet/JspParser: cleaned up use of usePageBase/pageBase

  26 October 1999 Wes Biggs
	- Fixed NullPointerException in JspServlet.destroy()
	- Added INSTALL.webapp, thanks to Peter Rossbach

  24 October 1999 Wes Biggs
	- Removed special consideration for HTML comments.
	- To match JSP 1.1PR2, default imports are now ONLY javax.servlet.*,
	  javax.servlet.jsp.* and javax.servlet.http.*.  java.io.IOException
	  is no longer specifically imported (this may break some pages).

  21 October 1999 Noel J. Bergman
	- Fix JspServlet.getResourceImpl() to ensure compatibility
	  with case sensitive URIs.  New version is also faster.

  20 October 1999 Wes Biggs
	- Fix to JspServlet.getResourceImpl(), fixes static include dependencies.
	  Please test on other platforms.  (vqServer, Mac...)
	- Simplified some logic in JspServlet by immediately wrapping
	  ServletConfig if needed.  ServletConfigWrapper handles creation
	  of ServletContextWrapper.
	- Minor documentation fixes (GJT URL, classpathx-servlet URL)

GNUJSP 1.0.0 (18 October 1999)
------------------------------
  17 October 1999 Wes Biggs
	- Cleanup for release.

  16 October 1999 Wes Biggs
	- Upgraded servlet JARs to classpathx-servlet-19991015 + fix.
	- Added COPYING.LIB and info on servlet classes.
        - Updated some documentation.
	- Changed jsdk20/*20.java class names to not have duplicate "20".

  15 October 1999 Wes Biggs
	- Update: Really fixed String[] handling.  Still doesn't work
	  with JServ.
	- Fix handling of String[] properties and jsp:setProperty
	  when request has multiple values for parameter.
	  NOTE: JServ 1.0 has a bug so this doesn't work under JServ.
	  Need to check 1.1beta.

  14 October 1999 Wes Biggs
	- Bug fixes from Alex Cruikshank:
	  * Fix problem when final scriptlet of page ends in comment
	  * Better error reporting and handling of name/value pairs

  13 October 1999 Carsten Heyl
	- examples: fixed image.jsp imports, added install notes
	- doc: cleanup of INSTALL.apache, now uses servlet-2.0-plus.jar
	  instead of servlet.jar

  12 October 1999 Carsten Heyl
       	- JspParser: avoid text chunks beyond 32000 bytes
	- testsuite: minor fixes/support localization GNUJSP
	- german translation finished

  10 October 1999 Carsten Heyl
       - JavaEmitter: generate "import java.io.IOException" instead
	 of "import java.io.*". Improves speed and reduced probability 
	 of conflicts
       - added support for calling servlets via jsp:include/jsp:forward 
	 on jsdk 2.0. 
       - RequestDispatcherImpl: cleanup, removed check for .jsp
       - Testsuite: fixed bugs found by Danno Ferrin
       - JspParser: 2.13.2.1 only jsp:useBean can define elements and
	 definition must appear before jsp:setProperty element
       - Testsuite: fixed bugs found by above check...
       - JspParser: fixed unitialized JspURL bug if using compiler version info
       - JspParser: optimization: don't add textchung if string is empty
       - JspServlet: throw FileNotFoundException when HttpInclude fails
       - Localization support finished.
       - German localization + testsuite support next days

  9 October 1999 Wes Biggs
       - Changed _gnujsp*() functions to non-static; use reflection
	 when required to find info.  Added check for compiler version.
       - Added classpathx-servlet jars to lib directory under docs in CVS.
         One for JSDK2.0 engines, one for JSDK2.1 engines.  These are
	 drop-in replacements for Sun's stuff released under the LGPL.
	 Note: We need to add instructions to install file.  I tested
	 servlet-2.0-plus.jar with Apache JServ.
       - ParseException: took out annoying stderr output.
       - Minor fix to testsuite to handle contentTypes with or without
         whitespace.
       - Cosmetic enhancements to install.html.
       - Cleanup of TODO.

  7 October 1999 Wes Biggs
       - Fixed HTML Comment parsing error with --->

  6 October 1999 Carsten Heyl
       - JSP10Servlet: removed some System.err.println()
       - JspConfig: slightly changed
       - fixed testsuite bean package names
       - fixed docs
	(second try)

  6 October 1999 Wes Biggs
	- Changed JSP10Servlet to JspServlet
	- Changed JSP10ClassLoader to JspClassLoader
	- Fixed references accordingly.  Updated docs.

  6 October 1999 Noel J. Bergman
	- Changed package names to org.gjt.jsp.* in coordination
	  with the CVS reorganization.
	- Fixed exception handing in JspConfig.getLocalizedMsg()

  6 October 1999 Carsten Heyl
	- new debug option: pathdebug=false/true
	- PageContextImpl: localized, error message cleanup
	- Emitter: localized

  5 October 1999 Wes Biggs
	- Added support for XML-style syntax:
		<jsp:scriptlet>  </jsp:scriptlet>
		<jsp:expression> </jsp:expression>
		<jsp:declaration> </jsp:declaration>
		<jsp:directive.(page|include) />
	- Implemented Carsten's suggestion for readNoEOF() method.
	- General parser cleanup and tuneup.

  5 October 1999 Noel J. Bergman
	- Added support for per session exception reporting, with a user
	  configurable global default.  The current default value is set
	  to TRUE, so all exceptions will be reported to the user agent.
	  To change the default setting globally, set showExceptions to
	  "true" or "false" in the zone's initArg for the servlet.  To
	  change the value for a given session, set a session attribute
	  with the name "org.gjt.jsp.showExceptions" to Boolean.TRUE or
	  Boolean.FALSE.  The session attribute, if present, supercedes
	  the servlet default.  The use of an Error Page is not effected
	  by this change.

  5 October 1999 Carsten Heyl
	- JSP10Servlet: added missing close of java source file stream 
	  (thanks to "Nick Emery" <Nick.Emery@peramon.com>)            
	- JSP10Servlet/JSP10ClassLoader: use subdirs/packages for
	  generated java/class files (initaregs: usePackages=true)
	  Due to the 30 character limit this is a must for macs.
	  (Big thanks to "Nick Emery" <Nick.Emery@peramon.com>!)
	- install.html is changed accordingly            
	- added Pauls Makefile(s)

  4 October 1999 Carsten Heyl
	- HttpJspPageUtil: localization support, parameter check added
	- some include fixes for vqserver
	- some minor FIXME's done
	- checked against jswdk 1.0

  4 October 1999 Noel J. Bergman
	- Changed JavaEmitter to use "Throwable" instead of "Exception"
      for the exception implicit variable, as per section 2.8 of the
	  JSP 1.0 Specification.

	- Changed JavaEmitter to initialize the full set of implicit
	  variables defined in section 2.8 of the JSP 1.0 Specification.

    - Removed the page and application data members from HttpJspPageImpl,
	  as per JSP 1.0 specification.  They are now local variables in
	  the generated jspService method.

    - Hide the config member variable in HttpJspPageImplpage, as per
	  JSP 1.0 specification.  A local config variable is in the
	  generated jspService method.

	- Changed PageContextImpl.initialize() to setup the attributes
	  defined in the JSP 1.0 PageContext.Java interface reference.
	  The JSP 1.1 specification for PageContex.pushBody()/popBody()
	  appears to suggest that these attributes are mandatory, even
	  though nothing else in the written specification defines
	  them (unless you consider the PageContext interface to be a
	  valid part of the written specification).

	- Changed JSP10Servlet to use the current "file.encoding" when
	  calling the built-in compiler, if there is no encoding
	  specified.  This resolves a problem with at least some versions
	  of sun.tools.javac.Main where the -encoding parameter (present,
	  though undocumented) fails to default to the system encoding,
	  resulting in I/O exceptions when it wants to display errors.

  3 October 1999 Wes Biggs
	- Added support for "denyuri" parameter (replaces "checkuri",
          which wasn't implemented).
	- Moved all output generation on parse exception to ParseException.
	- Replaced INSTALL with much-updated install.html.

  3 October 1999 Carsten Heyl
	- error messages while parsing or compiling use line numbers
	  of jsp file now
	- added position information to lots of exceptions
	- Emitter/JavaEmitter: introduced emitPrintExprCall/emitScriptlet 
	  (using direct w.write() is java specific)
	- Emitter: added JspNode parameter to most methods  
	- JavaEmitter: use JspNode Parameter for position reporting, use 
	  localized messages
	- JspParser: use localized messages

  2 October 1999 Wes Biggs
	- Simplified JspConfig; default locale is JVM default.
	- Added getPageAttribute and setPageAttribute to JspNode
	  so page directives can go inside nested useBeans, etc.
	- Added check for unknown page directive attributes, which
	  showed that we were using "autoflush" instead of "autoFlush"
	  in a couple of the testsuite files (fixed).
	- Other changes to pass testsuite.  Marked a couple of tests
	  UNKNOWN because the spec refers to a nonexistent 
	  Character.valueOf(String) function.  I think our implementation
	  is correct, but perhaps not strictly I18N compliant.
	- Added support for precompilation (jsp_precompile) protocol.

  29 September 1999 Carsten Heyl
	- JSP10Servlet: fixed complicated jsp:forward/include dir bug
	- JSP10Servlet: allow jsp:include for other servlets and HTML-Pages via HTTP-Get
	- JspParser: normalize URL used for include directive

  29 September 1999 Carsten Heyl
	- close StackedReader after parsing

  28 September 1999 Carsten Heyl	
	- Detect Macintosh "Rhapsody" and use pageBase in that case
	- proposal for Localization

  27 September 1999 Carsten Heyl
	- JavaEmitter: fixed compile time error 
	  (JDK 2.0?, Needs a good fix!)
	- JavaEmitter: catch ClassNotFoundException and throw
	  InstantiationException with better error message
	- HttpJspPageImpl: moved non object stuff to HttpJspPageUtil	
	  (This is needed for page extends directive without
	   extending HttpJspPageImpl.)
	- JavaEmitter: generate code to use HttpJspPageUtil
	- JavaEmitter: properly ignore jsp:useBean body 
	  if "type" attribute only
	- jsp:getProperty: throw meaningful exception if bean is null
	- jsp:setProperty: throw exception if conversion from string
	  is not possible for property
	- Wes: what about moving these to jspService()?
	  
	    /* Implicit page-scope variables */
	    protected Object         page;
	    protected ServletConfig  config;
	    protected ServletContext application;

	   I didn't find in the spec that they should be accessible from
	   methods. I think jswdk 1.0 defines them in jspservice.
	   That would further strip down HttpJspPageImpl.
 
  26 September 1999 Wes Biggs
	- Only do _gnujspDeps and _gnujspTimestamp stuff if
	  page extends our HttpJspPageImpl
	- Moved check for escaping request-time attributes to
	  inlineAttribute() in JavaEmitter instead of JspParser.
	  Thanks for pointing this out Carsten.
	- Only call inlineAttribute for attributes which are allowed
	  to have request-time values (fixing a bug I introduced...)
	- Allow setProperty on primitives.
	- Fixes to some tests.

  25 September 1999 Wes Biggs
	- compile time and deps are now part of the generated servlet;
	  if you set the init parameter "checkclass=true", you can avoid
	  recompiling each page each time the JSP engine starts up.
	  Note that this operates independently of "checkdependencies".

  23 September 1999 Wes Biggs
	- added INSTALL.jigsaw

  23 September Carsten Heyl
	- added jar target to Makefile
	- JspParser: fixed attribute parsing of %> and <% 
          (not complete, please see comment in JspParser!)
	- fixed buffer tests
	- JSP10Servlet: use BufferedWriter for Emitter
	- JavaEmitter: generate code for test if bean could be instantiated
	- JspParser/JavaEmitter: moved code for type/class decision
	- JspParser: check for duplicate bean ids added

  23 September 1999 Carsten Heyl
	- synchronized access to attrs in ServletContextWrapper
	- properly encode HTML if printing exceptions to out
	- removed code in JavaEmitter setProperty(value!=null) checking for ""
	- check for value=="" in setProperty(novalue+noparam)
	- changed code to use one ServletContextWrapper for all pages (=application scope)
	- check for value=="" in setProperty(property=*)

  22 September 1999 Carsten Heyl
	- more tests, test cleanup (jsp:setProperty/jsp:getProperty,
	  jsp:include, jsp:forward, #: 217)
	- changed JavaEmitter to use JspWriter.clearBuffer() (see comment)
	- fixed Makefile for jsdk20 subpackage
	- updated main.jsp bug count

  21 September 1999 Wes Biggs
	- fixed include directive multiple relative includes 
          (problem was in StackedReader)
	- moved wrapper classes to jsdk20 subpackage
	- cleaned up README a little

  21 September 1999 Carsten Heyl
	- added pagebase to INSTALL.apache (Happy, uwe? :-)

  20 September 1999 Carsten Heyl
	- more tests (jsp:useBean, total #: 171), few more bugs	
	- small test fixes (getting closer!)
	- minor cleanup of CHANGES
	- maybe we can release a feature complete 1.0 this month?
	  (MINUS taglib, MINUS plugin)
	- please stay away from non tXXX tests for now,
	  cleaning up ...
	- proposal: make package org.gjt.jsp10.jsdk20.XXX
          for compat stuff?

  18 September 1999 Wes Biggs
	- Serge's changes for charset and -encoding switch
	- Fix to request-time attribute evaluation

  17 September 1999 (California Time...) Wes Biggs
	- Include directive now works on JServ if you set pagebase.
	- Changed System.err traces to be if (debug) and use log().
	- Implemented page directive info to generate getServletInfo().
       I have not looked at the disabled test yet...

  18 September 1999 Carsten Heyl
	- more tests (total #: 154), more bugs 

  17 September 1999 Carsten Heyl
	- jsp:forward support of jsp pages for jsdk 2.0 added
	- some changes on exception reporting
	- some more tests and test fixes

  16 September 1999 Carsten Heyl
	- jsp:include support for jsdk 2.0 added

  15 September 1999 Wes Biggs
	- Rewrote JavaEmitter.inlineAttribute() to properly escape quotes
	- Fixed to a number of tests, run the suite and see!
        - Allow %\> as escape sequence in scriptlet or expression
	- Fixed parsing of HTML comments to only allow expressions
	- Implemented page extends test.
	- changed file:// + name to file: + name for Win32 compatibility.

  15 September 1999 Carsten Heyl
	- vqserver changes (not completed yet)
	- Makefile changed for additional files
	- throw exception on unexpected null value in include
	  directive that need to be investigated further
	- testsuite sorts bugs according to severity now
	- tessuite fixed against jswdk 1.0 now

  15 September 1999 Carsten Heyl
	- changed Makefile for linux use (please check if compatible!)
	- added INSTALL.apache
	- added INSTALL.vqserver

  14 September 1999 Paul Siegmann
	- added a set of Makefiles

  14 September 1999 Carsten Heyl
	- cleanup of testsuite (checking against 
	  jswdk 1.0 not complete yet)
	- added some more tests to keep Wes busy :-)

  13 September 1999 Wes Biggs
	- Reintegrated Carsten's changes that were lost. Sorry!
	  Fixed various things the testsuite pointed out.

  12 September 1999 Wes Biggs
	- Change to new AST-style parser.  Lots of changes.  Broke a 
	  few things but parser is much improved.  Will work on more
	  tomorrow (checking in at midnight local time).

  11 September 1999 Wes Biggs
	- Rewrote StackedReader to use LineNumberedReader and work
	  more efficiently.
	- Added a ParseException constructor that takes a StackedReader,
	  from which it deduces the line number and source filename.

  10 September 1999 Wes Biggs
	- Fixed bug in JavaEmitter.inlineAttribute() handling empty strings
	- Changed use of Sun compiler to be done through reflection, so
	  class needn't be present when compiling.
	- Added wrapper classes for ServletConfig, ServletContext,
          HttpServletRequest and RequestDispatcher when using JSDK
	  2.0.  Thanks to Serge Nekoval for much of this code.

	  When a HttpJspPageImpl is initialized, it dynamically
          creates the wrappers if needed.

          Note that this means you need the javax.servlet.RequestDispatcher
	  class in the classpath, EVEN IF YOU ARE USING A JSDK 2.0 ENGINE.
	  You can rip it out of the JSWDK 1.0 jar, or the JSDK 2.1 jar,
	  or wait for the public release of Classpath's GPLed version.
	- Fixed detection of JSDK 2.0 in PageContextImpl.  It's now done
	  in a static initializer.

  09/09/1999 Noel J. Bergman
	  [All changes apply to PageContextImpl.java]
	- Added ApplContext adapter class to support Application scope
	  under JSDK 2.0.  The adapter class used with JSDK 2.1 should
	  be inlined.  Future work can involve setting up an ApplContext
	  object per ServletContext instead of global to the class (and
	  therefore the classloader).
	- Changed detection of JSDK 2.0 so that it is done ONCE and is
	  available to other PageContextImpl methods.
	- Added (temporary) exception handing to present stack traces
	  generated in setAttribute/getAttribute to the client.  These
	  have been invaluable when tracking down Class Not Found and
	  Method Not Found errors.  We should move this code to a more
	  central and generic location so that ALL runtime errors that
	  we can detect in a JSP servlet are eligible to be presented
	  to the client (a servlet initarg can be used to turn this
	  option on or off).

  09 September 1999 Carsten Heyl
	- changes for vqserver 1.9.17 (PathInfo again + flush needed)
	- added some debug output ig debug is true	
	- added some repository checks
	- synchronized access to pages in JSPServlet.service()
	- minor fix to main.jsp

  09 September 1999 Carsten Heyl
	- Syntax error fixed! sorry !

  09 September 1999 Peter Rossbach <pr@webapp.de>
	- changed url generation for relative urls
	(added by Carsten Heyl)

  09 September 1999 Carsten Heyl
	- some more tests
	- fixed case of errorPage==null in JavaEmitter
	- fix code generation bugs for !isThreadSafe in JavaEmitter
	- added write(String) to JspWriter (can't believe that!)
	  (That should fix some forward bugs. Thanks jo! for Exception!)
	  (Check above before committing!)
	- 2.13.5 "A jsp:forward effectively terminates the execution of
	  the current page." done.
	- fixed parsing of buffer size and buffer=none
	- allow bufferSize==0 in JspWriterImpl
	- fixed code generation bug for class==null and beanName==null

  09 September 1999 Carsten Heyl

	- much more tests (much more needed ...)

  07 September 1999 Carsten Heyl
	- more testsuite tests
	- activated getProperty(name=...,property=...)
	- more parameter checks in JavaEmitter
	- check for setProperty(value="") 
	- minor additions to TODO
        - restructured testsuite main.jsp
	- fixed EOF handling in JSP10Compiler
	- added Emitter()-methods for Scriptlet 
          (empty in current implementation)
	(Carsten Heyl)

  *) Changed Emitter to an abstract class -- work in progress. (Wes Biggs)

  *) Moved responsibility for standard imports to JavaEmitter. (Wes Biggs)

  *) Fixed bug in parsing JSP comments. (Wes Biggs)

  *) Encoding fixes for mime-type and charset. (Serge Nekoval, Wes Biggs)

  *) Minor parser change: replaced hard coded code generation by call 
     to emitter (Carsten Heyl, test for cvs ...)

  *) Started a TODO file. (Wes Biggs, Carsten Heyl)

  *) Added CompileException to denote errors during compilation.
     Friendlier reporting of compile problems vs. parse problems.
     (Wes Biggs)

  *) Much more extensive reporting of parsing problems. (Wes Biggs,
     Carsten Heyl)

  *) Changes for compatibility with Servlet API 2.1 specification
     of javax.servlet.jsp.*, as implemented by the JSWDK1.0 release.
     Note this means you can't keep using the jsp.jar with the
     incorrect method signatures. (Wes Biggs)

  *) Removed obsolete JSPException class, created new ParseException.
     Changed JSP10Compiler to throw these instead of just IOExceptions.
     (Wes Biggs)

  *) Removed obsolete 0.9.x documentation from 1.0 tree. (Wes Biggs)

  *) Split classes into separate files. (Wes Biggs)
  
  *) Renamed Page class to JSP10CompilerPage. (Wes Biggs)

  *) Added testsuite to doc directory. (Carsten Heyl)

GNUJSP 1.0b6 (8 September, 1999) 
--------------------------------
  *) Jigsaw compatibility fix. (Wes Biggs)

  *) getProperty/setProperty fixes. (Noel Bergman)

GNUJSP 1.0b5 (31 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Argument to getProperty wasn't being properly quoted and the
     result of the method call wasn't actually printed. 

  *) This morning's release contained another typo -
     setAttributeWithScope should have been setAttributeInScope. 

GNUJSP 1.0b4 (31 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Woops. A typo in code generated for useBean. In any case,
     remember that you must either use <jsp:useBean ...> some stuff
     </jsp:useBean> or <jsp:useBean ... />!

GNUJSP 1.0b3 (30 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) A bean created through jsp:useBean will now actually be stored in
     the session propertly.

  *) The typo in the generated code for jsp:setProperty with
     property="*" is fixed. Also, the enumeration is over the
     parameters, as the spec states, not over the bean's properties.

  *) setProperty on primitive types should work again. 

GNUJSP 1.0b2 (24 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Separated out the 0.9 and 1.0 installation instructions into
     different INSTALL files.

  *) Renamed lib/gnujsp1.0.jar to lib/gnujsp10.jar and
    lib/gnujsp0.9.jar to lib/gnujsp09.jar, since Windows users started
    complaining of the extra dots.

  *) Fix bug where useBean compiled to garbage if you didn't supply a
     type attribute. (Thanks to everyone who pointed this out and sent
     in patches.)

  *) Delay the call to request.getWriter () until actually needed

  *) Use pageBase when doing compile-time includes.

  *) There were some problems with implicit variables: 
     -- Ensure that the session object exists by default, unless
        turned off through the session attribute of the page
        directive. (Carsten Heyl)
     -- Add the implicit application object. (James Cooper)
     -- Add the implicit ServletConfig config object. (Yaroslav Faybishenko)

GNUJSP 1.0b1 (20 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Peter Rossbach pointed out that scriptlets with no spaces between
     % and code, such as <%}%>, were not detected as scriptlets. Fixed.

  *) Heinrich Abele pointed out that unnamed directives caused the
     parser to enter an infinite loop. Added his fix, since this would
     be a common mistake for those migrating from 0.92 jsp files to 1.0.

  *) Heinrich suggested to add a "jserv" servlet configuration
     property, which would tell JSP10Servlet that it is running in the
     Apache+JServ environment, so that it can do a jserv-specific bug
     workaround. So don't forget to set this property to some value if
     you are using jserv. If not, don't set it.

GNUJSP 1.0a4 (19 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Ugh. Fix the bug in Hendrik's fix. 

  *) Teresa Lam's fix for NullPtrExc during dynamic include tag.

  *) Teresa's suggestion to not display exceptions during exception
     handling, but display the original exception.

  *) On advice of James Walters, make exception variable if
     isErrorPage=true for the current page. I was expecting the
     programmer to call pageContext.getException ().
 
GNUJSP 1.0a3 (18 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Comment tags are now parsed correctly. 

  *) Corrected translation of the errorPage attritube of of the page
     directive.

  *) All output statements are generated to contain out.print, rather
     than out.println.

  *) Incorporated Hendrik Schreiber's fix for a bug in mapping of jsp
     servlet's request to actual jsp file. If the name in the request
     had escaped characters, it was not being decoded.
  
  *) Also, on advice of Hendrik, make the scratch directory if it
     doesn't exist.

GNUJSP 1.0a2 (17 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) If you use the <%@ include file="..." %> directive to specify a
     non-absolute filename, then the JSP compiler will look for it in the
     same directory as the file currently being compiled. (It used to
     require absolute filenames.)

  *) A loose backslash within html code is now properly escaped. 

  *) You can now do <jsp:include page="lala<%= expression %>tada" >,
     but remember to escape all quotes in expression, just as you would
     escape everything within a string! Same goes for the jsp:forward tag's
     page attribute and for jsp:setProperty tag's value attribute.

GNUJSP 1.0a1 (16 August, 1999) (Yaroslav Faybishenko)
------------------------------
  *) Fixed package name in INSTALL file. It used to say
     org.gjt.jsp.JSP10Servlet, rather than org.gjt.jsp10.JSP10Servlet.

  *) Fixed handling of page directive with import attribute containing
     comma-separated package names.

  *) Added examples1.0/ subdirectory with date.jsp and snoop.jsp that
     use the 1.0 syntax.

  *) Correctly show a 404 if a JSP file was not found. 


GNUJSP 1.0a (15 August, 1999) (Yaroslav Faybishenko)
-----------------------------
  *) New compiler for the 1.0 spec 
