Caucho Technology
  • resin 4.0

  • Resin 2.1 Change Log

    2.1.16 - Feb 15, 2005

    • Support for servers beyond 26 (rep by Dave King)
    • isapi_srun fixes for status parsing
    • error output overflow checking (rep by Eric Hauser)

    2.1.15 - Feb 2, 2005

    • mod_caucho.c fixes for config_t initialization on Apache 1.3 and solaris
    • Added more severe kill for wrapper.pl on restart (rep by Keith Fetterman)
    • Jar cache expanded to 256.
    • mod_caucho changes to allocate separate ap_pool for HUP memory (rep by Anthony Tonns)
    • On Apache, cse_free must actually call free (rep by Tony Tonns)
    • Added 100-continue support (rep by Takahiro Fukuda)
    • (2004-11-05) Updated DBPool overflow checking (rep by Philip Morelock)
    • Changed UPDATE_INTERVAL from 5m to 1m (rep by Takahiro Fukuda)
    • OpenSSL wasn't binding specifically to host (rep by Tomas Lagren)
    • (2004-10-08) allow chunked in mod_caucho
    • LoadBalanceServlet needs to use response.getOutputStream (rep by Simone)
    • Mbean server new wasn't workig properly
    • Apache2 mod_caucho wasn't accepting chunked encoding (rep by Mandel Andreas)
    • Added apr checking for Apache2 (rep by Sujay D'Souza)
    • XML with null namespace creation (Mattias J)
    • Allow null value for c:url (rep by Juho Makinen)
    • clearXid() was clearing wrong value (rep by Po Cheung)

    2.1.14 - July 1, 2004

    • mod_caucho keepalive fixes with Apache2
    • XML printing of "xml:" namespace (rep by Mattias J)
    • XML parsing of "xml:" attribute namespace (rep by Mattias J)
    • Statement overflow must still allow for allocateXA (rep by Takahiro Fukuda)
    • stdout needs to have default of -1 for rollover size (rep by William Au)
    • NullPointer check for SessionManager.cleanBacking (rep by Frank Nestel)
    • Added "on" as a value for j_user_cookie_auth (rep by Don Coleman)
    • (2004-06-10) DispatchResponse wasn't using wrapped encodeURL (rep by Takahiro Fukuda)
    • c:url wasn't handling relative paths properly (rep by Frank Nestel)
    • (2004-06-07) stack overflow by a character in nsapi.c (rep by Ivan Mitov)
    • nsapi.c util_hostname needs to check for null (rep by Ivan Mitov)
    • (2004-05-17) Missing ZipFile close for tld parsing
    • TcpStore needs the acccess time/update to avoid timeout (rep by Christian Amott)
    • FileStore needs to set access time periodically (rep by peuclid)
    • ServletServer deadlock close vs cron (rep by Ajit Puthiyavettle)
    • (2004-04-29) reduce jar cache to 16 (rep by Adrian Radulescu)
    • tld loading needs to catch Throwable for NoClassDefFoundError (rep by William Au)
    • c:param wasn't handling null values properly (rep by Matt Pangaro)
    • XSL omit-xml-declaration should still print DOCTYPE (rep by Robert Kobert)
    • (2004-04-26) check for null with OPENSSL_INCLUDE in configure.in (rep by Keith Fetterman)
    • EntityResolver not called for top level (rep by Joseph Dane)
    • XPath substring check was incorrect (rep by Matthias J)
    • --stdout was directed to stderr (rep by Mark Abbott)
    • fmt:formatDate wasn't handling value=null properly (rep by argyn)
    • (2004-03-30) ./configure changes for --with-apache-src (rep by Voloz Benjamin)

    2.1.13 - Mar 30, 2004

    • (2004-03-23) newHost.init() in ServletServer (fixed! by Stefan Praszalowicz)
    • ./configure for HP-UX was adding -x instead of -z (rep by Linda Willett)
    • Updated wrapper.pl to close stdout/stderr (rep by Philip Morelock)
    • plugin fixes to catch windows filesystem quirks (rep by Eric Raymond)
    • Encoding of included response stream needs to match the top-level response (rep by Nicholas Averseng)
    • Bug in resin.ini parsing (rep by Takahiro Fukuda)
    • (2004-01-22) Adding check for session conflict (rep by Edoardo Ceccarelli)
    • HttpServletRequest CLIENT_CERT_AUTH misspelled (rep by Keith Fetterman)
    • xsl:attribute with nested macro was acting incorrectly (rep by Eugen Lechner)
    • XSLT transformer with DOMResult wasn't handling null Node (fixed! by Mike Perham)
    • Context.listBindings was returning Context.list instead of Context.listBindings
    • (2004-01-05) Session load/store synchronization issues (rep by Dave King)
    • (2003-12-16) Added tld caching for JSP generation (rep by William Au)
    • wrapper.pl/Resin changes for Solaris init (rep by Maria Grazia Arienta)
    • (2003-12-15) Changing Jar to avoid Alarm and LRU callback (rep by William Au)

    2.1.12 - Dec 11, 2003

    • Response.getCharacterEncoding issues with include (rep by Nicolas Averseng)
    • Suspend shouldn't suspend the transaction timeout
    • c:url parameter needs to be encoded with the response encoding
    • JMX changes to allow for alternate implementations (fixed! by Michael Rumpf)
    • resource-env-ref missing from ClassLoaderContext
    • x:if and x:when need node context for x:foreach (rep by Phil Smy)
    • <cache dir> needs to use variables (rep by Thomas Zehetbauer)
    • store-on-shutdown fix for ring-store
    • (2003-10-24) getMimeType needs to check case-sensitive (rep by Alex Johnson)
    • BeanUtil.getGetMethod needs to set setAccessible to handle LinkedHashMap (rep by Mike Cyze)
    • updated makefile/configure.in for FreeBSD bin/resin (rep by Sujay D'Souza)
    • JSP out.clear() was clearing content encoding (rep by Christoph Ledl)
    • Change table existence check for JdbcStore (rep by Thomaz Zehetbauer)
    • Underlying file session timeout needed to remove actual session (rep by Fyodor Golos)
    • JdbcStore was missing setMaxIdleTime (rep by Thomas Zehetbauer)
    • mod_caucho wasn't handling plugin_ignore for exact matches (rep by Mike Laskin)
    • virtual host/cron deadlock (rep by Felipe Garcia)
    • Allow for default byte value in error-log for consistency with access-log (rep by Tihombe)
    • JdbcStore wasn't properly called for old session expiry (rep by David Campbell)
    • x:set was missing node env causing trouble with x:foreach (rep by mhliu787)
    • (2003-09-24) mod_caucho was using header_set instead of header_add, removing Cache-Control directives
    • xsl:attribute with value-of and disable-escaping popped text (rep by Eric Ras)
    • fmt:message inside fmt:param nesting problem fixed
    • SecurityContext was getting cleared in Response.finish (rep by Charles Fu)
    • class-update-interval of -1 was forcing continual JSP check (rep by Chris Chen)
    • JSP check of update-interval wasn't grabbing caucho.com
    • XSL xsl:comment and set:location weren't mixing well (rep by Philip M)
    • memory.c initialization fixes for nsapi
    • c:choose mixing c_rt:when and c:when (rep by Matthias J)
    • JSP x:foreach node context fixed (rep by mhliu787)
    • Check ClassLoaderStream.setStdout to avoid loop (rep by Chris Cottee)
    • Checking DynamicClassLoader isModifiedInt for nullpointer (rep by Fyodor Golos)
    • UserConnectionAdapter.rollback needs to check the connection for null (rep by Knut Forkalsrud)
    • QRequestDispatcher.flushBuffer is inappropriate for forward (rep by Jean-Baptiste Quenot)
    • Change sync and caching of precompiled stylesheet (rep by Galliot Guillaume)
    • Added cookie-secure attribute (rep by Takahiro Fukuda)

    2.1.snap - Oct 24, 2003

    • (2003-10-24) getMimeType needs to check case-sensitive (rep by Alex Johnson)
    • BeanUtil.getGetMethod needs to set setAccessible to handle LinkedHashMap (rep by Mike Cyze)
    • updated makefile/configure.in for FreeBSD bin/resin (rep by Sujay D'Souza)
    • JSP out.clear() was clearing content encoding (rep by Christoph Ledl)
    • Change table existence check for JdbcStore (rep by Thomaz Zehetbauer)
    • Underlying file session timeout needed to remove actual session (rep by Fyodor Golos)
    • JdbcStore was missing setMaxIdleTime (rep by Thomas Zehetbauer)
    • mod_caucho wasn't handling plugin_ignore for exact matches (rep by Mike Laskin)
    • virtual host/cron deadlock (rep by Felipe Garcia)
    • Allow for default byte value in error-log for consistency with access-log (rep by Tihombe)
    • JdbcStore wasn't properly called for old session expiry (rep by David Campbell)
    • x:set was missing node env causing trouble with x:foreach (rep by mhliu787)
    • (2003-09-24) mod_caucho was using header_set instead of header_add, removing Cache-Control directives
    • xsl:attribute with value-of and disable-escaping popped text (rep by Eric Ras)
    • fmt:message inside fmt:param nesting problem fixed
    • SecurityContext was getting cleared in Response.finish (rep by Charles Fu)
    • class-update-interval of -1 was forcing continual JSP check (rep by Chris Chen)
    • JSP check of update-interval wasn't grabbing caucho.com
    • XSL xsl:comment and set:location weren't mixing well (rep by Philip M)
    • memory.c initialization fixes for nsapi
    • c:choose mixing c_rt:when and c:when (rep by Matthias J)
    • JSP x:foreach node context fixed (rep by mhliu787)
    • Check ClassLoaderStream.setStdout to avoid loop (rep by Chris Cottee)
    • Checking DynamicClassLoader isModifiedInt for nullpointer (rep by Fyodor Golos)
    • UserConnectionAdapter.rollback needs to check the connection for null (rep by Knut Forkalsrud)
    • QRequestDispatcher.flushBuffer is inappropriate for forward (rep by Jean-Baptiste Quenot)
    • Change sync and caching of precompiled stylesheet (rep by Galliot Guillaume)
    • Added cookie-secure attribute (rep by Takahiro Fukuda)

    2.1.11 - Sep 8, 2003

    • (2003-09-03) Check for SessionManager null in findSessionIdFromUrl (rep by Peter Berlin)
    • jar/zip loading of taglibs (rep by Tom Cunningham)
    • Session put needs putIfNew (rep by Fyodor Golos)
    • (2003-08-27) FromAttributes needs normalization with descendant
    • Issue with chunked-encoding and out.clearBuffer() (rep by Andrej Gabara)
    • AbstractVariableResolver used '||' in place of '&&' (rep by Andrej Gabara)
    • (2003-08-21) XSL env wasn't resetting param values (rep by Andrew McGhee)
    • Better error recovery from failed multipart-form and handling multipart-form redirect (rep by Markus Linnala)
    • XPath filter pattern issue with child[$n]
    • LruCache was missing replace event on put
    • destroy session callback needs to happen before invalidation to match Servlet 2.4
    • Added check for Kerberos for openssl compilation
    • Fixed HP-UX compilation flags
    • Handling SAX feature for validation (rep by Tomasz Pik)
    • Issues with FileServlet, FileNotFound, and Apache escaping (rep by Fyodor Golos)
    • contextDestroyed callback order changed to match Servlet 2.4 spec (rep by Juergen Hoeller)
    • Absolute URL rewriting with alternate-session-url-prefix
    • <host> EL enhancements
    • Fixed .zip vs .jar in TLD parsing (rep by Stephen Tucker)
    • (2003-08-06) RotateStream initialization had race-condition
    • changing session locking to avoid possible deadlock (rep by Martin Weinig)
    • TCP store needs to handle failed writes better (rep by Martin Weinig)
    • Added JDBC 3.0 API to connection wrappers
    • check max-pool-time on pool allocation (rep by Martin Weinig)
    • MessageServer needs to swap order of Queue test to handle SwiftMQ (rep by PeterB)
    • Apache 2 mod_caucho needs the hook priority to be "FIRST" (rep by David Soleno and Mike Kail)
    • (2003-07-11) mod_caucho for Apache built with shared mod_ssl needs -lssl (rep by Collin Boyce)
    • Can't use Gzip for error codes because of IE bug (rep by Dave Moellenhoff)
    • Missing null check in JSP printVarDeclare
    • Added EL support for http host and port (rep by Steve Molloy)
    • (2003-07-10) Runner issues with POST and 404 (rep by Benjamin Voloz)
    • XPath merge for some attribute matches was essentially an infinite loop (rep by Aadithya Deshpande)
    • c:param for c:import wasn't checking for null values properly (rep by Kim Koran)
    • AccessLog buffering allows longer URLs EL (rep by William Au)

    2.1.10 - June 18, 2003

    • Added host-name with EL (rep by Andrey Kisel)
    • not modified issues with cached files (rep by Jim Frenette)
    • Burlap deserialization of stack traces (rep by Daniel Lopez)
    • jar issues for .tld files (rep by Kirk Rasmussen)
    • setDataSource in SqlTransactionTag was named incorrectly (rep by Jeroen Vianen)
    • (2003-06-03) missing sync in session create (rep by Fyodor Golos)
    • XSL document issues (rep by Lori Wong)
    • fix for null in XmlParser used as sax generator (rep by Robert Koberg)
    • XSL document("foo.xml") wasn't properly setting systemId (rep by Robert Koberg)
    • Alarm could get dropped during resin.conf restart (rep by Serge Knystautas)
    • Change test for OpenSSL return codes (rep by Jason Dyer)
    • stream.c session decoding problem with backup (rep by larryl)
    • (2003-05-21) multiple jndi-link merged factory instances (rep by Brian Wilson)
    • XSLT priority of foo/* wasn't handled properly (rep by Charles Fu)
    • JSTL x:transform wasn't handling inline XML (rep by Charles Fu)
    • HttpSessionBindingEvent.getValue() wasn't properly set
    • Missing free of session information in mod_caucho (rep by mimo)
    • backslash escaping needed for XSL attributes (rep by Serge Belolipetski)
    • isapi_srun with jsessionid and JSESSIONID s/b configurable (rep by Tim Pedone)
    • added getApplication to ApplicationAdmin (rep by Micha Hagg)
    • XSL != comparison with node set wasn't handle properly (rep by Charles Fu)
    • GzipFilter hack (rep by Alan Wright)
    • init.resin.in missing quoting for ARGS (rep by Che Dong)
    • c:set with property wasn't converting type properly
    • (2003-05-19) synchronize war expansion and use "._" for Windows (rep by Sulka)
    • originalStream not set on init (rep by Kashif Qayyum)
    • ServletOutputStream not properly restored after tags (rep by Kashif Qayyum)
    • c:catch wasn't properly restoring the output (rep by Kashif Qayyum)
    • XSL number() wasn't using current node (rep by Charles Fu)
    • x:set was converting always to String (rep by Charles Fu)
    • jdbc-store table-name wasn't set properly (rep by David Cambell)
    • SSL_CTX_use_certifiate_chain_file test failed
    • (2003-05-05) distributed session issues with timeouts (rep by Andrew Lienhard)
    • (2003-04-29) bin/resin cleanup with closed stdin (rep by Charles Fu)
    • RotateLog issues with multiple servers (rep by Serge Knystautas)
    • Tag libraries with missing directories
    • Some JSP validators require namespace additions
    • class-update-interval check could rollover for resin.conf check (rep by Rob Lockstone)
    • rollover-size wasn't properly handling bytes units (rep by Max Kutny)
    • CGIServlet needs to deal with included pages (rep by David Campbell)
    • Runtime exceptions should be throw directly w/o wrapping in JSP
    • Burlap handling of Date needs ms accuracy (rep by Nicholas Averseng)
    • Missing XmlParser InputStream close() (rep by Matthias J)
    • Transaction rollback should not occur in subrequests (rep by Tyson Singer)
    • WebDav returning incorrect result on 404
    • Added ca-certificate-file support (rep by Andrew Lienhard)
    • incorrect sync on applicationStart, causing deadlocks with .war expansion (rep by Matthias J)
    • jsp:scripting wasn't properly recognized w/o namespace (rep by Ari Savolainen)
    • Apache with SSL to Resin wasn't initializing SSL properly (rep by Anthony Tonns)

    2.1.9 - April 16, 2003

    • (2003-04-16) getAttributeNS nullpointer (rep by Kirk Rasmussen)
    • Hessian/Burlap issues with java.sql.Date
    • jsp:root attribute printing issues (rep by Jeroen van Vianen)
    • (2003-04-08) JDBC wrapper can't set an error on stmt.close() because Sybase doesn't allow double close (rep by Tomas Zajicek)
    • EL method parsing was causing trouble with following expression (rep by Sam Heisz)
    • (2003-04-04) errors in parsing *.tld weren't properly reported (rep by Kevin Henrikson)
    • potential loop in Request.sendServletError (fixed! by Uwe Shaefer)
    • rollover-size wasn't catching -1 (rep by Kazumasa Mori)
    • bin/resin needs delay after fork (rep by Dong Che)
    • Apache 2 build issues with threading disabled
    • setCookieVersion in JdbcAuthenticator was incorrect (rep by Matthias J)
    • bin/resin command-line argument fixes (-stdout)
    • Issues with new ResponseAdapter and isFree (rep by Kirk Rasmussen)
    • (2003-03-26) Resin shouldn't be calling setTransactionTimeout unless necessary (breaks sapDB)
    • JSP tag variable mixing AT_END and NESTED weren't declaring properly (rep by Serge Knystautas)
    • fmt:formatDate needs to return "" for null values (rep by Richard Holmes)
    • SpyConnection wasn't logging sql for execute and exceptions (fixed! by Eric Kreiser)
    • -stdout argument cleanup for bin/resin (rep by Mark Femal)
    • Added com.caucho.http.filter.XsltFilter to handle gzip (rep by Olivier Baes)
    • resolved deadlock for Application.init and getRealPath
    • Cleaned up request/response wrappers to clear fields before being reused
    • (2003-03-19) EL mul/div association was incorrect
    • isSecure() needs to handle 443 properly (rep by Srinivasan Pillai)
    • Apache failure to connect to backend should return HTTP_SERVICE_UNAVAILABLE (rep by Grega Bremec)
    • (2003-03-14) fast-jstl fmt:message wasn't allowing c:out in fmt:param (rep by Ari Savolainen)
    • XSL sort needs the lang to allow attribute value templates (rep by Anders Gorm Larsen)
    • For file-based webDAV, should create root directory automatically (rep by Nicholas Irving)
    • StringTransformer needs to use UTF-8 consistently
    • blob-type wasn't configuring the JdbcStore (rep by Jon Cochran)
    • (2003-03-13) auto-compile='false' should not check *.jsp changes but should check *.class changes (rep by Greg Miller)
    • logout needs to logout from single-signon cache (rep by Max Kutny)
    • fmt:formatDate tag wasn't using Config.find to find the defaults (rep by Lucasz Kowalczyk)
    • NSAPI install awk scripts were causing trouble (rep by Damien)
    • Persistent store wasn't properly GC'd on web.xml change (rep by Kenkichi Mahara)
    • Updates to QJspFactory and QPageContext to support roller (rep by Lance Lavandowska)
    • HttpStream wasn't interpreting the HEAD Content-Length properly (rep by Erik van Zijst)
    • DOMBuilder wasn't handling parser cases from webwork (rep by Kirk Rasmussen)
    • multipart-form needs to handle case with partial upload (rep by alok)
    • -resin-child not properly handled (rep by Jeff Einhorn)
    • JSP/PageData wasn't handling xmlns:jsp namespace properly (rep by Ricardo Tercero)
    • added key-manager-factory and ssl-context to JSSE support (rep by Martin Cordova)
    • Hessian object serialization order must write primitives first (rep by Juergen Hoeller)
    • DirectoryClassLoader was only return first resource in getResources (rep by Steffen Gerhardt)

    2.1.8 - Mar 6, 2003

    • LoadBalanceServlet wasn't adding multiple headers (rep by Paulo Veiga)
    • CGI wasn't handling name correctly for url-pattern='/cgi-bin/*' (rep by Khang)
    • don't enforce the IllegalStateException on getCreationTime (rep by Marc Larue)
    • servlet-context start listener happens before servlets (rep by Deniz Tatar)
    • (2003-03-03) case-sensitive was only recognized in web.xml
    • Request wasn't calling skip() for POSTs
    • mod_caucho round robin needs initialization in cse_open_child (rep by Sven Duzont)
    • use JNI setuid for non-Linux Unix to avoid need for bin/resin (rep by Alan Wright)
    • warExpansion needs to be synchronized (rep by David Soleno)
    • Catch potential issues with HTTP open (rep by George Van Treeck)
    • JSP validator wasn't interpreting the 0 length array as okay (rep by Rob Girardin)
    • bin/resin setuid was setting group incorrectly (rep by Yam)
    • MemoryStream wasn't adding length properly (rep by Fabrice Roge)
    • (2003-02-25) GZipFilter wasn't properly handling content type (rep by Max Kutny)
    • GZipFilter needs to handle 404 and errors specially (rep by Max Kutny)
    • XSL lang handling was using Locale.getDisplayLanguage() instead of Locale.getLanguage() (rep by Anders Gorm Larsen)
    • UserConnectionAdapter needs to use getConnection() consistently for better error reporting (rep by Yuan)
    • ./configure was detecting powerpc as MacOS-X
    • JMX name issues with MBeanServerImpl (rep by Kelvin Westlake)
    • BigDecimal needed special handling for Burlap/Hessian (rep by
    • PoolItem.clearXid() causing trouble with multiple connections (fixed! by Jason Chaffee)
    • c:import handling of param with foo&bar wasn't escaping the amp (rep by Aadithya Deshpande)
    • XTP with jsp:root wasn't handling taglib namespaces properly (rep by Dan WInfield)
    • HessianOutput wasn't handling > 64k strings properly (rep by Andrea)
    • bin/resin should use -resin-child instead of env for startup (rep by dsoleno)

    2.1.7 - Feb 4, 2003

    • (2003-02-04) Oracle transaction issues/XA fixes (rep by Martin Weinig)
    • Fixed support for transaction timeout (rep by Nicholas Lesiecki)
    • run-at minute validation was testing against 24 instead of 60 (fixed! by Paul Mietz Egli)
    • QPageData wasn't setting utf8 (rep by Michal Mosiewicz)
    • session-timeout of 0 was handled incorrectly (fixed! by Martin Cooper)
    • Hessian/Burlap was using equals instead of == for <ref> (fixed! by Juergen Hoeller)
    • compiling class loader was improperly setting javac encoding to null (rep by Maxim Penzin)
    • LoadBalanceServlet wasn't setting isSecure properly (rep by Heather Rogers)
    • Removed setting of *.class modified time in JavaCompiler (rep by Dave Poyas)
    • session tcp-store wasn't removing old persistent sessions (rep by Martin Weinig and Gregory Bohmer)
    • session tcp-store wasn't handling passivate events properly (rep by Ed Crotty)
    • force remove of old log before moving old one (rep by Dave Kitelinger)
    • ./configure issues finding libssl (rep by Jeff Gilbertson)
    • Too many headers should return 400 instead of 500 (rep by Erik Forkalsrud)
    • Added xsl:sort lang support (rep by Andres Gorm Larsen)
    • JSTL 0/0 needs to produce 0 (rep by Joseph Toth)
    • WebDavServlet needs to escape displayname (fixed! by Pieter Schoenmakers)
    • Moved setpgid before fork() so child won't get killed early (rep by Jay Sutaria and Dong Che)
    • Changed case in old-style cookie attributes to lower case (rep by Laurie Poon)
    • ResinStatus was giving wrong session information (rep by Gary Doughty)
    • (2003-01-08) Spy needs to clean up password info (rep by Max Kutny)
    • Tag variables with AT_BEGIN weren't checking for duplicate declarations (rep by Serge Knystautas)
    • FastCGI/PHP sends script data in the PATH_INFO/PATH_TRANSLATED variables (rep by Alex Sharaz)
    • mod_caucho fixes for forwarded error message (fixed! by Stephan Schneider)
    • Added x:param (rep by peterb)
    • Need to throw exception when ConnectionPoolDataSource used as transactional database (rep by Max Kutny)
    • MultipartStream wasn't properly checking read buffer length with peek items (rep by Ap Pieters)
    • global JNDI wasn't handled properly (rep by Lixin Zhou)
    • mod_caucho needs to be more sophisticated in adding ;jsessionid= (rep by Stephen Scholl)
    • Added setOverloadEnabled to Burlap/HessianProxyFactory (rep by Kirk Rasmussen)
    • Cron does not require queue (rep by Linda Wright)
    • XSL generation wasn't escaping backslashed files (fixed! by jpardo)
    • Possible nullpointer for certain error pages w/o application (rep by Max Kutny)
    • ResinServer was registering with JMX with an invalid JMX name (rep by John Wang)
    • pageEncoding and charEncoding depended on order of directives (rep by Max Kutny)
    • VirtualHost.cron doesn't need lock around _webAppMap when reinitilizing (rep by Max Kutny)
    • (2002-12-21) FastCGI/PHP sends script data in the PATH_INFO/PATH_TRANSLATED variables (rep by Alex Sharaz)
    • mod_caucho fixes for forwarded error message (fixed! by Stephan Schneider)
    • Added x:param (rep by peterb)
    • Need to throw exception when ConnectionPoolDataSource used as transactional database (rep by Max Kutny)
    • MultipartStream wasn't properly checking read buffer length with peek items (rep by Ap Pieters)
    • global JNDI wasn't handled properly (rep by Lixin Zhou)
    • mod_caucho needs to be more sophisticated in adding ;jsessionid= (rep by Stephen Scholl)
    • Added setOverloadEnabled to Burlap/HessianProxyFactory (rep by Kirk Rasmussen)
    • Cron does not require queue (rep by Linda Wright)
    • XSL generation wasn't escaping backslashed files (fixed! by jpardo)
    • Possible nullpointer for certain error pages w/o application (rep by Max Kutny)
    • ResinServer was registering with JMX with an invalid JMX name (rep by John Wang)
    • pageEncoding and charEncoding depended on order of directives (rep by Max Kutny)
    • VirtualHost.cron doesn't need lock around _webAppMap when reinitilizing (rep by Max Kutny)
    • (2002-12-17) SSL cleanup for select() (rep by Charles Ocheret)
    • ssl.c was not properly handling RSA (fixed! by Eric Forkalsrud)
    • XSLT encoding needs defaults
    • SAX/DOM namespace parsing issues breaking Apache Axis
    • interaction of reuse-session-id and persistent store (rep by Dorel Vaida)
    • potential nsapi.c buffer overflow (fixed! by Chris Ren)
    • Document.getElementById was missing (rep by Kevin Gary)
    • XTP wasn't supporting JSTL (rep by Eric Savage)
    • JSP EL error messages need line numbers (rep by Max Kutny)
    • JSTL bundle lookup needs to use classLoader.getResourceAsStream (rep by Max Kutny)
    • Added missing JSTL timezone support (rep by Eric Kwong)
    • (2002-12-04) SpyStatement was calling clearStatement() instead of close() (rep by Max Kutny)
    • Detect nullpointers in Application.addServlet (rep by Rusty Gygax)
    • Burlap/Hessian char[] fields were not properly deserialized (rep by Sulka Haro)
    • OPTION not adding </option> with XmlPrinter HTML printing (rep by jpardo)
    • Added ${serverId} for <log> timestamp (rep by Martin Weinig)
    • omitted form logging (rep by Max Kutny)
    • <![CDATA[ handling in mod_caucho (rep by Kirk Rasmussen)
    • WebDav was returning incorrect XML for some 404 responses (fixed! by Knut Forkalsrud)
    • ./configure wasn't getting apache_bin properly
    • Reworked session load and store to reduce the lock size (rep by Nathan Mehl)
    • (2002-11-21) added <case-insensitive> to <caucho.com> config (rep by Jim Frenette)
    • SAXParserFactory was ignoring setNamespaceAware (rep by Erol Kutay)
    • Fixed XSL handling of format-number (rep by David Santiago)
    • HEAD caching was returning incorrect Content-length

    2.1.6 - Nov 8, 2002

    • added tcp-no-delay configuration (rep by Roger Hill)
    • (2002-11-07) detect non-thread-safe OpenSSL (THREADS not defined) (rep by Andrew Davis)
    • (2002-11-06) Send BadRequestException for exceptions outside the Application
    • wrapper.pl robustness enhancements (rep by Steve Willis)
    • Changed XML parser encoding with Reader (rep by Frank Nestel)
    • JSP/XML with jsp:root handling of entities (rep by Jeroen van Vianen)
    • XML namespace handling with empty element (rep by Erol Kutay)
    • mod_caucho was adding duplicate sessions for session rewriting (rep by Damon Maria)
    • (2002-11-01) Make ISAPI_SCRIPT configurable with CauchoScriptURL in resin.ini (rep by Son Qiu)
    • XSL handling of getAssociatedStylesheet()
    • org.xml.sax.driver needs to be set in ResinServer
    • XSL wasn't handling SAXStream as source for newTransformer (rep by Hans Bergsten)
    • SSLFactory test for sslv2 was written as sslv3
    • 8859_1 needs to be synonym for ISO8859-1 (rep by Max Kutny)
    • Add ping-interval (rep by Cameron Elliott)
    • modified FilePath.remove() to check for locked .jar files (rep by Jason Chesko)
    • Burlap/Hessian checks for missing constructor (rep by Brian Wilson)
    • Burlap/Hessian handling of JDK1.4 exceptions (rep by Alon Salant)
    • srun sendRedirect wasn't adding context-path (rep by Andrej Gabara)
    • JavaGenerater's mkdirs() was giving confusing error message when work directory permissions were broken (rep by Max Kutny)
    • (2002-10-29) BurlapInput wasn't handling whitespace for base64 (fixed! by Greg Martin)
    • MSIE hack affects the ResponseStream length check (rep by Kirk Rasmussen)
    • auto-compile='false' should still detect .class changes (rep by Greg Miller)
    • (2002-10-29) BurlapInput wasn't handling whitespace for base64 (fixed! by Greg Martin)
    • MSIE hack affects the ResponseStream length check (rep by Kirk Rasmussen)
    • auto-compile='false' should still detect .class changes (rep by Greg Miller)
    • (2002-10-25) adding throwable exception for Spy debugging (rep by Kirk Rasmussen)
    • transaction enlistResource not setting flags properly
    • ClassLoaderContext.cron was using AccessLog instead of AbstractAccessLog (rep by Rudy D'hauwe)
    • Added application to session logging (rep by Max Kutny)
    • XML parser needs to take care of UTF-8 BOM (rep by Rene Trussel-Cullen)
    • change log message of Application.configure to configure instead of init (rep by Christian Bauer)
    • jsp:useBean was using get/putValue instead of get/setAttribute (rep by Max Kutny)
    • XML attribute with no prefix don't use the default namespace
    • for forward(), use the new query string not the merged one to match Tomcat (rep by Bryant Durrell)
    • SAX lexical handler was using wrong property string
    • ServletServer.isModifiedFull() needs to check with _updateInterval (rep by William Au)
    • (2002-10-09) DBPool issues with xaConn, resetting and closing (rep by Kirk Rasmussen and Paul Hettl)

    2.1.5 - Oct 4, 2002

    • shutdown-wait-time wasn't in ClassLoaderContext (rep by Charles Meyer)
    • (2002-10-03) Basic auth for Burlap/Hessian (added! by James Ralston)
    • Allow different _defaultEncoding in XmlParser (rep by Ryan Choi)
    • (2002-10-01) SSL threading fixes (rep by Scott Farley)
    • DBPool misc cleanup (rep by Kirk Rasmussen)
    • (2002-09-27) dual connection sharing same transaction had state issues (rep by Kirk Rasmussen and Broughan Macklin)
    • (2002-09-26) nullpointer for SSL in jni_vfs.c (rep by Bo Glenn)
    • confusing error message for c:import and bad URL (rep by Mike Laskin)
    • ELParser wasn't handling foo$bar correctly (rep by Wolfgang Merkel)
    • resin:include-directory wasn't working properly (rep by Derek Howlett)
    • Registry.parse wasn't setting filename of root element (rep by Max Kutny)
    • FreeBSD changes to configure.in (fixed! by Nick Johnson)
    • On win32, add -nodialog for avoid dialog messages (fixed! by Scott Haug)
    • c:import with c:param and URL already with query string (rep by Martin Cooper)
    • pageEncoding and characterEncoding were order dependent (rep by Hans Bergsten)
    • Check application/session-manager during restart (rep by Dave Wallace)
    • error-page handling with x-application/xsl (rep by Christian Bauer)
    • (2002-09-24) c:import/c:param not working together (rep by Martin Cooper)
    • SC_NO_CONTENT must not have a content body or content-length
    • config.c needs to handle host root-dir and doc-dir (rep by Scott Hamilton)
    • Changes to JspParser to better support command-line compilation (fixed! by Peter Schafer)
    • Application wasn't supporting ejb-local-ref
    • fixed problems with XSL macros with common names (rep by Robert Koberg)
    • (2002-09-23) Cron cleanup to prevent multiple ServletAlarm (rep by Rich Vanderwal)
    • (2002-09-20) SAX ns event issues with XSL
    • TryCatchFinally with body tags (rep by Serge Knystautas)
    • TryCatchFinally issues with AT_BEGIN tag variables (rep by Rob Girardin)
    • (2002-09-13) Max OS X ./configure fixes (rep by Paul Snively)
    • error-log rollover-size must allow -1 (rep by Bill Au)
    • XSL position/last bugs (rep by Stephan Scholl)
    • XSL sort order direction can be dynamic (rep by Istvan Albert)
    • XPath caching issues with java: extensions (rep by Christian Bauer)
    • ResponseAdapter closing sync issue (rep by Paul Nakada)
    • xmlns printing issues with FOP (rpe by Hemanth Setty)
    • <td> is sensitive to spaces for several browsers (rep by Rodrigo Zerlotti)
    • webapp.AbstractPath needs destroy() call when closed (rep by Christian Kolker)
    • XmlPrinter needs to use set encoding instead of looking at WriteStream's encoding (rep by Kenkichi Mahara)
    • better exception handling to make .war expansion more robust (rep by Jason Chaffee)
    • getParameterMap() wasn't working inside include
    • (2002-09-09) TagLibraryInfo.getTag in standard JSDK returns "No tags" (rep by Mike Laskin)
    • ServletInputStream.available() should return 0 for GET
    • name-from-attribute variables may be optional (rep by Christian Andersson)
    • HttpUtils parse query fix
    • alternate-session-url-prefix must only have a single slash (rep by Veli-Pekka Juslin)
    • password digest base64 fix was adding '=' breaking old passwords (rep by Martin Cordova)
    • caucho.statistics wasn't properly set (rep by Riccardo Cohen)
    • win32 http needs to set environment classpath first to match wrapper.pl (rep by Nick Wilcox)
    • BurlapProxyFactory and HessianProxyFactory now implement ObjectFactory (rep by Juergen Hoeller)
    • BurlapInput wasn't handling Throwable exceptions properly (rep by Upil)
    • MicroHessianReader wasn't reading major/minor from reply (rep by Joe Gradecki)
    • (2002-08-30) RegistryNode.getELBytes was dropping sign (rep by Jason Chesko)
    • plugins weren't handline webapps with matching <web-app> correctly (rep by Wilson Gibbons)
    • JspCompiler should exit with non-zero on error (rep by Nick Pellow)
    • JSTL c:set wasn't handling property properly (rep by Hans Bergsten)
    • sessions created ephemerially for Store were sending bogus destroy messages (rep by Chris Beck)
    • fmt:setBundle with default var wasn't handling scope properly (rep by Hans Bergsten)
    • (2002-08-24) missing sync on DBPool (rep by Kirk Rasmussen)
    • database spy cleanup and DBPool sync fix (rep by Kirk Rasmussen)
    • (2002-08-23) Added spy attribute for database (rep by Kirk Rasmussen)
    • (2002-08-21) DBPool cleanup (rep by Kirk Rasmussen)
    • Response needs to clear SecurityContext for weblogic (rep by Kirill Maximov)
    • SSL accept needs to be in child thread (rep by Cameron Elliott)
    • JSP EL arithmetic binary coercion of string value (rep by Hans Bergsten)
    • JSP EL "not foo" was not properly treating "foo" term (rep by Hans Bergsten)
    • (2002-08-13) readOnly and autoCommit were not properly reset for DB wrapper (rep by Kirk Rasmussen)
    • XAAdapter wasn't allowing setTransactionIsolation with auto-commit = false
    • restored back %3f.jsp fix (rep by Stefan Scholl)
    • (2002-08-07) Added invalidate-after-listener to session-config (rep by Dave King)
    • errors in statement.close() should cause connection failure (rep by martin Cordova)
    • flag values in configuration defaulted to false (rep by Martin Cordova)
    • Put back &amp; for & in HTML printing (rep by Stefan Scholl)

    2.1.4 - Aug 2, 2002

    • HessianOutput write bytes was using '<<' (rep by James Ralston)
    • Removed bogus e.printStackTrace() (rep by Alexey Yudichev)
    • Lazily compile classes (rep by Frank Nestel)
    • (2002-07-31) JSTL choose wasn't handling parent tags (rep by Kevin Henrikson)
    • persistent sessions not save when include() or forward() across web-apps (rep by Greg Robinson)
    • (2002-07-30) DBPool removal of dead connections (rep by Martin Cordova)
    • TransactionImpl was ignoring XA_RDONLY responses (rep by Juergen Hoeller)
    • TransactionImpl.setTransactionTimeout was queuing closed transactions (rep by Ron van Pol)
    • (2002-07-29) Changed XPath ObjectExpr nullpointer checking (rep by Adrian Hill)
    • JSSE for JDK 1.4 now allows protocol restrictions (rep by Knut Forkalsrud)
    • fmt:message allows key in body (rep by Alexey Yudichev)
    • Added certificate-chain-file (rep by Rich Aston)
    • Removed obsolete classes from com.caucho.burlap.client (rep by Juergen Hoeller)
    • Burlap/Hessian made <length> optional
    • Burlap/Hessian made <type> optional
    • Burlap/Hessian removed <value>
    • Burlap/Hessian added ability to read/write headers (rep by Nicholas Averseng)
    • JSTL special cases weren't handling parent tags propery (rep by Kevin Henrikson)
    • (2002-07-25) Error messages had extra </address> (rep by Steve Nicolai)
    • displayed directory with Apache/IIS when directory was missing index.html (rep by Arnaud Lemaitre)
    • run-at period wasn't syncing to the day or month (rep by Jim Frenette)
    • load-on-init with getRealPath in .war or war-expansion-dir failed (rep by Will Jaynes)

    2.1.3 - July 23, 2002

    • DBPool isolation fixes
    • Added TAG_HEADER for Burlap (rep by Nicolas Averseng)
    • response was double flushed (rep by Rob Lockstone)
    • (2002-07-19) init.resin needs quotes (fixed! by Pieter Schoenmakers)
    • Transaction timeout should just set rollback only (rep by Dimitri Rakitine)
    • fixed NT path normalization issue with '\' (rep by Peter Grundl)
    • removed early s.close() from StreamSocket since it was confusing some JDKs. (rep by Bryan Roberts)
    • allow external URL parsing except for DTDs
    • encoding in DTD wasn't recognized by XML parser (rep by Daniel Lopez)
    • .war expansion wasn't initializing application (rep by Daniel Lopez)
    • (2002-07-18) JSTL escaping of body tags for c:out
    • `!' wasn't properly parsed in EL (rep by Serge Knystautas)
    • doc-dir needs to default to root-dir
    • XML parsing: entities in attributes weren't handled properly (rep by Kevin Henrikson)
    • SAX attributes.getName(0) shouldn't throw NPE even when 0 attrs (rep by Frank Nestel)
    • -compile was throwing nullpointers because JNDI not defined (rep by Mark Adams)
    • LoopTagSupport API bugs (rep by Juergen Hoeller)
    • fmt:formatNumber with default locale and currency had NPE (rep by Juergen Hoeller)
    • fmt:formatNumber wasn't allowing the number in the body (rep by Juergen Hoeller)
    • entity expansion regression bug
    • (2002-07-17) service-class should allow any bean class (rep by Hoeller Juergen)
    • burlap/hessian service-class wasn't allowing for generic service (rep by Hoeller Juergen)
    • Added burlap/hessian support for Class values
    • (2002-07-12) security-constraint needs to allow multiple ip-constraint (rep by Matt Manfredonia)
    • PageContext doesn't have getAttributeNames (rep by Lukasz Kowalczyk and Martin Cooper)
    • (2002-07-11) reverted to JDK 1.4 javac in build
    • DBPool transaction related fixes
    • OpenSSL fixes related to socket timeouts (rep by Benjamin Tomasini)
    • (2002-07-10) switched to use jikes in build
    • transaction manager and DBPool fixes from code review
    • (2002-07-09) error-page with exception-type=Throwable and raw ServletException wasn't handled
    • VirtualHost.initPaths wasn't properly handling multiple host names
    • AbstractVariableResolver wasn't handling "Var" correctly (rep by Martin Cordova and Christian Bauer)
    • (2002-07-07) initial cut of JSP EL for sql_rt and xml_rt
    • added jndi:lookup as static function for configuration
    • added static method support to EL
    • added Var support and system-property lookup in config EL
    • system-property in <web-app> wasn't working with JVM properties
    • added <init> block in servlet configuration for bean-style initialization
    • added allow-servlet-el flag allowing servlet init-param to accept JSTL EL
    • allow resin.conf/web.xml to accept JSTL EL expressions
    • cleaned up virtual host instantiation
    • NullPointer on Resin close (rep by Kevin Henrikson)
    • Minor cleanup of Application.close() field clearing
    • (2002-07-02) Minor cleanup of Application.close() field clearing
    • Loosen the XML parser to allow for whitespace before <?xml> (rep by Hemanth Setty)
    • WEB-INF is not allowed in webapps (rep by Luke Immes)
    • Cleaned up make for compiling class loader (rep by Luke Immes)
    • More windows special pathing issues (rep by Peter Grundl)
    • JSP generator wasn't escaping linefeeds in tag attributes (rep by Kevin Henrikson)
    • JSP TagData wasn't properly setting rtexprvalue to TagData.REQUEST_TIME_VALUE (rep by Kevin Henrikson)
    • Apache recompilation
    • (2002-07-01) DBPool refactoring
    • TransactionImpl fixes for XAResource.start with join
    • Ping socket timeout wasn't converted from ms to s (rep by Kirk Rasmussen)
    • (2002-06-24) Redirect for transport constaint wasn't setting query string (rep by Alexei Yudichev)
    • Added com.caucho.Version.main (rep by Charles Meyer)
    • Allowing pre-1.4 JSSE (rep by Jonah Kowall)
    • JDBC session store wasn't handling invalidate properly (rep by Marc Welk)
    • (2002-06-21) Use getStream() in ResponseAdapter.setContentType to initialize (fixed! by Anders Vesterberg)
    • context initialized should be called after load-on-startup (rep by Chris Beck)
    • Modify StylesheetImpl to handle new functions (rep by Lukasz Kowalczyk)
    • Added rollover-check-time for access-log (rep by Hiroshi Morita)
    • error-page handling for Throwable shouldn't match wrapped ServletException (rep by Ryan Choi)
    • (2002-06-20) Brought Burlap into sync with Hessian
    • Added JSTL tags for xml
    • Added JSTL tags for sql
    • Added JSTL RT tags for core-rt and fmt-rt.
    • Avoid extra tag init when can prove tag is initialized
    • session id random generator purely uses Random.nextLong() (rep by Henry Lu)
    • session id random number moved from SessionManager to ServletServer (rep by Henry Lu)
    • (2002-06-13) Missing Hessian server support for Map, Collection, List and Set (rep by Hoeller Juergen)
    • JSTL fmt resource bundle loading wasn't loading .classes (rep by Scott Ganyo)
    • Inappropriate JSTL EL caching for arrays (rep by Alexey Yudichev)
    • Major refactoring of JNDI handling (rep by Dale Churchett)
    • JSSE needs to understand verify-client
    • Added cheap JMX servlet viewer in /resin-status
    • Shift_JIS encoding problem (fixed! by Tatsuya Bizenn)
    • (2002-06-11) Now using official jstl10.jar.
    • Automatically register servlets which have MBeans
    • Initial JMX implementation with separate servers for each web-app
    • context-path was not case insensitive for win32 (rep by Rene Trussell-Cullen)

    2.1.2 - June 11, 2002

    • fixed openssl memory leak
    • -version shouldn't force a restart (rep by Charles Meyer)
    • Apache2 wasn't properly updated for srun protocol change
    • web-app /test/a was matching URL /test/atest.jsp
    • (2002-06-07) The SSL certificates need to be a chain, not the single certificate (fixed! by Yannick Menager)
    • Missing case-insensitive check on win32 (rep by Eric Rapp)
    • Use Shift_JIS instead of SJIS
    • (2002-06-06) Burlap, Hessian, and JVM clients were mixing inherited client caches
    • Referenceable shouldn't be used in AbstractContext (rep by David Duddleston)
    • application load/restart synchronization fixes
    • response.containsHeader needs to understand content-type (rep by Paul Nakada)
    • error pages need to clear content-length to avoid error message (rep by Kirk Rasmussen)
    • changed error message when -server missing (rep by Mark Crowther)
    • session decoding error for backup in stream.c (fixed! by Ronald Tschalaer)
    • jsp auto-compile='false' with failed JSP should not remove .class (rep by Martin Cooper)
    • (2002-06-04) Update configure.in to use Apache2 from apxs (rep by Alberto Delgado)
    • ChunkedInputStream: availiable needs to be updated after read (fixed! by Lutz Pumpenmeier)
    • sendRedirect shouldn't have MSIE hack (rep by Matt Edwards)
    • AccessLog.rolloverLog needs sync (rep by Frank Nestel)
    • Handle lone '#' in ATTLIST (rep by Kenkichi Mahara)
    • Add QInitialContext support for foreign JNDI factory with URL prefixes (rep by Dale Churchett)
    • fixed maximum URL length, configured with url-length-max (rep by Peter Grundl)
    • integral or confidential must redirect, not send forbidden (rep by Alexey Yudichev)
    • Broken URL, //foo.jsp was treated as virtual host (rep by Sean Leach)
    • Converted velocity-style syntax to use JSTL core
    • Fix .war timed expansion
    • webapps/ROOT.war was initialized twice (rep by Ryan Boone)
    • web-app id='foo' app-dir='webapps/foo' now merge properly (rep by Eric Rapp)
    • Refactored web-app handling and war expansion in VirtualHost
    • JSTL c:out was interpreting all interpolated values as null (rep by Kirk Rasmussen)
    • /caucho-status needs to use cse_close, not cse_recycle (rep by Simon Hobbs)
    • JNDI should not override UserTransaction if already specified (rep by Dale Churchett)
    • Application needs to kill the cache before actually closing
    • windows plugin needs to be case-insensitive with war-expand-dir ROOT (rep by Eric Rapp)
    • (2002-05-28) Add logging for rollover time (rep by Sean Leach)
    • rollover-size of -1 should be infinite (rep by Tommy Jasmin)
    • Writing beyond the content-length needs to log IllegalStateException (rep by Mark Church)
    • case issues with war expansion (rep by Dominik Foucauld)
    • war-dir symlinks with missing target confuses the auto-deploy (rep by Alen Milkovic)
    • AbstractServerListener: shutdown called twice, start never called (rep by Martin Cordova)
    • init.resin should change to $RESIN_HOME before executing resin (fixed! by Anders Bjorklund)
    • expand PE required in parseContentParticle (fixed! by David Soergel)
    • XML wasn't allowing PE in attrlist (rep by Kenkichi Mahara)
    • LongKeyMap wasn't properly initializing values.
    • Added SSL verify-client for OpenSSL (rep by Nigel Gardiner and Seth Ladd)
    • check logging for bogus URL lengths
    • Updated the login example (rep by maddogmut)
    • HTTP continuation with \r\n was adding the \r (rep by javadesigner)
    • chain-mapping with servlet-name="none" will remove mapping (rep by Kris Young)
    • changed Cookie checking to match jakarta (but not catch RFC2965) (rep by Chris Busch)
    • Added Class.getPackage support (rep by Scott Ganyo)
    • iPlanet 6 moved Init configuration to magnus.conf (rep by Andrej Gabara)
    • Added session-cookie to configure alternate to JSESSIONID (rep by Mark Saarinen)
    • Added setThrowReadInterrupts to SocketStream (rep by Ronald Tschalaer)
    • JSTL fmt completed
    • (2002-05-22) setup.exe changes to support iPlanet 6
    • avoided more NT aux weirdness (rep by Peter Grundl)
    • <method> was only allowed once (rep by Yori Sakakura)
    • Change default work-dir to c:/temp/caucho from /temp/caucho (fixed! by Christian Bauer)
    • JSTL core completed
    • Backup server selection for plugin issue (rep by Gary Doughty)
    • Create unique names for anonymous stylesheets
    • mod_caucho should avoid the request retry when the connection fails (rep by Chris Haas)
    • (2002-05-20) JSTL fixes for c:if, c:when
    • JSTL implementations for most of core and fmt
    • ResinServer automatic calculation of srun-index was broken (rep by Collin Bryce)
    • session-config/backing-path wasn't allowed (rep by Collin Boyce)
    • mod_caucho wasn't understanding commas separating virtual hosts (rep by Timothy Falkoner)
    • DBPool XA reusing empty connection
    • DBPool synchronization missing in PoolItem.free (rep by April Frezza)

    2.1.1 - May 13, 2002

    • change XSL format-number back to original (rep by Mariano Galan)
    • Apache2 mod_caucho locking cleanup (fixed! by Kris Spinka)
    • ClassLoaderLocal set must update lastLocal (rep by Kirk Rasmussen)
    • Upgraded to SAX 2.1 (rep by Nick Bauman)
    • (2002-05-13) plugin config problem with <srun host> (rep by Steve Stallion)
    • (2002-05-09) ampersand escaping in XML printing (rep by Adolfo Aladro)
    • XML with both external DTD and defined DTD weren't read properly (rep by Christian Sell)
    • XmlPrinter for <html> with namespace must use the xml method (rep by Kenkichi Mahara)
    • added <case-sensitive> to web.xml (rep by Tiberiu Fustos)
    • (2002-05-06) Changed status of mod_caucho connection error page to 503 (rep by Gary Doughty)
    • cleanup load-balancing issue with srun-backup
    • QDate timezone issues (rep by mr-frog)
    • cleanup to war-dir expansion (rep by Dominik Foucauld)
    • /foo;jesssionid was causing problems with web-app (rep by Frank Nestel)
    • MergePath fixes for tld support (rep by rlubke)
    • exclude CVS from auto-compile (rep by Joseph Toth)
    • change MergePath to understand absolute paths (rep by David Soergel)
    • tagAtEnd regression nullpointer (rep by Tim Falconer and Mike Wynholds)
    • DOMBuilder attributes fix for Cocoon (rep by Ola Smievoll)
    • XPath needs to understand new() for Cocoon (rep by Ola Smievoll)
    • StyleScript needs to understand entities in attributes (rep by Chris Chen)
    • added url-character-encoding to <host> (rep by Tomas Zeman)
    • (2004-04-30) windows case-insensitivity has issues with ROOT.war (rep by saccocio)
    • TimedCache should implement CacheListener
    • timing issue with createServlet and web-app reinit
    • $app-dir added for virtual host for backward compatibilty ($host-root is preferred)
    • mod_caucho needs to understand host='*'
    • sendRedirect should treat HTTP://... as an absolute URL (rep by Clark Archer)
    • Added caucho-request handler for Apache2 (rep by Steve Stallion)
    • (2004-04-29) nullpointer when generating certain tags (rep by Eric DeCosta)
    • XSL transformer() should not close StreamResult output stream (rep by David Webster)
    • regression in checking for macros in XSLT (rep by Victor Salaman)
    • server-listener was configured with wrong node (fixed! by Victor Salaman)
    • added Apache2 for win32 (rep by everybody)
    • (2004-04-28) JSTL EL updates
    • x-application/xsl, x-application/xslt, and x-application/stylescript (rep by Bernie Bernstein)
    • (2002-04-23) Added checking for XSL macros in xsl:call-template
    • xmlns should be http://www.w3.org/2000/xmlns/ (rep by sae and Kenkichi Mahara)
    • encodeURL needs to understand anchors
    • war-dir and war-expand-dir should make directories automatically
    • JSSE cipher suite was stubbed out with new QSocketWrapper (rep by Glen Marchesani)
    • Apache load balancing with backups wasn't sending sessions to correct backup (rep by Ken Price)
    • Always coalesce adjacent text nodes (rep by Alexey Yudichev)
    • contrib/init.resin.in had ./configure macro case problems (fixed! by Andres Bjorklund)
    • In some cases, an error resin.conf could cause Resin to get stuck reloading, but not rereading the resin.conf (rep by pjkovac)
    • Add support for "file:foo", i.e. relative paths to ENTITY in XmlParser (rep by
    • Added toString() in DirectoryClassLoader. (rep by Lance Lavandowska)
    • LogStream in ForbidHost should be declared protected (rep by Andre van Dalen)
    • Added XPath extension functions using XSLT namespaces (rep by David Webster)
    • JSP scope AT_END needs to be hoisted to top (rep by Kent Cearley)
    • systemid and publicid were swapped in XmlParser (rep by piL)
    • class-update-interval fix with new ClassLoaderContext (rep by Sacha Prins)
    • forward() was confusing cache (rep by Eric DeCosta)
    • Hessian and Burlap need to handle Throwable like Exception (rep by Nicholas Lesiecki)
    • XslWriter needs to set local name to qname when the namespace is null (rep by Mike Wynholds)
    • (2002-04-17) Make formUploadMax a long (rep by Brian George)
    • Added x-application/stylescript
    • x-application/xsl needs to be strict XSL, not stylescript (rep by Stephan Scholl)
    • ResinStatusServlet needs test for null EJB context
    • (2002-04-15) added sslv2, sslv3, and tlsv1 flags for ssl support (rep by Joe Esposity)
    • BurlapProxy and HessianProxy were not setting content-type (rep by Joseph Toth)
    • MicroBurlapReader was not reading remote objects correctly (rep by Joseph Toth)
    • JndiFactory wasn't properly initializing ConnectionPoolDataSource with class-name (rep by Robert Edgar)
    • added lazy-init configuration to the web-app (rep by David Smiley)
    • added xsl:output include-content-type support to StreamTransformerImpl (rep by Daniel Wroblewski)
    • With persistent sessions and old session id, getSession(false) was creating session (fixed! by Joseph Dane)
    • (2002-04-11) allow setAutoCommit in XADataSource when outside of transaction (rep by Dmitri Platonoff)
    • tcp-ring session backup is now random, not successor (rep by Michael Grassotti)
    • Added cookie-length to session-config (rep by Idan Eldad)
    • jndiContext no longer is in ServletContext, but in ClassLoaderContext (rep by Orville Pike)
    • (2002-04-10) forbid-host needs to be added to JNDI even if none are configured (rep by Andre van Dalen)
    • failed forbid-host check needs to print IP (rep by Sacha Prins)
    • cse_create_dir_config needs to set round_robin_index=-1 (fixed! by Steffen Hellestol and Torkjell Skomedal)
    • JDBC always loads new session regardless of update-count (rep by Sean Leach)
    • added <jsp jsp-update-interval> (rep by Gary Doughty)
    • XmlPrinter should accept non-Resin DOM (rep by Nicholas Irving)
    • (2002-04-09) JDK 1.4 on Win32 with JAXP had trouble with File parsing (rep by Rob Lockston)
    • always-load-session makes no sense with FileStore (rep by Gary Doughty)
    • Added LongKeyMap and LruCacheLongKey
    • The new forbid was checking the local address, not the remote address (rep by Sacha Prins and Jim Douglas)
    • moved forbid-ip check into TcpConnection thread to minimize delay to the TcpServer (rep by Sacha Prins and Jim Douglas))
    • getNamedDispatcher with .jsp was instantiating the JSP too many times (rep by Mark Saarinen)
    • exceptions in closeStatements were incorrectly invalidating the connection (rep by Joseph Toth)
    • Added setAutoCompile() to XSL (rep by Ovidiu Opris)
    • error-page needs to try matching outer exceptions before root exceptions (rep by Martin Nietschke)
    • Change order of ServletServer super.init() to forbid host will initialize in correct JNDI context (rep by Andre van Dalen)
    • TransformerException does not have null constructor (rep by Robert Koberg)
    • Apache 2 cleanup
    • Added support for MacRoman
    • Added default-stylesheet init-param for XtpServlet (rep by Rick Janda)
    • (2002-04-08) Session.setAttribute needs to set the dirty flag even when the object doesn't change (rep by Jeff Kilbridge)
    • Set a max length for the cache (rep by Andreas Schiller)
    • javax.mail.Session wasn't using ContextClassLoader (rep by Jeroen van Vianen)
    • RunnerRequest.setHeader wasn't resizing (rep by Kirk Rasmussen)
    • BodyTag with empty content needs null getBodyContent() (rep by David Geary)
    • bin/resin timeouts were not properly handled for SSL (rep by Steven Hobmann)
    • JdbcStore needs to always load session. The session count is meaningless (rep by Sean Leach)
    • bin/resin request-timeout wasn't properly configured (rep by Steven Hobmann)
    • Added work.dir system property to set the work directory (rep by Ovidiu Opris)
    • setReadEncoding nullpointer (rep by Alexey Yudichev)
    • #include <sys/time.h> missing from ssl.c (rep by Timothy)
    • bin/resin had inconsistent port count in count_ports (rep by Blair Hotchkies)
    • catch UnsupportedEncodingException in ErrorParser (rep by Ron Lussier)
    • ssl_stub.c had wrong api (rep by Alan Wright)
    • "extends" should allow duplicate if same value (rep by Blair Hotchkies)

    2.1.0 - March 26, 2002

    • NPE with certain classpath errors (rep by Igor Fedulov)
    • (2003-03-22) initialization issues with virtual host and resource-ref (rep by Kirk Rasmussen)
    • reloading isolation with *.war files
    • (2003-03-21) XSL: removed some assumptions about using Resin DOM (rep by Tomek Pik)
    • (2003-03-20) remove isModified deadlock with virtual host (rep by Karl Baum)
    • add remove methods to ForbidHost (rep by Andre van Dalen)
    • Add TCP configuration info to /resin-status (rep by Eric Brown)
    • Add META-INF services for JAXP (rep by Chris Chen)
    • JavaScript arrays return keys on for-each (rep by Anton van Straaten)
    • move createConnection outside the getPooledConnection (rep by Marybeth Avioli and Maulan Byron)
    • run-at needs catch(Throwable) and logging the exception (rep by Robert Edgar)
    • (2002-03-18) Use http://www.w3.org/XML/2000/xmlns/ consistently for xmlns namespace
    • ack coordination between RunnerRequest and isapi_srun needed fixing (rep by Jens Gerhard and Frank Nestel)
    • PageData.getInputStream() needs to return the XML view of the JSP page (rep by David Geary)
    • getServletPath() for *.srv invocation was doubling (rep by Bryan Barkley)
    • added timeout to bin/resin SSL read (rep by Eric Brown)
    • bin/resin read should throw exception for timeout (rep by Eric Brown)
    • forbid-hosts needs to put ForbidHost in java:comp/env/caucho/forbid-host even without custom (rep by Andre van Dalen)
    • auth-method is optional (rep by Mark Bouchard)
    • (2002-03-16) further increased the retry for connection to the parent
    • update hmux to for spec changes
    • default mapping should set servlet-path to the uri and path-info to null (rep by Scott Ganyo)
    • remove dependence on XSLTContext (rep by Mark Davidson)
    • windows-1251 mime-name is windows-1251, not Cp1251
    • (2002-03-13) changed SAXParserFactory Class.forName (rep by Arienta Mariagrazia)
    • ResponseStream.clearBuffer() shouldn't clear contentLength (rep by Igor Fedulov)
    • JdbcStore must always load the current store value (rep by Sean Leach)
    • added Xsl.newTransformer() (rep by Ed Ward)
    • tagdependent still must obey JSP XML model
    • getIntHeader with bad value should throw NumberFormatException
    • exceptions should set status_code 500 for error page.
    • Content-Language should use hyphen instead of underscore
    • ResinServer end detection logic (waitForExit) needed changing to handle both Windows and Solaris
    • Changed error logging for configuration errors
    • Added resin-jbuilder.jar to projects (rep by Hiroshi Morita)
    • Added com.caucho.jsp.JspCompiler (rep by Hiroshi Morita)
    • IIS/Apache escaping issues (rep by Frank Nestel)
    • forward() fixes introduced new bugs (rep by Gary Doughty and Victor Salaman)
    • Dynamic virtual hosting shouldn't create directories (rep by Pritpal Dhaliwal)
    • (2002-03-08) BackingManager.getBacking wasn't creating new key (rep by Bryan Davis)
    • BackingManager synchronization changes (rep by Bryan Davis)
    • StringReader wasn't decoding utf-8 correctly (fixed! by Sangjin Han)
    • JSP line numbering (rep by Mike Baroukh)
    • upgrade header buffer size (rep by Donny Hsu)
    • changed forward() close method to handle filters better (rep by Gary Doughty and Victor Salaman)
    • FastCGI response fix missing extra \r\n at end of headers
    • update to Apache2 apr_lock_create (fixed! by Dave Wallace)
    • (2002-03-06) regression cleanup
    • 'ack' wasn't getting sent by RunnerRequest on large posts
    • (2002-03-05) forward wasn't propertly closing filters with wrapped responses (rep by Gary Doughty)
    • runtime attribute order is left-to-right
    • added jsp:setProperty with property editor
    • connection errors with mod_caucho and POST need to use a redirect instead of an internal forward (rep by John Crossman)
    • forward needs to reset content-length (rep by Gary Doughty)
    • SocketStream wasn't detecting closed sockets properly (rep by Linda Wright)
    • bad srun check for 'ack' requirement (rep by Linda Wright)
    • WebDavServlet: filenames with '&' need escaping as '&amp;'
    • NullAuthenticator was returning true for isUserInRole
    • WebDavServlet: DELETE was returning bad xml when detecting errors (rep by Frank Nestel)
    • WebDavServlet: read only webdav should return Forbidden instead of method not implemented for write methods (rep by Frank Nestel)
    • WebDavServlet: moved common responses into method (fixed! by Frank Nestel)
    • WebDavServlet: made root relative to web-app (rep by Frank Nestel)
    • WebDavServlet: changed root-path to root
    • getRealPath followed by getRequestDispatcher could return incomplete servlet mapping (fixed! by Victor Salaman)
    • bin/resin needs to set the classic or server before the default jvm library (rep by Steve Hobmann)
    • WebDAV FilePath setRoot wasn't setting root (fixed! by Tasos Koutoumanos)
    • (2002-03-01) bin/resin makefile needs to create libexec (rep by Frank Nestel)
    • GzipFilter needs to bypass setContentLength
    • form-login-page should have filters applied (rep by Alexey Yudichev)
    • BeanUtil.getSetMethod was skipping some valid setXXX matches
    • Removed debugging exception trace from JDKWriter (rep by jpardo)
    • On Windows, allow quotes like "-Dfoo=bar data" (rep by Peter Jahans)
    • Allow XmlParser to access jar: URLs (rep by warmcat)
    • access.log issues with zero or negative time on rollover
    • Windows plugins with war-dir could steal all requests
    • Response.setContentLength needs to limit output (rep by jdamore)
    • Request.finish() should not change the context class loader (rep by Cytown)
    • enhance plugins to understand web-xml
    • alternate-session-prefix wasn't setting the request's application properly
    • Changed default of ignore-client-disconnect to false
    • In ResinServer, use sleep(1000) before trying to connect to parent
    • (2002-02-27) TcpConnection was closing socket twice
    • Servlet exceptions should use default locale
    • QSocketWrapper test for isSecure was always returning true (rep by Victor Salaman and Martin Cordova)
    • fixed virtual host issues with multiple names in the <host> (rep by Ron von Pol)
    • Ignore SocketException in ResinServer.waitForExit because Solaris will throw SocketException instead of InterruptedException (rep by zh)
    • parsed-entity references were not recognized in the DTD (fixed! by David Soergel)
    • DirectoryServlet wasn't handling directories with spaces (fixed! by joquarky)
    • format-number was handling 0.00;(#) incorrectly
    • (2002-02-23) HttpSessionAttributeListener wasn't called on timeout (rep by Arinze Nkwoji)
    • add WEB-INF/resin-web.xml and make it persist across by war expansion (rep by Alex Paransky)
    • Display server unavailable error message for exceptions on shutdown instead of the stack trace (rep by Serge Knystautas)
    • Added com.caucho.shutdown to request attributes for an error page on shutdown (rep by Serge Knystautas)
    • Added isShutdown() to the ServerAdmin interface (rep by Serge Knystautas)
    • Changed servlet not found error message (rep by Matt Moore)
    • (2002-02-21) Added resin:include-directory (rep by Tauren Mills)
    • Removed extra dashes from the IE message hack
    • (2002-02-20) fixed bin/resin stop/restart (rep by Andy Zeneski)
    • added bin/resin IP/port data and isSecure()
    • cleanup of LoadBalanceServlet round robin and sticky sessions
    • Improve round robin in stream.c for plugins (rep by David Langreo)
    • (2002-02-19) Added <secure> configuration to simplify SSL requirements for web-apps (rep by Martin Cordova)
    • while .war was getting reset, the apps variable could be null (rep by Jorge Garcia)
    • logs need to be relative to the host's root-path, not war-dir (rep by Kirk Rasmussen)
    • Regression and bin/resin failure with virtual hosts (rep by Steven Hobmann)
    • TagLibraryValidator.validate had wrong signature (fixed! by Leif Neilson)
    • protected WEB-INF/sessions from war deletion (rep by Victor Salaman)
    • Complete new Hessian serialization/deserialization
    • (2002-02-15) Removed deadlock with tcp-ring and distributed session backing (rep by John Lockwood)
    • Initial cut of generalized distribution, beyond sessions (rep by Victor Salaman)
    • XPath quotes are escaped by doubling them, e.g. '' or "" (rep by Vincent Rycx)
    • errors during configuration must still allow error-page
    • Added XSLT include-content-type (rep by Charly)
    • Allow <web-app> aliased to a war (rep by Sean Pritchard)
    • (2002-02-13) Added support for PROPPATCH to WebDAV
    • FastCGIService http response headers (rep by Adam Cassar)
    • Track tcp-connections with an array list to catch exits (rep by Ran Ezerzer)
    • MergePath shouldn't add "./" to prefix (rep by David Soergel)
    • With bin/httpd listen ports as late as possible (rep by Derek Irving)
    • Added -J-classic, -J-server, and -J-client to bin/resin (rep by Eric DeCosta)
    • javax.servlet.error.status_code needs to be Integer (fixed! by Dane Foster)
    • (2002-02-11) Initial FastCGI server and servlet
    • (2002-02-08) Clean up cache in xpath.Env (rep by Stephen Scholl)
    • (2002-02-07) servletContext.getResourcePaths wasn't handling sub-web-apps
    • Set the time of a compiled .class file to just after its source (rep by Omen Wild and Peter Andrews)
    • error response can occur before dead data from post is read (rep by Jezz Szeto)
    • VirtualHost lookup of webapps needs to handle NT case insensitivity (rep by Daniel Lopez)
    • Close the Jar cache of ZipFiles to avoid NT locking (rep by Daniel Lopez)
    • Proxy cache wasn't properly handling setStatus(304) (rep by Thomas Miller)
    • (2002-02-04) pid_file removal logic in wrapper.pl was removing new pid file (rep by Daniel Lopez)
    • cleanup web-xml with war-dir (rep by Bruno Randolf)
    • Path was only handling lower-case Windows drive letters (rep by James Bond)
    • AbstractParser.openStream wasn't handling special case of Windows drive letters as schemes (rep by James Bond)
    • Added order-by for persistent collections (rep by Serge Knystautas)
    • Logs, inluding error-log, need encoding attribute (rep by Hiroshi Morita)
    • shortcut init for -compile to avoid long init (rep by Serge Knystautas)
    • -compile should avoid filters and security, just like forward() (rep by Serge Knystautas)
    • UnavailableException can be thrown from service (rep by Peng Yong)
    • (2002-01-31) com.caucho.http.mux.MuxRequestFactory (rep by Eric Brown)
    • initial cut of xsl:result-document (rep by Mike Wynholds)
    • bin/resin was missing Solaris header defines (rep by Frank Nestel)
    • (2002-01-30) Hessian Mux
    • security manager permissions problems with the webapps/WEB-INF (rep by Tauren Mills)
    • CGIServlet wasn't handling /cgi-bin
    • (2002-01-30) possible memory leak with lots of JSP
    • JavaScript support for getBytes (rep by Grigory Danileyko)
    • added --with-perl to configure (rep by Mark Femal)
    • configure.in was missing echo for --with-apache-src (rep by Bryan Carter)
    • (2002-01-27) significant rewriting of bin/resin moving HTTP from bin/resin to Java (rep by Eric Brown)
    • Initial .ear expansion
    • significant rewriting of classloader/jndi configuration for ServletServer, VirtualHost, and Application in preparation for .ear
    • XmlParser was using wrong value for xmlns namespace
    • Added init() invocation to BeanUtil
    • enlist with rolled-back transaction should throw the rollback exception (rep by Nicholas Lesiecki)
    • Request.getParameterMap() should return unmodifiable map (rep by Mark Saarinen)
    • change Request.form to HashMap to avoid sync overhead (rep by Mark Saarinen)
    • added com.caucho.http.filter.GzipFilter
    • added #foreach ($a in [3..9]) velocity syntax
    • updated configure.in to better find OpenSSL configurations (rep by Paul Freeman)
    • (2002-01-17) Added root-path configuration to WebDavServlet (rep by Terence Parr)
    • isapi_srun.dll virtual host fixes (rep by Barrie Selack)
    • added allow-ip to security-constraint
    • plugins (mod_caucho/isapi_srun) were freezing on hosts with ports (rep by Heather Grace)
    • DBPool needs to wrap all connections even for JDBC 2.0 drivers to handle multiple connections in a transaction (rep by Serge Knystautas)
    • (2002-01-16) Added <srun timeout> and made default 30s (rep by Max Kutny)
    • XSL generated <meta> element must be first (rep by Andrey Novikov)
    • BeanUtil.setBeanProperty needs to check arguments for setAttribute methods (rep by Serge Knystautas)
    • improved XSL parser/XML parser error message (rep by Zacharias Beckman)
    • location of login-config should determine single signon (rep by Jason Chaffee)
    • welcome-file-list doc cleanup (rep by Jean-Francois Lamy)
    • contrib/init.resin needs extra quotes
    • bin/resin -pid handling added extra .pid and didn't handle absolute paths
    • error pages weren't setting exception_type and servlet_name (rep by Martin Cordova)
    • XslParser wasn't handling &#160; entities (rep by Dennis
    • (2002-01-15) <classpath id='foo' source='WEB-INF/classes'/> needs to count as replacing WEB-INF/classes (rep by George Moshovitis)
    • ResponseAdapter needs to check stream == null
    • Allow role-name '*' (rep by Martin Cordova)
    • DBPool.getConnection needs to free pooled connection if the transaction enlist fails (rep by Serge Knystautas)
    • (2002-01-14) Initial cut of com.caucho.http.servlet.CGIServlet (rep by Adrian Zimmerman)
    • Initial cut of com.caucho.http.servlet.LoadBalanceServlet
    • empty page with flush and chunked encoding was adding \r\n (fixed! by Matthias Ernst)
    • Test for overridden tag methods needs to test for declaring class TagSupport and BodyTagSupport explicitly (rep by Jeroen van Vianen and Shawn Bayern)
    • Changed configure.in to detect GNU ld on Solaris (rep by Keith)
    • bin/resin wasn't handling restart properly (rep by Anupam Bagchi)
    • AccessLog now logs the end time of the request
    • WebDAV wasn't returning 404 for a missing file (rep by Don Matthew)
    • Added logout-on-session-timeout to authentication (rep by Martin Cordova)

    2.0.5 - Jan 10, 2002

    • changed certificate-pem to certificate-file and key-pem to certificate-key-file (rep by Anupam Bagchi)
    • Adding method information to tag setter error message.
    • JSP line numbers with tags weren't calculated properly (rep by Fyodor Golos)
    • env-entry wasn't supporting Long (rep by dan)
    • configure.in --with-apache-cflags was misconfigured (fixed! by Eric Brown)
    • (2002-01-03) more regression cleanup
    • (2002-01-02) regression cleanup
    • Burlap cleanup for J2ME
    • (2002-01-01) ServletServer.close() wasn't closing SrunConnections
    • getIntHeader needs to check for null header and return -1
    • wrapper.pl timed kill cleanup (fixed! by Dennis Vshivkov)
    • wrapper.pl needs to chdir to $SERVER_ROOT not $RESIN_HOME (fixed! by Dennis Vshivkov)
    • RequestAdapter wasn't using filter's getUserPrincipal (rep by Roger Kjensrud)
    • XSL.setAttribute wasn't setting localName (rep by Andrey Novikov)
    • completed com.caucho.burlap.client, including fault handling
    • (2001-12-31) Cached pages weren't getting logged (rep by James Csaszar)
    • moved com.caucho.burlap.client from Resin-CMP to Resin
    • (2001-12-28) Added host/app summary to ResinStatusServlet (rep by Jean-Francois Lamy)
    • (2001-12-27) ?jsp_precompile was executing the servlet if called for a precompiled servlet (rep by Serge Knystautas)
    • XmlParser was gobbling '=' in '&foo=bar' (rep by Samsung)
    • DummyRequest needs attributes so run-at servlets can use forward (rep by Stephan)
    • Added com.caucho.http.servlet.ResinStatusServlet
    • mod_caucho fixes for Apache2 (fixed! by Dave Wallace)
    • added Vfs.HttpPath support for webdav list()
    • Fixed XSLT for-each handling of last() (rep by Charly)
    • #document shouldn't match node()
    • XSLT double parsing fixes
    • XSLT attribute-set regression failure
    • limit non-query URL length to 1024
    • %20 regression issue on windows
    • Moved Env and HelloServlet to /examples/basic
    • Better handling of trailing %00/
    • (2001-12-12) JSP quoting in attributes (rep by Donnchadh O Donnabhain)
    • SchemeContext now extends AbstractDirContext (rep by Thomas Miller)
    • JavaScript page needs to be called on init (but doesn't yet handle jspInit) (rep by daz)
    • improved startup and jar performance (rep by Chris Lechner)
    • XML parser Locator wasn't handling systemId and publicId correctly (rep by Mike Bremford)
    • add switchToRaw and getRawOutput to Response and getRawInput to Request and support for httpd.sh (rep by Ran Ezerzer)
    • enhancements to wrapper.pl to force a JDK kill for badly behaved JVMs (rep by Freeman Pascal)
    • host_t -> caucho_host_t in plugins (rep by Paul Snively)
    • Added preliminary support for custom WebDAV attribute getting (rep by Serge Knystautas)
    • (2001-12-11) system-property needs to be re-read on restart
    • META-INF needs to be expanded in .war and protected from browsers (rep by ChrisP)
    • Catch unexpected SQL exceptions to close DBPool (rep by Daniel Wroblewski)
    • Calculate getActiveConnections dynamically (rep by Carl-Henrik Tjarnlund)
    • Changed getPool synchronization (rep by Daniel Wroblewski)
    • Depend.isModified() should check for any date change (rep by Kirk Rasmussen)
    • war-dir and war-expand-dir not dynamically reloaded (rep by Chris Lechner)
    • Regression application init bug with '/*' (rep by David Cruz Langreo)
    • common.c bug with app-dir in <host> (rep by Steve Michael)
    • SchemeContext.getURLSchemes needs to be cached (rep by Steve Buikhuizen)
    • (2001-12-08) default web-app was overriding regexp web-apps
    • ServletContext.getResourcePaths() was returning wrong value (rep by Kevin Sonney)
    • web-app access-logs need periodic flushing (rep by Mohammed Ersan)
    • added global-system-properties to configure per-class-loader properties
    • Windows 98 con/con issue (rep by gluckninja)
    • failed class compilation needs to restart app when fixed (rep by Matthew Pangaro)
    • sendRedirect sending redirect with extra port (rep by Kirk Rasmussen)
    • Invocation.service needs to call getServlet if null (rep by Kirk Rasmussen and Wes Hodges)
    • clear trailing space for IIS (rep by Cheong Yon-Jun Jerald)
    • mod_caucho includes ap_config_auth.o (rep by Dennis Tenney)
    • nsapi.c protocol exception with bogus request (rep by lam)
    • HTML attributes to lower case (rep by Nate Kiewel)
    • MergePath needs to use path separator char for classpath (rep by Michael Lepore)
    • Added velocity-style #foreach
    • (2001-12-05) JNDI Context.close() must not affect the JNDI data (rep by David Smiley)
    • forward was messing up jdbc-persistent session saving (rep by Marc Welk)
    • logout needs to unset getUserPrincipal() (rep by Michal Mosiewicz)
    • LoginPrincipal needs to be Serializable for dist-sessions
    • timeout and lru should not logout authentication (rep by Martin Cordova)
    • invalidate() needs to throw IllegalStateException when not valid (rep by nataraja)
    • Stream transformer needs to use getOutputProperties() (rep by Michael Mutschler)
    • XmlPrinter needs to call entityResolver for DOCTYPE (rep by Mike Bremford)
    • Added HttpSessionActivation listener and cleaned up session lifecycle with persistent store.
    • HttpSessionListener.sessionDestroyed was called twice on session timeout (rep by Greg)
    • java.io.* and javax.servlet.jsp.tagext.* should not be default imports (rep by Jeroen van Vianen)
    • XML syntax error not caught while parsing web.xml (rep by Dave Wallace)
    • JSP tag library needs to handle array of primitive types, e.g. int[] (fixed! by Sunil Kamath)
    • (2001-12-04) setLocale needs to set charset= for contentType if none specified (rep by Sven Mawson)
    • ResponseAdapter setLocale must change the stream's locale (rep by Sven Mawson)
    • isapi_srun server name could have space prefix (rep by Robert Sherratt)
    • alternate-session-url-prefix support for mod_caucho (rep by Tharwat Abdul-Malik)
    • (2001-12-03) webdav.AbstractPath needs HttpServletRequest argument (rep by Serge Knystautas)
    • Changed VirtualHost moveto to avoid NT weirdness (rep by Steve Tekell)
    • Directory redirect for missing "/" wasn't happening (rep by Derek Slager)
    • MultipartStream needs getAvailable implementation
    • JavaGenerator was using uniqueId and unique, causing conflicts (rep by David Soergel)
    • Sort for numeric wasn't sorting NaN properly (rep by jpardo)
    • enhance XPath numbers to understand scientific notation (rep by jpardo)
    • XSLT format-number should throw an exception if the format is illegal (rep by jpardo)
    • directory-servlet should allow "false" (rep by Dane Foster)
    • More windows-hack translation codes.
    • plugins weren't properly handling virtual hosts (rep by Kirk Rasmussen and Mark Saarinen)
    • (2001-11-29) added windows-hack encoding to handle smart quotes (rep by Steven Tower)
    • If server-name is not specified, should use Host: header (rep by Kirk Rasmussen)
    • Registry must not treat xmlns as attribute (rep by Domingo Colon)
    • resin.ini was grabbed from wrong directory (rep by Jean-Francois Lamy)
    • (2001-11-28) RequestAdapter was translating resetBuffer() into reset() call (rep by Andrej Gabara)
    • complex caching interaction with getRealPath and JniRequest (rep by Florian Koenig)
    • SrunConnection needs to use live-time to timeout tcp-ring (rep by Dave King)
    • Added TransactionFilter
    • Added AnonymousExpiresFilter
    • user-name needs to return better error message (rep by Marti Christof)
    • (2001-11-27) <web-app> login should have priority over <http-server> (rep by Frank Danner)
    • RingStore rws close must close writer before reader (rep by John Lockwood)
    • Added preliminary support for OpenSSL engine (rep by Adrian Radulescu)
    • mod_caucho.c compilation problem (rep by David Cruz Langreo)
    • (2001-11-26) HTML boolean attributes, e.g. selected, should be shorted only if the have no value (rep by Federico Noferi)
    • include() to a non-found page should throw exception (rep by Daniel Dadush)
    • added CauchoServerRoot to mod_caucho (rep by Osma Ahvenlampi)
    • plugins weren't catching default live-time and dead-time config (rep by David Langreo)
    • /caucho-status should show <srun> id (rep by David Langreo)
    • jni directory for HP-UX is hp-ux (rep by Jong-Jeong Kim)
    • run-at request.getScheme() should return "cron" (rep by Mattias Jiderhamn)
    • error message encoding fixes to JavaCompiler (fixed! by Takashi Okamoto)
    • (2001-11-21) session invalidation needs to logout authenticated principals (rep by Martin Cordova)
    • server restart timing issues (rep by George Moshovitis)
    • alternate url rewriting broke old session url rewriting (rep by Daniel Wroblewski)
    • Changed RunnerRequest protocol assertion to avoid false positives (rep by Daniel Wroblewski)
    • DynamicClassLoader.findResources wasn't implemented (rep by Charles Meyer)
    • XSLT value-of must only return first string value (rep by Jong-Jeong Kim)
    • Cleaned up XSLTMark "html" and "oddtemplate" (rep by Richard Vowles)
    • (2001-11-20) Cleaned up XSLTMark "products" test failures (rep by Richard Vowles)
    • added alternate-session-url-prefix (added! by Kristofer Lund)
    • mod_caucho needs cse_clean_jsessionid and needs to check r->prev for stored jsessionid (rep by Jacob Nordgren)
    • mod_caucho priority issue again with DirectoryIndex, so moved to [8]
    • changed URL default encoding to utf-8 (rep by Jens Gertsen)
    • bin/resin wasn't setting the trailing chunked 0 (fixed! by Philip Molter)
    • XPath sum was calculating int not double (rep by Charly)
    • TcpStream should not set alarm and needs to set socket to null (rep by Joseph Dane and John Lockwood)

    2.0.4 - Nov 15, 2001

    • apache2 mod_caucho needed updating for new structures (rep by Daniel Wroblewski)
    • (2001-11-14) XmlPrinter.prefixList wasn't checked for null (rep by Michele)
    • pooled connection fatalException was calling close() twice (rep by Jason Van Cleve)
    • (2001-11-12) nsapi wasn't detecting resin.conf changes (rep by Jack Yang)
    • bin/resin should use initgroups (fixed! by Philip Molter)
    • bin/resin needs nativeFlush to handle flushBuffer (rep by Philip Molter)
    • changed server.c SIGSEGV handler to use the default (rep by Philip Molter)
    • new webapps properly initialized after expansion (rep by Will Jaynes)
    • (2001-11-06) Added XSL TemplatesHandler and TransformerHandler (rep by Christian Sell)
    • ForbidHost belongs in com.caucho.http.security
    • RotateStream setRolloverSize was setting wrong value (fixed! by Fredrik Rodland)
    • (2001-11-05) self::text() was printing as text() (rep by Richard Vowles)
    • XPath last() wasn't properly using axis (rep by Richard Vowles)
    • Fixed priorities in <host> regexp (rep by Glen Marchesani)
    • mod_caucho wasn't understanding jsessionid; when using SetHandler (rep by Jamie Coppedge)
    • <script> text wasn't handling </h4> properly (rep by Chris Graham)
    • javax.servlet.ServletContextAttributesListener wasn't deleted (rep by Anders Eriksson)
    • added JNDI initialization for javax.mail.Session (rep by jelmer)
    • race condition in cache of FileServer (found! by G. Nagarajan)
    • (2001-11-02) added reuse-session-id (default true) to allow disable session-id reuse (rep by Brigger Patrick)
    • nsapi.c should return error_page on connection failure if possible (fixed! by Jose Manuel Cantera Fonseca)
    • AbstractTransformerFactory.getFeature needs to return values for StreamSource. (rep by Christian Sell)
    • JavaScript "with" function scope was using global scope (rep by Stanislav Devyatovskiy)
    • Possible WriteStream offset bug (rep by Jens Goring)
    • (2001-10-31) jsp-file with different init-param weren't distinguished (rep by Dmitry Platonoff)
    • JSP pages with "extends" weren't properly updated (fixed! by Daniel Dadush)
    • bin/resin fixes for Content-Type and Date (rep by Dmitry Platonoff)
    • Allow nested tag NESTED variables (rep by Steve Hoffman)
    • (2001-10-30) removed aggressive DynamicClassLoader.unload
    • ClassLoader cleanup to ensure proper Class.forName called
    • WriteStream.print(int i) could have an off-by-one array exception (rep by Jens Goring)
    • added PasswordDigest to AbstractAuthenticator (rep by Bob Baker)
    • allow loadClass to be called from non-top (rep by George Moschovitis)
    • if enable-cookies='false' and given cookie, then need to enable url rewriting (rep by Sudheer Vangati)
    • (2001-10-29) upgraded config.guess and config.sub
    • expires and last-modified needs to go back to servlet when expires (rep by Tauren Mills)
    • mod_caucho needs to save write_length when retrying connection (rep by Mica Cooper)
    • reuse JNDI factory if have several jndi-link (rep by Sara Chieco)
    • form error page needs to use "GET" (rep by Sean Rohead)
    • servlet exception line wrapping shouldn't happen with lines starting with space
    • rtexprvalue = false was still allowing rtexprs (rep by Martin Nieschke)
    • (2001-10-25) Response.finish with forward() needs to skip input stream (rep by Song Qiu)
    • res.getCharacterEncoding should not normalize the encoding (rep by Sebastian Kanthak)
    • bin/httpd on Win32 broke -install and argument order (rep by Osma Ahvenlampi)
    • Separated WebDAV AbstractPath for custom webdav sources.
    • (2001-10-25) getNamedDispatcher must not allocate filters (rep by Sean Rohead)
    • MultipartForm output stream os.close() must be in finally (rep by George Moschovitis)
    • QDocument.getElementsByTagName wasn't returning root element (rep by Rodica Balasa)
    • WebDavServlet allows 'user' as an init-param
    • JdbcAuthenticator now has cookie-logout option (rep by Eric Carlson)
    • mod_caucho needs to understand difference between server defaults and <host id=''> (rep by Frank Nestel)
    • windows line numbers (rep by Erez Holzman)
    • (2001-10-23) Separated sessions into com.caucho.http.session.
    • QAbstractNode.getChildNodes() needs to return an empty node list (rep by Alex Besogonov)
    • Added server-name support in <host>
    • access log %{Set-Cookie}o wasn't properly handled (rep by Kirk Rasmussen)
    • sessions outside the group need a new session id (rep by Mica Cooper)
    • Added separate StartThread to TcpServer and created threadAcceptMax (rep by Dave King)
    • Added SingleThreadWrapperPage (rep by Mats Lofkvist)
    • Added %T %{%H:%M:%S}t and fixed %{cookie}c (rep by Kirk Rasmussen)

    2.0.3 - Oct 17, 2001

    • (2001-10-16) JspWriter.UNBOUNDED_BUFFER is final (rep by Steph)
    • srun-group for tcp-ring and load-balancing understands (rep by Christopher Lynch and Mica Cooper)
    • WebDAV Destination header wasn't properly decoded (fixed! by Andrey Akselrod)
    • WebDAV COPY and MOVE circularity check was overzealous (rep by Andrey Akselrod)
    • Added TcpServerAdmin and server-listener for clean shutdowns (rep by Christopher Lynch and Mica Cooper)
    • (2001-10-11) war-dir and war-expand-dir need to allow $host-dir (rep by Frank Nestel)
    • Added shutdown-wait-time (rep by Christopher Lynch)
    • JSP are now loaded in a single classloader to reduce memory consumption
    • taglib was overzealously escaping (rep by Jim Fox)
    • Initial cut of digest authentication (rep by Mark Davidson)
    • (2001-10-10) Found some cases where TempBuffer wasn't getting freed, causing the GC to work harder.
    • HTTPS on check needs to be case insensitive (rep by Ralph Schaer)
    • fixed Apache SEGV for errors in resin.conf parsed by mod_caucho (rep by Steve)
    • (2001-10-08) On redirect, assume port 443 is https (rep by Ralph Schaer)
    • jsp:include must use servletPath (rep by Srujana Cherukuri)
    • DBPool.getPool should store stuff in the ClassLoaderLocal (rep by Cytown)
    • DBPool wasn't closing connection when receiving connectionError (rep by Cytown)
    • Added preliminary velocity-style JSP syntax
    • (2001-10-05) Session store needs to happen before flush (rep by Jon Bodner)
    • persistent session store must load all on startup (rep by Steve Holt)
    • add ForbidHost
    • persistent session store now has srun-index-specific subdirectories.
    • moved persistent session store into WEB-INF
    • sendRedirect shouldn't clear headers (rep by David Rice)
    • access-log period of 1M should rollover at month end
    • jsp:directive.page must handle namespace decl (rep by Lukasz Kowalczyk)
    • transport-guarantee=NONE wasn't understood (rep by Martin Cordova)
    • (2001-10-02) SingleThreadModel fix for servlets (rep by Mats Lofkvist)
    • basic WebDAV support
    • filter.init() must throw ServletException (rep by Ralph Schaer)
    • (2001-09-28) Added -http-port and -srun-port back to ResinServer (rep by Hiroshi Morita)
    • static JSP page should have sessions (rep by Alex Greif)
    • added AccessLog.getArchiveName to allow subclassing (rep by Mark Saarinen)
    • added archive-format to the access-log (rep by Mark Saarinen)
    • JSP setProperty and tag properties must allow PropertyEditors
    • getF_oo corresponds to property f_oo, not F_oo (rep by Dave Wallace)
    • LogStream should use getPath("href", null) to allow system properties (fixed! by Andrej Gabara)
    • Fixed regression failure for chained XSL request (rep by Laurent Tettoni)
    • NT install needs to strip quotes from paths, e.g. CLASSPATH (rep by Alin Andea)
    • mod_caucho must be before [7] (header parser) so mod_gzip will work (rep by Aurelien Pelletier)
    • rotating logs (e.g. stdout-log) now allow a customized timestamp (rep by Jan Aleman)
    • Added com.caucho.admin.http.ServerAdmin (req by Derek Fisher)
    • Throw more informative exception when getPage called after application shutdown (rep by Michal Mosiewicz)
    • cleaned up ClassLoader.getSourcePath (rep by Steve Nicholai)
    • DBPool should auto-detect ConnectionPoolDataSource for driver-name (rep by Chris Donnelly)
    • JavaScript generated *.java and *.class belong in WEB-INF/work (rep by Hiroshi Morita)
    • (2001-09-25) HttpServletResponseWrapper.encodeRedirectURL was circular (rep by Joe Walnes)
    • getReader() wasn't allowed inside a jsp:include (rep by Laurent Tettoni)
    • XSL input document must use coalescing = true (rep by Marc Welk)
    • xmlns:foo in jsp:root implicitly declares taglib (rep by Daniel Goodwin)
    • xml:jsp should strip the XML version header (rep by rlubke)
    • added XmlAuthenticator
    • (2001-09-24) HTML parser needs to understand <script> has implicit cdata (rep by Jakob Eriksson)
    • directory url missing trailing '/' wasn't redirecting query string (rep by Jim Griggs)
    • Apache setup should use '/' insteadof '\\' (rep by Arjan van Mulukom)
    • classloader makeAll wasn't properly compiling recursively (rep by Frank Nestel and Neil Aggarwal)
    • WEB-INF/lib was overriding the specified <classpath>
    • (2001-09-22) getRealPath was using welcome-file-list (rep by Jon Bodner)
    • if error-page connection points to a Resin page, use default error (rep by Kirk Rasmussen)
    • Added ApplicationAdmin.invalidateCache (rep by Joseph Dane and Steve Tekell)
    • Added Cache-Control: must-revalidate and proxy-revalidate (rep by Joseph Dane)
    • -compile option should allow multiple urls and add -compile-host (rep by Martin Cooper)
    • (2001-09-20) resin:include wasn't properly restoring searchPath (rep by George Moschovitis)
    • fixes to SchemeContext's handling of JNDI schemes (rep by David Smiley)
    • missing jndi scheme should be treated as normal, not URLContextFactory not found (rep by Zacharias Beckman and David Smiley)
    • JSP taglib uri can refer to jars (rep by Neil Fradkin)
    • Fixed Alarm bug causing dropped alarms -- causing dbpool idle problems (rep by Carl-Henrik Tjarnlund)
    • (2001-09-19) forward() should be allowed even inside body tags (rep by Alex Kotopoulis)
    • sendRedirect has possible nullpointer with some configurations (rep by Sean Rohead)
    • system-property allowed in <web-app> (rep by Jens Moller)
    • ClassLoaderStream rename and cleanup (rep by Jeff White)
    • mod_caucho log should add timestamp (added! by Rob Bunten)
    • caucho_status in mod_caucho was testing cse_open wrong (fixed! by Rob Bunten)
    • (2001-09-18) XmlParser with multiple external entities (rep by Jean-Francois Lamy)
    • added max-active-time to DBPool config (rep by Carl-Henrik Tjarnlund)
    • zipFile in Jar openReadImpl wasn't properly created (rep by Sean Leach)
    • caucho.com/var/jar-cache-size is configurable (rep by Sean Leach)
    • When grabbing session id from SSL session, can't use '/' (rep by Jens Goring)
    • (2001-09-17) maxPoolTime wasn't properly set (rep by Charles Meyer)
    • <2001-09-13) rotate log now uses nextPeriod calculation (rep by Jeff White)
    • webapps change should only affect the old/new wars
    • Change default listen to 100 (rep by Ozzy Espaillat)
    • (2001-09-11) Allow quoted string charset: text/html; charset="UTF-8" (rep by Sean Rohead)
    • XmlParser with Reader must ignore file's encoding (rep by Jean-Francois Lamy)
    • JAXP support for META-INF/services
    • include() and forward() to WEB-INF must show files (rep by Dane Foster)
    • XML: multiple external entities weren't handled (rep by Jean-Francois Lamy)
    • JSP and EJB classloader should use full classname for CodeSource (rep by Ashwin)
    • make ping class-name configurable and add PingMailer (rep by Mark Saarinen)
    • added httpd -V check in configure.in for EAPI (rep by Tauren Mills)
    • sendRedirect needs to use host header (rep by Brandon Knitter)
    • Apache connection error needs to use ap_internal_redirect (rep by Tom May)
    • (2001-09-07) j_uri priority configured by form-uri-priority (rep by Tiberiu Fustos)
    • AuthenticatorAdapter needs to have the registry passed in (rep by Grant Johnson)
    • Auth handled by Apache/IIS wasn't passed to local auth (rep by Steve Tekell)
    • fixed auth-config.xtp bug for form-login-config (rep by Peter Miller)
    • added test to rotateLog to avoid 1969 los (fixed! by Jeff White)
    • ref-ref-name should allow full path (rep by David Smiley and Neil Aggarwal)
    • wrapper.pl should accept -no-auto-restart (rep by Tomas Loescher)
    • getResourcePaths wasn't using getRealPath (rep by Eric Van Lydegraf)
    • More XmlParser reuse issues
    • (2001-09-04) nested xsl:for-each wasn't setting the context properly (rep by Stefan Scholl and Sergey Winnitsky)
    • XmlParser wasn't properly initialized on reuse (rep by Jean-Francois Lamy)
    • JNDI configuration in <host> wasn't setting contextClassLoader (rep by Tauren Mills)
    • removed session variable must remove value (rep by Jon Bodner)
    • reset sessions shouldn't clear update count (rep by Jon Bodner)
    • XmlPrinter wasn't flushing properly (rep by Jose Qinteiro)
    • XmlPrinter should use UTF-8 as default encoding (rep by Edith Mooers)
    • jsp-file and load-on-startup wasn't working (rep by David Smiley)
    • filters should apply to welcome-file-list (rep by Jeremy Chone)
    • XML declarations handled improperly in external entities (rep by Jean-Francois Lamy)
    • JavaScript introspection needs to understand inner class constructors (rep by Michal Mosiewicz)
    • Added XMLFilter support for JAXP (rep by Wes Hodges)
    • Change File normalization in DOM/JAXP API (rep by Jean-Francois Lamy)
    • QDeepNodeList needs to update length when the underlying dom changes (rep by Amit Kumar)
    • Added setRegistry to bean initialization (rep by Colin Sampaleanu)
    • Added Xsl command-line parameters (rep by Jean-Francois Lamy)
    • Added servlet-classloader-hack (rep by Richard Dallaway)
    • Added custom ErrorLog for the error-log configuration (rep by Mark Saarinen)
    • AbstractStylesheetFactory needs to extend StylesheetFactory (rep by John Stetter)
    • DirectoryServlet needs to accept wrappers (rep by Victor Salaman)

    2.0.2 - Aug 27, 2001

    • SAXSource.sourceToInputSource should allow non SAXSource (rep by Sean Rohead)
    • Apache ErrorDocument must send REDIRECT_* to Resin (fixed! by Alex Leykekh)
    • WEB-INF/classes should override WEB-INF/lib (rep by Jean-Francois Lamy)
    • Changed StreamSource to handle files (rep by Jean-Francois Lamy)
    • Add timestamp to ping failure. (rep by Mark Saarinen)
    • forwarded session wasn't passed with wrapper (rep by Andrey Akselrod)
    • caucho-status was parsed incorrectly by config.c (rep by Rob Bunten)
    • JNDI binding with jndi-link was parsing java:comp incorrectly
    • (2001-08-20) NT httpd wasn't setting resin.home properly (rep by Osma Ahvenlampi)
    • DOMBuilder needs to set attribute defaults (rep by Ewan Catlanach)
    • System.properties is now context-sensitive, i.e. separate for each web-app.
    • access-log positive timezone should include the '+' (rep by Adrian Zimmermann)
    • Added round_robin_random to stream.c (rep by Kaushik Banerjee)
    • <pre> and <textarea> pretty-printing (rep by Zacharias Beckman)
    • (2001-08-16) XPath filters weren't handling context properly (rep by Jean-Baptiste Quenot)
    • META-INF/taglib.tld should be picked up automatically (rep by Barry Meyer)
    • SchemeContext should allow '/' and ':' as separators (rep by Laurens Friedel)
    • wrapper.pl was overwriting the "http" with "tcp" (rep by Ron Abidog)
    • <host id='*'> was confusing the plugins (rep by Nathan Paquin)
    • Explicitly search for /Program Files/Apache Group/Apache in setup when Apache doesn't configure registry (rep by Heinz Wehner)
    • httpd.exe -install now removes superfluous quotes (rep by Steven Cena)
    • (2001-08-15) Set caucho.multipart.form.error for too big multipart form upload (rep by Tiberiu Fustos and Jeff Szeto)
    • scriptlet before <html> broken when too large (rep by Gerret Apelt)
    • jsp:setProperty was confused by a getFoo(int i) in the bean (rep by Randy Kahle)
    • Fixed regression bug for jsp tags introduced in 8-14 snapshot (rep by Andrey Akselrod)
    • bin/resin and httpd.exe need -server-root (rep by Osma Ahvenlampi)
    • caucho-status needs to default to false (rep by Andrey Akselrod)
    • (2001-08-14) Multiple calls to ContextStream.setStdout would confuse the stream (rep by Dave Meissner)
    • XSL document() needs to use XSL search path (rep by Jean-Baptiste Quenot)
    • added html_document to alloc latin1 entities (rep by Dirk Jaeckel)
    • mod_caucho needs set_socket_cleanup and cse_close_all for cleanup (rep by Kirk Rasmussen)
    • nsapi plugin wasn't handling plugin_ignore (rep by Paolo Diana)
    • New DBPool had broken ping-on-reuse (rep by Dmitri Maximovich)
    • Check for short session to avoid Konqueror bug (rep by Mihai Christodorescu)
    • key-size changed to key_size (rep by Kirk Rasmussen)
    • Added jsp/recycle-tags to disable tag recycling (rep by Steve Philp)
    • Fixed conflict with ROOT.war and resin.conf (rep by Curtis Spencer)
    • (2001-08-11) Fixed caching sync issue which could cause infinite looping
    • Cleanup bin/resin thread allocation to minimize thread create/destroy
    • Both the FileServlet and CacheInvocation understand the Range header (rep by Matt Kalinowski)
    • The javax.servlet.context.tempdir should be automatically created (rep by Mitchell Ackermann)
    • (2001-08-09) BeanUtil configuration now accepts addXXX
    • filters only apply to top requests (rep by Richard Vowles)
    • Wasn't clearing buffer after CodeRed attack (rep by Steve Philip)
    • Make DBPool serializable (rep by Chris Beck)
    • NamedDispatcher wasn't properly handling filters, including, and chaining (rep by Zacharias Beckman)
    • CachePath size needs to be in bytes, not blocks (rep by Dave King)
    • (2001-08-07) XADataSource needs to reuse connections after close (rep by Rick Hightower)
    • (2001-08-03) DispatchRequest shouldn't use the parent's getUserPrincipal
    • cache memory size wasn't converting from kb to bytes (rep by Marinos Yannikos)
    • form login must use forward for login and error pages according to spec (rep by Norm Vilmer)
    • (2001-08-02) FreeBSD wants -lpthread in configure (fixed! by Derek Leung)
    • Add webapps support for IIS (rep by Kevin Seguin)
    • 304 not-modified should not return content-length
    • added max-pool-time to dbpool (rep by Charles Meyer)
    • added jsp/disable-init-log (rep by Klaus Friedel)
    • j_uri should have priority (rep by Robert Koburg)
    • host matching was using strstr instead of strcmp (rep by Donald Ball)
    • XSL document(...) call from inside included stylesheet (rep by Jean-Baptiste Quenot)
    • XSL transform should default to UTF-8 when the output stream is an OutputStream (rep by Jean-Baptiste Quenot)
    • XSL apply-templates does not set the context (rep by Jean-Baptiste Quenot)
    • JarPath needs to synchronized on the jarFile (rep by Joseph Dane)
    • (7001-08-01) mangled name for windows needs to be lower case (rep by sslindia)
    • sendRedirect should produce absolute URL, e.g. http://foo/test.jsp (rep by Harris Wulfson)
    • forms are allowed even when content-length < 0 because of chunked encoding( rep by Matt Stanton)
    • fixed includes with multipart form (rep by Andrey Akselrod and Tony Nys)
    • setpgrp should be setpgid(0, 0) (rep by Derek Leung)
    • required Tag attributes are allowed to be the empty string (rep by Andrey Akselrod)
    • (2001-07-31) Initial cut of AbstractLogin interface
    • wrapper.pl -pid needs to normalize to take care of chdir (rep by Brian Stanton)
    • xsl.Sort.cmp bug not properly testing vb for null (rep by Art Taylor)
    • SessionStore logic for allowing non-serializable wasn't creating good files (rep by Oleg Sapojnikov)
    • servlets weren't properly saved in instances on startup causing dual compile (rep by Rony Zacharia)
    • HEAD wasn't working with welcome-file-list (rep by Jean-Baptiste Quenot)
    • XSL var evaluate with string functions wasn't checking null properly (rep by Art Taylor)
    • resin:include should use same encoding as parent (rep by George Moshovitis)
    • error-page location must be absolute (rep by Art Taylor)
    • (2001-07-26) External entity handling for strict-xml (rep by Jean-Baptiste Quenot)
    • In configure.in, only use perl if the c compiler matches (rep by Simon Hobbs)
    • MSIE hack wasn't working for contentType with charset (rep by Dave Moellenhoff)
    • warExpandFileList wasn't properly initialized causing reload loops (rep by Charles Meyer)
    • Cookies version 1 upgraded to rfc2965 (rep by Andy C)
    • (2001-07-25) More Auth compatibilities
    • URIResolver is allowed to return null (rep by Jose Quinteiro)
    • (2001-07-24) Upgrade DBPool to allow XADataSource
    • RunnerRequest needs to use new LOGIN_NAME from AbstractAuth (rep by Tiberiu Fustos)
    • new stylesheet with DOM should use DOM's systemId (rep by Adolfo Aladro)
    • missing new JSP taglib names: tag-class, etc. (rep by Andrew Akselrod)
    • removed non-core DOM elements (rep by Dane Foster)
    • (2001-07-23) AuthenticatorAdapter
    • select pattern ../@foo wasn't handled property (rep by Dmitry Platonoff)
    • classloader isModified changes and makeAll order (rep by Dave Moellenhoff)
    • mod_caucho may have per-directory configuration (rep by ajazam)
    • WEB-INF/lib in <host> wasn't properly handled (rep by Sean Leach)
    • Use char[] buffer in QBodyContext to speed writeOut (rep by Haining Huang)
    • (2001-07-20) auth exception thrown in getUserPrincipal should propagate (rep by Sean Rohead)
    • ServletServer reload could set contextClassLoader wrong (rep by Charles Meyer)
    • XSL document() needs to rethrow exceptions (rep by Adolfo Aladro)
    • (2001-07-19) Compile problem with jsp:setParameter with multiple array values (fixed! by Hannes Loubser)
    • listener classes can implement multiple interfaces (rep by Max Kutny)
    • error parsing XML with external DTD (rep by James Bond and Jean-Baptiste Quenot)
    • XSL document() needs to be relative to the stylesheet (rep by Jean-Baptiste Quenot)
    • war-dir and war-expand-dir need to be aware that File.list() might not return a consistent order (rep by Charles Meyer)
    • reload of war would append web.xml to old registry (rep by Charles Meyer)
    • responseAdapter.addIntHeader was calling setIntHeader (fixed! by Brian Ewins)
    • (2001-07-17) Initial cut of SQL rewrite and DB clustering (rep by Jeremy Randall and Chris Beck)
    • (2001-07-16) Initial cut of authentication rewrite (rep by Sean Rohead)
    • ETag needs to be quoted, e.g. ETag: "fffzzz" (rep by Brian Ewins)
    • (2001-07-11) Added custom access logging with access-log/log-class (req by Marcus Stein)
    • Added response for sendRedirect for stupid wap browsers (rep by Harris Wulfson)
    • Added initial cut for the security-manager (rep by Tauren Mills)
    • added stdout-log and stderr-log in web-app (rep by Jeff White)
    • error-log rollover settings for virtual host were ignored (rep by Jeff White)
    • jsp:getProperty and jsp:setProperty should allow case insensitive props (rep by Richard Stoller)
    • endTagHack nullpointer with empty body tag (rep by Ovidiu Ionescu)
    • PageContext.XXXAttribute needs to check session for null (rep by Martin Cooper)

    2.0.1 - July 10, 2001

    • (2001-07-09) isapi_srun wasn't tracking active_connections for load balancing
    • round robin load balancing fixes
    • Multiple <% ... %> allowed for XTP special parsing
    • (2001-07-05) file servlet needs to deal with filters and wrappers (rep by Bryan Young)
    • xsl:use-attribute-sets for literal element (rep by Jean-Baptiste Quenot)
    • forward() query string needs to be aggregated (rep by Chris Monster)
    • context class loader needs setting in Application.init (rep by Frank Nestel)
    • (2001-07-04) mod_caucho doesn't need per-request config (rep by Carlos)
    • getResourcePaths implemented (rep by Davis Koblas)
    • session isolation with getContext and forward (rep by Christian Sell)
    • Changed compiler timeout message (rep by Jens Goring)
    • jsp:setParameter regression failure from snapshot (rep by Serge Popov)
    • XSL precompilation wasn't detected with StreamSource (fixed! by Andrey Novikov)
    • XSL imports and includes with StreamSource weren't paying attention to System ID (fixed! by Andrey Novik)
    • SystemId was ignored in stylesheet newTemplates (fixed! by Andrey Novik)
    • Added Reader support for stylesheet Source (added! by Andrey Novik)
    • Added URIResolver support for stylesheets (added! by Andrey Novik)
    • welcome-file-list needs to check authorization (rep by Sean Rohead)
    • CDATA printing didn't close the element (rep by Fernando Herrero)
    • (2001-07-02) AbstractCompiler error messages
    • added mod_caucho/resin ssl support (rep by Chun Heng Lum)
    • (2001-06-28) added jsp:setProperty support for long[] (rep by Ethan Adams)
    • <classpath id='http://foo.com:8080/classes'> supported (rep by Dimitri Rakitine)
    • Xml parsing wasn't properly recording dependencies (rep by Ron Hart)
    • improved servlet failure error messages (rep by Jose Manuel Cantera Fonseca)
    • isSupported() needs to work for document element too (rep by Felix Gnass)
    • Fixed QDate parsing to handle Netscape's ;length=40 (rep by Frank Nestel)
    • Added ETag support to HttpServlet (rep by Frank Nestel)
    • (2001-06-26) war-expand-dir last-modified wasn't properly recorded (rep by Roger Kjensrud)
    • Added bin/resin support for multiple ports and openssl (rep by Dmitri Platonoff)
    • JSP can't override destroy() for extends classes (rep by Dimitri)
    • owner.changeCount++ needs test if owner == null, e.g. for dtd nodes (rep by Christophe Condomines)
    • In FormLoginServlet, request.getSession() should be after login (rep by Sean Rohead)
    • resin.conf error should allow fixes for problems outside the web-app (rep by Frank Nestel)
    • added <interface host='localhost' port='8080'/> to security-constraint (rep by Rene Trussell-Cullen)
    • For windows ensure case-sensitive check for CompilingClassLoader (rep by Alan Berezin)
    • servlet.init method must be allowed to call request dispatcher (rep by Gerret Apelt)
    • server vs host vs web-app vs web.xml priority was confused (rep by Robert Gagliardo)
    • classpath id='WEB-INF' must be treated as default for web-app (rep by Brian Beaulieu)
    • CauchoHost wasn't handled properly with new srun impl (rep by Ashish Khosla)
    • jndi-link wasn't handling foreign contexts (rep by Dmitri Maximovich)
    • httpd-port and srun-port now throw exceptions
    • ReaderWriterStream chopping off utf-8 bytes (rep by Jakob Eriksson)
    • Xml.parseDocumentString must ignore encoding and use utf-8 (rep by Jakob Eriksson)
    • XML '\n' entities in attributes were broken (fixed by Jakob Eriksson)
    • XmlPrinter must escape '<' and '>' in attributes (rep by Jakob Eriksson)
    • added exception-on-timeout to DBPool config (rep by Steve Philip)
    • ResponseAdapter.close() needs to use correct encoding (rep by romario)
    • cleanup tcp-ring loadSelf error messages (rep by Meeraj Kunnumpurath)
    • revise nsapi init order to fix g_config assignment (rep by Paolo Diana)
    • cleaup cse_init update (rep by Tom May)
    • isapi_srun was shortening response headers
    • persistent serialization errors should be logged automatically
    • Added AbstractAuthenticator options (rep by Francois Bertrand)
    • FileServlet needs to handle filter wrappers (rep by Bryan Young)
    • fixed cp1252 encoding (rep by Pedro Beck Gomes da Costa)
    • Added work-dir to web-app configuration (rep by Magnus Nordseth)
    • body tag can return EVAL_BODY_INCLUDE (rep by Michal Mosiewicz)
    • added LexicalHandler support for CDATA and comments (rep by Robert Koberg)
    • stylesheets for vary example should allow vary.xtp directly
    • JavaScript var printing when forced from variable to global (rep by Stanislav Devyatovskiy)
    • JSP tag setParent(null) needs cast (rep by Michal Mosiewicz)
    • bin/resin was returning canonical host for getServerName, not the virtual host (rep by Jean-Baptiste Quenot)
    • bin/resin now handles multiple ports (rep by Dmitri Platonoff)
    • log session serialization errors (rep by Stephen Tenberg)
    • ROOT web-app wasn't recognized (rep by Michael Miller)
    • Continuation headers are used by Opera (rep by Stefan Alexandrescu and Oliver Koell)
    • remove trailing '\' from httpd.exe classpath (rep by Oliver Henlich)
    • potential buffer overflow in isapi_srun.dll (rep by Netcraft)
    • handleCron in RotateStream needs to synchronize the stream (rep by Tom May)
    • getElementsByTag name must be live (rep by Jakob Eriksson)
    • transform needs to handle StreamSource.getReader() (rep by Wes Hodges)
    • transform needs to handle StreamResult.getWriter() (rep by Wes Hodges)
    • Apache 2 needs to use ap_get_server_name (rep by Dave Wallace)
    • nested <%@ include %> didn't reset pwd properly (rep by Stanislav Devyatovskiy)
    • .war update on windows needs to deal with the windows non-delete of busy file issue (rep by Frank Carver)
    • XslParser needs to use QElement, not CauchoElement (rep by Frank Carver)
    • java compilation needs better error message when internal fails or the external compiler is missing (rep by Paul Freeman)
    • add GBK to Encoding.java (rep by leoding)
    • setup.exe needs to put LoadModule and AddModule in right order (rep by Engst Oliver)
    • getElementByTagName fails with no children (rep by Trevor Baker)
    • JSP contentType must be copied verbatim (rep by Tomas Zeman)
    • servletPath and servletPath + pathInfo need path-mapping (rep by Jean-Baptiste Quenot)
    • servletPath + pathInfo must be allowed as JSP (rep by Paul Brown)
    • '+' needs to be allowed in mailto names (fixed! by Todd Lipcon)
    • caucho_dispatch needs to occur after url->filename mapping to support mod_dir (rep by Henrik Schack)
    • stream.c create too large of a static data structure (rep by Phil Eschallier)
    • HardCore should not be enabled by default (rep by Carlos)

    2.0.0 - June 8, 2001

    • JNDI needs to set itself in classloader before calling jndi-link (rep by Joseph Dane)
    • Tags shouldn't be pooled across instances (rep by Michal Mosiewicz)
    • FormLogin forward needs to check auth (rep by Martin Cordoba)
    • jsp/jsp-max needs to limit total number of JSP pages (rep by Mark Wilkie)
    • basic jsp:text and jsp:root support.
    • Major fixes to HardCore POST support.
    • CharBuffer.getChars() would loop forever (rep by Wallace Roberts)
    • stylesheets and XTP files now generate temp files in WEB-INF/work.
    • added config-update-interval to web-app (rep by Bill Marcum)
    • StringStream, PipeStream, and ReaderWriterStream had bad write() impl (rep by Jean-Baptiste Quenot)
    • session-config/cookie-max-age (rep by Mark Saarinen)
    • "JAVA" encoding for XSL stylesheets (rep by Jean-Baptiste Quenot)
    • host id='foo.com:8080' should only match port 8080 (rep by Lee Chin Peng)
    • For Apache2, mod_caucho can handle <Location> configuration
    • share mod_caucho sockets across virtual hosts (rep by Brian Beaulieu)
    • sessions using SSL sessions (rep by Hoong Wai Wong)
    • .asf .asx mime-types (rep by Joe Busch)
    • Make AbstractRequest to work around PHP bug (repb y Wallace Roberts)
    • connection count based load balancing
    • Apache2 support for mod_caucho.c
    • Performance fixes for taglibs.
    • web.xml encoding for non-UTF-8 was broken (rep by Frank Nestel)
    • error-log can now have rollover-size and rollover-period (rep by Mark Kreklau)
    • Generated JSP classes are now put in WEB-INF/work
    • position() and last() support for apply-templates (rep by Stefan Scholl)
    • <log> now supports rollover-period (rep by Heather Grace)
    • SAXTransformerFactory needs to extend TransformerFactory (rep by Stephane Bailliez)
    • Randomize the round_robin_index on Apache client start (rep by Mark Berry)
    • jndi hack and cleanup of dynamic class loader (rep by Frank Nestel)
    • Added <sticky-sessions> configuration (rep by George Pearson)
    • Log errors and recover better with .war expansion fails (rep by Matt Grimm)
    • Better error messages for servlet instantiation issues (rep by Gerret Apelt)
    • Form handling no longer uses the response content type (rep by Serve Popov)
    • single signon across <host> or &;http-server> (rep by Dave Dribin)
    • JSP file wasn't reusing the allocated tags (rep by Mac Ferguson)
    • Make xml/parsers classes public to support JDOM (rep by Colin Sampaleanu)
    • run-at dummy response should return valid getWriter(), but to /dev/null (rep by Brian Keefe)
    • Added run-at/period (rep by Frederic Giust)
    • Changed Alarm to use linked-list instead of ArrayList (rep by Neil Fradkin)
    • DynamicClassLoader now extends SecurityClassLoader (rep by Ron van Pol)
    • getRequestURL in forward() was using old value (rep by Christian Sell)
    • added com.caucho.security.SecurityContext to support EJB.
    • added allow-admin to web-app and ApplicationAdmin (rep by Heather Grace)
    • Exceptions in DBPool are now properly wrapped.
    • jndi-link needs to use an ObjectProxy to handle foreign JNDI updates (rep by Alf Werder)
    • Using Perl as a heuristic in ./configure to guess compile flags
    • Allow web-xml to be configured (rep by Adolfo Aladro)
    • Allowed the session-url-prefix to be configured (rep by Peter Andrews)
    • Better error reporting for classpath/library-dir (rep by HYN)
    • Added AttributeListIterator to handle foreign DOMs (rep by Jakob Eriksson)
    • Errors in web.xml shouldn't disable the server on startup (rep by Marcus)
    • Add cache enable=false to disable the cache (rep by John Moore)
    • classloader in host context needs init (rep by Qiao Jin)
    • getProperty wasn't finding values properly (rep by Patrik Laszlo and Dave Dribin)
    • Duplicate instantiation in Taglib (rep by Ralf Beier)

    older changes


    Copyright © 1998-2011 Caucho Technology, Inc. All rights reserved.
    Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.