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.

>>>>>>> 1.64
  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 
