<document>

- (2001-10-26) Response.finish with forward() needs to skip input stream (rep by Song Qiu)
- Taglib jar lookup backpatched from 2.0 (rep by Neil Fradkin)
- bin/resin request_parse_headers needs to deal with long headers (rep by Stefan Praszlawicz)
- With Apache, wasn't reloading servlets (rep by Guy McArthur)
- Wasn't clearing buffer after CodeRed attack (rep by Steve Philip)
- sendRedirect should produce absolute URL, e.g. http://foo/test.jsp (rep by Harris Wulfson)

- potential buffer overflow in isapi_srun.dll (rep by Netcraft)
- JSP contentType fix (rep by Tomas Zeman)
- Alarm change since volatile long is guaranteed atomic (rep by Tom May)
- close_child in mod_caucho.c had incorrect test (fixed! by Mario Bulhoes)
- TcpServer.startConnection could increment startCount w/o starting thread (rep by Daniel Wroblewski)
- internal compiler issue with i18n (fixed! by Tatsuya Bizenn)

- Apache/IIS with query string (rep by everybody)
- findSessionIdFromCookie needs to deal with null CookiesIn (rep by Gonzalo Diethelm)

- detect Solaris Interrupt in waitForExit (rep by Kirk Rasmussen)
- nsapi.c needs to look for ;jsessionid= not ;JSESSIONID= (rep by Tomasz Karpowicz)
- BasicPrincipal needs to be serializable (rep by Jim Frenette)
- plugin cleanup to avoid post issues (rep by Claus Jacobsen)
- better detection/recovery of accept interrupts (rep by Daniel Wroblewski)
- mod_caucho rewrite of ;jsessionid= must update stat info (rep by Robert Binion)
- Create relative paths for jikes compilation on win32 (rep by James Korotney)
- <classpath source='.'/> caused compilation errors (rep by Peter Andrews)
- Locale "zh" should be mapped to GB2312, not BG2312 (rep by Riew)
- Exception in HTTP request parsing must close connection (rep by David Hammerton)
- Too-many SSL exceptions should stop the server (rep by Jonas)
- always-load-session wasn't accepting "false" (rep by Mark Saarinen)
- changed wrapper.pl setpgrp(0,0); to setpgrp; to fix Solaris (fixed! by Guy McArthur)
- ServletInputStream wasn't returning lines w/o newline.
- web.xml must support xml:param='preserve' (rep by Mark Owen)
- JSP headers in XTP should still allow doctype decl (rep by Soon Shin)
- IIS with query strings was causing not found exceptions (rep by Mark Saarinen)
- JavaScript wrapping of classes named $Foo was broken (rep by Claude Pelletier)
- JavaCompiler should not normalize the encoding to the Java name (rep by Dmitry Sevostyanov)
- Check war-dir change using list() instead of just lastModified for NT.
- NT wasn't detecting jar additions to WEB-INF/lib.
- DirectoryServlet needs to use URLUtil.encode (fixed! by Justin Akehurst)
- Bug in XPath FromRoot when node is null. (fixed! by Bruno Navert)
- JniRequest and proxy.h need to sync buffer sizes (rep by Istvan Ratkai)
- CharBuffer.getChars wasn't incrementing properly (fixed! by Lolo LaSida)
- in wrapper.pl -green and -classic need to be first (rep by Terence Parr)
- Request Content-Type charset allows quotes (fixed! by Philip Nelson)
- URL // should be synonym of root (rep by Ken Miyaki)
- duplicate data sources are not detected (rep by C. K. Lim)
- &getcwd is buggy in wrapper.pl, use getcwd() instead (fixed! by Adam Ryba)
- Duplicate JSP page encoding with same encoding should be allowed (rep by George Moschovitis)
- <embed> cannot have pretty-print spaces added (rep by Stefan Scholl)
- AT_BEGIN tags need to be updated in loops (rep by Bindu Mohan)
- check war-expand-dir for modifications
- expose Response.getContentLength() as public (rep by Carl-Henrik Tjärnlund)
- If no cookies in Request.getCookies() should return null (rep by Pierre-Yves Saumont)
- response.setContentType was ignoring parameters like ";boundary" (fixed! by Joe Zimmerlin)
- isapi_srun needs better error-handling for bad resin.ini (rep by Frank Nestel)
- URLUtil needs to encoding '%' (rep by Martin Cooper)
- Fixed jsp_precompile (rep by Martin Cooper and Serge Knystautas)
- HttpUtils wasn't parsing long POST forms (rep by Robert Whittle and Gustavo Santucho)
- SmtpStream wasn't handling multiline SMTP responses properly (fixed! by Michael Kolfman)
- JSP tag values containing quotes weren't properly escaped (rep by Hans Bergsten and Mikael Andersson)
- CharBuffer.replace wasn't setting the length (rep by Alan Berezin)
- getElementsByTagName shouldn't include the tag itself (rep by Jakob Eriksson)
- CpXXX encodings should use CpXXX as the mime-type (rep by Serge Popov)
- security fixes (rep by Kristoffer Karlsson and Huang YingNing)
- jsp:setProperty error message bugs (rep by Eric Rasmussen)
- Several bugs with tcp-store and different crash/restore orders (rep by Gary Doughty)

- Reorg XPath preparing to support XSLT 1.1
- reworked vfs.i18n to make it easier to add other encodings
- break up XSL template init to avoid Java method limits (rep by Jean-Baptiste Quenot)
- IIS getRequestURI() needs to be re-escaped (rep by Frank Nestel)
- exclude-result-prefixes wasn't working with new XSL (rep by Jean-Baptiste Quenot)
- Session destroy events need to be called even with empty sessions (rep by Deepak Sharma)
- added resin:disable-output-escaping as synonym for disable-output-escaping at top (rep by Stefan Scholl)
- position() in sort needs to use sort order, not doc order (rep by Peter Heinrich)
- Initial JAXP 1.1 cut
- XTP with lots of parameters needs to hash mangled class name (rep by Jean-Baptiste Quenot)
- XML/XSL redesign
- merge with 1.2snap fixes
- Need to set javax.servlet.error.request_uri (rep by Serge Knystautas)
- Tag library performance optimization
- Cookies need space between ;Path (rep by Sunny Balijepalli)
- HardCore small POST
- HardCore basic caching
- HardCore date generation

- Regression failure with a.jsp/foo.jsp

- return error page on basic auth forbidden (rep by Mark Ashworth)
- IIS 5.0 auth fixes (fixed! by Ahn Le)
- more NT filepath garbage (rep by Huang YingNing)
- cleaned up SchemeContext lookup of non-existent file (rep by Dave Moellenhoff)
- WriteStream needs to check "source" again when flushing (rep by Stephen Wong)
- application["caucho.server-id"] has the server id (rep by Bill Horsman)
- better error reporting for interpolated values (rep by Roger Kjensrud)
- tcpServer array not properly initialized in ResinServer (fixed! by Mathias Lagerwall)
- AIX lockup: read_length in ReadStream shouldn't ever be < 0. (found! by Ganesan Venkatasubramanian)
- directories/files starting with '.' should not be compiled (rep by Todd Lipcon)
- JniRequest.getReader() was broken (rep by Istvan Ratkai)
- XmlPrinter.print needs to flush for wrapped streams (rep by Chris Cuilla)
- srun backup order was inconsistent (even/odd) (rep by Tony Payne)
- cleanup encoding on close() and limit char[] size in WriteStream (rep by Peng Yong)
- .jsp issues (rep by Elias Levy)
- hash remote ip in generated session id (rep by Franck Bombourg)
- better error message with XmlPrinter using writer and encoding (rep by Calh-Henrik Tjarnlund)
- getNamedDispatcher wasn't forwarding() property (rep by Ralf Beier)
- servlet errors on init() need to be logged (rep by Charles Meyer)
- jikes problems with compilation (rep by Dave Moellenhoff)
- add multiple parameters to env.jsp (added! by Martin Cooper)
- mod_caucho should strip url-encoding from static files (rep by Kirk Rasmussen)
- old srun sockets need closing (rep by Sang Yi)
- Invalidated TCP ring sessions need to be removed on restart (rep by Christian Kindler)
- IP printing bug in access logging (rep by Frits Jalvingh)
- Need to strip leading whitespace for IIS headers (rep by Martin Jerico)
- Better recovery for standalone request -e index.xtp, i.e. no / (rep by Richie Bielak)
- Setting doctype-system should be in Document.setProperty (rep by Boris Granveaud)
- Fixed incorrect DOCTYPE for HTML (rep by Paul Brown)
- sendRedirect HTTP/1.1 needs to allow keepalive or send Connection: close (rep by Hoong Wai Wong)
- NT bin/httpd.exe now has -EPATH=foo to set environment variables (rep by Christian Plonka)
- RunnerRequest needs to grab the server port (rep by Stephen Tenberg)
- Path.normalize needs to leave trailing '/'
- wrapper.pl should use 127.0.0.1 instead of INADDR_ANY (rep by Anthony Tonns)
- can't connect must return 503, not 500 (rep by Bernshtam Pavel)
- Make JspLineException serializable (rep by Diego Martin Sabaris)
- Increate srun-socket timeout (rep by Robert Armstrong)
- NodeTransformer must set system-id and public id (rep by Boris Granveaud)
- SendRedirect shouldn't normalize queryString (fixed! by Martin Cooper)
- QElement.print needs to cast children to QAbstractNode (rep by Tomas Bahnik)
- character-encoding was ignored in application (rep by Frank Nestel)
- <%@ include %> with url-pattern='/*' breaks (rep by Andrej Gabara)
- NT case insensitive could cause double servlet load (rep by Jan Svensson)
- NT service must catch ctrl-break (rep by Tarvis Romney)
- add entire certificate chain as javax.servlet.request.X509Certificate.chain (added! by Yori Sakakura)
- need to check JspFactory.getDefaultFactory before setFactory (rep by Randy Kemp)
- need to escape < for file not found (rep by Hiromitsu Takagi)
- Fixed StringTransformer encoding issues (rep by George Moshovitis)
- mod_caucho needs case-insentivie host match (rep by David Cruz Langreo)
- Base64 decode must ignore spaces (rep by flare)
- CompilingClassLoader must not delete .class unless there's a .java (rep by Daniel Kirk)
- character-encoding should not automatically affect compilation (rep by Frank Nestel)
- content-length missing on some caching cases (rep by Lars Haupt-Hansen)
- added XmlParser.setDefaultEncoding (rep by Frank Carver)
- welcome files need passed parameters, e.g. for /foo/?id=a (rep by Jean-Baptiste Quenot)
- forwarded request parameters need to handle i18n encoding (fixed! by Stanislav Debaltchouk)
- Added entities-as-text init-param for XtpServlet (rep by Dariusz Wojtas)
- Cron needs to start at hh:mm:01 instead of :00 so run-at will have correct time (rep by Mats Ekberg)
- taglib uri='foo.tld' should check web-app root (rep by Julie Melbin)
- Resin shouldn't use BeanInfo to get attributes and properties (rep by Mike Wynholds)
- HttpUtils.getRequestURL needs to grok SSL port 443 (rep by Alex Gleyzer)
- wars should get all plugin requests (rep by Colin Hawkett)
- Make log rollover count configurable (rep by Jeff W)
- Resin documentation XSL changes to handle web-apps (rep by James Korotney)
- xmlns should be ignored by JSP parser (rep by darkness)
- exclude-namespace-prefixes should be exclude-result-prefixes (rep by darkness)
- ::$DATA issue (rep by Rosinei Muniz)
- ByteToChar.addByte() needs to loop until ring clears (rep by Timur H.Evdokimoff)
- XslParser needs to understand namespaces (rep by darkness)
- mailto: missing date (rep by Alex Sharaz)
- XslFilter must not copy input headers to output (rep by Pieter Schoenmakers)
- i18n form handling with JDK 1.1 is different from 1.2 (rep by Serge Popov)
- bin/resin now uses GetPrimitiveArrayCritical (rep by Vickie Yang)
- JniRequest wasn't properly setting the date
- getHeaderBuffer bug in JniRequest breaks post (rep by Ratkai Istvan)
- XslWriter needs to send the xmlns url with its attribute (rep by darkness)
- plugin wasn't ignoring spaces in web.xml properly (rep by Serge Popov)
- must call setBodyContent(null) when doStart fails (rep by David Geary)
- duplicate web-app now throw an error message (rep by Emily Voytek)
- bin/resin sync/disconnect fixes preventing page sharing (rep by Ian Beard)
- work-dir should allow Java properties work-dir='$foo' with -Dfoo=bar (rep by Andrej Gabara)
- normalize paths in wrapper.pl so chdir won't break relative paths (fixed! by Mike Wynholds)
- resin.conf examples need <srun> (rep by Mike Wynholds)
- init.resin needs to use $EXE (rep by Martin Decker)
- Cookies need space between ;Path
- do not add *.jsp and *.xtp to plugin map (rep by Andrew Boyko)
- symlink to empty webapp not treated as a directory (rep by Pieter Schoenmakers)
- Registry parsing should let SAX parsers return multiple characters() (rep by Frank Nestel)
- '#' must not be treated specially in the URL (rep by Mark Berry)
- NullPointer for bin/resin with logging enabled (rep by Ratkai Istvan)
- Added Cp866 and other MS-DOS code pages to known encodings (rep by Serge Popov)

- mod_caucho needs case-insensitve host match (rep by David Cruz Langreo)

- Servlet 2.3 request.setContentEncoding
- Servlet 2.3 listeners
- include() and forward() need to allow wrapped requests (rep by David Geary)
- JSP 1.2 variable declaration in tld
- Resin HardCoretm initial implementation
- JSP 1.2 IterationTag
- JSP 1.2 TryCatchFinally
- NT service name changed to Resin (rep by Colin Sampaleanu)
- Initial cut of Servlet 2.3 filters

- Solaris client disconnect fixes patched from 1.2

- NT .. issues
- tag-location needs to allow absolute paths (rep by David King)
- tag-location needs to look in classpath (rep by David King)
- limit on headers too small in resin 1.1 (rep by Torben Bruun)
- %00 issues (rep by Jonah Kowall)
- mod_caucho changed r->unparsed_uri to r->uri (rep by Walter Holladay)
- print exception log even when there's an error page (rep by Dave King)
- ClientDisconnectException wasn't properly propagates in JSP (rep by Daniel Spichty)
- web-app id='foo' has wrong default app-dir (rep by James Korotney)
- close() synchronization issue causing premature close
- class.path and sun.boot.class.path are both needed for jikes (rep by James Korotney)
- POST needs to read all the data for a sendRedirect (rep by Alan Berezin)
- war at non-top-level weren't expanded (fixed! by James Ralston)

- Document.getElementById() wasn't implemented (rep by Carl-Henrik Tjarnlund)
- application.getResource() wasn't returning jars properly (rep by Peter Mudima)
- Caching issues when first request is HEAD (rep by Andrej Gabara)
- XTP html-to-lower detection broken (rep by Gerret Apelt)
- URL context factory fixes (rep by Nina Berezinsky & Christian Plonka)
- AT_BEGIN jsp tag variable needs update AT_END (rep by Todd Fast)
- directory listing needs to encode %20 for spaces (rep by Troy Engel)
- must not save cookie in cache
- added forbid-host to forbid hostile IP addresses
- change single-host server lookup (rep by Brandon Knitter)
- cleanup socket write stream.c to handle short writes
- allow assignment of smtp sender='foo@bar.com' in resin.conf (fixed! by Matthew Hixson)
- jar reloading issues (rep by Frank Nestel)
- Use request's encoding as default encoding for multipart stream (fixed! by Rick Lei)
- possible synchronization issues in CacheInvocation
- jsp:declaration allowed inside tags (rep by Julie Melbin)
- Improve random number seeding for session id generation (rep by Jeff Trimm)
- On java.lang.Error in JSP page, force a recompilation (rep by Guy Tal)
- isapi_srun.dll wasn't matching /* at root web-app (rep by Nicolas Lehuen)
- added war-expand-dir (rep by George Cai)
- plugins need to look in work/_war for expanded wars (rep by Colin Hawkett)
- added DBPool.setConnectionWaitTime(long time) (rep by Walter Holladay)
- ;jsessionid processing was confused with %20 escapes (rep by Frank Nestel)
- added SessionBacking and significanly rewrote the distributed ring
- class-update-interval needs to be a period (rep by Damien Mascord)
- caching race with setting content-length (rep by Todd Carmichael)
- request.getDate() not properly set for keepalive connections
- IIS plugin wasn't detecting class changes! (rep by Igor Kolomiyets)
- isapi_srun.dll enhancements for client certificates (added! by Ahn Le)
- force xpath/xsl to use Resin's XML to avoid DOM issues
- nsapi.c string returned by util_hostname() must be strdupped (fixed! by Casu Alain)
- when not precompiling, force load of page even when modified (rep by Geert Van Damme)
- cookie-auth-update was documented wrong (rep by Martijn Sprink)
- taglib lookup fixes (rep by Frank Nestel and Rickard Oberg)
- Need to catch throwables from servlet.init and servlet.destroy (rep by Horst Reiterer)
- xtp/jsp parsing of attributes now supports "foo<%= "a" %>bar" (rep by Peter Andrews)
- bin/resin needs to obey host and -server (rep by Ratkai Istvan)
- HttpStream needs to read results before recycling - ping issue (rep by Carlos Moreno)
- isapi_srun.dll needs to use browser redirect for connection failure (rep by Carlos Moreno)
- Anchors should be ignored (rep by Kirill Maximov)
- TagData.getAttributes() missing (rep by James Korotney)
- NT security issue (rep by Joe Testa)
- distributed session issues with virtual hosts (rep by Tony Payne)
- distributed-session-directory configurable (rep by Dustin Sallings)
- The old value of XPath more-positions wasn't properly saved (rep by Sergey Winnitsky)
- With persistent sessions, request.getSession(false) should return the saved session. (rep by Dmitri Maximovich)
- i18n for Form parameters doesn't handle spaces correctly (rep by Timur Evdokimoff)
- Application.cron() close() and timeout() need setContextClassLoader (rep by Daniel Wroblewski)
- several misc distributed session fixes
- Special HTML parsing for XTP (rep by Peter Andrews)
- Add alarm so long external compile jobs get stopped.
- Allow $resin_home/foo/bar.jar in classloader (rep by BER Adrian)
- releasePageContext should be in a finally block (rep by Yori Sakakura)
- added newStylesheet(Reader) method (rep by Dariusz Wojtas)
- cache-mapping expires=0 should not set an expires time (rep by Bernshtam Pavel)
- HttpSessionBindingEvent order fixes for invalidation (rep by Graham Lea)
- bug in TagAttributeInfo.getIdAttribute()
- reuse TCP connections for tcp-store
- added srun-index to <srun> configuration (rep by Christian Carstensen).
- tcp-distributed sessions could use old values when owning host restarts (rep by Osma Ahvenlampi)
- always-save-session was inverted! (rep by Travis Atkins)
- XML Parsing from InputStream wasn't handling search path dtd correctly (rep by Frank Carver)
- XTP <% ... %> needs an implicit cdata (rep by Peter Andrews)
- TcpServer.isDead() needs to check if the TcpServer thread is alive (rep by Daniel Wroblewski)
- XTP init-parameter html-to-lower can be set false to avoid normalization (rep by Peter Andrews)
- Pretty-printing empty option with no end tag (rep by Peter Andrews)
- Added <option name="foo" <%= xxx %>> hack. (rep by Peter Andrews)
- added save-on-shutdown (rep by Philip Nelson)
- Added -server-root to wrapper.pl for ISPs (rep by Jason Taylor)
- webmacro needs Response to be public (rep by Michael Mutschler)

- Cookie.setDomain needs nullpointer check (rep by Heather Grace)
- QPooledConnection needs to allow createStatement even with ! isValid (rep by Pieter Schoenmakers)
- WAP default extensions (added by Amy Wan)
- Response.setIntHeader() was calling cb.close() causing a double reference (fixed! by Dave Wallace)
- fixed bin/resin C initialization errors
- cleared pageXXX fields in Dispatch Request (rep by Neeme Praks)
- waitForExit must catch SocketException because client disconnect on solaris will throw SocketExceptions on all sockets (rep by Robert Mitchell)
- when possible, initialize the server before listening to ports (rep by Neeme Praks)
- isapi_srun.dll wasn't grabbing the cookie properly (rep by Philip Nelson)
- stream.c wasn't properly paying attention to dead-time
- isapi_srun.dll must look in registry before c:\resin
- configException needs to be logged (rep by Walter Holladay)
- i18n form parameters weren't fully read (rep by Rick Lei)
- DynamicClassLoader needs to clear attributes on unload to work around JNDI memory bug
- strict-mapping wasn't handling *.jsp properly (rep by Khang Nguyen)
- server restart must only happen on top-level requests
- server restart needs to clear the invocation cache
- find *.tld in META-INF and WEB-INF
- significant cleanup of caching (rep by Brian Hauer)
- i18n form parameters with non-escaped chars not treated as chars (rep by Rick Lei)
- weekly logging should start on Sunday, not Wednesday
- default url-mapping="/" needs to set servletPath to the whole servlet (rep by Neeme Praks)
- Pruning of the tail of XPath select patterns tail, causing slow XSL (rep by Pieter Schoenmakers)
- JSPs in WEB-INF needs to be hidden from browser, but allowed by forward or include
- taglib-location with a *.jar needs to add the jar to the classpath (rep by Rickard Oberg)
- XSL namespace test for 1992/XSL/Transform must not match .../TransformFoo (rep by John Kozak)
- DBPool changes to load drivers from app class loader (rep by Robson Miranda)
- Pipelining needs to force keepalive (rep by Brian Hauer)
- Not Modified response was returning old expires (rep by Brian Hauer)
- authenticator needs application classloader (rep by Vitaly Batychko)
- make error messages XHTML compatible (rep by Dmitri Maximovich)
- XSL close tag should report missing open tag (rep by Timur Evdokimoff)
- Server reload on resin.conf change has alarm and cron problems (rep by Khang Nguyen)
- xmlns for "default" namespace wasn't printed (rep by Struan Judd)
- form parser needs to handle aaa&bbb&cccc (rep by Eugen Kuleshov)
- pushBody() and popBody() should be callable outside of tags (rep by Bill Schneider)
- BodyContent.getString() should not clear the buffer (rep by Julie Melbin)
- JavaScript cast str @ String wasn't marking setUsed (rep by Alexis Liarokapis)
- normalize classpath in compilation (rep by Jason Collins)
- check for *.class existence in compilation (rep by Jason Collins)
- synchronization missing from ServletServer.init() (rep by Neeme Praks)
- session load/store wasn't properly synchronized (rep by Adalbert Wysocki)
- Cookies must understand quoted values (rep by Fernando Echeverria)
- Locking issues on NT for Apacheand IIS plugins (rep by Brian Hauer)
- JavaScript _first fix, allowing integers as well as doubles (rep by James Korotney)
- jar reloading didn't properly clear cache, causing class not found (rep by Fernando de la Villa)
- changes with path-mapping or absolute paths weren't detected (rep by Damien Mascorde)
- servlet-name=plugin_ignore in servlet-mapping causes the plugin to keep the request for the web server (rep by Neeme Praks)
- added resin:include as dependency for plugins
- errors in resin.conf no longer cause Apache fatal errors (rep by Tauren Mills)
- resin:include as first element in resin.conf now picked up by plugins (rep by Neeme Praks)
- servlet in resin.conf now overrides servlet in web.xml (rep by Martin Cooper)
- added <strict-mapping> tag to web-app (rep by Khang Nguyen)
- MemoryContext copy() needs to be recursive.
- Classloader cleanup to ensure loaded from top classloader
- Removed thread map for jdk1.2 to allow thread GC
- fixed XmlPrinter nullpointer (rep by tej kumar arnipalli)
- tag-location needs to look in classpath (rep by David King)
- need to propate client disconnect in RunnerRequest (rep by Casu Alain)
- added caucho_plugin hack to partially deal with plugin regexp issues (rep by Joan Roch)
- re-added accept thread blocking when accept-queue fills (rep by Dan Latham)
- BodyTagSupport.setPageContext needs to clear bodyContent (rep by Mikael Kjaer)
- resin.conf now checks resin:include for changes (rep by stefan)
- HttpUtils shouldn't throw IOException (rep by Peter Poulsen)
- Only check for Application modification on top level calls (rep by Gerret Apelt)
- Form processing now understands %u1234 (rep by conan)
- XML parsing whitespace issue with DOCTYPE (rep by Eugen Kuleshov)
- NT Service must open stderr.log with SHARED_WRITE for stderr log rotation to work (rep by Paul Lee)
- Removed img processing from stylesheets since using AWT won't work as an NT service (rep by Miles Metcalfe)
- early timeout of persistent sessions (rep by Gerald Francois)
- slowed thread closing to one per second to support more clients (rep by Dan Latham)
- default namespace should not affect xpath patterns in xsl stylesheets (rep by Guy McArthur)
- bad error message in jsp:setProperty (rep by Anthony Eden)
- conn.createStatement from closed pool should throw better error (rep by John Waugh)
- sendRedirect should kill chaining (rep by Josh Krieger)
- XmlPrinter wasn't handling case where location was null (rep by Frank Carver)
- Added upload-max for multipart-mime form uploading (rep by Cytown)
- jsp.StaticPage wasn't setting content-length (rep by Neeme Praks)

- Caching was getting throttled because of a lock contention
- XSL generator wasn't escaping backslashes for setLocation and NT (rep by Frank Carver)
- fixed bug where a disconnected connection could cache a short file
- vfs.Encoding now normalizes '_' to '-' (rep by Nicolas Lehuen)
- fixed memory leaks in bin/resin
- fixed bug where the caching stream could be opened without closing
- ServletConfig.getInitParameter() should call getServletConfig() (rep by Steve Akers)
- cleaned up stream closing
- reworked bin/resin threading to better handle load changes
- added ping to detect server failures
- bug when caching large files and the client disconnects
- bug when ServerSocket.accept() received an interrupt exception, causing Resin to hang without restart (rep by Neeme Praks)
- bug in looking up Resin Home for isapi registry
- bug with using ;jsessionid in IIS
- bin/resin stops in standalone mode on some OS
- Deleting cached file from underneath, with dual srun gives error (rep by Bill Horsman)
- catching throwable in TcpServer.run in case of error (rep by Neeme Praks)
- added bin/standalone so Windows people can get thread dumps
- DOM L2 changes
- chaining headers should match the standard headers (rep by Henrik Jensen)
- better detection of source close in WriteStream (rep by Bill Horsman)
- error-log and access-log are now per-web-app (rep by Bill Horsman)
- forgiving XmlParser, e.g. HTML, was misparsing CDATA (fixed! by Pieter Schoenmakers)
- sendRedirect needs to normalize the generated path to handle ../foo/test.jsp (rep by Stephen Wong)
- JndiFactoryBuilder show throw new NoInitialContextException when an error occurs (rep by Henric Larsson)
- Sets the cipher-suite attribute for JSSE (rep by Derek Fukuhara)
- Incorrect check for jsessionid in plugings (rep by Andrew Boyko)
- Host: support for binary resin (rep by Piotr Piatkowski)
- change back to dual thread listening
- war change detection (rep by Jeff Trimm)
- http -help lists -install-as incorrectly (rep by Colin Sampaleanu)
- In HTML parsing, frameset should take place of body, not automatically add a body (rep by Dirk Jaeckel)
- init-param description should not automatically create parameter (rep by Yori Sakakura)
- /foo* was transformed in config.c to /fo/* (rep by Chris Chen)
- session attribute changes must use '==' instead of equals to detect value change (rep by Jeremy Lemaire)
- forwarded and included requests are not subject to authorization (rep by Gerret Apelt)
- jsp:plugin params should allow runtime attributes (rep by Jean-Marc Tupin)
- XML Document cloneNode fixed (rep by Chris Monster)
- exceptions in JSP pages shouldn't be wrapped before passing to error pages (rep by Calvin Yu)
- User -Jxxx args need to come before other options (rep by Colin Sampaleanu)
- SingleThreadModel wasn't properly creating new servlets (rep by Anres Aguiar)
- ClientDisconnectException wasn't properly propagates in JSP (rep by Daniel Spichty)
- thread-timeout in resin.conf should be request-timeout (rep by Paul Lee)
- getServerName() was returning the remote address, not the local address (rep by Nick Popoff)
- Authentication caching the login and error forms (rep by Gerret Apelt)
- Fixed XML pretty printing with consecutive whitespace
- Expires not properly set with NOT_MODIFIED (rep by Dino Fancellu)
- symlink to empty webapp not treated as a directory (rep by Pieter Schoenmakers)

- configuration changes for MacOSX and Solaris
- Text.setNodeValue() should be equivalent to setData() (rep by Brian Parkinson)
- Ring store issues with invalidate (rep by Court Demas)
- "resin" plugin adapted to Solaris
- class change detection for following classpath (rep by Frank Nestel)
- NT '.' issues (rep by benjurry)
- Cache-Control: public should override default (rep by John Moore)
- j_uri should override protected page (rep by Alexander Urzola)
- setMaxAge(0) needs to send Expires as 1994 (rep by John Moore)
- Apache doesn't normalize '//' in path names (rep by Henric Larsson)
- Fixed application nullpointer in the case of a war-dir with no web.xml (rep by David Forshlund)
- DBPool needs to close the underlying connection when it can't be put back into the pool (fixed! by Chris Donnelly)

- handle absolute paths in war_dir in config.c (rep by Andy Boyko)
- multipart-form is now optional (rep by Manush Dodunekov)
- file-upload handled \n-foo wrong, and failed with nulls (rep by Stefan Wesner)
- ScriptClosure was using the wrong global (rep by Hans-Peter Schmidt)
- session ring using same storage for file backup (rep by Court Demas)
- License changes to Developer Source.
- win32 setup for O'Reilly WebSite (added! by Bob Denny)
- user content-length was ignored for srun requests (rep by Philippe Delrieu)
- bufLength vs length in HttpRequest.readRequest (rep by John Moore)
- errors must be logged even with an error page (rep by Chris Donnelley)
- XTP pages should return not found for missing pages (rep by Martyn Tovey)
- Changed server busy test to wait for a queue backlog (rep by Frank Nestel)
- form login needs to use sendRedirect, not forward() to allow https (rep by Danny Mui)
- Short runtime attributes "%= 2 + 2 %" weren't detected (rep by Michal Mosiewicz)
- Env.clear() has array overflow problems on clear (rep by John Shen)
- JDBC persistent store changes to remove time dependency (rep by Henry Buckley)
- JSP backslash not at end of line shouldn't escape (rep by Philippe Guédez)
- C-based launcher "resin" now available for Linux
- jar change detection was broken for WEB-INF/lib (rep by Frank Nestel)
- war-dir should be picked up by plugins (rep by Andrew Boyko)
- run-at timeout fixed for hour times that evaluate to 0.
- MergePath absolute /foo should mean top of MergePath not filesystem root (rep by Olof Edlund)
- findAncestorWithClass shouldn't count the tag as its own ancestor (rep by Michal Mosiewicz)
- 304 Not Modified should not send back the MSIE hack (rep by John Moore)
- web-app of /test/ caused double initialization (rep by Daniel Lopez)
- Fix IAS issues with JNDI (rep by Russ White)
- changed Random load-balancing to Round-Robin
- Makefile fix for -with-apache-src adding memory.c (rep by Man Ly)
- MailtoStream fix for \n\n encoding as \r\n\r\n (fixed! by Jim Miller)
- added -encoding LATIN1 for Jikes to handle ISO-8859-1.
- xsl:exclude-namespace and xsl:namespace-alias fixed.
- normalize-space was printed as normalize (rep by Howard Mullings)
- Added SAXTransformer.
- SAX parser didn't properly change encoding (fixed! by Boris Granveaud)
- simplified the Authenticator interface and moved the session and cookies into the AbstractAuthenticator.
- fixed arg type to getsockopt to be compatible with alpha (rep by Roberto Ferrero)
- fix bugs in the access.log code (rep by Jim Douglas)
- use request->uri instead of request->unparsed_uri in mod_caucho (rep by Hoani Cross)
- XmlParser bug parsing DTD Content Particle (foo?,bar+) (rep by Abdullah Apaydin)
- TransactionImpl error handling fixes (rep by Robert Salesas)
- requests need to close the open Transaction.
- multiple calls to getConnection() within a transaction should return the same connection (rep by Robert Salesas)
- Improved access-log rollover control (designed by Jim Douglas)
- Speed JavaScript import handling and fix memory reuse (Block) problem (rep by Frank Nestel)
- better handling of /cache deletion from under server.
- misc ISAPI fixes (fixed! by Bob Denny)
- fixed jar update problem with new classes (rep by Frank Nestel)
- AccessLogging with forward (rep by Jim Douglas)
- fixed memory leak in AbstractStylesheet (fixed! by Boris Granveaud)
- changed doc_header to work in different contextPaths (rep by Igor Dubosarskiy)
- DOCTYPE parsing can cause nullpointer when SYSTEM has unknown url (rep by MIchael Newcomb)
- default home fixed for IIS (rep by Dan Sandberg)
- Virtual hosts should automatically include port (rep by Kevin Welker)
- common/Makefile.in should use $(LD) instead of $(CC) (rep by Dave Wallace)
- JavaScript codegen change for perf enhancements.
- ;jsessionid=aasdf;jsessionid=asdfasfd confuses sessions (rep by Spencer Marks)
- JNDI cleanup with url.pkgs instantiating a java: handler (rep by Russ White)
- JDBC persistent sessions now use update/insert instead of replace (rep by Henry Buckley)
- Response needs to skip() post content before sending results (rep by Khang Nguyen)
- DynamicClassLoader needs to synchronized on getTop() (rep by Eric Charpentier and Frank Nestel)
- jsp auto-compile=false turns off auto-compilation (rep by Matthew Insko)
- DBPool.getPool() should use java:comp/env as prefix, not java:comp/env/jdbc (rep by Russ White)
- sendRedirect("foo.jsp") needs to be converted to absolute (rep by Andrew Papada)
- alignment problems in plugins memory.c (rep by Omen Wild)
- "" session ids will force generation of new session (rep by Stephen Wong)
- jsdk22 new Cookie() was calling setPath("/") (rep by Don Choi)
- Jar loading performance (rep by Geoff Soutter)
- JSP dependencies need to be relative whenever possible (rep by Daniel Zen)
- <srun> and srun-port configuration problems, esp with host attr (rep by Michael Forsberg)
- jndi: scheme for VFS
- Log rotation at 1Meg for all logs, including stdout/stderr (rep by Kevin Welker)
- LruCache put() needs to call removeEvent when the old value is replaced.
- external DTD syntax was completely wrong (rep by James Dalrymple)
- multipart-form boundary header fix
- SmtpStream needs \r\n for newlines (fixed! by Daniel Zen)
- j_uri in form login should allow relative urls (rep by Dave Gochfeld)

- For version 1 cookies, omit the Expires parameter (rep by John Moore)
- missing is.close() in Xsl for strict stylesheets (rep by David Soergel)
- Change reporting forward() with committed data (rep by
- XPath substring() is 1-based, not 0-based. (rep by Nicolas Lehuen)
- mod_caucho and TcpServer changes to enhance reliability under load
- nested bodyTag problems with the end-tag-hack (rep by Veronique Dupierris)
- jsp:param value="" name=foo was thrown as illegal (rep by Jacek Laskowski)
- Using String[] for a tag variable was failing (rep by Fernando Olcoz)
- PageContext needs getThrowable() (rep by Ari Halberstadt)

- cache synchronization fix
- war expansion fix (patch! by Vitaly Batychko)
- JSP lineMap and depends should be app-dir relative (rep by Matthew Insko)
- jndi.properties should be configured in resin.conf (rep by Russ White)
- allow String[] in taglib
- create ResinServer.init() and ResinServer.close() (rep by Rick Gibbs)
- SingleThreadModel
- Using CauchoSystem.loadClass in SessionStore for some finicky class loaders (rep by Dave Wallace)
- keepalives were closing prematurely (rep by Horst Reiterer)
- made QPooledConnection.getConnection() public (rep by Mark Dobbrow)
- POST forms need to work with forward even if content-type is form (rep by Jason Martino)
- Use XmlParser.QAttributes in ContentHandlerAdapter (rep by Frank Nestel)
- jndi.properties in WEB-INF/classes overrides InitialContext (rep by TH Lim)
- jndi-link fix to work with WebLogic
- reversed classloader order to match JDK 1.2
- xsl:attribute needs to override attributes (rep by Steve Chiu)
- TagSupport.getValues() should return the keys (rep by Calvin Yu)
- XML/XSL now parses and prints strings (rep by James Brosnan)
- Fixing command-line invocation, httpd -e, jspc
- detect win2k utf-8 with 0xfeff (rep by Jun J. Kang)
- use application classloader for persistent sessions (rep by Dave Wallace)
- RunnerRequest needs to call filterRead.close() instead of flush
- when hit thread-max, start sending 503, Server Busy Errors (rep by John Moore)
- XmlParser was calling endElement for the document (rep by Martin Cooper)
- VirtualHost needs to add app to map before calling init (rep by Martin Cooper)
- jspInit() called an extra time when modified (rep by Marcin Jagodzinski)
- init(config) now works in JSP, though you should use jspInit() rep by Felix von Delius)
- XTP now uses servlet parameters (rep by Marcin Jagodzinski)
- <iis priority> configuration for ISAPI priority (rep by Martin Cooper)
- Strip '"' from CLASSPATH (rep by Colin Barrett)
- JNI now disabled by default
- Document.getOwnerDocument() should return null (rep by Nicolas Lehuen)
- NT stdout/stderr logs redirected to log/stdout.log (rep by James Dalrymple)
- IIS double decode of servlet path fixed (rep by Jason Collins)
- XSL API rewrite using factory patterns to resemble XSL engines
- JavaScript API rewrite to user factory patterns
- script notation in XSLT-lite, $if, $while, etc.
- strip leading 0xfeff from utf-8
- HTML/XML parser now optionally parses comments (rep by Eric Hansen)
- quotes inside runtime attributes now work
- DBPool max-idle-time -1 means infinite (rep by Steve Buikhuizen)
- JspWriter.getRemaining() was always returning 0 (rep by Felix von Delius)
- session interval of -1 should be infinite (rep by Vince Callaway)
- report load-on-startup error pages to browser
- caching synchronization fix
- jdbc-store can now configure the tables (rep by Vince Callaway)
- caucho-status shows timeouts, fix timeout config (rep by Kevin Welker)
- added jndi-link supporting InitialContextFactory (rep by Fredrik Gustavsson)
- Filled out JNDI implementation
- httpd-port/srun-port deprecated
- SSL support with JSSE
- security-provider in config
- system-property in config
- dom level2 core support
- sax2 support
- jaxp support
- XML external entity support
- httpd/srun.exe resin-home search order
- httpd/srun.exe -java_exe and -Xxxx
- multipart-form/data
- taglib uri-location should look for jars in classpath (req by Matthew Faso)
- '\' escape at end of line after %> will escape end of line (added by Talin)
- config.c fix to handle null host
- DBPool now has setMaxIdleTime (max-idle-time) for max idle time (rep by Kesav Kumar)
- auto-compile classes in multiple <classpath> can now use any class (rep by Nick Popoff)
- adding overriding xsl should cause xtp reload (rep by Ralph Winzinger)
- localization mechanism added and message_en.xml added for JSP
- fixed plugin bug forcing configuration reload every 15 seconds
- plugins now use memory pooling to avoid leaks when rereading configs
- better error reporting for errors in init()
- improved detection of web.xml changes in plugins
- <jsp require-source=true> will now give an error when the JSP is deleted (rep by Phil Smy)
- XmlPrinter now understands OutputStream and Writers (rep by Jim Brosnan)
- httpd-Mac was missing from distribution
- ejb-ref now available with custom client factories
- jndi configuration can now also appear in global configuration
- UserTransaction support in DBPool
- DBPool configuration now allows arbitrary properties (impl! by Tatsuya Bizenn)
- better error message for bind exceptions (rep by Donald Vandenbeld)
- Alarm and Cron missing from ServletServer! (rep by Donald Vandenbeld)
- throw NullPointerException from sendRedirect (rep by Marc Larue)
- caucho.xsl.stylesheet fix for reloading (fixed! by Talin)
- session-config/cookie-domain to better support multiple hosts (req by HyoungKi Choi)
- dbpool fix for problem preventing any pooling
- parse error printing didn't work with plugins
- Content-Length available() incorrect (rep by Dave Moellenhoff)
- handle long urls (rep by Melanie Lampert)
- detect duplicate servlet definition (rep by Richie Bielak)
- make url-pattern case sensitivity configurable (req by Eugene Jhong)
- external dtd in xml files (req by Steve Chiu)
- use *.class even if the *.jsp is gone (req by Jens Gerhard and Frank Nestel)

- nullpointer in all plugins for certain resin.conf (rep by Ed Miner)
- caucho-status was not allowed in resin.conf (rep by Tauren Mills)
- Base64 decoding fix (rep by flare)
- "listen" is an allowed configuration in the server (fixed! by Jim Douglas)
- getRemoteUser with IIS/Apache, but unconfigured should return basic principal (rep by Andre Minelli)
- resin:include with file-not-found was adding resin:include as node (rep by Gregg Carrier)
- Fix ;jsessionid on IIS (rep by Jens Goring)
- Fix -encoding for external javac (rep by YT Kim)
- Fix Apache getRemoteHost() (rep by Horst Reiterer)
- TagSupport.getValues() should return the keys (rep by Calvin Yu)
- IIS double decode of servlet path fixed (rep by Jason Collins)
- call nextWrite.close() instead of nextWrite.flush() in ServletFilter.close()
- mime-mapping expected .foo instead of foo (rep by Alain Origlia)
- fixed string-length() toString() in XPath (rep by Nicolas Lehuen)
- removed +CSO from jikes compilation (rep by Court Demas)
- circular include detection bumped up to 64 (rep by Yori Sakakura)
- JSP files for host:8080 were aliased with host:8090 (rep by David Thomas)
- trailing space in filename was causing problems under NT (rep by Thomas Weber)
- QRequestDispatcher race between request recycling and flushing (rep by Floyd Marinescu)
- recover when cache file deleted underneath request (rep by Tim Fox)
- cookie expires date was formatted wrong (rep by Dan)
- configure.in fixes for iPlanet (rep by Michael Los)
- jsp/end-tag-hack to work around tag library bugs (rep by Tim Fox)
- XslGenerator.generate needs synchronization (rep by James Brosnan)
- XPath sum() wasn't properly printed in XSL (rep by Marcin Jagodzinski)
- configuration period has int/long overflow for month/year (rep by Rob Snell)
- using BodyContent after dead should throw IllegalStateException (rep by MichalMosiewisz)
- workaround for IE hiding error messages by default (rep by Tiberiu Fustos)
- setSoTimeout is now configurable
- cookies and sessions use Cache-Control: private for HTTP/1.1 and nothing for HTTP/1.0
- anonymous caching uses Cache-Control: x-anonymous
- explicit header should override cookie expires (rep by John Moore)
- JSP preload with errors not properly caught (rep by Marc Larue)
- content-length now recognized (rep by Julie Melbin)
- cse_write_packet must be able to write empty packets
- <jsp_plugin can't have space in '; version' (rep by Jeff Perry)
- MemoryStream bug causing array exception (rep by Lukasz Kowalczyk)
- tweaks to class-update-interval as used by JSP pages
- Fixed synch problem in QNamedNodeMap (rep by Brian Parkinson)
- srun-port not picked up by mod_caucho (rep by Carlos Hanson)

- handling of "out" in JSP files (rep by Dirksen Lau)
- nullpointer in javascript when reload on server restart (rep by Piotr Fernandez)
- app-dir/web.xml not detected by plugins (rep by Alexander Jerusalem)
- // %> was causing problems (rep by Matthew Faso)
- iis_srun extension forwarding all req to Resin (rep by Filip Salomonsson)
- large headers truncated with IIS (rep by Melanie Lampert)
- thread-max calculation broken (rep by Matthias Ernst)
- added disable-content-length (rep by Rafi Jacoby)
- problems handling ';' in url (rep by Stefan Podkowinski and Vitaly Batychko)
- missing host always returns the default host (rep by Antonio Freixas)
- getRequestURI should return unescaped uri (rep by Mattias Ernst)
- session.setAttribute can cause unboundEvent (rep by Oliver Koell)
- form spaces not handled properly (rep by George Diswani)
- <a> can't be pretty-printed (rep by Eric Hansen)
- test.jsp not always force make of <classpath> (rep by Scott Douglass)
- log(Exception) needs to unwrap exceptions (rep by Christian Wehrfritz)
- cookie parsing wasn't catching 'foo=bar,baz=19' (rep by Jens Dennig)
- some clients can send 'max-age' as cookie name (rep by Tripp Lilley)
- jsp:useBean needs to understand import and inner class (rep by Matthew Faso)
- ip printing writing signed bytes (rep by Ringer9)
- error-page 500 should catch servlet errors (rep by Dave King)
- request dispatcher include should allow spaces in query (rep by omar)
- jsp:getProperty must use pageContext.findAttribute
- BodyTag variables must use pageContext.findAttribute
- BodyTag threading issues (rep by Matthew Faso)
- Servlet ambiguity in JSP generation (rep by Rolf Scherer)
- mod_caucho issues with slow servers. Also added configuration in srun. (rep by Tiberiu Fustos)
- <java args='-O'> didn't work for jikes (rep by Alan Berezin)
- xsl:if for not(node()) was throwing RuntimeException (rep by Stargazer and Marcin Jagodzinski)
- JSP generation should use full class names (rep by Rolf Scherer)
- jikes detection fails for c:\foo\jikes.exe (rep by James Korotney)
- fix for -srun argument (rep by Antoine Baudoin)
- pretty-printing fix for <img> (rep by Steve Chiu)
- xpath substring-after bug (rep by Steve Chiu)
- improved mod_caucho connection heuristics
- added socket timeouts
- HttpServer should use 127.0.0.1 instead of localhost (rep by Neuronix)
- load-on-startup with jsp-file (rep by Robert Grzywinski)
- jsp:getProperty needs to understand isFoo (rep by Nasir Akhtar)
- .war files need to handle .jsp (rep by Frank Nestel)
- <% %> shouldn't automatically generate ';' (rep by Steve Chiu)
- Use QJspFactory to avoid conflict with epicentric (rep by Tripp Lilley)
- Report a better message for EPIPE (rep by Tripp Lilley)

- env-entry naming fix
- basic log rotation
- threading fix to handle thread pool better
- DOM level 2 stubs for Xalan compatibility
- CompilingClassLoader shouldn't mkdir WEB-INF/classes (rep by Scott Douglass)
- DBPool pinging to detect crashes sessions (suggested by Guy Tal)
- session reload attribute so each session request refreshes itself
- distributed sessions with JDBC
- DataSource configuration
- support for JNDI java:comp
- invocationKey needs getHost() instead of host (rep by Paul Little)
- setContentLength no longer ignored (rep by Xavier Boix)
- jsp:directive/declaration/scriptlet treated as globals in XTP (req by Eric Hansen)
- Mac lexing issues with \r (rep by Paul Snively)
- LogStream must only open each file once for Mac (rep by David Smiley)
- threading rewrite for performance and stability
- directory uses application char encoding (rep by Jen Hsien Huang)
- cleaned main request/service() path
- added basic implementation of distributed sessions
- faster detection of connection failures (rep by Tomas Lund)
- significant performance improvements for small files.
- anonymous caching can now ignore user tracking cookies
- new configure and Makefiles, and support for --with-apache-src.
- created SessionManager and added file-based persistent sessions
- plugins now detect resin.conf changes automatically
- access-log can now log cookies with %{JESSIONID}c

- fix dup loading load-on-startup when host='' (rep by Jan Ploski)
- caucho.jsp-file wasn't properly deleted in some cases (rep by Robert L. Grzywinski)
- Threading issue where keepalive counts never dropped.
- Threading issue where all threads could exit simultaneously (rep by Elad Koren)
- On NT, cookie sessions for load balancing weren't sticky
- On NT, setup remove removes all filters (rep by Helen Grimbly)
- WAP has trouble with '.' as session character (rep by Ole Dalgaard)
- All Authenticator methods now take HttpServletRequest
- Check modification with '!=' instead of '<' for JSP (rep by Paul Snively)
- Caching wasn't removing files when LRU kicks in (rep by Ed Miner)
- fix in URL normalization (rep by mark)
- wrapper.pl cleanup (rep by Kevin Welker)
- resin.form.locale (req by Avi Cherry)
- mod_ssl variables (req by Jens Dennig)
- xsl:attribute has trouble in macros (rep by Steve Chiu)
- cookie values should not be restricted to 256 bytes (rep by Roberto Tiella)
- jspDestroy should be called on JSP change (rep by Den Riabtchik)
- resin:include of 'c:\foo' doesn't work on NT (rep by Ken Koster)
- cache-mapping 40d overflows RegistryNode.getPeriod() (rep by Jerry Huxtable)
- "meta-inf/taglib.tld" error not caught in tag.jar (rep by Juraj Kazda)
- "extends" now checks for HttpJspPage (rep by Ed Miner)
- line number mapping for thrown exceptions
- logging should be in local, not GMT (rep by Carlos Hanson)
- run-at executing at :00 and :01 (rep by Daniel Seltzer)
- run-at should use dummy HttpServletRequest (rep by Daniel Seltzer)
- Cookie parsing should handle Cookie: foo; bar; (rep by Kien Kiong Ng)
- web-app encoding should override response encoding for forms (rep by Vyacheslav Pedak)

- xsl:include doesn't obey strict-xsl (rep by Steve Chiu)
- JavaScript can't handle java.lang.System.out.writeln (rep by Charlie Evett)
- DirectoryServlet needs fix for web-app (rep by Daniel Seltzer)
- PageContext must implement pushBody and popBody (rep by Tripp Lilley)
- ResponseAdapter needs buffering for locomotive (rep by Leo Deegan and Ari Chopra)
- Authenticator should allow request (rep by Paul Snively)
- FormLoginServlet should use redirect instead of forward (rep by Francois Rene Bertrand)
- session.invalidate() should generate new id (rep by Jens Dennig)
- <%@ page extends means the page isn't static (rep by Eugen Kuleshov)
- beanName with RTA should use getClass not GetClass
- caching issues with include pages (rep by Ed Miner)
- JavaScript generating too-large methods (rep by Charlie Evett)
- web-app id="/" treated different from default web-app (rep by Jeff Behl)
- caching broken with large files (rep by Ed Miner)
- foo.jsp\ shows the source on NT (rep by James Griggs)
- '/' should dispatch everything to Resin (rep by Nick Popoff)
- mixed context in resin.conf should be caught (rep by Eric Hansen)
- bad elements in http-server should be caught (rep by Ed Miner)
- foo.jsp\ will show foo.jsp on NT (rep by James Griggs)
- xsl:param at top level isn't recognized (rep by Steve Chiu)
- jsp:root (rep by Steve Chiu)
- bad generation of "implements SingleThreadModel" (rep by David Malkovsky)
- TagAttributeInfo constructor API mixed up (rep by Victor Salaman)
- TagData(Object []) constructor broken (rep by Victor Salaman)

- forward() should just clearBuffer(), not reset() (rep by Alex Cruikshank)
- Long variables not handled properly in tags (rep by Robert Grzywinski)
- setStatus shouldn't send error or load cache (rep by Daniel Lopez)
- load-on-init problems with web-app (rep by Daniel Seltzer)
- "%= ... %" is an allowed request time expression (rep by Mark Hayes)
- DirectoryServlet should work like FileServlet (rep by Alex Cruise)
- extends JSP files need to detect changes (rep by Dmitry Maximovich)
- Cron needs its own thread and needs to eliminate sync (rep by Victor Salaman)
- make sure caching files get closed even if servlet fails (rep by Sonny Pickett)
- BodyTag.getPreviousOut should return out even at top level (rep by Chris Martin)
- resin.conf and web.xml should be combined (rep by Ari Halberstadt)
- fixed large jsp file bug (rep by Chris Burnley)
- remove duplicate entries from mod_caucho (rep by Henric Larsson)
- <cache size=0> should disable the cache (rep by Alex Chung)
- iis_srun.dll fixing logs (rep by David Seltzer)
- Form handling bug: foo=&bar=15 fails for foo (rep by Henric Larsson)
- Vary: Cookie -- cookie pages are now cacheable for non-logged in users.
- sessions should survive forward() (rep by Dalton Iwazaki)
- mod_caucho issues with error-page (rep by Borne Mace)
- Added caucho-status=false directive (rep by Daniel Seltzer)
- Added compile=false directive (rep by Arnick Hahn)
- JSP attributes should be javax.servlet.jsp.jspException (rep by Jeff Behl)
- getElementsByTagName should never return null (rep by Chris Chen)
- forwarded pages should have access to Post input stream (rep by Michal Mosiewicz)
- shortest should match dual *.go and *.jsp match (rep by Jeff Behl)
- renamed port -> httpd-port to reduce confusion
- <!DOCTYPE parsing not handled by plugin (rep by Marko Asplund)

- XslFilter should use page parent as pwd (fixed! by Chris Chen)
- JSP generator needs to use booleanValue instead of boolValue (rep by Rob Grzywinski)
- NT setup of Apache httpd.conf needs to escape backslashes (rep by Phil Smy)
- getRequestedSessionId() should return the ID even if the session is new (rep by Stan Silvert)
- Host logs should be in RESIN_HOME/log (rep by John Cyriac)
- JS wrapped methods where an arg is private aren't allowed (rep by Chad Hamann)
- empty JSP tags should still evaluate the methods (rep by Sergio Soccaras)
- XSL should use consistent 'node' and 'inputNode' in xsl:for-each (rep by Michal Mosiewicz)
- XSL document() must be a cache-depends (rep by Michal Mosiewicz)
- added thread-keepalive attribute
- JavaScript bean wrapper should look at BeanInfo (rep by Vamsee Lakamsani)
- NSAPI wasn't handling HTTP/0.9 properly (rep by Rich Farrell)
- FileServlet should work with servlet-mapping (rep by Alex Cruise)
- ISAPI HTTP_FOO_BAR needs to convert to foo-bar (rep by Paul Sheehan)
- mod_caucho would match /servletxxx for /servlet/* patterns (fixed! by Robson Miranda)
- autoreload of web.xml and resin.conf should be more robust with errors (rep by Larry Hamel)
- JSDK/JSP API fixes for Visual Age (debugged! by Robert Salesas)
- Default server root should be resin.home (rep by Robert Salesas)
- Jar caching (impl! by Victor Salaman)
- forward() reset and finish (rep by Michal Mosiewicz)
- JSP exceptions should be thrown instead of caught (rep by Nick Popoff)
- load-on-startup problems with different config (rep by Marco Hunsicker)
- windows-125x character encoding (rep by Eugen Krivoruchko)
- <jsp session=false> disables sessions by default (rep by Rafi Jacoby)
- CauchoRequest.resetTimeout() and reset timeout on activity (rep by Dave Moellenhoff)
- Multiple -J-mx were getting swallowed by wrapper.pl (rep by Bill Carroll)
- Missing <%@ include %> should work with errorPage (rep by Ed Miner)
- UnionPattern fixes for XSL (rep by Michal Mosiewicz)
- reading of Certificates with mod_ssl (rep by Marko Asplund)
- Set-Cookie conformance to RFC2109 (rep by Ken Yun and Niranjan Nagar)
- jsp-file as servlet fixes (rep by Slawek Zachcial)
- omit-html-declaration and only minimize html booleans (rep by Michal Mosiewicz)
- mod_caucho can now distinguish between ports (rep by Robert Grzywinski)
- fix to plugin resin.conf parsing and handling of web-app id='/foo' (rep by Slawek Zachcial)
- wrapper.pl needs to pick up zip (rep by Jeff Haynie)
- cleanup ./configure and install.sh
- host app-dir should be relative to http-server (rep by Paul Snively)
- Support for NT UNC (\\host) (rep by Mark Rowell)
- HTTP/1.1 chunked encoding problems (rep by Seth Ladd)
- position() in xsl:if (rep by Seth Ladd)
- ClassLoader fixes for loading jni (rep by Pierre Dony)
- -install-as and -remove-as for NT services (submit! by Alan Douglas)
- user-name and group-name added to avoid running as root (rep by Nir-Tzion)
- files need escaping in JavaGenerator (rep by Naresh Sikha)
- sesson and load statistics in "caucho.statistics" (req by Mattias Nilsson)
- browser-mapping lets Resin handle broken http clients (rep by Kevin Minder)
- DBPool now implements java.sql.Driver (contrib! by Kevin Minder)
- tag.release() should have access to pageContext (rep by David Geary)
- classpath with no source shouldn't autocompile (rep by Edson Richter)
- xsl:for-each needs to set the list-context (rep by Seth Ladd)
- Application class loader is a "caucho.class-loader" attribute (rep by Vladimir Zamiatin)
- added lots of default mime mappings.
- JSP/XTP precompiled pages avoid parsing
- timestamp in logs should be local (rep by Scott Douglass)
- xsl can (and should?) be put in the class path
- XTP/XSL line numbers are now reported better
- <%= 2 %> as default XTP text should not be escaped.
- wrapper.pl should use socket constants (fix! by Dave Moellenhoff)
- handle DBPool overflow by waiting instead of throwing an exception.
- work-dir fix (rep by everybody)
- servlet.init() calling of getRealPath doesn't work (rep by Eric-Olivier Lamey)
- jsp:setProperty with String[] should use getParameterValues (rep by Karsten Merkle)
- tag optional initialization of Object property should use null (rep by David Geary)
- POST errorPage to file returns method not implemented (rep by Alik Eliashberg)
- i18n in nested body tag (rep by Michal Mosiewicz)
- completed <run-at> servlet option
- RunnerResponse problems flushing from forwarded page (rep by Ed Miner)
- completed <cache-mapping>
- basic auth now goes through authenticator (rep by Michal Mosiewicz)
- servlet matching is now case-insensitive on NT
- regexp hosts: <host regexp='(?:[^.]+.)?([^.]+).com'>
- setContextClassLoader for servlet.init (rep by Rich Roth)
- httpd.exe now uses console mode (rep by Mac Chan)
- XTP needs to set Last-Modified properly (rep by Hans-Peter Schmidt)
- DBPool robustness for failed connections (suggested by Michal Mosiewicz)
- httpd.exe causing jdbc.odbc errors (rep by Paul Bauersfeld)
- DBPool.getActiveConnections (rep by John Zedlewski)
- filtering doesn't preserve encoding (rep by Michal Mosiewicz)
- /script/iis_srun.dll appears in URL
- JavaScript name mangling can't use base64 (rep Paul Bauersfeld)
- unset tag attributes and values must be cleared for reused tags (rep Avi Cherry)
- taglib uri='foo.jar' should look for META-INF/taglib.tld (rep by Sergio Socarras)
- <error-page> in http-server (Apache only) (req by Eric Hansen)
- resin:include (req by Eric Hansen)
- wrapper.pl needs setpgid (rep by Das Ashutosh)
- plugins need to understand web.xml (rep by Zachcial Slawek)
- caching deletes charset from headers (rep by Michal Mosiewicz)
- file not found from forward should be handled normally (rep by Ed Miner)
- node()|@id matches all attributes (rep by Michal Mosiewicz)
- Form processing with extra '&' (fixed! by Steve Abatangle)
- request.getRequestDispatcher problems with contextPath (rep by David Soergel)
- mod_caucho handling multiple hosts in <host> (rep by Zach Bagnall)
- Rewrite of JavaScript code generation and bean wrapping.
- httpd -e <url> statically executes the url (req by Ed Miner)
- foo.jsp. on NT shows the source of foo.jsp! (rep by Sassan)
- ServletServer now grabs ContextClassLoader and allows pseudo-global <classpath>
- jsp:include in BodyTags (rep by Ilan Kirsh)
- Improved performance for jsp:include, and jsp static pages (rep by Ed Miner)
- Fixes for wrapper.pl heuristics finding RESIN_HOME (fixed! by Victor Salaman)
- -deadwait fixes using socket instead of System.read.in (rep by Victor Salaman)
- CLASSPATH, JAVA_HOME, RESIN_HOME now saved in NT service (rep by Eitle Jurgen)
- -J, -D now handled by NT (rep by Niel Esary)
- Session id should not use '/' (rep by James Kao)
- Nested TagBody tags not properly resetting out (rep by Ilan Kirsh)
- \r issues in JSP and XTP parsing causing problems with Mac (rep by David Smiley)
- Vfs/Path cleanup (reviewed! by David Smiley)
- DBpool cleanup (reviewed! by Matthew Young)
- created webutil.HttpForm (req by Paul Snively)

- SimpleClassLoader not putting jars in class loader (rep by Daniel Lopez)
- DirectoryClassLoader not putting jars in class loader (rep by Victor Salaman)
- Taglib tld lookup in jar file, i.e. app.getResourceAsStream looks in class loaders (rep by Paul Lacrosse)
- -Dfoo=bar and -J-mx=z support in wrapper.pl (fixed! by Len Maxwell)
- Threading control now handles keepalives better
- NSAPI setup on NT
- NT problem with trailing slash for Resin-home (rep by Moshe Yidgar)
- -nojit not work with NT (rep by Jonathan Goldstein)
- TagBodySupport must throw TagException (rep by David Geary)
- @<<END fails on NT (rep by Paul Snively)
- BodyContent not handing i18n properly (rep by Avi Cherry)
- sendError and sendRedirect should close Response (rep by Mark Feldhousen)
- jar, http, tcp getAvailable() implemented (rep by David Soergel)
- getParameter uses response.getCharEncoding (rep by Slawek Zachcial)
- JSP tag variables need indirection (rep by Ilan Kirsh)
- Application class loaders combined into one (rep by Ilan Kirsh)
- simplified JSP error formatting (rep by Rich Roth)
- iis_srun.dll supports caucho-status, setup.exe more robust
- Xml parsers now inherit XmlParser to look more SAX-like
- XSL stylesheet precompilation problems fixed.
- Xtp printing now changed to use xsl:output (rep by Mical Mosiewicz)
- getAttribute now works on a http: vfs stream (rep by Paul Snively)
- XML parsing now using internal utf8 reader (rep by Victor Salaman)
- preceding-sibling:: and following-sibling:: fail in filters (rep by Paul Snively)
- <classpath> now grabs character-encoding for i18n (rep by kempleo)
- <classpath> and <java> now allow "args" (rep by Avi Cherry)
- Servlet 2.2 complete except for client certificates!
- HttpServer now accepts -srun to select the srun (rep by Herve Boutemy)
- ServletContext.getMinorVersion should be 2 (rep by David Smiley)
- Timeouts never called (rep by Emmanuel Blot and Jan Epsen Hansen)
- non-ascii URLs with mod_caucho didn't work (rep by Christian Thomas)
- Win98/PWS changes to setup.exe
- JSP tags and servlet interaction (scope issues) (rep by Avi Cherry)
- JSP tag library tld lookup incorrect (rep by Sergio Socarras)
- JSP precompilation wasn't working (rep by David Smiley)
- Element.getAttribute should return "" if attribute missing (rep by David Smiley)
- Microsoft JVM now supported
- Supporting Java arguments on win32 with -J<arg>
- iis_srun and mod_caucho fixes for short writes to browser (rep by Michael Burks)
- httpd.exe and srun.exe are now graphical.
- The configuration and compilation for Unix changes to configure/make
- NSAPI for Unix is now included!
- install.sh problem test ! grep is bogus (rep by Chris Cobb)
- forward needs to use the old query string (rep by Erich Bratton)
- HttpStream should set Host: xml.com, not Host: xml.com:80 (rep by Alex Chaffee)
- iis_srun fixes for large files (rep by Emmanuel Blot)
- PageManager fixes for Jetty (rep by James Korotney)
- Html parser (XTP) lowercased non-html tags (rep by James Kao)
- jsdk22.jar didn't make parseQueryString public (rep by Court Demas)
- -conf foo.conf should look in resin_home, not resin_home/conf (rep by Court Demas)
- IIS and Apache both support load balancing and keepalives
- mod_caucho didn't handle /servlet/* properly (rep by Jeremiah Thompson)
- '<' XTP attributes were printed as <. Also, disable-output-escaping wasn't affecting attributes (rep by Michal Mosiewicz)
- self::node() not interpreted as axis in XPath expression (rep by Paul Snively)
- Added apache-1.3.4 mod_caucho.dll to distribution
- Path info now handled by mod_caucho and iis_srun (rep by Michal Mosiewicz)

- If FooPage extends JavaPage, it should print LineMap (rep by HyoungKi Choi)
- ApplicationAdapter fixes for Jetty (rep by James Korotney)
- TcpServer backpatched from 1.1 (rep by Emmanuel Blot)
- XtpPage handling i18n

- C memory overrun problems causing dispatching trouble in mod_caucho and iis_srun (rep by practically everybody)
- form char-encoding can now be controlled by Request attribute "resin.form.character.encoding" (Avi Cherry)
- Commented out experimental caucho-status CPU usage
- XTP i18n problems with ISO-8859-2 (rep by Michal Mosiewicz)
- NT services now grab command lines (rep by Julien de Murcia)
- HttpStream can now set headers (rep by Paul Bauersfield)
- XSL support now follows the 16 Nov spec.
- wrapper.pl improvements to -verbose (by Emmanuel Blot)
- web-app id='/foo/' confuses getRequestDispatcher (rep by Dave Smiley)
- application.getRequestDispatcher("foo.html") in web-app 'bar' looks at barfoo.html. (rep by Dave Smiley)
- Env.java now is a GenericServlet (rep by Dave Smiley)
- getServerName was returning foo:8080 (rep by Dave Smiley)
- load balancing mixup with session ids (rep by Mattias Nilsson)
- jspDestroy never called in JSP (rep by HyoungKi Choi)
- setup.exe now available on NT
- <a href=a/b> not handled by HTML parser (rep by Paul Bauersfield)
- Added LooseHtml for parsing net documents
- ECMAScript now allows users to define null and undefined mappings for Java (rep by Mark Addleman)
- -conf not using lookupNative on NT (rep by Julien de Murcia)

- sessions encoded in query for wap (rep by Osma Ahvenlampi)
- mod_caucho wasn't sending auth
- NativeDate needs sync with QDate (rep by Mark Addleman)
- Session invalidation throws Concurrent exception (rep by David Smiley)
- StaticGenerator used lookup instead of nativeLookup (rep by David Smiley)
- Java JSP generation expected more than HttpJspPage (rep by David Smiley)

- First cut at JSP 1.1 tag extensions
- Minor cleanup of shutdown protocol
- mod_caucho flushing cleanup and ResponseStream close (rep by Mattias Nilsson)
- XmlUtil.getPIAttribute robustness (fixed! by David Smiley)
- several JSP and bean recompile bugs (rep by Mattias Nilsson)
- mod_caucho was only scanning first cookie for load balancing (rep by Mattias Nilsson)
- class problems using jikes as external parser
- license changes to open source
- JavaScript code generation fixes to make JDK 1.2 happy.
- Fixed some issues relating to using jikes as an external parser
- IIS dispatch of servlets with query strings (rep by Stephen Owens)

- 'Proxy' caching added
- Servlet chaining now works with jsp:include.
- First cut of a Resin load status
- Backed out Java JSP string optimization.
- Catching EINTR in mod_caucho
- Added CauchoErrorPage to mod_caucho (rep by Niranjan Nagar)
- Infinite jsp:include loops are now detected (rep by Camille Riddle)
- mod_caucho now works nicely with Apache (rep by Niranjan Nagar)
- Cookie age has 32 bit bug
- Session synch issues
- Pages returned for the wrong url (rep by Mattias Nilsson and Camille Riddle)
- getBufferSize() not handed in jsdk2.1 (rep by Mattias Nilsson)
- jsdk22.jar not handle readline properly. (rep by Mattias Nilsson)
- included files have proper character encoding (Primoz Hrvatin)
- XtpFilter -> XslFilter and fixing XtpFilter problems (Franck Rasolo)
- mod_caucho squashed multiple cookies (Camille Riddle)
- configuration files now live in resin/conf (Emmanuel Blot)
- added first cut at a Resin tutorial
- servlet-mapping now understands '/' (Slawek Zachcial)
- path-mapping now understands regexps (Emmanuel Blot)
- more threading tweaks in TcpServer
- fix threadDeath deadlock (rep by Camille Riddle)
- only first input cookie recognized (rep by Mattias Nilsson)
- jikes now supports -encoding
- allow 'host' for http-server.

- Servlet Filters, in particular x-application/xtp so Servlet output can be formatted by XSL
- Database pooling rewritten to follow JDBC 2.0 concepts.
- The ISAPI filter is fully configurable with resin.conf (rep by Paul Gayeski)
- Runtime errors were reported as ServletExceptions
- 20% performance enhancement to beat Orion
- JRun fix on NT (rep by Sergio Soccarras)
- TcpServer rewrite to fix synch
- getRemoteUser not work on Apache (rep by Luca Bolognese)
- request.getRequestDispatcher not properly handling jsp:include (rep by Gita Banga)
- mod_caucho array bounds problem

- XTP -lite generation for HTML generated bogus HEAD section.
- Deadlock in Application/VirtualHost
- jikes can't handle -encoding (rep by HyoungKi Choi)
- POST and jsp:include don't work together (rep by Slawek Zachcial)
- IIS goes to 100% under load (rep by Slawek Zachcial)
- Class reloading must clear application and session attributes (rep by Hans-Peter Schmidt)
- includes need to inherit parameters (rep by HyoungKi Choi)
- mod_caucho.c needs to set status on error (fixed by Mattias Nilsson)
- precompiled JSP don't need compilation
- scripts have bash dependencies
- getContentType returns full content-type header (rep by Mattias Nilsson)
- JspClassLoader needs to use lookupNative on NT (rep by Rene Biegert)
- After 3 days, sessions time out instantly (rep by HyoungKi Choi)
- Apache on win32 not properly closing sockets on timeout (rep by Rene Bieger)
- nested relative static includes use wrong path (rep by Slawek Zachcial)
- class loader problems
- /test.jsp/foo/bar compiles different than /test.jsp (rep by Mattias Nilsson)
- jsp:useBean class should allow interfaces (rep by Mike Engelhart)
- jsp:setProperty not giving error message when interface is missing (rep by Chris Cox)
- jsp:setProperty doesn't understand Integer (rep by Chris Cox)
- Threading problems with TcpServer
- synchronization needed in ClassLoader.loadClass

- The bulk of Servlet 2.2 is now available
- forms: query, post and include now follow 2.2
- Auto-compilation of servlets and beans (see http-config)
- Fixes to Auto-compilation.
- Load balancing on Apache (initial impl by Mattias Nilsson)
- session cookies disappear across applications (rep by Hans-Peter Schmidt)

- Fix for external servlet runners (rep by Leo Deegan)
- Reworked TcpServer threading model attempting to avoid JDK accept freeze.
- JSP update problem (rep by Emmanuel Blot).
- Line # problem with JSP/Java and <% ... %> (rep by Michael Blakeley)
- WriteStream array overrun (rep by Emmanuel Blot)
- Synch problem with server shutdown
- CLASSPATH problems using jikes as java compiler
- JRE 1.1 won't start (rep by Cisco Serret)
- NT error repoting in directories with blanks
- Line # translation in runtime errors
- addCookie() wasn't printing expires date correctly (rep by Leo Deegan)
- various XSL bugs
- xsl.sh now uses strict XSLT by default, XSLT-lite is by -lite.

- Virtual hosting fixes (rep by HyoungKi Choi)
- i18n fixes with forms (rep by Jen Hsien Huang)
- srun problems with apache (rep by HyoungKi Choi)
- QServlet should be GenericServlet (rep by Vlad Beffa)
- stat not picked up in mod_caucho.c (rep by Emmanuel Blot)
- sync issues with accept (rep by Michael Blakeley)
- JS exception catch bug
- JSP isModified now checked periodically instead of each time
- WriteStream shutdown when write fails IOException
- XSLT-lite uses parsed-content by default to conform with XSLT

- Virtual hosting fixes (rep by HyoungKi Choi)
- JServ support (reported by Andrew Anten and Mark Edwards)
- NT Service cleanup with win95
- Oracle incompatibilities with ResultSetEcmaWrap (rep by Peter Antman)
- Win32 error reporting problems (rep by Neil Bartlett)
- Fixed deadlock and increased robustness of connection timeout and server shutdown (rep by Edgardo Robles)
- NT exec problems with directories with spaces (rep by Sebastien Fouss)
- Updating class loader didn't find updated WEB-INF/lib/foo.jar (rep by Sebastien Fouss)
- i18n fixes for XML, JSP, XSL and POST (rep by CK Chan)
- Updates for most recent JSP 1.0 spec
- Updates for most recent (Aug) XSL 1.0 spec

- Quick bug fix for non-Resin servlet engines and language=java
- Added template and servlet examples

- XQL -> XPath following the July draft
- XSLT follows the July draft (but see errata)
- Resin XSL extensions now use xtp: instead of xsl:, e.g xtp:copy-element
- httpd.sh and srun.sh now invoke a perl wrapper responsible for keeping the Java process alive.
- start-httpd.sh, stop-httpd.sh, start-srun.sh, and stop-srun.sh added
- httpd.exe and srun.exe can now be installed as NT services using -install and -remove
- srun_iis.dll no longer needs MFC
- split vfs.Stream to ReadStream and WriteStream.
- JSP and XTP now have JspManager and XtpManager so servlets can use jsp files and xtp files as templates.
- fixed several bugs relating to HTTP/1.1 keepalives
- fixed JS wrapping. getNext() was shadowing next()
- EUC_KR encoding fixed
- JSP contentType now correctly understands charset=foo
- Java compilation supports Jikes, allows setting of the tmp directory, and fixes compilation problems with jdk1.1.6

- Cleaned up the APIs, and exposed JavaDoc
- Complete reorganization of the entire codebase
- Script invocation overhead drastically reduced.
- Supports HTTP/1.1, including virtual hosting
- HTTP config now follows Servlet 2.2 API, including WEB-INF
- XSLT follows April draft
- XSLT-lite cleaned up and formalized

- Resin now supports JSP 1.0!
- Resin now includes servlet runners for Apache and IIS
- Java is now a valid, and the default, scripting language.
- Supports the JSDK 2.1 clarifications from JSP
- Servlet init configuration has changed slightly.
- b4 support for other servlet runners is still broken. Sun's changes to the JSDK 2.1 api are not available in the other runners yet, and there hasn't been a chance to add the compatibility.

- Resin now supports JSDK 2.1
- Other servlet runners (JServ, JRun) are not supported by b3.
- VFS now supports stderr:, stdout:, and log:.
- The mini-httpd is now configurable.
- On Windows, Resin finds Java through the Registry.
- .application is dead. applications are configured in resin.conf

- Renaming *.es -> *.js and *.jtp -> *.atp and request.query->request.form
- SCRIPTPATH now looks in RESIN_HOME
- Configuration made public (see tutorial, docs will come later :-()
- Bug fix for JRun on Windows
- Lots of minor bug fixes.
- "bug" fix for Kaffe to support HTTP.
- Added tutorial and quote.com example

- Added mailto: and http: to VFS
- Performance enhancements
- Bug fix to support JRun
- Preparation for Java support

- Added JTP, with support for XSL December 1998 Draft
- Added simple JTP examples
- Added caching for quasi-static pages.
- Bug fix for multithreaded mini-HTTP
- Bug fix for win32 path lookup.

- Added XQL supporting XSL December 1998 Draft
- Navigation Examples
- Added multithreading to mini-HTTP

- XML, DOM level 1.0
- Major Performance Enhancements
- Works with Kaffe interpreter (not compiler)
- Bug fixes #271-272,274-285,289,300,304-308

- Bug fixes #263 - 270
- Added createRoot, bind, unbind to Path.
- Added ScriptClosure to support application events.

- First public release.
- ecma-262
- netscape 1.3
- perl 5 regexp
- jsp 0.92
- mini-http, exception, classes, import

</document>