Caucho Technology
  • resin 3.1
  • resin change log


    Resin Change Log

    Resin 2.1 changes

    3.1 snapshot

    • session: boundary issues over 4M session (rep by Chris Pratt)
    • comet: cookies cleared before resume
    • cache: jsp/include/html was not properly cached (#3379, rep by Driss Louriagli)
    • jsp: prelude with include NPE (#3508, rep by Shinomiya Nobuaki)
    • rewrite: <dispatch> should not modify uri unless it has a target (#3295, rep by Ethan Larson)

    3.1.9 (2009-04-13)

    • jsp: trimDirectiveWhitespaces was ignored for tag files (#3386, rep by kvirkki)
    • win32: O_BINARY required for configuation saving (#3337, rep by Takahiro Fukuda)
    • mod_caucho: only allow one thread to update config for worker model
    • win32: truncate applied incorrect file mode for new file (#3382, rep by Kair Virkki)
    • mod_caucho: recompilation of 3.1.8 win32 mod_caucho.dll (rep by Takahiro Fukuda)
    • server: stack trace incorrectly displaed for bad request response (rep by Vinod Mehra, #3359)
    • admin: change to resin:type=LogService (rep by stbu, #3328)
    • servlet: run-at race condition on web-app restart (rep by stbu, #3342)
    • mod_caucho: socket drop issue (rep by Mathias Jansson)
    • jms: btree split off-by-one issue (#3287, rep by tyson weihs)
    • jms: file missing primary declaration (#3287, rep by tyson weihs)
    • server: cron syntax not properly handling day of week (#3248, rep by mate)
    • jsp: backport of JspCompileResource parallel compile (#2987, rep by stbu)
    • memory: DispatchRequest._invocation needs to be cleared (rep by Mattias Jiderhamn)

    3.1.8

    • (2008-11-17) thread: thread pool load smoothing (rep by Martin Thompson)
    • jni: missing nativeTruncate (#2993, #3024, rep by Richard Grantham, Juan Andrade)
    • boot: watchdog kill NPE (#3009, rep by stbu)
    • memory: removed potential ThreadLocal leak with SecurityContext (#3031, rep by Mattias Jiderhamn)
    • rewrite-dispatch: dispatch with target (#2774, rep by Leonid Geller)
    • web-app: add expand-fileset-cleanup to <web-app (#3001, rep by Bill Au)
    • jni: keepalive select issue with premature close (#2962, rep by Martin Thompson)
    • mod_caucho: potential DOS issue with mod_caucho and virtual hosts (#2950, rep by Pieter Schoenmakers)
    • file: remove cache timeout in FileServlet for coherency, since the performance is handled by the proxy cache (rep by Vinod Mehra)
    • jsp: tag fragment with tag variable compilation failure (#2904, rep by Herve Prisciandaro)
    • jsp: taglib prefix was stored across jsp/tag files (#2936, rep by jlawrie)
    • jms: jdbc/transaction session not properly setting expires time (#2939, rep by Vinay Reddy)
    • jni: resin.def improperly defined getFdMax (fixed by wesley)
    • comet: remove Thread.sleep(10) in Port for long polling
    • comet: avoid skip() at end of request for a comet call so input can be buffered (#2870, rep by David Peterson)

    3.1.7 release

    • jsp: virtual host should not add 'name' as webbean value (#2807, rep by hpri)
    • jsp: validation of tag dynamic-attributes generated improper XML (#2808, rep by hpri)
    • isapi: chunked encoding needs to filter out content-length (#2849, rep by Trieu Truong)
    • jstl: restoring request attributes named after var in c:forEach (#2804, rep by bregnvig)
    • jmx: update _parent handling for environment JMX to avoid loop (#2848, rep by Rajasekar Elango)
    • jms: jdbc wasn't properly setting binary length (#2856, rep by Richard Grantham)
    • watchdog: -D as Resin argument should be passed to child (#2841, rep by Rob Lockstone)
    • watchdog: watchdog start needs synchronization to handle sites with multiple servers (#2840, rep by Philippe Collard)
    • mod_caucho: static file handling for ;jsessionid= and query (#2825, rep by ckiehl)
    • admin: getKeepaliveSelectMax nullpointer (rep by Raymond Morin)
    • admin: webapp page cleanup (#2793, rep by stbu)
    • classloader: getResource/getResources issues with directories (#2763, rep by bregnvig)
    • jsp: content after forward should be ignored (#2748, rep by Vinod Mehra)
    • plugin: win32 apache/iis timeout default needs to be greater than socket-timeout to avoid 503 (#2715, rep by bmeyns)
    • deploy: web-app-deploy should use dependency-check-interval, not redeploy-check-interval (#2745, rep by mzgubin)
    • admin: add start/restart in /resin-admin
    • database: after connection error in XA, the returned connection must still be the same object (#2708, rep by Takahiro Fukuda)
    • win32: lpt detection with jni (#2738, rep by T Fukuda)
    • classloader: scan of ext paths must only add directories and jars (#2659, rep by Brian Burke)
    • security: custom ip-constraint extension IoC configuration issues (#2718, rep by Alex Victoria)
    • vfs: windows getURL not properly converting /foo to file:/foo (#2725, rep by Vinod Mehra)
    • ioc: synchronization on bean introspection (#2672, rep by Matthew Schmidt)
    • cache: InterruptedIOException needs to be treated like ClientDisconnectException and not stop cache (#2704, rep by Dmitry Zaburyanov)
    • (2008-06-09) webapp: versioning wasn't handling ROOT-1.0.war properly (#2668, rep by A Servidio)
    • conf: minimal.conf missing </cluster> tag (#2691 rep by Nathan Maves)
    • mod_caucho: build issue with Apache 1.3 (#2655, rep by maxpil)
    • proxy: ProxyServlet support for x-forwarded-for (#2638, rep by remilon)
    • proxy: ProxyServlet was not properly passing repeated headers (#2637, rep by remilon)
    • admin: ping thread failure should only send page results at fine level (#2640, rep by remilon)
    • quercus: mantis issue with compress_handler missing (ob_start callback) (#2575, rep by stargazer)
    • webbeans: amber loading timing issue with webbeans (#2642, rep by markus)
    • quercus: missing synchronization on getJavaClassDefinition (#2632, rep by stbu)
    • servlet: RequestWrapper needs to use getRequest() instead of _request (#2651, rep by azenkov)
    • boot: resin-root not properly handled (#2652, rep by Alex Sharaz)
    • amber: EntityManagerFactory init must be lazy for 3rd party providers (#2648, rep by wesley)

    3.1.6

    • jsf: delegation support for application/action-listener(#2585, rep by Andreas Fisher)
    • quercus: class static field syncronization issues
    • quercus: initialization syncronization issues
    • ioc: data-source not properly using JNDI lookup (rep by Stargazer)
    • (2008-05-02) quercus: eval must return null for missing return (rep by Matthew Schmidt)
    • quercus: $SERVER['REQUEST_URI'] calculation with forward [clean_urls on drupal] (rep by Matthew Schmidt)
    • rewrite: forwards with query improperly cached (rep by Matthew Schmidt)
    • (2008-04-30) quercus: SimpleXMLElement getField could throw NPE (rep by Matthew Schmidt)
    • jsp: permission issues with WEB-INF/work could cause 404 instead of servlet exception (#2635, rep by mauricev)
    • boot: updates for missing configuration attributes
    • boot: update startup log message for better VM version logging (#2633, rep by stbu)
    • multipart form not properly handling multiple uploads (#2578, rep by waiwong)
    • admin: web-app added statistics-enable to enable web-app statistics (#2625, rep by Marty Messer)
    • (2008-04-26) jsp: JspPrecompileListener not properly handling <fileset> (#2615, rep by stbu)
    • boot: WatchdogClient.launchManager needs -Xrs for windows (#2566, rep by mledom)
    • boot: watchdog restart requires delay between stop and start (#2564)
    • LruCache issue with nullpointer key (#2621, rep by zhaoxingyun)
    • ssl: config error message needs to be logged at cluster level (#2602)
    • boot: jvm-arg inside resin:if was throwing config exceptions (#2617, rep by Mattias Jiderhamn)
    • jca: add max-connections and max-active-time to connection-factory (#2618, rep by wesley)
    • jms: add com.caucho.jms.queue.JmsBlockingQueue for 3rd party jms (#2619, rep by wesley)
    • servlet: update cache clearing/timing to avoid servlet-mapping race condition (#2611, rep by Charles Lyons)
    • configure: add $JAVA_HOME/../Headers/jvmti.h check for MacOS-X (#2612, rep by markus)
    • ejb: add class dependency checking for generated beans (#2600, rep by Carljohan Carlsson)
    • jsf: JSF simple example not working (#2388, rep by pthl)
    • quercus: support for (?i) subexpressions (#2614, rep by Paul Fischer)
    • servlet: GzipFilter fix for allow-content-type (#2608, rep by azenkov)
    • resin-ioc: add resin:param to allow custom constructors (#2414)
    • (2008-04-17) quercus: fsockopen allows host:port as the host string (#2603, rep by billybigpotatoes)
    • quercus: use getRealPath for php-ini in QuercusServlet (#2605, rep by sgraf)
    • quercus: var_dump takes multiple args (#2508, rep by etzel)
    • quercus: mysql_fetch_field updates to handle table aliasing
    • quercus: xml_parse needs to allow unassigned character values for Mediawiki import/export (#2592)
    • quercus: DOM constants needed for Mediawiki 1.12
    • watchdog: add <jvm-classpath>
    • (2008-04-16) quercus: json was not working with SimpleXmlElement (#2569, rep by Matthew Schmidt)
    • quercus: xml_get_current_column_number (#2574, #2604, rep by P Fischer)
    • amber: @OneToOne persist cascade issues (#2599, rep by tsv)
    • amber: startup timing issues. the codegen must occur before the database is selected
    • jsp: body tag interaction with jsp:include and i18n (#2581, rep by T Fukuda)
    • (2008-04-11) response.sendRedirect should encode in utf-8 (#2580, rep by Sanjeev)
    • admin: added .war manifest as a JMX value (#2462)
    • jms: polling issues with jdbc store (#2570, rep by J Deffenbaugh)
    • rewrite: add exists condition (#2328, rep by Arthur Naylor)
    • amber: update classloader order (#2588, rep by Riccardo Cohen)
    • quercus: xml_set_element_handler with empty string callback was causing UnsupportedOperationException (#2591, rep by P Fisher)
    • host: allow host-alias-regexp in host.xml (#2582, rep by kenjrwalker)
    • amber: multiple @OneToMany annotations were ignored (#2586, rep by Charles Lyons)
    • amber: mysql shouldn't use RETURN_GENERATED_KEYS when no @GeneratedId (#2579, rep by Charles Lyon)
    • admin: update log_ reloading for remove/restart (#2568, rep by wesley)
    • boot: jmx defines must be set by boot process (#2567)
    • ejb: stateless calls to self do not invoke interceptors (#2529, rep by Daniel D'Alessandro)
    • win32 service: nullpointer due to PATH changes to support win64 (#2470, rep by Sharad Kelkar)
    • versioning: nullpointer in WebApp.stop() with versioning (#2565, rep by stbu)
    • amber: class changes not picked up for reevaluation (#2562, rep by tsv)
    • loader: restricted synchronized block on DynamicClassLoader to reduce blocking (rep by Knut Forkalsrud)
    • (2008-03-31) config: connection-max and keepalive-select-max should default to infinite (#2555, rep by paulberto)
    • config: connection-max belongs in <server> (#2555, rep by paulberto)
    • admin: add thresholds for stat-service
    • jmx: jmx operations need to occur in classloader context of the mbean (#2556, rep by Karl Goldstein)
    • admin: add thread dumps for cpu load and ping failure (#2428)
    • cache: update miss rate to better reflect total caching (#2505)
    • openssl: ssl_write updates for SSL_ERROR_WANT_READ and SSL_ERROR_WANT_WRITE (#2465, rep by D Ngo)
    • resin.conf: ejb-server in ear-default should not have data-source (#2472, rep by stbu)
    • jsp: disable caching of "static" jsp pages (#2548, rep by david-peterson)
    • hessian: resource counting for SqlDateDeserializer (#2494, rep by gtong)
    • hessian: add content-type for servlet (#2500, rep by mccloud35)
    • jni: write on linux was not properly retrying on EINTR/EAGAIN (#2521, rep by cytown)
    • versioning: issues with cookies managing the versioning (#2519, rep by stbu)
    • install: add resin.conf.orig to build (#2533, rep by norlab)
    • server: add url-length-max configuration (#2431, rep by A C De Baca)
    • boot: add watchdog-address (#2717, rep by Eric Kreiser)
    • cache: check web-app startup when adding new cache entry (#2474, rep by Martin Thompson)
    • amber: serialization of beans with hessian (#2515, rep by Riccardo Cohen)
    • hessian: handing of InputStream.read with Hessian2 encoding (#2535, rep by Ray Erdelyan)
    • session: handle ClusterObject.isDead() state when object is loaded (#2477, rep by Matt Hansen)
    • session: distributed session synchronization needs to occur after the appliction has started (#2447, rep by Cameron Stokes)
    • (2008-03-21) quercus: cleanup list can't use SoftReference (#2542, rep by Matt Johnston)
    • jsp: dependency generation could mistakenly add classpath: for root-based JSP files (#2486, rep by L Geller)
    • rewrite-dispatch: query string resulted in added getParameterValues value (#2464, rep by zdavis)
    • quercus: regexp a <= Integer.MAX_VALUE test is unstable for some JIT/OS, so use a <= Integer.MAX_VALUE - 1 (#2526, rep by Chris Chen)
    • jsp: application, session, and request are not EL implicit objects (#2499, rep by B Whitehead)
    • config: redeploy-mode needs to be allowed in <host-default> (#2538, rep by G Perales)
    • (2008-03-20) admin: profiling issue with MacOSX (#2480, rep by Javier Vegas)
    • boot: 64-bit windows does not use -d64 flag (#2501, rep by fesse)
    • amber: native query needs to use column names (#1716)
    • amber: @OneToMany was ignoring fetch annotation (#2423, rep by Daniel Spangler)
    • amber: @PersistenceUnit was not initialized before binding @Component (#2498, rep by wesley)
    • config: updated resource-ref schema to match JavaEE 5 (#2143, rep by Gary Zhu)
    • ssl: add cipher-suites to jsse-ssl (#2360, rep by Jay Ballinger)
    • webapp/jmx: add Version attribute to WebAppMXBean (#2463)
    • ioc: add WebBeansContainer.getBeansOfType (#2413)
    • jsp: pageContext ELResolver wasn't handling getType properly (#2451, rep by anloci)
    • install: with --prefix, copy php, plugins and ext-webapp-lib (#2473, rep by stbu)
    • hessian: hessian method overloading cost needs to be long (#2466, rep by zipeg)
    • boot: add chroot as watchdog capability (#2426)
    • boot: increase fd max when possible (#2467)
    • shutdown-wait-max had incorrect rnc schema (#2492)
    • ejb: conflict between ejb-jar.xml and ejb-stateless-bean (#2479, rep by Gary Zhu)
    • ioc: jar order should not affect injection (#2490, rep by Andreas Fischer)
    • boot: remove watchdog requirement that server's resin.conf must match (#2484, rep by Chris Chen)
    • (2008-03-04) jsf: Bean classes must have a zero-argument with com.sun.rave.faces.data.ResultSetPropertyResolver (#2364)
    • added scheduled-task to improve cron scheduling (#2311, #2475, rep by netsql3)
    • xa: Synchronization exception in beforeCompletion() could prevent rollback (#2454, rep by ddalessa)
    • ioc: interceptors not properly handling thrown exceptions (#2483, rep by wesley)
    • amber: @PersistenceContext fixes with third-party JPA providers (#2435, #2482, rep by Matt Johnson)

    3.1.5 - 2008-02-27

    • (2008-02-26) config: whitespace-only element config with resin:import (rep by Jan Kriesten)
    • win32: rewrite-real-path replacement issues with windows backslashes (#2444, rep by stbu)
    • (2008-02-20) build aclocal.m4 missing from .gz
    • classloader: system classloader changes to support Terracotta
    • log: resin:log compatibility - (should use resin:message instead) (#2443, rep by stbu)
    • database: UserStatement.clearWarnings missing null check (#2439, rep by ckchris)
    • watchdog: logs created in pwd instead of root-directory (#2437, rep by ckchris)
    • admin: cluster.php syntax errors (#2441, rep by stbu)
    • admin: ManagementAuthenticator was not checking user for null before copy (#2248, rep by stbu)
    • (2008-02-15) clustering: updated logging for btree insert exceptions (#2403, rep by gjvc)
    • build: distribution missing aclocal.m4 (#2421, rep by norlab)
    • webbeans: ScopeAdapter beans need to throw a config-time error if zero-arg constructor is missing (#2332, rep by wesley)
    • access-log: add logging for bad requests, e.g. 400s (#2266, rep by jornsvendsen)
    • rewrite: rewrite rules at the server level need to log to the default webapp's access logger (#2395, rep by D Peterson)
    • logging: contained <logger> needs to act like top-level loggers (#2327, rep by John Franey)
    • database: vary pool round-robin by cluster index (#2358, rep by M Stacks)
    • jstl: c:redirect was not properly handling context="/" (#2379, rep by wimsie)
    • servlet: validation of servlet-class needs to be lazy because of .war libraries with missing classes (#2391, rep by ckchris)
    • hessian/burlap: when unable to find classes, log warning before returning HashMap (#2387, rep by pagedn)
    • database: jdbc connection should not be returned to pool if exception occurs (#2313)
    • jmx: ServerConnector for the self-server is now registered in JMX (#2354)
    • win64: added build for isapi_srun, resin_os, resin, resinssl (#2331, #2330, rep by K. Puaa)
    • watchdog: refactor to handle frozen OS process/kill -9 (#2410, rep by Daniel Lopez)
    • watchdog: add "kill" to force a process kill (#2411, rep by Daniel Lopez)
    • admin: admin host needs to skip default configuration (#2405, rep by ckchris)
    • gzip filter not properly handling reset() (#2389, rep by T Truong)
    • jmx: unregisterMBean was not working properly (#2390, rep by J Smyth)
    • custom access-log was not having destroy() called (#2373, rep by M Thomson)
    • add <mail> config for javamail (#2329, rep by Ron Pitts) [mail configuration]
    • jmx: add AccessLogMXBean with flush() operation (#2342, rep by Michael O'Dea)
    • jmx: classloader updates to support JDK 1.6 jconsole
    • jmx: use only GlobalMBeanServer for all Resin mbean server instances (#2380, rep by J Smyth)
    • (2008-02-11) config: init-param was not stripping spaces for param-value (#2384, rep by hifish)
    • deploy: versioning deploy wasn't handling '-foo' for non-numeric (#2365, rep by gjvc) [webapp deploy]
    • ejb: method-level security (#1845, rep by Kevin Wimmer)
    • thirdparty: Hudson integration with security (#2320, rep by netsql2) [wiki: Hudson and Resin
    • (2008-02-08) jsf: fast-jsf automatically disabled when not using Resin's JSF (#2351)
    • resin.conf: change default to use <prologue> and put resin:import after the web-app-default (#2402)
    • watchdog: <watchdog-port>${port}</watchdog-port> was not supported (#2401, rep by friedeks)
    • regression: ${resinHome} variable was missing (#2374, rep by stargazer)
    • wicket: EnhancerManager needs to handle proxies named "Foo$" (#2382, rep by Jan Kriesten)
    • filters must be initialized before servlets (@386, rep by killnine)
    • jsp: taglib analysis issue with doEndTag (#2378, rep by wimsie)
    • jms/db: sql limit was ignored for backing store (#2337, rep by Erlende Akre)
    • jsp: dependency checking of fmt.tld updated to use classpath (#2363, rep by M Gleeson)
    • configure: update ACLOCAL and AUTOMAKE to avoid version dependencies (#2396, rep by norlab)
    • support: added ResinWebApplication, and ResinComponentInjector for wicket [Wicket with Resin]
    • (2008-02-05) jms: basic BlockingQueue support [Resin Messaging] (#2310)
    • (2008-02-02) embed: classpath config file lookup depended on Resin
    • (2008-02-01) regression cleanup
    • (2008-01-30) support: Wicket support for Resin/WebBeans for WebApplication object [wiki: Resin and Wicket]
    • jca: AssociationResourceAdapter fixes for Jackrabbit [wiki: Resin and Jackrabbit] (#2346, rep by pegli)
    • load-balance: update timeout counting from app-tier (#2639, rep by Anthony Balandran)
    • configure: libtool fixes on build machine
    • ejb: message driven bean support for NOT_SUPPORTED XA (#2308, rep by ddalessa)
    • ioc/config: system properties like 'foo.bar' were not properly resolved (#2361, rep by Curtis Taylor)
    • webbeans/ejb @Interceptor refactor (#2344, rep by wesley)
    • httpd.sh: update JAVA_HOME handling (#2343, rep by tusker)
    • admin: admin password is now configured through the <management> user (#2316, #2315)
    • ejb: webbeans and session bean merge for security, xa, and interception [resin-ioc
    • access-log: add auto-flush-time as a configuration parameter (rep by Michael O'Dea)
    • (2008-01-14) added com.caucho.resin.ResinEmbed embedding [Resin Embedding]
    • plugins: add spring/webbeans bridge [wiki: Spring and Resin/WebBeans]
    • plugins: add ant Jspc task [wiki: Ant and Resin] (#97, rep by D Becker)
    • plugins: add struts2 ObjectFactory support [wiki: Struts2 and Resin]
    • plugins: add maven2 resin:run and resin:jspc [wiki: Maven2 and Resin] (#2231, rep by Daniel Glenn)
    • cache: add clearExpires to clear the expire time, but not the cache (#2300)
    • add com.caucho.filters.MD5Filter (#1668, rep by E Bowman)
    • security: authenticator needs to work with webbeans/jpa (#2304, rep by Andreas Fischer)
    • rewrite-dispath proxy now has target field (#2171)
    • burlap: use getDeserializer pattern matching Hessian (#2298, rep by M Vandamme)
    • configure: build updates for solaris (#2050, #2294, #2295, rep by ksvee, np23dcx, norlab)
    • flash: SocketPolicyProtocol now falls back to HTTP, allowing port 80 (#2291, rep by Vic Cekvenich)
    • access-log: add <exclude>\.gif$</exclude> to access-log (#2157, rep by B Cleave)
    • hessian: improve error message with non-hessian response (#2200, rep by pelikt1)
    • openssl: cleanup of SSL_free code to ensure no link to old connection (#2188, rep by J Kaur)
    • isapi: send 503 on timeout to Resin (#2264, rep by T Fukuda)
    • update jdbc wrappers for jdk 6 (#2189, rep by koreth)
    • xa: issues with PoolItem handling XA_RDONLY (#2227, rep by mackd2)
    • jsf: faces-config.xml needs to allow multiple render-kit (#2278, rep by Andreas Fischer)
    • jsf: faces-config.xml needs to allow multiple el-resolver tags (#2287, rep by Andreas Fischer)
    • boot: boot issues with IBM JDK and java.class.path (#2284, rep by Surekha Bhartiya)
    • xml: update DOMBuilder to handle null prefixes (#2286, fixed! by atifmk)
    • admin: missing resin_admin_insecure needs to redirect to https only on port 80 or with host-secure (#2244, rep by B Cleave)
    • jsp: fragment generation with scripting elements must support request (#2261, rep by extremia)
    • watchdog: NPE check for missing server
    • resin-admin: login failure needs to report error message (#2263)
    • load-balance: start warmup timeout immediately (#2241, rep by A Balandran)
    • security-manager: disable custom PolicyImpl (#2281, rep by norlab)
    • load-balance: support load-balance-recover-time=0s (#2279, rep by A Balandran)
    • classloader updates to help support Terracotta (#1970, rep by S Sozonoff)
    • windows security was not allowing directory servlet (#2228, rep by drsskelkar)
    • add startup-priority to web-app to force startup order (#2204, rep by S Patronis)
    • hessian: issues with deserializing StackTraceElement (#2273, rep by kitepad)
    • hessian: change default setChunkedPost to true (#2225, #2260, rep by L Geller, ckchris)
    • soap/jaxrpc: removed javax.xml.ws from jaxrpc.jar (#2270, rep by plsoft)
    • (2007-12-31) admin: update tables for log storage to improve startup time (#2161, rep by koreth)
    • WebBeans add xwork2 support as com.caucho.xwork2.ResinObjectFactory
    • WebBeans: add createTransient to support framework object factories
    • mod_caucho: not properly grabbing backup server from session (#2268, rep by D Wigenfors)
    • EJB initialization order vs Amber (rep by Bill Au)
    • mod_caucho config reload of servers could leak memory (#2247, rep by vladdy)
    • (2007-12-18) Quercus: compiled-mode generation of array(&$foo) (#2258, rep by koreth)
    • Quercus: clear definition cache on page reload (#2252, rep by koreth)
    • Quercus: regexp fix for Drupal 6
    • Quercus: .smap files larger than 64k cannot be merged (#2146, rep by koreth)
    • JAX replacement issue with FactoryLoader and win32 (#2187, fixed! by dibo)
    • JNI gave misleading error message when license was not available (#2235)
    • Keepalive must only use a single check when preparing response to avoid confusing the load balancer (#2262)
    • JNI/std.c: on some servers an EAGAIN on send is like EINTR (#2239, rep by B Cleave)
    • thread-idle-min and thread-idle-max defaults need lazy init (#2229, rep by mate)
    • LoadBalance: load-balance-warmup-time=0 not properly skipping warmup (#2240, rep by A Balandran)
    • LoadBalance: client disconnect from browser was causing failover (#2236, rep by A Balandran)
    • Quercus: improve exception reporting in interpreted mode
    • Quercus: handle A::$f() calls (#2257, rep by jredden)
    • Quercus: handle IllegalStateException thrown by JDBC on close (#2184, rep by koreth)
    • Quercus: "15" & 3 not properly converted (#2251, rep by koreth)
    • Quercus: class static fields need to be stored in Env (#2253, rep by koreth)
    • Quercus: array_key_exists (#2254, fixed! by koreth)
    • XmlDocumentFactory needs setSchema (#2174, rep by sgudiboina)
    • JCA: updated <connector> syntax (#2209, rep by Serge Sozonoff)
    • Quercus: added spring_bean("...")
    • Quercus: htmlentities handled incorrecty between mod_php and quercus (#2348, rep by rvt)
    • Quercus: strcmp function fails with comparing comparing empty strings with numbers (#2356, rep by rvt)
    • Quercus: Cannot create a BigDecimal, seems to call wrong constructor (#2345, rep by gorck)
    • Quercus: xml_parse_into_struct exceptions (#2353, rep by rvt)
    • Quercus: append string operation cannot be doen with a string is retreived from file_get_contents (#2350, rep by rvt)
    • Quercus: oracle module reporting incorrect extension name (#2338, rep by buckyball)
    • Quercus: drupal - table temp_search_sids already exists (CREATE TEMPORARY TABLE) (#2293, rep by Dan)

    3.1.4 - Dec 5, 2007

    • isapi plugin needs to set fKeepConn=0 for non-200 responses (#2150, rep by Ove Halset)
    • load-balance issues with short cookies (#2221, rep by B Cleave)
    • watchdog issues with multiple servers and configuration files (#2212, rep by Bill Au)
    • watchdog-password (#2201, rep by Chris Chen)
    • jndi-appconfig sanitization (#2215, rep by Coolflame Wu and Alan Lee)
    • viewfile sanitization of file attribute (#2214)
    • response.getCharacterEncoding must return iso-8859-1 as a default (#2180, rep by Takahiro Fukuda)
    • keepalive/chunking: chunking error when exact buffer match reported by Confluence (#2131, rep by Chris Chen)
    • added backup attribute to server, with meaning the same as load-balance-weight='1' (#2178)
    • jsp: tag-file pageEncoding not properly picked up (#2170, rep by Takahiro Fukuda)
    • database: update error message when driver does not have URL (#2173, rep by B Au)
    • comet: API cleanup, isClosed() replaces isActive()
    • (2007-11-25) quercus: Dependency printing not properly handling static paths (#2185, rep by koreth)
    • jsp: allow EL expression for non-rtexprvalue String for old-style JSTL (#2112, rep by T Harris)
    • jms: add JmsQueueMXBean and JmsTopicMXBean (#2049, rep by P Tripathy)
    • hessian: HessianProxy updates to simplify subclassing (#2155, fixed! by mate)
    • hessian: sendCollectionType now affects Maps (#2149, rep by mate)
    • session - always-load-session would load for static pages (#2154, rep by copart)
    • amber: misc @EmbeddedId issues (#2037, rep by Sergey Plehov)
    • amber: @NamedQuery and inheritance were conflicting (#2053, rep by Sergey Plehov)
    • admin: snapshot resin.conf changed to resin_admin_insecure (#2145)
    • amber: inheritance auto-gen columns generated improper inserts (#2054, rep by Sergey Plehov)
    • amber: allow JPA with other providers (#2041, rep by Sergey Plehov)
    • quercus: required expr missing from function not properly generated (#2139, rep by koreth)
    • hessian: object definition ('O') should use string for type (#2142, rep by Charlie Groves)
    • rewrite-dispatch forward and redirect should use query-string (#1997, rep by Jan Kriesten)
    • Add DatabaseManager.findDatabase(url) (#1932, rep by Geoff Hendry)
    • form encoding needs to default to character-encoding, not url-character-encoding (#2140, rep by refactor)
    • hessian: use Integer.valueOf instead of new Integer (#2138, rep by regor)
    • resource-ref validation schema incorrect (#2143, rep by Gary Zhu)
    • (2007-11-04) admin: add root-directory and uptime for web-app (#2043, rep by stbu)
    • amber: hessian serialization for @OneToMany was incorrect (#2118, rep by Daniel Spangler)
    • ProxyCacheMXBean.clearCacheByPattern (#2115, rep by B Youngblood)
    • cache: change from uncacheable to cacheable was not properly detected (#2113, rep by paulberto)
    • ssl: added crypto-device to openssl (#2046, rep by V Vyas)
    • JCA .rar wasn't loading native libraries (#1846, rep by Ray Cromwell)
    • config should defer jsse-ssl for <http> until server-specific startup (#2020, rep by Mike Wynholds)
    • rewrite-dispatch secure='true' should affect sendRedirect (#1996, rep by Michael Wang)
    • configure: updated config.guess to support ppc64 (#2114, rep by Tamas Perlaky)
    • session: unserializable login principal should not be serialized (#2011, rep by K Fetterman)
    • build: class cleanup (#2051, rep by koreth)
    • build: split version from resin compilation (#2088, rep by koreth)
    • resin-admin: added resin_admin_insecure, defaulting to true to require SSL (#2007)
    • hessian: Java calendars not properly serialized (#2106, rep by rhodepc)
    • Config schema validation could not handle spaces in path (#2117, rep by taylorc)
    • (2007-10-30) quercus: mysql_query error detection was not detecting connection close (#2138, rep by koreth)
    • LruCache removeTail synchronization issue (#2130, rep by Matthew Schmidt)
    • quercus: fwrite for socket automatically flushes (#2120, rep by koreth)
    • quercus: HashMap adapter wasn't properly implementing copy() for APC (#2121, rep by koreth)
    • quercus: mysql_fetch should append LONGVARCHAR as binary instead of letting mysql convert it (rep by koreth)
    • quercus: StringBuilderValue.append(byte[]) wasn't converting to char properly (rep by koreth, #2119)
    • quercus: regexp fixes (#2124, rep by koreth)
    • jms: ListenerResource needs listener-max (#2047, rep by D McAndrew)
    • (2007-10-25) load-balance failover logging was showing incorrect target server info (#2098, rep by stbu)
    • add secure="true" to cluster-port (#2104, rep by Takahiro Fukuda)
    • <http> and <cluster-port> socket-timeout were not using <server-default> values (#2110, rep by B Choate)
    • jsf: attribute-extension wasn't properly ignored (#2111, rep by borisk)
    • <load-balance> add <strategy> tag (#2100, rep by stbu)
    • Added remote-enable-cookie to <management> to replace remote-enable (#2085, rep by stbu)
    • Windows file URL with Java uses file:/c:/foo, not file:///c:/foo (#2086, rep by Matt Ledom)
    • Verify that proxy-cache file was properly removed on startup (#2065, rep by Mike Waldman)
    • resin-admin needs to use Server->CurrentTime to avoid clock skew (#2099, rep by stbu)
    • Quercus: forbid include of non-file.
    • Quercus: updated support for large binary data (php5) (#2101, rep by koreth)
    • Quercus: stubs for getrusage, memory_get_usage, memory_get_peak_usage (#2102, rep by koreth)
    • Quercus: mysql_close was automatically allocating connections (#2103, rep by koreth)
    • logging now allows %{thread} and %{env}
    • Quercus: output buffering with callback not properly handling false (#2091, rep by koreth)
    • Quercus: NPE in Env connection close updates (#2093, rep by koreth)
    • Quercus: mysql_fetch_assoc should use metaData.getColumnLabel if available (#2080, rep by koreth)
    • Quercus: $this->x does not trigger __get and __set (#1965, rep by rjc)
    • Quercus: mysql_connect flags were not getting passed to driver (#2075, rep by koreth)
    • httpd.sh had wrong path to resin.jar (rep by koyama)
    • Quercus: StringStream not return proper utf-8 length for read() (#1903, rep by S Sozonoff)
    • Quercus: http_build_query requires arg_separator (#1906, rep by ssozonoff)
    • Quercus: basename nullpointer check (#1837, rep by dizzle)
    • (2007-10-16) Add <database-default> (#1108, rep by koreth)
    • Quercus: regexp "/u" flag with Drupal install issues (#2069, rep by jims)
    • Quercus: regexp rewrite for performance and PHP extensions

    3.1.3 - October 7, 2007

    • SSIServlet needs to return text/html (#2000, rep by K Fetterman)
    • SSIServlet needs to return 404 for file not found (#1999, rep by K Fetterman)
    • cache changes to avoid threading issues (#1992, rep by David Peterson)
    • hessian: added debug="true" flag to HessianServlet, to log at level="fine"
    • hessian: added HessianDebugInputStream and HessianDebugOutputStream
    • hessian: field list deserialization with non-matching classes (#2026, rep by mfsiddiq)
    • hessian: field object deserialization with non-matching classes (#2015, rep by Mark Church)
    • hessian: Collection deserializer not properly handling 'v' (#2028, rep by Jerome Landreau)
    • session saving was still attemped after invalidation (#2031, rep by jkriesten)
    • jar caching method was slower than previous method (rep by Sean Patronis)
    • jsf: handle NPE thrown by facelets ELContext in EL evaluation (#2013, rep by Matt Raible)
    • jsf: older faces-config.xml used xmlns="http://java.sun.com/JSF/Configuration" (#2010, rep by Matt Raible)
    • (2007-09-20) quercus: file parsed data with unicode.semantics='0' need to be php5 strings, not php6 binary strings (#1938, #1975, rep by chillout, kim)
    • (2007-09-17) initial comet implementation (#1945, rep by M Thompson)
    • quercus: mysql varbinary data with unicode.semantics=false (#1898, rep by rjc)
    • quercus: i18n unicode.semantics updates
    • added web-app-deploy versioning for session hot-deploy improvements (#1058)
    • (2007-09-10) isapi: pass client-read-timeout to isapi_srun.dll (#1862, rep by Takahiro Fukuda)
    • multiple access-logs were causing rollover issues (#1947, rep by brianb08)
    • db-pool: add max-idle-count to connection pool (#1891, rep by Matthew Schmidt)
    • db-pool: idle cleanup and additional ConnectionPoolMXBean atributes (#1891, rep by Matthew Schmidt)
    • load-balance: update retry and failover logic (#1939, rep by Bradley Van Cleave)
    • session: cleanup TempStream for session serialization (#1764, rep by Jan Kriesten)
    • hessian: hessianlib.py update (#1880, rep by jboulon)
    • mod_caucho: add backup costs to the round robin selection (rep by Katrin Koppert)
    • HttpProxyServlet now checks failRecoverTime and connection count (#1158, rep by S Nagar)
    • jdbc-pool: add JdbcDriver with start()/stop() to allow database backup rollover (#1604, rep by Rich Dredge)
    • jsp: getSpecificationVersion() needs to return 2.1 (#1990, rep by stbu)
    • added keepalive-connection-time-max to limit keepalives (#1830, rep by sf)
    • timing issues with session invalidation (#1897, rep by Bradley Van Cleave)
    • Path.getURL() on windows needs to convert "/:/" to "//" (#1982, rep by debae)
    • session: update invalidation to ensure invalidation drops session (#1951)
    • session: cluster session load on startup needs to detect invalidations (#1544, rep by Jacky)
    • access-log missing rollover-count setter (#1985, rep by stbu)
    • change build.xml to -Xmx512m (#1986, rep by chris_se)
    • jstl: add filter to x:parse (#1944, rep by M Thompson)
    • session: add request attribute caucho.session-server-id as a distributed session owner hint (#1912, rep by Mike Wynholds)
    • write error content even if output is flushed, i.e. suppress forward() not allowed error (#1954)
    • ssl: cipher string not properly cleared on close (#1927, rep by directi)
    • security-manager config was missing @PostConstruct (#1934, rep by norlab)
    • admin: resin_admin_localhost changed to resin_admin_external (#1976)
    • amber: pstmt.setNull(..., Types.NULL) is not supports by MSSql (#1926, rep by Matt Ledom)
    • jsp: rtexprvalue allowed in fragments (#1893, rep by Matthew Schmidt)
    • session: cluster store was not updated for new TempBuffer size (#1911, rep by Ethan Larson)
    • boot: update init.resin script for ubuntu (#1549)
    • jni: ./configure PROXY_LIBS needs -lc for debian (#1806, #1924, rep by engberg, F Caso)
    • NamedDispatcherImpl.include needs to call res.init instead of res.setRequest (#1971, rep by karl)
    • windows issue with webapps (rep by Ed Hollingsworth)
    • (2007-08-27) xpath: compatibility issues with Xerces in comparison exprs (#1943, rep by M Thompson)
    • jsp: PageContextWrapper needs to clear the ELContext on reuse (#1908, rep by timur)
    • win32: httpd.exe adds -user, -password, -name, -full-name (#1162, rep by mattp)
    • win32: httpd.exe fixes as windows service (#1913, #1804, rep by briandeng, EUgene Kovnatsky)
    • jsf: sessionScope EL wasn't working properly with RI (#1928, rep by mypda)
    • persistent session load should not trigger valeUnbound (#1820, rep by calmman)
    • bind-ports-after-start now enables listen (#1925, rep by M Schmidt)
    • hessian: allow InputStream as final argument and as result for file upload/download (#1948, rep by Compl Yue Still)
    • xpath: compatibility issues with Xerces in comparison exprs (#1858, #1943, rep by M Thompson, B Au)
    • jsp: deferred EL handling did not properly detect .tld JSP version (#1909, rep by timur)
    • jsp: validation needs to generate page="%= ... %" for page="<%= ... %"> (#1917, rep by Michael Sengbusch)
    • jsp: EL toBoolean() was inverting result (#1931, rep by dheggie)
    • install: Makefile.in needs to change to $(LIBEXEC) to handle 64-bit installs (#1929, rep by copart)
    • Change Content-Length size for POST to 64 bits (rep by Aaron Freeman)
    • boot: LD_LIBRARY_PATH needs to be updated from environment (#1928, rep by ekreiser)
    • boot: update httpd.sh to support chkconfig (#1863, rep by Eddie Anzalone)
    • xml: QDeepNodeList.item needs to check for null (#1916, rep by ccwf)
    • FileServlet needs to use crc64 as etag (rep by Rafael Munoz)
    • Added full-url-regexp to rewrite-dispatch for url+query-string matching (#1833, rep by sf)
    • welcome-file-list should not affect getRequestURL (#1848, rep by Yaroslav Sokolov)
    • jsp: add support for import="static qa.Foo.*" (#1892, rep by Matthew Schmidt)
    • ResinBoot now looks for -D arguments to command-line and propagates them to children
    • Request.getInputStream should not check the encoding (#1874, rep by Leos)
    • createXMLStreamReader needs to deal with null charsetName (#1823, rep by jkriesten)
    • JspCompiler now has -compiler flag to choose compiler (#1877, rep by A Deshpande)
    • JspCompiler should default to compiling the app dir (#1870, rep by A Deshpande)
    • EJBCompiler wasn't properly initializing the environment (#1878, rep by S Croco)
    • hessian: BigDecimal wasn't properly updating reference (#1817, rep by Peter Henderson)
    • cookie-length now includes the cluster characters (#1825)
    • rewrite-dispatch now supports resin:import with dynamic updates (#1834, rep by sf)
    • jsp: prelude and coda were not setting taglib prefixes (#1840, rep by sergek)
    • resin.root needs to be set by Watchdog (#1869, rep by Brian Burke)
    • update development.conf and ORB initialization (#1883, rep by guduri)
    • hessian: issue with float args vs Serializable[] (#1894, rep by Rick Bray)
    • quercus: fgets newline recognition fixes including use of auto_detect_line_endings
    • quercus: abstract __construct was creating invalid compiled code
    • quercus: interface_exists() implemented, class_exists() fixed
    • quercus: precedence with ! and instanceof
    • quercus: database access fixed for JSR223 (#1859, rep by toomasr)

    3.1.2 - July 18, 2007

    • JNI: solaris does not understand setsocketopt socket timeout (#1855, rep by T Corning)
    • HttpProxyServlet needs to use matchesIgnoreCase for Connection header check (#1856, rep by H Shih)
    • Hessian: issue with deserialization with replicated types (#1854, rep by remilon)
    • added serialization-type to session-config allowing for "hessian" and "java" (rep by Jan Kriesten, #1868)
    • (2007-07-02) Add TransactionManager compatibility for UserTransaction (not intended for application use) (#1814, rep by Takahiro Fukuda)
    • setHeader("Connection", "close") will close the keepalive (#1829, rep by sf)
    • multipart form needs to override query string values (#1831, rep by sf)
    • quercus: array sort() with floats
    • quercus: new self::$foo() (#1811, rep by Kibo)
    • quercus: preg_match backreferences (#1562, rep by obaltz)
    • quercus: /u option for preg functions
    • quercus: pligg php application (#1800, rep by C Whalley)
    • quercus: added php functions to query info on Quercus environment
    • quercus: will not append an empty string to a non-empty one (#1712)
    • quercus: Java exceptions can now be caught (#1455)
    • quercus: implemented idate() (#1721)
    • quercus: implemented get_included_files (#1262)
    • quercus: implemented headers_list() (#1797)
    • quercus: date() day of the week format ('w') was off by 1 (#1809)
    • quercus: cases where an error did not print out location of error
    • quercus: exec() and similar functions for *nix and Windows (#1812)
    • quercus: cases where database connections were not being closed (#1749)
    • quercus: characters being quoted for Drupal (#1790)
    • quercus: int overflow in unserialize() (#1638)
    • quercus: to allow '<?' to open php code (#1729)
    • quercus: allow object comparisons (#1459)
    • quercus: ob module outputing garbage(#1755, #1763)
    • quercus: SimpleXML (#1752)
    • quercus: gallery 2.1 Warning: Assertion "!empty($key)" failed (#1744)
    • quercus: unescaped backslash in character literals (#1738)
    • quercus: Quercus producing invalid Java code (#1731)
    • quercus: MediaWiki file upload parent directory does not exist (#1745)
    • quercus: isset() (#1728)
    • quercus: $_POST being overwrited by query string (#1732)
    • setSecurityProvider added to ResinConfig (#1815)
    • amber: caching issues with SoftReferences (#1816, rep by frankhung)
    • quercus: QDate change for week of year (#1810)
    • error-page could operate on wrapped request (#1325, rep by slonopatamus)
    • sessions now persist using Hessian2 (#1764, rep by Jan Kriesten)
    • admin: basic support for clustered administration (#1165, rep by Serge Knystautas)
    • Update load balancing to take slow/frozen servers into account (#1766, rep by Kevin MacClay)
    • hessian: overload should add param types (#1621, rep by hixxxxx)
    • sendRedirect needs to set Content-Type header for some firewalls (#1805, rep by M Hanson)
    • amber: change auto-gen sequence initialization order (#1718)
    • ssi: add SSIFilter (#1760, rp by sergek)
    • ssi: add support config errmsg (#1768, rep by Bill Au)
    • ssi: add support for SSIServlet as included servlet (#1768, rep by Bill Au)
    • add <machine> configuration to better distribute session backups (#1294, rep by R Dredge)
    • (2007-06-17) hessian: add X509Encryption and X509Signature for WS-Security capabilities (#1793, rep by Serge Merzliakov)
    • amber: add support for OFFSET and LIMIT for CMP backward compat (#1794, rep by frankhung)
    • database idle pool is now lifo to better handle load-balancing drivers (#1672)
    • isapi_srun: enable keepalive (#1802, rep by M Weinig)
    • isapi_srun: update uri decoding for utf-8 characters (#1629, rep by P. Sankar)
    • httpd.exe issues on win32 with spaces in RESIN_HOME directory (#1554)
    • quercus: MediaWiki was escaping html that should be allowed
    • jsp: fragment issues with ValueExpression code generation (#1785, rep by timur)
    • hessian: allow disabling of Serializable check with setAllowNonSerializable (#1796, rep by Jean-Francois Poilpret)
    • hessian: classloader fixes in HessianProxyFactory (#1795, rep by vladi5)
    • Added <secure> override for <http> to handle load-balancers/proxies (#1792)
    • boot: WatchdogManager stop needs to use server-id only to handle multiple conf files (#1781, rep by M Schmidt)
    • Add thread-executor-task-max to <server> to configure ExecutorService (#1762, rep by D Berry and G Zhu)
    • quercus: parsing of "<foo();>" (#1729, rep by obaltz)
    • HmuxLoadBalanceServlet should not call sendError when response is committed (#1789, rep by Bradley Van Cleave)
    • jsp: EL functions not properly initialized on reload (#1788, rep by Matthew Schmidt)
    • hessian: updates for new Hessian 2.0 draft
    • ResinWatchdog should not configure environment, e.g. <log> (#1778, rep by Alex Lorberg)
    • XMLStreamWriterImpl.writeDTD added implementation (#1757, rep by anotherbug)
    • hessian: MicroHessian updates for Java ME libraries (#1742, rep by Jazz Mack Smith)
    • reduce default watchdog footprint (#1782, rep by Rick Ross)
    • requestDestroyed needs to be able to get session (#1775, rep by A Deshpande)
    • mod_caucho: updates to handle '%25' url encoding (#1661, rep by resinossi)
    • nullpointer check for null servlet name in FilterMapping (#1783, rep by everflux)
    • configure.in updates for ibm jdk (#1370, rep by Lucien)
    • configure.in updates for jrockit-64 and solaris-64 (#1117, #1640, rep by cms, David Sourcy)
    • admin: change login to use forms to work with Apache/IIS (#1611, #1636, rep by dennislewis18, pat75007)
    • ssl: openssl password can be omitted (#1736, rep by Brian Woods)
    • hessian: fixed HessianServlet init() recursive loop (#1779, rep by Vic Cekvenich)
    • Change BTree uniqueness error message (#1690)
    • mod_caucho: add ssl support for hmux protocol (#1496, rep by J Edwards)
    • jstl: x:forEach with default namespace (#1646, rep by urutora90)
    • jsp: sendError() issue with flush="true" and interaction with cached subpages (#1740, rep by johnhughbowen)
    • hessian: add support for streaming, i.e. resetReferences() (#1626, rep by Ben Hood)
    • hessian: add support for Collections.singletonMap (#1657, rep by dbrakhane)
    • ProfilerServlet memory issues (#1623, rep by Bill Au)
    • add web-app disable-cross-context (#1577, rep by Yidong Fang)
    • rewrite: add 192.168 syntax support for remote-addr (#1735, rep by koyama)
    • hessian: array deserialization with Calendar (#1743, rep by Stefan Fleiter)
    • hessian: array deserialization with interface arrays, e.g. Serializable[] (#1614, rep by ldesegur)
    • boot: JNI/Pro classloader must be used for JniFilePath (#1758, rep by Steven Garrett)
    • Add dependency checking for MergePath (#1488, rep by Kimberly Nicholls)
    • GzipFilter now disables itself when servlet sets Content-Encoding to avoid double compression (#1761, rep by jkriesten)
    • jndi-link updates to properly set hashtable properties (#1739, rep by hazurek)
    • hessian: HessianSkeleton.invoke needs to skip 'c' header for backwards compat (#1458, rep by Alon Salant)
    • boot: propagate -d64 for 64-bit systems (#1759, rep by Alex Lorberg)
    • boot: added <java-exe> to select java executable (#1769, #1767 rep by C Ward)
    • jndi: alias java:/comp to java:comp for Spring (#1603, rep by aadi deshpande)
    • session: allow custom session in AbstractHttpResponse.writeHeaders (#1580, rep by Takahiro Fukuda)
    • jsp: TagData.getAttributeString not properly returning nulls (#1557, rep by Simona Borello)
    • servlet: getParameter encoding of query string char-encoding default (#1596, rep by Yonik Seeley)
    • select-manager now uses epoll on Linux (#1518, rep by Greg Schroeder)
    • jsp: response.getBufferSize() reporting (#1539, rep by Andrew Marcuse)
    • rewrite-dispatch add <proxy> option (#1445, rep by Daniel Lopez)
    • amber: missing Java string escapes in SQL generation (#1438, rep by spoty)
    • mod_caucho: Added CauchoStickySessions (#1423, rep by M Marich)
    • multiple security-constraint/http-method issues (#1419, rep by Keith Fetterman)
    • add strict-mapping to servlet-mapping (#1377, rep by Jonah Benton)
    • Jar modification was not properly clearning dependency (#1296, rep by ngiudici)
    • hessian: update protected methods to allow application extensions (#1627, rep by Ben Hood)
    • session: add <distribution-id> configuration to session-config (#1593, rep by hypefiend)
    • server: add PortMXBean.stop() and start() (#1259, rep by Bryan Choate)
    • (2007-05-24) security: update form-login with session timeout issue (#1674, rep by bthakkar)
    • <dependency> tag was not getting initialized (#1632, rep by Clint Harris
    • jstl: sql tags with EL and old-style web.xml issues (#1589, rep by Josh Rehman)
    • watchdog: copy environment from parent to child (#1733, fixed! by gjvc)
    • cluster: lower logging level to info for socket failure (#1750, rep by Kippert)
    • jsp: jspx encoding defaults need to be UTF-8 (#1708, rep by ccwf)
    • jsp: JSTL issue with EL and old-style web-app (rep by Victor, #1348)
    • ejb: cmr-many-to-one column calculation error message cleaned up (#1540, rep by chesspoker)
    • virtual-host: virtual host regexp issues with windows (#1689, rep by S. Avogadro)
    • server: add socket listen() capability so ports only listen after init (#1676, rep by S Pannell)
    • server: isIgnoreClientDisconnect needs null check (#1737, rep by lmgelberg)
    • server: thread-idle-min error message was incorrect (#1724, rep by copart)
    • jsp: tag file and JSP EL function issues (#1730, rep by webvir)

    3.1.1 - May 7, 2007

    • FileServlet: windows security validation for bad URLs
    • DB pool: add close-dangling-connections (#1707)
    • Cache: add rewrite-vary-as-private for IE caching bug (#1581, rep by sergek)
    • Amber: @GeneratedValue with MS SQLServer was not working #1702 (rep by Michael Sengbusch)
    • Quercus: file uploads (#1434, #1435, #1615, rep by D Berry, M Bopp, snb)
    • Amber: createNativeQuery(String sql) i.e. missing mapping was throwing NPE (#1687, rep by Michael Sengbusch)
    • Amber: native queries with parameters (#1691, rep by Michael Sengbusch)
    • (2007-04-24) SSL: add OpenSSL_add_all_algorithms() during initialization (#1670, rep by thintz)
    • Servlet listener needs to handle description tag (#1635, rep by dpasek)
    • JSP: issues with tag class validation with generics (#1677, rep by L Kaminsky)
    • Session: verify session-max is valid (#1678)
    • JSP: i18n issue with filters (#1686, fixed! by gzhu)
    • Amber: @OneToMany in subclass (#1576, rep by bregnvig)
    • Amber: with multiple data-sources (#1680, rep by Michael Sengbusch)
    • Update ping mailer for mail-subject (#1564, rep by Abdul Karim)
    • Hessian: add missing synchronization for HashMaps (#1588, rep by bjornm)
    • DBPool: pooled connections with passwords could have race condition (rep by Sean Patronis)
    • JMX: EnvironmentMBeanServer vs MBeanView deadlock (#1543, rep by lschumacher)
    • mod_caucho/caucho-status updates
    • database ping-query added (#1641, rep by Andrew Jacobs)
    • ClassLoader getResources fix (#1643)
    • Filter mapping with getNamedDispatcher (#1634, rep by dpasek)
    • jsp multiple taglib definition issue (#1595, rep by Murthy Ch)
    • jsp tag/scriptlet parse issue (#1653, rep by webvir)
    • (2007-04-02) Servlet listener needs to handle description tag (#1635, rep by dpasek)
    • Amber: enhanced classes with <resource> (#1622, rep by jarnbjo)
    • JSP: restore velocity syntax (#1612, rep by T. Weihs)
    • JSP: resin-c:out namespace wasn't created for validation. (#1631, rep by Steve Ferguson)
    • OpenSSL: Add call to OpenSSL_add_all_algorithms (fixed! by Tom Hintz)
    • Expect: 100-continue handling with Resin's load balancer (rep by A Balandran, #1648)
    • JSP: $\{...} wasn't generating proper namespace for validation (rep by Matthew Schmidt, #1647)
    • (2007-03-07) ConnectionPool timeout defaults incorrect (#1586, rep by gschemmel)
    • web-app description/display-name order is arbitrary (#1599, rep by kamleshjkl)
    • character-encoding now controls default encoding for writers (#1563, rep by asklxf)
    • Add header conditions for rewrite-dispatch (#1547)
    • Add throttle-concurrent-max to <http>
    • ping was missing @PostConstruct
    • logging: formatted exception logs must keep the thrown exception (#1361, rep by rydenius)
    • Quercus: updates to locking (#1504, rep by at4u)
    • Amber: entities may have protected constructors (#1447, rep by KnisterPeter)
    • Quercus: toLong and toDouble need implementation for Java objects (#1397, rep by dberry)
    • session activate/passivate should call HttpSessionActivationListener for attribute values, not valueBound (#1402, rep by slonopatamus)
    • boot: add --log-directory as command-line argument (#1537, rep by Rick Mann)
    • Quercus: QuercusServlet needs init-param for database (#1535, rep by Markus Wolf)
    • fixed extra error messages generated on resin.conf restart (#1405, rep by M Marich)
    • mod_caucho: add windows read timeout for dead sockets (#1490, rep by T Fukuda)
    • Quercus: add __CLASS__ support (#1443, rep by KnisterPeter)
    • Servlet: getContext should normalize url (#1450, rep by lina)
    • JSP jsp:forward wasn't picking up EL (#1453, rep by Katrin Kippert)
    • getServerPort not properly calculated with virtual-host (#1509, rep by justinwcs)
    • Amber: mapped-superclass/metadata-complete is optional (rep by Costin Leau)
    • server-header needs to be used for error pages (#1491, rep by Larry Gelberg)
    • tree-loader getResources() needs to return all matching jars (#1516, rep by KnisterPeter)
    • Resin's JSTL needs to use the http://java.sun.com/jsp/jstl/core namespace (#1487, rep by John Rehman)
    • Log rollover thread spawn needs to be at priority level.

    3.1.0 - Dec 21, 2006

    • server-header should be used for error messages when specified (#1491, rep by Larry Gelberg)
    • rewrite-dispatch was not properly applying top-level filters (#1392, rep by M Marich)
    • <database> <driver> needs to validate <init-param> with driver type (#1520, rep by Shane Cruz)
    • JPA: bytecode enhancement needs to handle LocalVariableTable (#1512, rep by jarnbjo)
    • JMS: resin_jms_message should not use 'connection' as column name for MySQL 5 (#1511, rep by jarnbjo)
    • continuous errors with dangling connections in amber when using cmp relations (#1495, rep by plehov)
    • ./configure changes for 64bit detection (#1465, rep by K Paulson)
    • (2006-12-03) Quercus: marshaling of null for Java objects: Byte, Integer, etc (#1444, rep by KnisterPeter)
    • OpenSSL: nullpointer when loading ssl fails (#1442, rep by Anoop Achuthan)
    • expand-directory in web-app-deploy generated confusing error message (#1452, rep by gjvc)
    • Make transaction manager visible for Spring (#1425, rep by buzzterrier)
    • Quercus: count("asdf") should return 1. (#1483, rep by Salz)
    • Quercus: null checking on file_exists (#1430, rep by Anoop Achuthan)
    • Amber: inheritance fixes (#1454, rep by KnisterPeter)
    • work-dir wasn't configuring properly (#1409, rep by ckchris)
    • Amber/EJB: ejb-server was overriding persistent-manager's data-source (#1456, rep by spoty)
    • Amber: 99 fields were overflowing the generated code (#1440, rep by spoty)
    • Quercus: mysqli_connection should return false with a connection error (#1401, rep by dberry)
    • access log: getNewline() adds check for windows is line.separator is null isntead of defaulting to \n (#1449, rep by Chris Head)
    • Cache: max-entry-size was being ignored (#1474, rep by Kalev Sullakatko)
    • Quercus: marshal String[] properly (#1463, rep by KnisterPeter)
    • JSP: .tag attribute with inner classes were not working (#1479, rep by stevejf7)
    • Quercus: rework for final javax.script API (#1473, rep by George Moschovitis)
    • Quercus: set_exception_handler (#1400, rep by awatt)
    • isapi_srun must turn off chunking for non-200 responses (#1460, ve6eei)
    • filter needs to allow id field (#1468, rep by mogsie)
    • EJB/CMP: ejbSelect needs to close result set in finally block (#1303)
    • EJB: change hessian stub generation location to work/ejb (#1301 rep by Steve Baugus)
    • mod_caucho: avoid premature error validation on non-blocking connect() failure for Solaris (#1415, rep by L Kaminsky)
    • Changed Jar.create synchronization so the remoteEvent will occur outside the sync (#1428, rep by mabbott)
    • JMX: getter/setter swapped for Introspector when no getter (#1390, rep by maltem)
    • JSP: EL issues with .jspx files (#1433, rep by ccwf)
    • Add resin.version and resin.versionDate to EL variables (rep by Bill Au)
    • mod_caucho updates to avoid extra dispatch requests (rep by Steve Baugus)
    • Amber now throws correct exceptions for non-entity arguments (#1380)
    • JSP: BeanELResolver needs to check for null getter (rep by Matthew Schmidt)
    • Log rotation now buffers during archiving
    • Add DBPool.closeIdleConnections() (#1394, rep by M Young)
    • Apache: added ResinSessionCookie and ResinSessionUrlPrefix (#1376, rep by Steve Baugus)
    • Validation for save-mode and always-save-session. (#1386, rep by justinwcs)
    • Hessian: specialized serializers were not adding references (#1417, rep by jjviana)
    • JSP 2.1
    • Servlet 2.5
    • (2006-10-06) Quercus: realpath must strip trailing slash (#1261, rep by koreth)
    • Quercus: highlight_file (#720)
    • Quercus: fsockopen must return BinaryInput/BinaryOutput (#1383, rep by David Berry)
    • Quercus: JavaValue.toString() was stripping '@' (#1388, rep by David Berry)
    • jsp:useBean in tag file was using unavailable objects (#1389, rep by Matthew Schmidt)
    • JSP tag file adds attributes as java variables (#1389, rep by Matthew Schmidt)
    • session persistence requires original request (rep by Takahiro Fukuda)
    • cookie-append-server-index should append exact index (rep by Serge Knystautas, #1346)
    • (2006-09-20) mod_caucho issues with config server (rep by Steve Baugus)
    • session write at finish was clearing useCount too early, causing spurious session failures (rep by Ed Hollingsworth)
    • Disable select-manager for win32 because of socket limits (#1344, rep by Olaf Fentsch)
    • IntMap wasn't handling deletes properly for ThrottleFilter (#1356, rep by sksamuel)
    • Change to addByteCodeEnhancer (#1157, rep by Costin Leau)
    • Add DynamicClassLoader.getNewTempClassLoader() (#1157, rep by Costin Leau)
    • Additional CodeSource fixes for JSPWiki (#1333, fixed! by ajaquith2)
    • ClassEntry for hot reloading needs to reset the dependency (#1345, rep by WIll Jaynes)
    • QDate needs to look up "GMT" not "UTC" to handle French locales (#1340, rebp by jiib75)
    • JSP validation of tag variables needs to handle inner classes (rep by Bill Au)
    • (2006-09-13) mod_caucho needs to update cached file for large dependency-check-interval (rep by Steve Baugus)
    • EJB/Amber create/getter/setter issues (#1265, rep by gzhu)
    • EJB: ejb-entry was not properly applied for EJB entity beans (#1322, rep by gzhu)
    • javax.el behavior incorrect for b.bogus (#1327, rep by slonopatamus)
    • Add ConnectionPoolMXBean.clear() to clear idle connections in the pool (#1314, rep by Sergiy Proskuryakov)
    • Update resin.conf change logic to avoid restart race condition (#1269, rep by Nick Berry)
    • servlet-mapping url-regexp wasn't working with welcome-file-list (#1298, rep by marcelloh)
    • <jvm-args> defines boot parameters (#1218)
    • SessionManager was created for closed web-app (#1295, rep by sks)
    • Connection pool needs to rollback after resetting the connection isolation for Oracle (#1208, rep by Will Jaynes)
    • Amber: added named parameters to JPA-QL (#1063, rep by Keith Fetterman)
    • Removed unnecessary #include "jvmdi.h" for resin-pro (#1313, rep by bdoperations)
    • ./configure heuristics to catch IBM JDK 64-bit (#1311, rep by bdoperations)
    • Amber query with named parameters was not implemented (#1063, rep by keith)
    • Amber NEW was not implemented in the SELECT clause (#1215, rep by fbertra)
    • Amber JOIN was not implemented in the FROM clause (#1214, rep by fbertra, Francois Bertrand)
    • <database> prepared statement caching shouldn't cache with resultType (#1310, rep by gzhu)
    • JNDI now throws NameNotFoundException instead of returning null (#1134, rep by Jan Heise)
    • Get certificates for code signing from jar files (#1008, solved by Andrew)
    • Hessian null float constructor was using Double instead (#1306, rep by Rick Mann)
    • Hessian constructor cost could overflow with too many args (#1305, rep by Rick Mann)
    • <log level="finer"> should also set the logger level (#1290, rep by brantd95)
    • JSP EL function returning void was generating junk for output (#1281, rep by slonopatamus)
    • mod_caucho reading cached localhost_6800 with headers
    • mod_caucho and 100-continue
    • mod_caucho and session-cookie value (#1279)
    • mod_caucho stripping of ;jsessionid= wasn't working
    • (2006-08-07) ejb-server jndi-name for local name wasn't handled properly (#1276, rep by Andrew Barson and Matt Pangaro)
    • isapi_srun.dll changed to default 6802 (#1274, rep by mindlink)
    • license signature fixes (rep by Matt Pangaro)

    3.0.20 - Aug 1, 2006

    • removeAttribute(PAGE_SCOPE) was removing all attributes (#1271, rep by planetpratt)
    • redeploy-mode is allowed in web.xml
    • HotDeploy was forcing restart when multiple files changed simultaneously (rep by Bill Au)
    • JNI compilation issues on win32
    • JSP: PageContext may remove *.class on Error when recompile-on-error is false (#1258, rep by Jay Ballinger, vc)
    • (2006-07-20) Change close/restart logic to test for closing instead of closed (rep by Nicholas Berry)
    • Quercus: comparison with '.' wasn't converting properly (#1257, rep by koreth)
    • Quercus: isModified pwd needs to be static Quercus to avoid chdir issues (#655)
    • Quercus: basic Java Map support (#1109, #1228, rep by koreth, akdeivanaathan)
    • Quercus: add smtp_user and smtp_password
    • Quercus: dbpool generation for wasn't creating unique name (#1241, rep by koreth)
    • Quercus: each after end of array (#1233, rep by koreth)
    • Quercus: crypt salt issue with mantis
    • Hessian: add HessianProxyFactory.create method with classloader (rep by Eike Stepper)
    • rewrite-dispatch needs to handle http vs https (#1251, rep by Jill Wetzler)
    • Quercus: token module needs to expose "tokenizer" extension (#1232, rep by koreth)
    • Quercus: preg_split with null group (#1240, rep by George Cox)
    • Quercus: get_resource_type (#1156, rep by demian)
    • Quercus: update set_file_buffer to BinaryStream (#1242, rep by koreth)
    • Amber: resolve nullpointer in map lookup (#1149, rep by plehov)
    • Amber: introspection wasn't looking at parent classes (#1090, rep by Alex Cruise)
    • File.mkdirs needs to be synchronized (rep by Dave Winterbourne)
    • OpenSSL client cert not properly populating javax.servlet (#1185, rep by mattp)
    • Fixes for JDK 1.4 compatibility (#1201, rep by vbavin)
    • (2006-07-05) Quercus: performance work for includes (rep by koreth)
    • EL: "1.0" was not properly interpreted as double (#1225, rep by Jill Wetzler)
    • Quercus: token_name and token_get_all (#746, #1182, rep by koreth)
    • Quercus: improve error message when database driver missing (#1113, rep by koreth)
    • Quercus: shell_exec (#1205)
    • transactions with db-pool and max-idle-time (#1136, rep by Takahiro Fukuda)
    • c:set issue with jstl (rep by Nicholas Berry)
    • hmux issues with forward and response not skipping final bytes (#1190, mpavel)
    • GzipFilter wasn't handling late changes of status properly (#1087, rep by Frank Nestel)
    • Quercus: _GET/_POST needs to handle i18n (#1193, rep by artem)
    • Quercus: handle while(false) (#1176, rep by koreth)
    • Quercus: fetch with SQLException should return null (#1221, rep by artem)
    • OneToMany fetchType had incorrect default (rep by Christopher Stach)
    • mod_caucho.c should return the actual status code in caucho_request (#1075, fixed! by Rudy D'Hauwe)
    • BundleManager must not add '/' prefix (#1110)
    • wrapper.pl enhancements to clean up shutdown (#1194, rep by slamb)
    • HttpProxyServlet not properly handling 100 Continue (#1171)
    • mod_caucho should always obey dead-time even in config updates (#1174, rep by jdane)
    • Hessian: add setChunkedPost option to HessianProxyFactory (#1149, rep by Alon Salant)
    • Quercus: register_long_arrays (#992, rep by tyson)
    • Quercus: mail (#617)
    • Quercus: openlog, syslog (#699, #700)
    • Quercus: fopen can use include path (#631)
    • Quercus: add strict option (#621)
    • JSP: preliminary trim-directive-whitespaces (#1204, rep by Bill Au)
    • Hessian: added enum support for both Hessian 1 and 2 (#1209, rep by Thomas Wang)
    • Catch exceptions thrown by compileBatch so following classes can be compiled (rep by Bill Au)
    • Improved error message for <database> max-active-time close and attempted use (#1137, rep by Neil Fradkin)
    • JSP: Allow tablespace as JDBC JMS parameter (#1077, rep by Tom Gennaro)
    • resin:import was not establishing proper environment context (#1060, rep by Bill Au)
    • Check for invalid j_uri for j-security-check (#1206, rep by De Leeuw Thierry)
    • Avoid javax. and java. differences from changing ClassDependency (#1044, rep by Serge Knystautas)
    • ErrorPageManager should log servlet errors as log level="warning" (#1184, rep by Bill Au)
    • Hessian: string chunk can't end in high surrogate (#1203, rep by Thomas Wang)
    • JSP: x:parse needs to use Reader instead of input stream (#1083, rep by jrg745)
    • Added -javaagent, etc to wrapper.pl (#1211)
    • Missing synchronized on _mbeans in MBeanView (#1183, rep by lschumacher)
    • wrapper.pl should have pro.jar before resin.jar (#1202, rep by Bill Au)
    • Quercus: global $$foo (#1216)
    • EJB: Check for null in EjbSessionBean.deployServer (#1138, rep by Andrew Barton)
    • (2005-06-23) Hessian 2.0 draft implementation (#2006, rep by Mattias Arbin)
    • Added session-manager save-mode='before-flush' (#936, rep by Michael Harper)
    • Added client-connect-timeout as a load balancing configuration (#1168, #1195, rep by jornsvendsen, Serge Knystautas)
    • JMX/Admin: expand/complete ClusterClientMBean
    • JMX/Admin: removed Server as a context
    • (2005-06-14) Added jaf to distribution
    • java.util.logging.Logger getLevel() should return null if unassigned (#1085, rep by Bill Au)
    • java.util.logging Logger add <logger> (#1186, rep by Michael Earl)
    • java.util.logging Logger defaults to INFO (#1186, rep by Michael Earl)
    • java.util.logging significant fixes to logger vs handler level (#1186, rep by Michael Earl)
    • Quercus: is_subclass_of (#1180, rep by koreth)
    • Quercus: parent::foo(1,2,3,4,5,6) generated code (#1177, rep by koreth)
    • Quercus: dirname/__FILE__ issue (#1135, rep by Alex Sharaz)
    • Quercus: set_time_limit(0) should be treated as infinite (#1178, rep by koreth)
    • Quercus: adding double + long incorrect (#1179, rep by koreth)
    • Add load-balance-weight, client-slow-start-time, client-max-idle-time, client-fail-recover-time (#1168, rep by Serge Knystautas)
    • Jdk15Compat was missing astore_0 for _resin_compat_class (#1159, rep by L Plaetinck)
    • Added session support for triplicate, i.e. two backups (#1088, rep by wet745)
    • JMS: changed blobs for oracle to use RETENTION
    • (2006-06-02) isapi plugin issue waiting for non-post (#1150, rep by Matt Pangaro)
    • (2006-05-31) HttpProxyServlet needs to clear attributes on reading response (#1143, rep by Anoop Achuthan)
    • Quercus: mysql_query regression with UPDATE (#1131, rep by koreth)
    • TransactionManagerImpl._transactionList was not properly synchronized (#1151, rep by Matt Pangaro)
    • Added implementation for java.util.logging.LogManager.getLoggerNames() (#1124, rep by eahollin)
    • Quercus: self::foo from static method not properly handling q_this (#1145, rep by koreth)
    • Quercus: add str_ireplace (#1152, rep by koreth)
    • Quercus: multidimensional array unset wasn't copy-on-write (#1155, rep by koreth)
    • max-close-statements was not in the .rnc (rep by Takahir Fukuda)
    • (2006-05-22) Quercus: while (1) must handle java "statement not reached" (#1139, rep by koreth)
    • Quercus: mktime timezone issues (#1132, rep by koreth)
    • Quercus: Exception.getMessage() support (#1142, rep by koreth)
    • Quercus: __get, __set, __call (#638, #645)
    • Quercus: define(FOO, 1) was defining FOO as "FOO" (#1140, rep by koreth)
    • Quercus: basic abstract, interface implementation
    • (2006-05-22) Quercus: crc32 returns unsigned (#1133, rep by koreth)
    • Quercus: pack/unpack (#1102, rep by koreth)
    • Quercus: microtime fixes (#1119, fixed! by koreth)
    • Quercus: basic try .. catch support (#1120, 1121, 1062, rep by koreth)
    • (2006-05-19) Quercus: string comparison issues (#1125, rep by koreth)
    • Quercus: return ref evaluation for Java calls weren't calling methods (#1123, rep by koreth)
    • Quercus: complete module exception refactoring (#1122, rep by koreth)
    • Quercus: gregoriantojd (#1116)
    • Quercus: ServerArrayValue lazy fill was filling each time (rep by koreth)
    • (2006-05-16) Quercus: resources should be usable as keys (#1114, rep by koreth)
    • Quercus: fsockopen and fgets needs to return cr-lf (#1115, rep by koreth)
    • Quercus: fsockopen (#1104, rep by koreth)
    • (2006-05-15) Quercus: add server-name to <init> to populate $_SERVER (#1105, rep by koreth)
    • Quercus: debug_backtrace for interpreted mode (#1124, rep by koreth)
    • Quercus: compilation problems in basic throw statement (#1098, rep by koreth)
    • Quercus: static function called from static function (#1099, rep by koreth)
    • Quercus: <?PHP is case-insensitive (#1107, rep by koreth)
    • Quercus: '-' and '+' sometimes converted double to long (#1093, rep by koreth)
    • Quercus: double array references should be converted to integer (#1100, rep by koreth)
    • Quercus: '%' always returns an integer (#1106, rep by koreth)
    • Quercus: array_merge should return null on null argument (#1103, rep by koreth)
    • Quercus: null.toArray should return empty array (#1103, rep by koreth)

    3.0.19 - May 15, 2006

    • (2006-05-11) getResources for library-loader and tree-loader weren't picking up directories like META-INF/ (#1052, #1095)
    • Cache: vary crc64 regression
    • resin.conf changes need to restart entire server
    • Quercus: Gallery2 running
    • Quercus: Java() regression failures (rep by Vic Cekvenich)
    • (2006-05-10) Amber: EntityManager.find should return null if no object (#1080, rep by fbertra)
    • Amber: CMP 2.1 loading was improperly casting (#1071, rep by Christian Amott)
    • el-ignored with tagx and el-ignored check in attribute vs body (rep by Gary Doughty)
    • Static JSP taglib was generating incorrect fragment code (rep by Bryan Davis)
    • ServletException should implement getCause() in terms of getRootCause() (#1076, rep by J Dane)
    • (2006-05-02) AbstractRotateLog uses truncate instead of remove for old file
    • stdout.log rotation file name for size overflow uses incorrect time (rep by Bill Au, #1054)
    • Important security issue on windows involving web-app-deploy (affects 3.0.17 and 3.0.18)
    • Quercus: eval() needs access to the symbol table and "this" (rep by Jack Zhang)
    • (2006-04-14) ToCharResponseAdapter should not close the underlying writer on close (#989, rep by Tony Field)
    • CGI was sending output through PrintWriter instead of OutputStream (#1035, rep by mineral)
    • Added aliases and java type for ISO-8859-10 (rep by Michael Young)
    • AbstractHttpResponse.finish was not ignoring client disconnect (#1045, rep by Mattias Jiderhamn)
    • LdapAuthenticator (#666, rep by Rudy D'Hauwe);
    • Basic SSI support with SSIServlet (#205)
    • JSP/tag file compilation issue (#1037, rep by Serge Knystautas)
    • ISAPI handling of 100-continue and flushing not properly reading 'f' response (#982, rep by assurone)
    • Added connection-error-page for IIS (#911, rep by mitch)
    • Add build rule to convert .rnc to .xsd for Resin schema (#410)
    • JMS: postgres issue in creating ephemeral tables (#1034, #1041, rep by peden, Bryan Davis)
    • ./configure changes for x86_64 (#915, rep by teemupo)
    • Redeploy of Host was not clearing caches (#979, rep by sks)
    • Added database/wrap-statements (#957, rep by Shawn Laubach)
    • Profilers supports ?sort=count (#829, rep by T Moorer)
    • Quercus: "public static" wasn't getting parsed (rep by Patrick)
    • JSTL: changes to support Xalan/Xerces with fast-jstl (#889)
    • SSL: added support for ca-revocation (#935, rep by YouchunChen)
    • Open transactions now closed on shutdown (#934, rep by Thomas Gennaro)
    • JSP: EL wasn't promoting "3.9" to double properly (#919, rep by m5)
    • Quercus: add APC API
    • Quercus: auto_prepend_file, auto_append_file (#616)
    • Quercus: JavaClass::foo, i.e. Java static functions (#584)
    • Quercus: print not properly parsed as expr (#1039, rep by THomas Moorer)
    • XML: external DTD not reading encoding (#916, rep by GreenEyed)
    • XML: DOMBuilder improperly adding DOCTYPE (#945, rep by Jim Spring)
    • incorrect initialization of allocation table for session (#999, rep by doughty)
    • win32 httpd.exe not properly clearing bind sockaddr_in (#1038, rep by wet745)
    • ProfileServlet now allows format=xml (#539, rep by Bill Au)
    • file-store with redeploy was sending warning message (#1020, rep by Mattias Jiderhamn)
    • <host> with id="" and hostName treats id as host-alias (#1017, rep by tderouin)
    • add <prologue> to <web-app> for classloaders (#1027, rep by gwagenknect)
    • add resource-default for .rar files (#416, #662, #663 rep by George Cox)
    • Add basic session MBean information (#314, rep by Serge Knystautas)
    • MergePath was returning incorrect path for missing file (#281, rep by david)
    • Add redeploy-check-interval (#242, rep by pburleson)
    • Amber/CMP: get collection needs to reinitialize the AmberConnection (#997, rep by nquery)
    • Amber/CMP: CacheConnection cannot be reused. (#998, rep by nquery)
    • Hessian: Calendar needs special serialization (#1023, rep by R Mann)
    • CMP: cached entity beans were not rechecking the database on findByPrimaryKey (#1003, #1012, rep by Christian Amott)
    • Amber: create/update was not in XA properly (#971, #1013 rep by gzhu, P Budzik)
    • (2006-04-03) JSP: add print-null-as-blank (#899, rep by koreth)
    • Hessian: Improve error reporting for 401 (#988, rep by igor)
    • possible sync issue on session shutdown (#974 rep by CHanan Bruanstein)
    • /WEB-INF needs to return 404 NOT FOUND (#1032)
    • CronResource did not properly handle DST (#1033)
    • roles support for JaasAuthenticator with getRoles and isUserInRole (#995)
    • log with path="stdout:" cannot be rotated, so should give error messages (#958, rep by Gary Doughty)
    • logout of one session in a SSO should log out all (#599, rep by Vinny)
    • added log message when initialization complete (#902, rep by rudy)
    • rollover-count is allowed in <log> (#833, rep by T Moorer)
    • path-format with *.gz can write directly to gzip (#345)
    • Servlet close events (session and listener) must be called before resources are closed (#987, rep by volga)
    • For JSP, config.getServletName() should return the JSP name (#1006, rep by briandeng)
    • JMS: setNull incorrect type in send (#1028, rep by peden)
    • welcome-file-list was not applied to forward/include (#463, rep by mw46)
    • HEAD with 404 (#1026, rep by mattryall)
    • Burlap deserializer wasn't deserializing "Object a;" fields properly (#1015, rep by Jerry Tian)
    • Support for @com.caucho.loader.RequireReload (#194, rep by Serge Knystautas)
    • Apache 2.2 configure needs to use APR_BINDIR and $\{apr_bin}/apr-config (#1024, rep by lilmatt)
    • chunked encoding for isapi (#1007, #1018, #968 rep by Warren Bailey)
    • rewrite-redirect is now allowed for the <server> block (#85, rep by tzaperas)
    • using unitialized variable for iis install-as (#1006, rep by Sergiy Proskuryakov)
    • (2006-03-28) ./configure changes for Apache 2.2 (#869, rep by Leonid Kaminsky)
    • ./configure needs to set apache_exe from apxs when available (#996, rep by pomo)
    • Add basic IGNORE support for XML (#962)
    • @EJB and @Inject need to work with inheritance (#952)
    • EJB 2.1 synchronization with the database is via java:comp/env/persistence/PersistenceContext/resin-ejb (#904, rep by koreth)
    • synchronization issues with access.log (#927, rep by Han)
    • jspx namespace with http: URI was causing exception while looking for tag (#993, rep by jrg745)
    • JSTL wasn't handling {0,number,currency} properly (#931, rep by Keith Fetterman)
    • use select-manager instead of enable-select-manager (#973)
    • rewrite-dispatch at <host> level wasn't grabbing the application (#1010, rep by Bill Au)
    • JMX: ArrayType.getElementOpenType was not properly defined (#994, rep by duchene)
    • jvmti code needs to release jvmti instance
    • welcome-file-list with unknown servlet causes nullpointer (#976, rep by marcelloh)
    • Refactored Amber to use javax.persistence (#943, rep by koreth)
    • JSP files can be injected with J2EE annotations
    • setTextContent needed on DOM Node (#985, rep by Bill Au)
    • Update thread pool to use stack instead of ring to improve spike handling (#905, rep by Christopher Stach)
    • Add environment-system-properties flag for jinfo issues (#151, #411 rep by Kirk Rasmussen)
    • XPath cache was holding objects from old classloaders (#951, rep by Mattias Jiderhamn)
    • web-app merging for webapps/ROOT was improperly handling id="/" (rep by Keith Fetterman)
    • enable-select-manager had incorrect order in ServletServer (#967, rep by Rudy D'hauwe)
    • Amber: refactor for javax.persistence draft update
    • Hessian: use setChunkedStreamingMode when available (#955, rep by Alon Salant)
    • Use SoftReference to handle JSP memory issues with many pages (#600, rep by Uwe Schaefer)
    • Allow EL expression with missing web.xml (#941, rep by tinyspace)
    • Add missing synchronized in ServletManager.addServlet (#946, rep by Fiaz Hossain)
    • httpd.exe wasn't allocating enough space for the -J args count (#947, #948, #959, rep by Ed Hollingsworth)
    • <database> should support ManagedConnectionFactory (#221, #224, rep by D Rice)

    3.0.18 - Feb 23, 2006

    • ConnectionPool needs to be a lifo to avoid accumulating too many pool items (rep b Kaminsky Leonid)
    • max-create-connections wasn't included in DBPool (rep by Kaminsky Leonid)
    • (2006-02-15) mod_caucho was not properly handling check-interval larger than 32-bits (#926, rep by Mutsubu Inayama)
    • Changes in ./configure and Makefile for MacOSX EGREP libtool issue (#432, rep by jdane)
    • (2006-02-09) class-loader can now appear anywhere, not just first element (#924, rep by dlcr)
    • Amber inheritance needs to work with CMR (#301, rep by Francois Bertrand)
    • JMX Notifications on restart (#195, #237, rep by Erik Hartenian, Glenn Rush)
    • fmt:param wasn't printing children for validation (#893, rep by Ed Hollingsworth)
    • Apache2 mod_caucho needs to grab REDIRECT_URL and REDIRECT_QUERY_STRING (#87, rep by A Jacklin)
    • change escaping of command line argument for WIN32 service installation (#141, rep by Steve Arbour)
    • Hessian: improved cost calculation for constructors (#134, rep by Marc Ewert)
    • Hessian: swallow exceptions when calling getters (#57, rep by Alon Salant)
    • HttpProxyServlet needs to rewrite redirects (#51, rep by J Banister)
    • added allow-content-type and deny-content-type to GzipFilter (#119, #826, rep by Anupam Bagchi)
    • JSP tag try-catch-finally not generating safe variable (#908, rep by koreth)
    • Added threading library detection code for freebsd (#485, rep by spatula1)
    • java.util.Map as field wasn't properly introspected and error reported for CMP (#544, rep by p0p0lam)
    • Amber delete in transaction was ignoring recreation of same object (#462, rep by nquery)
    • ejbSelect was not properly converting return types (#860, rep by Andrew Barton)
    • byteCodeClassScanner not properly extending byte arrays (#837, fixed! by koreth)
    • Amber setNull for binary arrays wasn't using proper java.sql.Types (#871, fixed! by koreth)
    • EJB was not allowing get/setServer as fields (#865, rep by dlcr)
    • Added load-tld-on-init parameter to JspServlet
    • ServletContext.getURL should use exists() instead of canRead() to test for validity (#906, rep by jmhong)
    • jsp:include withing SimpleTag wasn't picking up encoding (#864, rep by Andrey Grebnev)
    • JspCompiler should ignore errors in initalizing the Application object (#587, rep by bb)
    • session data must be persisted before sendRedirect (#503)
    • Response.flushBuffer must flush response to client (#497)
    • sort session attributes on serialization for CRC issues (#821, fixed! by Mark Adams)
    • persistent store forced extra access_time updates (#821, fixed! by Mark Adams)
    • config parser needs to ignore DocumentType (#588, rep by bb)
    • added expand-suffix to web-app-deploy (#664, rep by George Cox)
    • add session-config/cookie-append-server-index (#706, rep by Serge Knystautas)
    • add min/max to profiler (#540, rep by Bill Au)
    • added system information to log file (#488)
    • added war-deploy as alias for web-app-deploy (#661, rep by George Cox)
    • Python implementation of Hessian bug fixes (#413, rep by Tim Peoples)
    • Handling UTF-8 characters over 0x10000 (#507)
    • Filters need the init() called at startup time (#494)
    • JSTL x:transform needs to handle body content flushing properly (#456, rep by urutora90)
    • HttpSession.setExpireInterval wasn't updating persistent session interval (#457, rep by Serge Knystautas)
    • forward must merge both old and new query string (#898, #876 rep by Sunil Racherla)
    • .tld loading required for JSF (#146, rep by prakashhegde)
    • XmlAuthenticator issue with passwords.xml changes (#475)
    • XmlAuthenticator wasn't handling empty userName (#494, rep by Shane Cruz)
    • ListenerResource must only spawn one listener for topics (#427, rep by martin)
    • body tag output flushes were disabling internal proxy cache (#279, rep by quotemedia)
    • tag-file issues with circular dynamic-attributes (#268, rep by Caleb Richardson)
    • Improve error message for failing connect-to-socket call (#225, rep by david)
    • multiple filter wrappers and forward were not handled properly (#243, rep by T Fukada)
    • Change error message for missing .tld file (#239)
    • ServletServer wasn't getting the ClusterContainer from its own classloader (#231, rep by K MacClay)
    • -server-root wasn't setting server.root properly on windows (#389, #495, rpe by martin, Keith Fetterman)
    • Fixed getResourceAsStream issue with spaces in classpath (#64, #598, rep by E Bowman, Kai Virkki Efecte)
    • wrapper.pl kill enhancment (#52, fixed! by B Bernstein)
    • JSTL XPath wasn't properly handling namespaces (#23, rep by jjongsma)
    • c:forEach wasn't properly restoring var with variables in request (#373, rep by bregnvig)
    • BundleManager wasn't finding properties in .jar files (fixed! by drice)
    • conn.isClosed() was throwing IllegalStateException (#564)
    • ExpiresFilter was not accepting IoC configuration (#890, rep by Serge Knystautas)
    • includes of .jspx files were not keeping namespaces (#872, rep by Bill Au)
    • JspCompiler wasn't properly setting isXml for jspx (#872, rep by Bill Au)
    • MysqlXAConnector cannot handle local transaction optimization (#894, rep by Brandon Cruz)
    • (2006-01-24) tag attribute of String[] wasn't set properly (#885, rep by tipiirai)
    • use-persistent-store error message needing Resin Professional (#558, rep by K Fetterman)
    • Add log message when searching classpath for .tld files (#888)
    • failed setuid now gives warning message
    • refactored fragment allocation for cache backing store to avoid timing issues
    • changed shutdown/restart code to use timed socket connections
    • Added warning message when srun index does not match expected value (#484)
    • backing store locking/timing issues causing trouble with cluster store (#848, rep by C Amott)
    • lifecycle/ResinServer was not distinguishing between destroying and destroyed (#878, found! by Mark Lai)
    • Add auto-flush attribute to access-log (#820, rep by Rick Ross)
    • duplicate <log> were outputting duplicate results (#877, rep by Mark Lai)
    • (2006-01-10) Added enable-select-manager
    • virtual hosts not handled by resin were not properly left to Apache (#846, #576 rep by borisk, Roberto Pesenato)
    • exceptions in resources should show stack trace (#445)
    • Check for null getParameterValues in DispatchRequest (#493)
    • AbstractRolloverLog had JDK 1.5 dependency (#498)
    • Added UserPreparedStatement.toString() (#523)
    • Add -pid-dir to wrapper.pl (#384)
    • wrapper.pl fixes for stdin being closed (#400, rep by ptuckey)
    • WIN32 doesn't support SNDTIMEO/RCVTIMEO (rep by Michael Quigley)
    • Configuration needs to ignore protected setters (#863, rep by Bill Au)
    • Quercus: version_compare fixes (#610, rep by Stefano Bagnara)
    • XML parser needs to detect missing whitespace between attributes (#472, rep by M Duchovny)
    • 64-bit detection for JNI needs to be distinguished from 64-bit for plugins (rep by Leonid Kaminsky)
    • Added <moved-permanently> to <rewrite-dispatch> (#403, rep by A Achuthan)
    • java.util.logging now uses the System property "file.encoding" to encode strings (#322, rep by Han)
    • Host with id="*" wasn't automatically started (#849, rep by Jean-Francois Lamy)
    • ./configure not properly detecting Apache 2 vs Apache 1 (#429)
    • ParseTagManager methods need to be synchronized for JSP compilation on server startup (#704, rep by Bryan Davis)
    • FileServlet needs to get character-encoding from init-param (#583, rep by Anoop Achuthan)
    • BigDecimal.ZERO is a JDK 1.5 constant (#858, rep by Vinny)
    • AbstractLogRollover should not use java.util.logging for messages to avoid deadlock (#851, rep by Thomas Moorer)
    • plugins should not dispatch automatically if no ResinConfigServer (#3, rep by M Muenke)
    • ./configure script wasn't adding resinssl on solaris (#665, rep by Mark Demma)
    • jsp:include/jsp:forward not properly handling runtime expressions (#852, rep by Rudy D'hauwe)
    • PageContext.removeAttribute must handle invalid session (#703, rep by Bryan Davis)
    • Amber entities not properly detached at end of context (#824, rep by C Amott)
    • (2006-01- 10) chdir/pwd fixes
    • Added Remote-IP to HTTP debugging (rep by Michael O'Dea)
    • Quercus: sprintf reworked to handle format incompatibilies (#553, rep by Stefano Bagnara)
    • Quercus: var_export (#647)
    • (2006-01-06) Quercus: get_defined_functions (#556, rep by Stefano Bagnara)
    • Quercus: func_get_args copy/ref issues (#607, rep by Stefano Bagnara)
    • Quercus: $_FILES, is_uploaded_file, move_uploaded_file (#652,
    • Persistent session block reference count not properly updated (#596, rep by Keith Fetterman)
    • Quercus: added mcrypt (#606)
    • Quercus: round has optional argument (#612, rep by Stefano Bagnara)
    • Quercus: table/column metadata encapsulated for mysql
    • Quercus: get_declared_classes (#605)
    • Quercus: extra arguments should be logged, not PHP warning (#512, rep by Stefano Bagnara)
    • Quercus: strtr and with longer strings (#534, rep by Stefano Bagnara)
    • Quercus: HTTP_COOKIE_VARS (#569)
    • Quercus: regexp support for :alnum: (#597)
    • Quercus: added alternate syntax (#536, rep by Stefano Bagnara)
    • Quercus: objects extend ArrayValue
    • Quercus: session_set_save_handler (#511, rep by Stefano Bagnara)
    • Quercus: setlocale, array_merge_recursive (#529, #533 rep by Stefano Bagnara)
    • Quercus: generating line numbers for compiled PHP code
    • Quercus: $_SERVER is writeable (#563, rep by Stefano Bagnara)
    • Quercus: const values in interpolated associative arrays parsed wrong (#586)
    • Quercus: register_shutdown_function (#551, #573, rep by Stefano Bagnara)
    • Quercus: === for arrays was implemented improperly (#560, rep by Stefano Bagnara)
    • Quercus: recognize $\{$foo} (#562, rep by Anoop K Achuthan)
    • Quercus: method_exists, exec, parse_str (#568, #574, #552)
    • Quercus: mysql_fetch_field shouldn't switch catalog when null (#554, rep by Stefano Bagnara)
    • Quercus: parse priority with ?: and += (#524)
    • Quercus: reserved words: $echo, $require, $or, $and, $xor (#537, #531, #530 rep by Stefano Bagnara)
    • Quercus: date issues with 'st', 'nd', 'rd' (#548)
    • Quercus: serialization of array added extra ';' (#555, fixed! by Stefano Bagnara)
    • Quercus: _SERVER['REQUEST_URI'] needs query string (#550, rep by Stefano Bagnara)

    3.0.17 - Dec 22, 2005

    • (2005-12-22) Quercus: add parse_url (#508, rep by Stefano Bagnara)
    • (2005-12-20) Multiple hosts combine by host-name, not root-directory (#489)
    • .tld parsing should not evaluate EL expressions (#499)
    • Added file/cluster store logging for length of serialized object (#522)
    • Quercus: unset allows multiple arguments (#509, rep by Stefano Bagnara)
    • Quercus: stdClass wasn't found from script (#513, rep by Stefano Bagnara)
    • Quercus: $return is not a reserved name (#514, rep by Stefano Bagnara)
    • Quercus Apache module: apache_note, apache_request_headers, virtual, getallheaders (#516, rep by Stefano Bagnara)
    • Added check for JDK 1.5 ($\{java.isJjava15()}) for Quercus

    3.0.16 - Dec 10, 2005

    • (2005-12-10) Caching no longer automatically adds Expires and Cache-Control
    • merge hosts based on host-name, not root-directory
    • (2005-12-07) conn.isClosed() should not throw an exceptiono (#453)
    • Offset bug in session/cache fragment store (#460, #480, #4, rep by K Fetterman, C Amott, A Balandran)
    • jmx validation needs to check vs 1.5
    • cache-mapping adds max-age and s-max-age
    • cache-mapping adds url-regexp (#440, rep by B Yang)
    • _collections in jms.ConnectionFactoryImpl needs to be synchronized (#401, rep by T Gennaro)
    • pageContext.findAttribute was throwing IllegalArgumentException for invalidated session (rep by B Davis)
    • welcome-file mapping was caching query parameters (#486, rep by Joshua Manton)
    • httpd.exe buffers sizes need increasing (#435)
    • when detect error while writing cache, disable keepalive and close
    • sockets and SSL changed to use blocking instead of non-blocking (#476)
    • Hosts with unset root-directory were getting merged without warning (#474, rep by L Geller)
    • Digest auth was requiring quoted string at end of client response (#420, Dustin Stallings)
    • DOM needs to add the DocumentType as the first value for a parsed XML (#284, rep by foolfish)
    • (2005-11-15) QEntity and QNotation were returning bad values for getNodeType (#424)
    • Added mime-type for xsl files (#444, rep by rdhauwe)
    • always-load-session now forces a load, ignoring clustering information (#439)
    • fmt:param wasn't accepting RT expressions (#464, rep by zgia)
    • EL expressions should be enabled if there is no web.xml (RSN-503, rep by Bin Sun)
    • JSTL fast was requiring <jsp/> tag (RSN-492)
    • AmberManager was requiring JDK 1.5 (RSN-504, rep by Kaven Lin and Takahiro Fukuda)
    • Change order of ssl and crypt in ./configure (rep by Mattias Jiderhamn)

    3.0.15 - Nov 15, 2005

    • (2005-11-14) -stdout/-stderr need to initialize the stream (rep by Keith Fettermann)
    • Sessions should be closed before servlets (rep by Michael Fortin)
    • Caching fixes for s-maxage and Vary cookies
    • Keepalive bookkeeping cleanup
    • Caching backend fixes for fragment allocation
    • (2005-10-10) Added Connection.sendBroadcast for broadcast events (rep by Kirk Rasmussen, RSN-429)
    • Added protocolCloseEvent to ServerRequest (rep by Kirk Rasmussen, RSN-429)
    • HttpStream needs a wrapper to avoid closing twice and allowing pooling (rep by Esahu Morales)
    • Amber IN(foo.next.bar) wasn't properly supported (rep by Christian Amott, RSN-439)
    • HttpPath lookup recursive loop (rep by Ajit Puthiyavettle)
    • (05-09-30) Apache1 mod_caucho needs REQUEST_CHUNKED_DECHUNK (rep by Darren Chapman, RSN-453)
    • sendRedirect wasn't closing the output (RSN-325)
    • isapi_srun was producing inaccurate error message when unable to connect backend (rep by Jean-Francois Lamy, RSN-408)
    • Add getPreparedStatement to UserPreparedStatement (rep by James Kucharski, RSN-402)
    • getResource wasn't properly looking up resources in classloader parent (rep by masayuki takahashi, RSN-395)
    • Hessian/Burlap now requires java.io.Serializable of serialized classes (rep by Thaddeus Dombrowski, RSN-443)
    • If client disconnects in mod_caucho, clean up server stream properly (rep by yBranko Gracnar, RSN-420)
    • @OneToOne bidirectional is now allowed (rep by Francois Bertrand, RSN-406)
    • Added _FILE_OFFSET_BITS=64 to Linux JNI compilation (rep by Bill Au, RSN-388)
    • HostRegexp wasn't properly matching secondary regexps (rep by Shane Cruz, RSN-417)
    • ByteCodeParser wasn't grabbing method exceptions properly (rep by Marcus Richardson, RSN-437)
    • JSP 2.0 .tag file wasn't assigning properly for 'value' attribute (rep by William Wallis, RSN-424)
    • XML CDATA wasn't supporting xfffd (rep by Tom Davies, RSN-418)
    • Adding an index.jsp was not properly detected. (rep by P Barry, RSN-415)
    • JSP 2.0 .tag file was not allowing Java reserved names as attributes (rep by Jeroen van Vianen, RSN-433)
    • JSP files need to add .tld dependency (rep by Ajit Puthiyavettle, RSN-423)
    • Missing JSP adapter declaration for 1.2/2.0 tag files (rep by Andrey Grebnev, RSN-436)
    • Single-signon timeout was affecting other sessions (rep by K Wimmer, RSN-404)
    • Allow EL expression \${foo.bar} to refer to system property "foo.bar"
    • 100-continue response needs to be flushed (rep by T Fukuda, RSN-414)
    • Caching updated to obey disk-size attribute (rep by Craig Lurey, RSN-412)
    • bug in LruCache.removeTail preventing true LRU removal
    • use mail.smtp.host and mail.smtp.port for mailto: (rep by A Sharaz, RSN-409);
    • jsp tld-dir wasn't picked up properly (rep by J Benton, RSN-425)
    • Implicit cluster selection is now available (rep by Bill Au, RSN-416)
    • JSP tag file issue with dynamic properties and scriptlets (rep by D Rice, RSN-419)
    • Changed meaning of <xa> to mean the connection should participate in a transaction (default true)
    • Added xa-forbid-same-rm to avoid Oracle join issues (rep by Patrick Burleson, RSN-426)
    • (2005-09-12) Remove deadlock in AccessLogWriter (rep by studdugie, RSN-421)
    • sendError after flush is an illegal state
    • Set-Cookie for version 1 needs to set max-age and path
    • Host ETag needs to be set even on initial call (rep by Keith Fetterman)
    • Update issues with mod_caucho (rep by Keith Fetterman)
    • XmlAuthenticator.addRole must be public (rep by A Puthiyavettle, RSN-405)
    • Allow AbstractAccessLog overriding (rep by Serge Knystautas, RSN-400)
    • Cleaned up FastCGIServlet for socket reuse (rep by A Achuthan, RSN-363)
    • Added character-encoding init value to FileServlet (rep by E Bowman, RSN-387)
    • LoopTagSupport should use getLoopStatus() in implementation (rep by Erik Boye, RSN-401)
    • Added <restart-mode> to <server> (RSN-396)
    • dependency tag was using wrong implementation class (rep by Will Jaynes, RSN-403)
    • MessageDrivenBeans not properly freeing received messages (rep by T Gennaro, RSN-380)
    • Enhanced mod_caucho debugging (rep by Branko Granar, RSN-381)
    • Call setURL on java.sql.Driver when available (rep by Kirk Rasmussen, RSN-293)
    • The default .pid file now uses the value from the -server argument (RSN-50)
    • path-format issues with stdout-log and stderr-log (RSN-334)
    • mod_caucho configuration updates need to recycle sockets (rep by Michael McDonald, RSN-378)
    • Configuration errors now send severe errors instead of warnings (rep by Bill Au, RSN-336)
    • Add warning if a web-app's directory is the same as resin.home (RSN-393)
    • $\{server.root} and $\{host.root} are now prefered variable names
    • c:if wasn't handling var parameter properly (rep by Ralph Schaer, RSN-392)
    • PageContext wasn't properly restoring stream from SimpleTag (rep by Sergey Zubtcovskii, RSN-375)
    • EL expressions weren't marshalling to String properly (rep by Alex Grief, RSN-370)
    • EJB/Amber ManyToMany wasn't properly supporting order-by (rep by Christian Amott, RSN-311)
    • EnvAmberManager needs to be separate per ejb-server (rep by Christian Amott, RSN-308)
    • (Aug 11, 2005) Significant changes to session and cache persistence store
    • Improved error message in wrapper.pl.in when JAVA_HOME isn't set and PATH doesn't contain java (rep by Ryan Fields, RSN-367)
    • Use Lifecycle in ResinServer
    • <host> and <host-deploy> are properly merged (rep by Ivan Jouikov, RSN-360)
    • Explicit <web-app> can override the webapps context-path (rep by Abhijit Naiksatam, RSN-364)
    • FastCGIServer must parse "200 OK" as setStatus(200) (rep by Jason Foreman, RSN-366)
    • JNI memory allocation was using incorrect size on 64-bit servers (rep by Tom Hintz and Stephen Henrie, RSN-250, RSN-374)
    • JniServerSocketImpl _fd must be assigned inside a synchronization (rep by Tom Hintz, RSN-250)
    • DynamicClassLoader.loadClass must be synchronized (rep by Joseph Toth, RSN-373)
    • RunnerRequest was not properly clearing the isSecure flag on each request (rep by David Rice, RSN-137)
    • Use dependency-check-interval for webapps update checking (rep by Vincent Massol, RSN-186)
    • xsi:schemaLocation should be optional (rep by Vojtech Habarta, RSN-358)
    • xsl:template needs to allow override (rep by C Yttesen, RSN-310)
    • setuid order changed to appear after ports (rep by Mark Abbott, RSN-306)
    • Amber-managed entity beans weren't properly cache timing out (rep by christian amott, RSN-313)
    • RotateStream default period and size must be infinite (rep by Bill Au, RSN-315)
    • Period of "-1" turns into infinite (rep by Bill Au, RSN-315)
    • Amber query cache should not be limited to first 25 items (rep by christian amott, RSN-328)
    • read-only Entity beans should not be reloaded in a transaction (rep by christian amott, RSN-330)
    • JavacErrorParser now uses the javac enconding instead of file.encoding (rep by T Fukuda, RSN-332)
    • jsp:directive.include wasn't working with jspx (rep by Dmitry Savenko)
    • Updated default log rollover size to 2G (rep by Bill Au)
    • Fixed race condition in ResinServer.close (fixed! by Fiaz Hossain)
    • Added setRestartOnClose to ResinServer (rep by Fiaz Hossain, RSN-350)
    • Added EnvironmentLogger.removeHandler (rep by Fiaz Hossain, RSN-351)
    • Need to change MDB and session shutdown order to properly close response (rep by Guenther Wieser, RSN-365)
    • Added %D to access-log format to allow for millisecond timing (rep by Bert Ano)
    • Added override of resolveProxyClass in ContextLoaderObjectInputStream (rep by Gunther Wieser, RSN-345)
    • Fixed pthread_mutex_lock define in Solaris to mutex_lock (Joe Dane, RSN-343)
    • JNI calls require JNICALL and JNIEXPORT (rep by Chanan J Braunstein, RSN-341)
    • pro Makefile.in was missing resin_os (rep by Bill Au)
    • Added IOExceptionWrapper to catch Hessian errors (rep by Patrick Lightbody)
    • Added support for Amber ORDER BY with many-to-one relations (rep by A Barton, RSN-86)
    • Added compiler="eclipse" to <javac>

    3.0.14 - July 5, 2005

    • (2005-05-30) package version check needs to allow more recent versions (rep by Jan Kriesten, RSN-327)
    • Fixed EntityManager compatibility issue with JDK 1.4 (rep by Christian Amott, RSN-321)
    • mod_caucho host->etag must only be set when configuration is properly updated
    • expand-cleanup-fileset needs to merge with explicit <web-app> (rep by Bill Au)
    • Updated AccessLog flushing to avoid threading/locking hotspot
    • RemoteFilesystem needs to validate .war digest at end of transmission to avoid sending data partial .war files (rep by Patrick Burleson, RSN-290)
    • QDocument importFragment of DocumentFragment wasn't looking at proper node to copy (rep by James Howe, RSN-259)
    • Updated AccessLog flushing to avoid buffer corruption (rep by studdugie)
    • mod_caucho.c needs to check for null headers[i].val (fixed! by Klas Lindfors)
    • Updated configure script to properly create and remove temp file (rep by Mark Abbott)
    • Update ClassDependency to use getDeclaredXXX and to recursively check parent classes
    • (2005-06-15) resin:include wasn't properly enabled (rep by Greg Schroeder)
    • run.cpp set_jdk_args was missing resin_home parameter (fixed! by Patrick Burleson)
    • <servlet> needs to allow both <init> and <init-param> (rep by Kirk Rasmussen)
    • Update JDKReader to support java.io encodings if Charset doesn't support (rep by T Fukuda)
    • (2005-06-10) Added numeric support to internal database
    • backed out Context.lookup exception changes to minimize 3.0.14 disruption
    • Changed x-anonymous caching so the external headers are always no-cache (rep by Kirk Rasmussen)
    • session timeout was using incorrect access-window from persistent-store instead of session-config (rep by B Davis)
    • jni_vfs.c pthread_lock #define needs to change to pthread_mutex_lock (rep by Tom Hintz)
    • session store not properly configured in SessionManager
    • reversed stdout: change, continues to work as before (rep by Keith Fetterman)
    • keepalive timing issue keeping track of keepalive threads (rep by Malte Muenke)
    • (2005-05-26) EJBCompiler should be able to work even through transactions aren't available (rep by Kirk Rasmussen)
    • sendError from inside error page must not go through ErrorManager (rep by Massimo Mirabito)
    • Amber DoubleType.setParameter wasn't handling the double type property (rep by Mieke Mocke)
    • --with-openssl wasn't properly setting SSL_INCLUDE and SSL_LIB (rep by Forrest Girouard)
    • Jar wasn't properly catching and retrying for changed .jar files (rep by Shane Cruz)
    • EjbConfig.BeanComparator.compareTo needs to be a total order for sort() to work (rep by Kirk Rasmussen)
    • Context.lookup needs to throw NameNotFoundException (rep by Kapil)
    • error page with sendError or rethrow causes error page trouble (rep by Amit Jain)
    • JspCompiler needs to check for valid -app-dir and report a message (rep by Kapil)
    • Encoding needs to return KOI8-R instead of KOI8_R for CharSet.forName (rep by Boris Kovalenko)
    • rewrite-dispatch was missing from web-app schema (rep by Anoop Achuthan)
    • Node.getBaseURI() isn't available in JDK 1.4 (rep by Bin Sun)
    • (2005-05-25) JMS null pointers for empty bodies (rep by Thomas Gennaro)
    • JMS null pointer when headers null (fixed! by Thomas Gennaro)
    • HessianServlet wasn't calling in.setSerializerFactory (rep by John Didion)
    • host-name can now accept EL values (rep by David Becker)
    • JMS mysql had invalid column type (rep by Kapil)
    • Cache expansion issue in LongKeyLruCache not observing powers of 2
    • mod_caucho fixes for 404 issues reading backend map
    • mod_caucho wasn't reading length properly from the no-change response
    • Avoid SetByteArrayRegion entirely (rep by J Tullett)
    • JMS MemoryQueue issues with QueueBrowser (rep by Thomas Gennaro)
    • Table row allocation clock not properly reset
    • BTree methods not properly synchronized
    • BTree remove wasn't properly creating WriteBlocks and saving changes
    • BTree remove logic wasn't merging blocks
    • (2005-05-18) cache, range, and chunked bug - pdf issues (rep by Chanan Braunstein)
    • Updated wrapper.pl and httpd.exe to set -Dresin.home and -Dserver.home to RESIN_HOME and SERVER_HOME (rep by Suresh Sastry)
    • ./configure script was using libcrypt instead of libcrypto (rep by Forrest Girouard)
    • transport-guarantee redirect wasn't adding query string properly (fixed! by David Becker)
    • JSP EL sessionScope NPE when session="false" (rep by Bin Sun)
    • Added cookie-module-cluster to session-config defaulting to false (rep by Anupam Bagchi)
    • session timeout must match persistent timeout (rep by Forrest Girouard)
    • filter-class validation was using old BeanUtil instead of Config (rep by Zhenlei Cai)
    • isapi_srun.dll issues with flushing (rep by Jason Fotinatos and Clark Archer)
    • GzipFilter now accepts deflate as well as gzip (rep by Anupam Bagchi)
    • Added TaskResource
    • __FILE__ is available in the config file for the current file (rep by Glen)
    • stdout: and stderr: use the original system.out. They are no longer affected by <stdout> and <stderr> (rep by David Becker)
    • (2006-05-16) UserPoolItem used IllegalStateException(Throwable) which isn't available on JDK 1.4 (rep by Patrick Burleson)
    • Added read-data-source and xa-data-source to ejb-server
    • refactor amber to handle multiple ejb-server blocks (rep by Francois Bertrand)
    • mod_caucho.c compilation problems with solaris
    • ByteCodeClassScanner needs to swallow .class parse exceptions and log the error
    • Amber boolean fields now allowed as booleans in queries
    • PingMailer wasn't allowed as resin:type to ping (rep by T Moorer)
    • resin:type must override createXXX method
    • Add LIKE support to internal database
    • persist() should ignores duplicate entities
    • Allow reverse ordering of CMP 2.1 map (rep by H Grace)
    • @ManyToOne JoinColumn was ignoring nullable and unique (rep by Igor A Tarasov)
    • Check for nullpointer in Jmx.copyContextProperties (rep by D Becker)
    • JSP not properly handling backslash in rtexprvalue (rep by Klaus Friedel)
    • Changed default keepalive timeout to 60s

    3.0.13 - May 6, 2005

    • (2005-05-04) missing lock on mod_caucho configuration read
    • Response flushing could occur early on echo
    • (2005-05-03) IP logging for hmux wasn't setting proper IP (rep by Allen Firstenberg)
    • (2005-05-02) EJB initialization wasn't properly setting parent class loaders for servers (rep by Patrick Burleson)
    • ELParser wasn't consistent in the copy order (rep by Caleb Richardson)
    • Improve EJB error message with missing setter
    • Added setReadTimeout to HessianProxyFactory (rep by John Didion)
    • EL functions weren't converting char parameters properly (rep by Thorbjorn Anderson)
    • continuous redeploy on .war/.ear failure has changed with the deploy refactoring (rep by Patrick Burleson)
    • ROOT.war handling was not handling case-insensitive properly (rep by J Rogers)
    • JaasAuthenticator has misleading error message for missing login-module (rep by Jan Heise)
    • c:forEach issues with step != 0 (rep by T Palmer)
    • cleaned up StoreManager.getServerList() for startup (rep by Mirko Herzog)
    • EnvironmentProperties.put needs to allow for non-string values (rep by Zhenlei Cai)
    • Hessian ref writing wasn't creating proper integers (fixed! by Andy Nahapetian)
    • resin:message needs attribute for name in .rnc (rep by D Becker)
    • .ear module needs to allow id (rep by Patrick Burleson)
    • JdbcMessage needs to set autoincrement data before testing for table (fixed! by Mircea Crisan)
    • Hessian deserializers were not properly cached (fixed! by John Didion)
    • session timeouts must match persistent session timeout
    • DynamicClassLoader should ignore .class files which cannot be parsed (rep by Bryan Davis)
    • active-wait-time is now configurable (rep by Michael O'Dea)
    • JSP fragments weren't properly assigning the tag's context (rep by Bear Bibeault)
    • FileServlet wasn't handling If-Modified-Since sent by IE (rep by Anupam Bagchi)x
    • (2005-04-26) On Win32, use GetPrimitiveArrayCritical for get_byte_array_region (rep by Brian Deng and Joel Firehammer)
    • Hessian/EJB now supports forwarded transactions
    • _toByte not properly initialized in ToByteResponseStream
    • JSP issues with c:forEach and proper tag parent initialization (rep by Serge Knystautas)
    • description was missing from relation-role (rep by Igor Tarasov)
    • HmuxLoadBalanceServlet needs to retry timed out (rep by Scott Nelson)
    • (2005-04-10) Fixes to backup index calculation for '-' and '_'
    • JMX toString() and hashCode() need to allow invocation (rep by Jason Chaffee)
    • Refactored file and cluster persistent store to share common persistent backing
    • Moved common JMX/Environment handling code to EnvironmentDeployController
    • Changed default access log rollover size to 1G.
    • Reordered ObjectName so type is always first
    • Added MBeanHandle to allow proxies as return values of MBeans
    • (2005-04-04) ClusterStream wasn't tracking connections accurately (rep by Scott Nelson)
    • Add HmuxLoadBalanceServlet logging (rep by Scott Nelson)
    • Reworked DeployController to make JMX common
    • (2005-04-02) Add round-robin strategy to HmuxLoadBalanceServlet (rep by Dan Schwalbe)
    • clustered store wasn't properly invalidating remote
    • clustered session id problem with overflow of 64 (rep by Dan Schwalbe)
    • Added config: scheme and RemoteFilesystemServlet
    • ClassDependency needs to sort Exception
    • Allow resin:type in openssl password (rep by John Didion)
    • Added multipart form upload check for full disk (rep by Paul Nakada)
    • JMX wasn't registering the JMX delegate properly (rep by Jason Chaffee)
    • JDK 1.4 compat must remove LocalVariableTypeTable and fix LocalVariableTable for jikes 1.22 (rep by Joel Firehammer)
    • Caching db.Store needs to close RandomAccessFile, since RandomAccessFile doesn't seem to have a finalizer
    • Added static com.caucho.server.resin.Resin.shutdown() (rep by
    • Hessian readResolve/writeReplace were requiring public (rep by Josh Helmer)
    • (2005-03-21) AccessLog for hmux was printing remote IP for local machine, not client (rep by Markus Ken Moriyama)
    • Cluster communication issues with keepalive
    • removed DynamicClassLoader finalizer to help GC
    • Thread threads on web-app restart to avoid ThreadLocal issues (rep by Bill Au)
    • Adding missing jaxrpc API methods (rep by Fiaz Hossain)
    • Adding missing saaj API methods
    • added <connection> config to <database>
    • relaxng performance cleanup
    • ./configure compilation with broken openssl (rep by Mark Abbott)
    • i18n virtual issue with dots (rep by Itera Denmark)
    • Attributes.getValue(uri,localName) and null namespace issues (rep by Scott Lamb)
    • EJB/CMP was creating sequences even when create-database-tables='false' (rep by Christian Amott)
    • Fixed mapping of "/*" for plugins. (rep by Olaf Jentsch)
    • Added cluster client management to disable particular backends (rep by T Stray and Gary Doughty)
    • Added sample iptables in contrib
    • Cleaned up 503 failover for HmuxLoadBalanceServlet (rep by A Sade and J Robinson)
    • ResinConfigServer was losing host and timeout information
    • Added driver-type to database driver configuration
    • persistent-store now included as default resin.conf
    • i18n was using javaName instead of the encoding which was failing for KOI8-R
    • HmuxRequest needs the header capacity increased to 256
    • ignore-client-disconnect was ignored
    • added path-format to access-log (rep by Matthew Schmidt)
    • Added archive-path to web-app (rep by D Rice)
    • Amber extended to handle more than 64 fields (rep by christian)
    • detect illegal "xmlns:" attribute (rep by Jeroen van Vianen)
    • log non-serializable values put into sessions
    • EJB server start() changed to an environment callback for timing (rep by Andrea Mari)
    • ExpressionEvaluator was ignoring FunctionMapper
    • Add host-alias-regexp
    • make LinkProxy serializable
    • in .ear files, the manifest classpath entry is added to the ent-app environment
    • XSLT handling of default namespace (rep by James Howe)
    • Removed poll_read from accept
    • Added com.caucho.jms.resource.ListenerResource and com.caucho.jms.resource.MessageSenderResource.
    • Added var to <resource>
    • Added $\{root.*} EL variables
    • Refactor of server.config
    • Hello, world tutorial order of servlet-name and url-pattern
    • PageContextImpl must call responseAdapter.finish(), not close() (rep by Bryan Davis)
    • "ru" was using cp1251 instead of ISO-8859-5 (rep by Dmitry Tsigelnik)
    • (2005-02-28) mod_caucho issues with keepalive (rep by Gary Doughty)
    • Refactor of server.deploy

    3.0.12 - Feb 15, 2005

    • JspCompiler needs to understand environment values like javac (rep by Hong Wu)
    • OpenSSL issue: QJniServerSocket was using JDK 1.5-only method (rep by Gary Doughty)
    • removed Page finalize method

    3.0.11 - Feb 15, 2005

    • isapi keepalive backed out due to issues with chunked encoding
    • (2005-02-14) JSP char buffer issues with large buffers (rep by Markus Ken Moriyama and Bryan Davis)
    • setup.exe changes for Windows 2003 (rep by Jonathan Cavadini)
    • (2005-02-08) set content-length: 0 on 304 responses (rep by Takahiro Fukuda)
    • taglib-location needs to handle "file:/..." values (rep by Bill Au)
    • isapi_srun.dll issues with g_config initialization (rep by Amos Shapira)
    • Multiple changes in .smap/line numbering
    • JSP .tag files weren't validating properly (rep by Alon Salant)
    • logging in HmuxRequest wasn't handling offset correctly (rep by Oscar Sumano)
    • isapi_srun.cpp wasn't allowing keepalive (rep by Frank Nestel and Jens Gerhard)
    • (2005-01-27) synchronization issue with class loader and entry cache (rep by Thorkild Stray and Charles Reid)
    • (2005-01-26) CGIServlet error status wasn't reported correctly (fixed! by Nancy Deschenes and G Homicki)
    • CGIServlet needs to handle Location like sendRedirect (fixed! by Nancy Deschenes and G Homicki)
    • CGIServlet needs to throw exception for non-zero exit status (fixed! by Nancy Deschenes and G Homicki)
    • CGIServlet needs to search to handle path_info (fixed! by Nancy Deschenes and G Homicki)
    • CGIServlet needs to change the directory (fixed! by Nancy Deschenes and G Homicki)
    • include request.getHeaderNames wasn't handling if-modified-since properly (rep by Stephen Henrie)
    • mod_caucho updates to handle manual hosts (rep by A Jacklin)
    • HttpProxyServlet was not handling reset connections properly (rep by J Banister)
    • Issues with JDK 1.4 compatibility conversion (rep by Bryan Davis)
    • Config exceptions now logged with stack trac. (rep by Patrick Burleson)
    • MessageServer.Consumer.destroy() must check for session null before closing (rep by Patrick Burleson)
    • byte[] values for CMP were not properly handled (rep by Alvin Lau)
    • allow directory webapps/foo.war/ to represent /foo (rep by Patrick Burleson)
    • (2005-01-21) Improve Hessian error message when sending overloaded arguments (rep by Christian Campo)
    • IIOP marshall was using write_abstract_interface instead of write_object for Session objects (rep by Andrea Mari)
    • Added logging to print restart information on halt (rep by Ann Marie Gunther).
    • CGIServlet has new "executable" attribute (rep by Greg Brondo)
    • Added unclean-shutdown to openssl configuration
    • Added Amber load, create, update logging
    • Improved thread naming
    • AbstractParser needs to distinguish between top-stream and substream (rep by S Aiken)
    • Forbid user-name on all Linux, since it's not properly implemented. (rep by Allon Bendavid)
    • JSP namespace declarations weren't generated for %@ taglib (rep by Ari Savolainen)
    • Updated ResinStatusServlet to handle global JMX values (rep by Neil Fradkin)
    • HmuxRequest needs to break large responses into chunks (rep by Bryan Davis)
    • Last-Modified check should allow +0000 as synonym of GMT (rep by Scott Yancey)
    • Changed validation messages to include namespace when necessary (rep by Jared Cook)
    • ResinConfigServer of "current" uses gethostname
    • ContextImpl.list needs to pass "" instead of null for null list (rep by Andrea Mari)
    • Added forbidden, gone, and not-found to rewrite-invocation
    • FastCGIServlet needs more than one keepalive socket (rep by Chem)
    • CacheEntry wasn't removed when replaced
    • encodeURL shouldn't alter ?a=b (rep by Alexk)
    • JspCompiler was assuming JMX environment which was unavailable for a standalone call (rep by Hong Wu)
    • (2005-01-18) Add logging of Hessian server-side errors (rep by Christian Campo)
    • Burlap/Hessian deserialization with Object.class wasn't picking up types (fixed! by Mat McGowan)
    • Added error reporting when Hessian setting of a field fails (rep by ramk5101)
    • HessianRuntimeException needs to implement getCause() (fixed! by Christian Campo)
    • Hessian ArrayDeserializer needs to return the actual array type (fixed! by Christian Campo)
    • Hessian throwables should use the actual throwable class (rep by Christian Campo)
    • JspPrecompileInstance with -conf wasn't creating application properly (rep by Hong Wu)
    • HessianProxy needs conn.disconnect (rep by Steen Jansdal)
    • ServletServer was starting ClusterDef ports
    • Added enable to DirectoryServlet
    • Added default to resin:set
    • Added XsltFilter getResult to improve customization
    • Check for httpd2 for Apache2 on SuSE (rep by Don Coleman)
    • getWriter needs to set the checkError() value (rep by Dorel Vaida)
    • EJB message beans need separate JNDI environment for each bean (rep by Patrick Burleson and Ilker Egilmez)
    • web-app-deploy now allows for expand-cleanup-fileset (rep by Benoit Lubek)
    • eliminated plugin recursive loop with host_name="" (rep by Bryan Davis)
    • (2005-01-14) ExpandEntry wasn't handling null digest values (rep by Dmitri Rakitine)
    • ./configure test for openssl on solaris needs proxy libs (rep by Mark Abbott)
    • compilation cleanup for saaj (rep by Jeroen van Vianen)
    • broken ejb in .ear file should display errors in the webapps
    • .war and ejb .jar files in .ear need to recognize the Class-Path (rep by Patrick Burleson)
    • eliminated need to retroweaver, fixing .class for jdk14, jikes, and jrockit
    • (2005-01-11) HostContainer.getErrorApplication needs to set servlet-name
    • changed "ru" locale to default to ISO-8859-5 (rep by Dmitry Tsigelnik)
    • host/web-app regexp need to add mbeans properly
    • web-app tld specification must override default .jar/.tld definition (rep by Jeff Turner)
    • Hessian char serialization changed to use String consistently (rep by Dimitri Minich)
    • Amber should not pick up Hibernate files (rep by Jan Heise)
    • Compilation changes for JDK 1.5.0_01 (rep by Jeroen van Vianen)
    • FastCGIServlet should handle "status" as special return code
    • Fix EL equality checking for objects
    • JSP 404 checking could forwarding twice, resulting in incorrect access log
    • Connections not properly checking for port closure on request
    • Multiple ClusterStore synchronization issues
    • Error in validation of MDB: activation-config-property (rep by Andreas Mueller)
    • (2005-01-05) persistent store needs to respect the session timeout, not have a longer one
    • added cmp-field auto-generate="false" to disable autogen (rep by Richard Yee)
    • (2005-01-03) change database validation
    • cluster-store database threading fixes for index
    • JSP buffer cleanup
    • host regexp was instantiating too many JMX values (rep by Shane Cruz)
    • Combined keepaliveBegin/keepalive in Port for reliability (rep by Dave Mollenhoff)
    • Added connection-max to http/srun ports (rep by Dave Mollenhoff)

    3.0.10 - Dec 20, 2004

    • Amber @OneToMany must handle parameterized types. (rep by Carlos Pita)
    • EnvironmentProperties.put needed to implement Object-argument methods (rep by Chris Pratt)
    • Add javac max-batch to configure the number of .java compiled (rep by Yaakov Chaikin)
    • ContextImpl.composeName reversed prefix and suffix (rep by N Yurchenko)
    • HmuxLoadBalanceServlet was not detecting closed clients properly (rep by Leonid Geller)
    • resin:type and resin:import need their namespaces (rep by Robert Koberg)
    • (2004-12-06) licenses should be allowed in the -server-root (rep by chem)
    • Amber fields were initialized before properly sorting, causing potential field swapping
    • Jar reload requires the jar files be closed (rep by Chris Chen)
    • getMethod in EjbBean needs to check concrete superclasses before interfaces (rep by Jan Gregor)
    • rotate-log with period and size need to work together (rep by S. Higgins)
    • DynamicClassLoader should cache resource URLs
    • Application buildInvocation needs to cache the filter chain
    • BundleManager needs TimedCache
    • ClassDependency digest sorting must distinguish overriding methods
    • ClassDependency and Depend should use CRC64
    • filters calling JSP including HTML were using getOutputStream (rep by Matt Raible)
    • resource-ref must validate JNDI at Application init (rep by Matt Raible)
    • flush() in WrapperResponseStream should not automatically allocate an OutputStream (rep by Matt Raible)
    • jstl was still picking up Resin's JSTL implementation (rep by John Hyun)
    • transaction timeout must only mark the transaction as rollback-only (rep by Po Cheung)
    • Listeners in web.xml should override .tld listeners (rep by Matt Raible)
    • If connections aren't closed, save the allocating source automatically
    • application listener destroy must be called after session listener destroy
    • xsl:decimal-format wasn't escaping &apos; properly (rep by Rick Meyer)
    • request.getServerName() must return the Host value, not the canonical name
    • c:param should work as grandchild of c:import (rep by Steve Swing)
    • c:param in c:import wasn't encoding '%' as '%25' (rep by Dean H)
    • EJB wasn't generating code for inner classes properly (rep by Jan Gregor)
    • Added cookie-http-only (rep by Knut Forkalsrud)
    • jsp-directive-page wasn't setting the default page-encoding (rep by Chris Chen)
    • LocaleSupport wasn't handling fmt:bundle prefix (rep by Steve Swing)
    • Avoid potential timing problem with AbstractHttpRequest.getSessionManager (rep by Neil Fradkin)
    • fmt:bundle not working properly with fallback locale (rep by Charles Fu)
    • Add lazy-servlet-validate for ISPs (rep by J Robinson)
    • auto-consraint with no roles is equivalent to forbidden (rep by Hiroaki Kawai)
    • transport-guarantee was not enforced in combination with form-login
    • Added <ssl-session-cookie>
    • JSTL fmt:setLocale wasn't handling variant (rep by Paul Egli)
    • Accept Foo$Bar as <tag-class>
    • portlet-10.jar needs to be compiled with JDK 1.4
    • JspCompiler now compiles batches of JSP files (fixed! by Bin)
    • Added require-file to ear-deploy and war-deploy (rep by Patrick Burleson)
    • Added expand-prefix to ear-deploy and war-deploy (rep by Patrick Burleson)
    • Amber query with trailing tokens were not printed as early as possible
    • abstract-schema-name needs to check for conflicts
    • Added <server-header> to override Server: Resin/foo (rep by Adam Ratica)
    • %T option wasn't properly counting the expired time for keepalives (rep by Jan)
    • XmlAuthenticator setPassword wasn't properly setting principal (rep by Dave Brosius)
    • XmlApplicationPath setRoot wasn't setting root (rep by Dave Brosius)
    • JMX TimerJob wasn't setting nbOccurrences properly (rep by Dave Brosius)
    • PasswordCredential wasn't properly assigning mcf (rep by Dave Brosius)
    • amber UnaryExpr isBoolean had improper test (rep by Dave Brosius)
    • Application.addSecurityRole was missing (rep by Joe Bissen)
    • HotSwap should work with -jdwp - only available with JDK 1.5
    • mod_caucho wasn't properly handling 503 for virtual hosts when Resin down (rep by K Fetterman)
    • (2004-11-26) Added keepalive-max to <host> (rep by Dane Foster)
    • UserConnection.addStatement NPE (rep by Dimitri Rakitine)
    • gzip filter and include were not interacting properly with caching (rep by Scott Yancey)
    • Added "merge:" schema (rep by Takahiro Fukuda)
    • JMS/JCA wasn't reusing pooled items properly (rep by Bryan Davis)
    • Changes for JMS Oracle compatibility with Topics (rep by Bryan Davis)
    • Added message-consumer-max to ejb-server for message queue parallelism (rep by C Cao)
    • (2004-11-18) JMS compatibility with Oracle (rep by Bryan Davis)
    • Connection UserPoolItem must store original transaction for delisting (rep by Dimitri Rakitine)
    • Store fragment locking on wrong object
    • Statement overflow for pooled connection (rep by Dimitri Rakitine)
    • UserPoolItem/PoolItem issues with multiple transaction enlisting (rep by Dimitri Rakitine)
    • OneToMany for fields wasn't generating proper code
    • Burlap Base64 was incorrect (fixed! by kellegous)
    • hashCode in CachedQueryKey has potential NPE (fixed! by Dave Brosius)
    • XML parsing of ATTLIST wasn't checking "ID" properly (fixed! by Dave Brosius)
    • EJB-QL BETWEEN wasn't handling NOT correctly (fixed! by Dave Brosius)
    • Need to allow description in <web-app> (rep by Keith Fetterman)
    • Added mbean-name to <log>
    • com.caucho.security.PolicyImpl needs to handle null ProtectionDomain from RMI (rep by Damien Mascord)
    • ThreadPool startConnection was returning false when it should wait for connection (rep by Dave Moellenhoff)
    • Cleaned log message for JSSE socket with no client certificate (rep by javatester)
    • Context parent classloader not properly set for host regexp (rep by R Clifton)
    • 304 was adding Expires for non-cached configuration (rep by javatester)
    • Improved error reporting on JniFilePathImpl (rep by E Ceccarelli)
    • JMS ObjectMessage deserialization requires context loader (rep by A Nyhren)
    • Added META-INF/resin-ejb-jar.xml (rep by P FitzPatrick)
    • shutdown-wait-max was not properly catching interruptions to wait for web-app timeout (rep by D Turakhi)
    • (2004-11-08) fixes to the new proxy caching code
    • (2004-11-07) lazy web-app now has idle-time for undeploy
    • lazy web-app with startup errors are not automatically restarted by alarm
    • Increased default characters for session cookie-length to 16
    • Updated session cookie generation to enhance randomness
    • .class dynamic reload was not correctly releasing class definition (rep by Gary Doughty)
    • License init order needed changing to handle IBM JDK (rep by Gary Doughty)
    • HmuxRequest needs to handle keepalives properly by ignoring Connection: close (rep by Chip Yamasaki)
    • ThreadPool needs to call interrupted() before wait (rep by Javier Ordonez)
    • added resin.jar startup to Resin-Pro with resin.conf parsing (rep by F Garcia)
    • Added bind-ports-after-start (rep by Bryan Barkeley)
    • Explicit web-app in resin.conf must override the webapps/ROOT
    • Multipart form now returns caucho.multipart.form.error.size (rep by Ryan Choi)
    • Multipart form now accepts caucho.multipart.form.upload-max (rep by Ryan Choi)
    • Updated i18n to handle java.nio.charset.Charset (rep by Koichi Takehara)
    • cluster-store updated to avoid massive dump on startup (rep by Felipe Garcia)
    • Added <error-page> at server level for busy messages (rep by Craig Lurey)
    • Added rewrite-dispatch (rep by Trieu Truong)
    • Added rewrite-real-path (rep by Trieu Truong)
    • Added capability for DBPool to create runtime pools (rep by Craig Lurey)
    • JSP SMAP problems with included files (rep by Louis Calisi)
    • JSP error-page with filters had ClassCastException (rep by Bryan Barkeley)
    • Check for stdout-log setting to stdout (rep by Bill Au)
    • OpenSSL needs to listen to specific host interface
    • servlet-mapping order was incorrect in .rnc file
    • (2004-10-19) .smap fixes for .jsp scriptlets (rep by Louis Calisi)
    • use .smap for ErrorPageManager instead of LineMap (rep by Louis Calisi)
    • <ping> socket timeout needs to accept Period (rep by Bill Au)
    • updated JNI to properly handle read-timeout and write-timeout (rep by Jud McKee)
    • updated ssl write handling to handle client disconnects (rep by Jud McKee)
    • HessianOutput.writeRef was incorrect (rep by Toby)
    • allow resin:type in string values (rep by Bob Rhodes)
    • removed unnecessary copies for file and caching writes
    • converted cluster to use internal database
    • converted caching to use internal inodes from database
    • limit the allowed URL size in the query cache
    • fmt:param wasn't properly printing XML version for validation (rep by Matt Raible)
    • x:parse wasn't recognizing doc attribute for JSTL (rep by John Hyun)
    • JSTL custom tags weren't checking for isScripting (rep by Jason Chaffee)
    • client-read-timeout needed in cluster-definition (rep by Girish Rathor)
    • solaris resin.h needs to define socketclose to close (rep by Richard Fein)
    • run-at servlets were not properly closed on web-app shutdown (rep by Gary Doughty)
    • Allow for paths like MergePath in document-directory (rep by Patrick Lightbody
    • Disable JSP .static pages to simplify precompilation (rep by Randy Eckhoff)
    • added support for char-caching of includes
    • added dispatch-wraps-filters
    • SC_SWITCHING_PROTOCOLS typo (rep by Nancy Deschenes)

    3.0.9 - Oct 1, 2004

    • (2004-10-01) Application needs to have _configException test as part of isModified()
    • pages generating sessions default to non-cacheable
    • JSP taglib issue with doEndTag returning bogus value (rep by Alpesh)
    • Fix Date second issues in HTTP response (rep by Ben Tyler)
    • multiple issues with resin:set, host context, and PathBuilder (rep by Will Jaynes)
    • missing null checks in JNI SSL code (rep by Andrew Marcuse)
    • validation of <filter-mapping> with Resin namespace flipped order filter-name order (rep by Olaf Krische)
    • request variables not available in JSP tag files (rep by Jason Chaffee)
    • tag files weren't receiving proper request and response values from wrapped PageContextImpl (rep by Jason Chaffee)
    • External compiler should discard missing paths from compilation classpath to avoid warnings (rep by David Soleno)
    • wrapper.pl wasn't properly handling pid removal (rep by Jason Chaffee)
    • Cache/Range fixes
    • Range fixes for multiple range values
    • (2004-09-15) Refactoring distribution into Resin/Resin-Pro
    • Connection.isClosed was throwing illegal state exception (rep by Philip Lau)
    • (2004-09-10) JMX fixes to support jconsole
    • HessianMicroInput was still looking for <value> (rep by Tomasz Lempart)
    • When client cert returned, use CLIENT_CERT_AUTH from getAuthType() (rep by Keith Fetterman)
    • Added tld-file-set (rep by Sean Moore)
    • HTTP Range fixes
    • persistent store should not automatically save empty sessions
    • JSP session="false" should still allow pageContext.findAttribute with session (rep by Jason Chaffee)
    • 204 and 304 should allow for content-length (rep by Jason Chaffee)
    • Added AlwaysModified dependency to dispatching errors to avoid getting stuck on startup
    • (2004-09-02) enhanced JspCompiler to handler -conf (rep by Frank Millstrong)
    • fixed synchronization of access log for rollover (rep by A Marcuse)
    • updated EL to look for public interface when method isn't public
    • cleanup of servlet-mapping with Resin restart
    • Added verify-client for jsse (rep by Dung Huynh)
    • added burlap: JNDI
    • instantiation testing needs to return better message for broken runtime classes (rep by Richard Yee)
    • resin.conf needs to handle public interface but private classes
    • isapi_srun service restart fixes (rep by Linden Anderson)
    • Hessian serialization of home interfaces fixed (rep by hsim)
    • AccessLog timing cleanup (rep by Anupam Begchi)
    • SecurityRoleMapFilterChain loop bug (rep by Ross Lamont)
    • ClassDependency needs to sort the fields and methods (rep by Markus Baron)
    • (2004-08-25) added <alias> to jsse configuration (rep by Christian Meunier)
    • added dependency-check-interval to <jsp> (rep by ernest Mecham)
    • Apache2 mod_caucho wasn't accepting chunked encoding (rep by Mandel AndrAcceas)
    • isapi_srun.dll changes to fix IIS logging issues (rep by Matt Illston)
    • (2004-08-11) Range support needs to deal with multipart/byteranges (rep by Paul Ryan)
    • (2004-08-06) WebAppConfig used String.contains which only exists in JDK 1.5 (rep by Allon Bendavid)
    • Added filter-mapping capability to include/exclude (rep by Ivan Jouikov)
    • Added Hessian send-collection-type flag to avoid sending the type (rep by Juergen Holler)
    • Fixed Solaris OpenSSL initialization (rep by Richard Fein)
    • Added Hessian/Burlap ServiceContext.getHeader (rep by Simone Bordet)
    • Added OpenSSL checks to ./configure
    • (2004-07-30) -with-openssl-lib wasn't setting -lssl (rep by Richard Fein)
    • Added stylesheet cache for XSL (rep by Stephen Henrie)
    • Distributed sessions not checking for empty (rep by Warwick Poole)
    • Updated blob search using Types.BINARY (rep by Warwick Poole)
    • XSL transformer doesn't handle QNode with baseURI == null (rep by Leandro Fernandez)
    • (2004-07-26) Path.getURL needs to escape '#' and '%' (rep by Chris Donnelly)
    • .tag files with scriptlets and dynamic attributes weren't handled (rep by Matthias Ernst)
    • ./configure will now check for libsso.so as weel as libssl.a and libssl.dylib
    • Change SSL client handshake errors to ClientDisconnectException (rep by Menashe Duchovny)
    • <web-app> with url-regexp and common document-directory was breaking context-path (rep by
    • Better error message for use-persistent-store without cluster
    • Better error message for OpenSSL with missing JNI library (rep by Ben Booble)
    • ResinStatusServlet added invocation and proxy hit ratio (rep by Bill Au)
    • ResinStatusServlet added cluster client information (rep by Warwick Poole)
    • x:transform with systemId was forcing recompile (rep by S Henrie)
    • Updated ./configure for Solaris and sun compiler (rep by Mark Femal)
    • transaction timeout wasn't properly reset at end of context
    • (2004-07-21) JSP 1.2 allows xmlns="http://java.sun.com/JSP/TagLibraryDescriptor" (rep by Frank Millstrong)
    • Caching with disconnect and include was producing null caches
    • Changed names of default servlets to "resin-file" (rep by Suavi Ali Demir)
    • servlet-mapping with default servlet-name should default to url-pattern
    • infinite loop with JMX isInstanceOf (rep by Mark Abbott)
    • Timing issue with end of transaction vs pool timeout (rep by Dimitri Rakitine)
    • Apache Basic auth needs to take precedence (rep by Keith Fetterman)
    • (2004-07-13) JSP .tag files not recompile on JSP changes (rep by Alon Salant)
    • JSP recompilation on tag changes (rep by Hiroshi Iwatani)
    • LinkedHashMap with EL issue (rep by Rob A)
    • ./configure was using "==" instead of "=" (rep by J Xia)
    • http read issues with Content-Length and offset != 0 (rep by Alon Salant and Jason Chaffee)
    • (2004-07-01) Substantial EJB refactoring in progress
    • c:forEach with array less than begin attribute should ignore body (rep by Bin)
    • XPath gt with node set reversed args (rep by Sondre Bjornebekk)
    • jsp:include with jsp:param wasn't catching scripting (rep by Willy Dockx)
    • jsp:include with null jsp:param wasn't handling null properly (rep by Jeroen van Vianen)
    • HttpServletRequestWrapper throws IllegalArgumentException (rep by Hiroshi Iwatani)
    • ./configure added twice to resin-3.0.8 (rep by Jean-Baptiste Quenot)
    • XML EntityResolver wasn't opening source with system id property (rep by Jared Cook)
    • ./configure with Apache2 on solaris wasn't picking up LD_SHLIB (rep by Dustin Tenney)
    • JSP taglib BeanInfo needs to override default bean (rep by Bryan Davis)
    • The directory-servlet should only be looked up once (rep by Adam Ratica)
    • Added validate-taglib-schema for <jsp> (rep by j huynh)
    • Added "on" as a value for j_user_cookie_auth (rep by Don Coleman)
    • Add <allow-servlet-el> to default resin.conf (rep by Wai Wong)
    • Class hot-redeploy was disabled (rep by Stephen Henrie)
    • Need to unwind from UserTransaction.begin() when error (rep by Dimitri Rakitine)
    • Added TransactionEnhancer
    • Removed unnecessary thread.interrupt() in JavaCompiler
    • Removed extra lock on LruCache.clear()

    3.0.8 - Jun 8, 2004

    • (2004-06-08) Win32 locking issues in jni_vfs.c
    • JMX StandardMBean overrides (rep by David Dunkley)
    • BodyContext.clearBody must not be abstract (rep by Matthias Ernst)
    • JMX MBeanOperationInfo equals needs overriding (rep by David Dunkley)
    • BasicDeserializer needs to handle character (rep by S Monson)
    • QDocument validation with null namespace in createElementNS (rep by Mattias Ernst)
    • resin:choose and resin:set s/b allowed in <resin> and <server>
    • Added --enable-64bit support for Solaris (rep by Michael O'Dea)
    • (2004-06-04) fn:length support for array (rep by Jeroen van Vianen)
    • JNI/native changes to accomodate 64-bit jni
    • (2004-06-03) resin:include regression issues with relative paths (rep by Greg Schroeder)
    • xml parse fixes related to namespaces and DOM attributes
    • (2004-05-28) Misc memory fixes
    • Relax jar manifest checking (rep by Matthias Ernst)
    • Updated JMX StandardMBean implementation
    • Added ThrottleFilter
    • Jar depend caching needs to be cleared when the jar changes
    • (2004-05-24) Alarm priority queue impl changed to heap
    • Added "hessian:" JNDI URL
    • Resin's main MBeanServer must be a proxy
    • (2004-05-20) .war reloading fixes
    • TempCharReader.read() method not returning correct length (rep by Sunil Kamath)
    • host-deploy undeploy (rep by cornwell)
    • (2004-05-17) Missing ZipFile close for TldParsing
    • Added adaptive LRU
    • Fixed IIOP exception marshalling (rep by Andrea Mari)
    • JSP flushing issues: removed JspBufferedWriter (rep by
    • added --disable-ssl to ./configure (rep by Michael O'Dea)
    • Cleaned up UserConnection automatic statement closing
    • Cached XML parsing for web.xml (to reduce memory use)
    • (2004-05-07) On windows, need to strip trailing '.' and space from URL segments
    • log rollover can compress to .gz (rep by E Ceccarelli)
    • AbstractHttpResponse.isIgnoreClientDisconnect needs to check _originalRequest
    • AccessLog rollover fixes (rep by Andrew M)
    • important bug fix with win32 keepalives (rep by Kelvin Xu)
    • mod_caucho problems with virtual hosts fixed (rep by Chris Smith)
    • load balancing with sticky sessions was ignoring dead time (rep by Ben Sinclair)
    • Hessian/Burlap need to handle private constructors
    • file servlet with NOT_MODIFIED and cache-mapping needs to set expires (rep by Alon Salant)
    • Hessian support for java.io.File
    • resin:set wasn't handling var/value attributes
    • (2004-05-06) Added day-of-week to cron (rep by E. Ceccarelli)
    • FastCGI/PHP fixes (rep by Dan Aloma)
    • ear deployment wasn't showing up in /caucho-status (rep by B Bothwell)
    • Added message-driven proxy to merge *.ejb files (rep by Alon Salant)
    • Deadlock fixed with ExpandDeploy
    • wrapped encodeURL for include needs to go to parent
    • regression issue with contextInitialized() (rep by Jeroen van Vianen)
    • (2004-04-30) startup-mode, redeploy-mode and JMX control of web-apps (rep by David Solano)
    • Fixed LruCache NPE (rep by Dave Moellenhoff)
    • session in-use must be tested on timeout (rep by Gary Doughty and Mattias J)
    • fixed OpenSSL session cache initialization (rep by D Orrell)
    • fixed OpenSSL verification depth checking
    • web-app in web-app-deploy overrides defaults (rep by Mark Church)
    • XPath nodeSet values need to return NodeList (rep by Mattias J)
    • Session invalidate issues with file-store (rep by Bernd Eggink and Alon Salant)
    • ELFormatter patterns should be relative to the current context
    • Added validation for verify-client
    • ResinStatusServlet was displaying the "current" host twice
    • check for null with OPENSSL_INCLUDE in configure.in (rep by Keith Fetterman)
    • DOM importNode infinite loop (rep by H Mullings)
    • Added support for separate Apache APR directory (rep by Don Coleman)
    • Fixed XML regression error for doctype
    • Fixed NPE in ResinStatusServlet (rep by Eric Hauser)
    • (2004-04-20) Add setId to ServletConfigImpl
    • tld listener need to start on application start, not first JSP - needed for JSF (rep by Joe Dane)
    • Added SSL_load_client_CA_file for ca-certificate-file support (rep by D Orrell)
    • XSL from DOMSource or SAXSource needs CRC-64 caching for Hibernate (rep by Jeroen van Vianen)
    • Vector wasn't properly read by Hessian
    • Add ClearCacheByPattern (rep by John Crossman)
    • lazy validation of tag classes
    • BodyTag optimization issues with Tag's doStartTag() returning BUFFERED (rep by Viktor Panassov)
    • regexp-mapping with mismatch should return 404 (rep by Dave Moellenhoff)
    • regexp-mapping has null for servlet-class (rep by Dave Moellenhoff)
    • GC cleanup
    • (2004-04-15) Cluster issues with backup servers (rep by Remilon)
    • Catch connection errors in Hessian/Burlap proxy to allow for failover (rep by Andrew Wason)
    • EL array not properly handling out of bounds exception
    • Improved OpenSSL error messages.
    • HmuxLoad balancer now fails over to backup on 503
    • Send 503 busy message when load balancer can't connect to backend (rep by Thomas Eichberger)
    • Automatically save allocation stack traces once a missing close() is found
    • cleanup of JNI select for IIS (rep by Muthu Shanmugam)
    • Added RuntimeExceptionWrapper to GzipFilter (rep by Dave Moellenhoff)
    • RotateStream now allows rollover-size with rollover-period
    • JSP error page reporting shouldn't throw the IllegalStateException when data is flushed (rep by Jennifer Leong)
    • Added cluster client configuration
    • Inner <log> should override outer <log> (rep by Lon Tierney)
    • JSP validator for custom tag wasn't printing attributes (rep by Jeroen van Vianen)
    • validator printing for JSTL wasn't escaping quotes (rep by Fyodor Golos)
    • jsp20-tld.rnc was using wrong init-param definition (rep by Fyodor Golos)
    • (2004-04-07) Added logging to Lifecycle
    • include wrapper needs to take care of filtered responses (rep by Ales Perme and Jeroen van Vianen)
    • Missing getVariableResolver in PageContextImpl (rep by Adam Megacz)
    • added read-timeout and write-timeout
    • session timeout without always-save-session (rep by Mattias J)
    • context-param should not use EL by default (rep by Martin Cordova)
    • xsl:import of duplicate files was causing conflicts (rep by Lon Tierney)
    • added #define for ssl.c for OpenSSL 0.9.6 vs 0.9.7 messages (rep by Andrew Marcuse)
    • Reduced Jar caching need by handling Class depend as a special case (rep by Erich Oliphant)
    • (2004-03-31) regression issues with filters and Writer/OutputStream
    • (2004-03-30) GzipFilter and close (rep by Dave Moellenhoff)
    • Issues with GzipFilter and resetting (rep by Dave Moellenhoff)
    • (2004-03-29) Classes from Jar now only check Jar file for depend
    • jsp:scriptlet in jspx was limited to 1k (rep by Vladimir Nicolici)
    • UTF8Writer off-by-one in capacity check (rep by Dave Moellenhoff)
    • XsltFilter shouldn't change the output stream when an exception is thrown (rep by Lon Tierney)

    3.0.7 - Mar 25, 2004

    • updated GzipStream close (rep by Dave Moellenhoff)
    • (2004-03-24) JspPrecompileServlet handling sub-web-apps (rep by George Cox)
    • PingThread wasn't properly shutting down the server
    • (2004-03-23) error-page mapping problems (rep by Dave Moellenhoff)
    • PI handling in JSPX pages (rep by Robert Koberg)
    • error-page handling of top servlet exception (rep by Dave Moellenhoff)
    • XsltFilter path lookup changes (rep by Lon Tierney)
    • (2004-03-19) major changes relating to OutputStream vs PrintWriter (rep by Dave Moellenhoff)
    • war expand path issues with "_" and name (rep by Lon Tierney)
    • PrintWriter vs OutputStream changes for JSP and Servlets
    • (2004-03-16) Issues with JSP buffer size and includes (rep by Vladimir Nicolici and Dave Moellenoff)
    • OpenSSL wasn't catching ClientDisconnect properly (rep by Chris van Zwynsvoorde)
    • ClassEntry cache in DynamicClassLoader can't be lru or softreference (rep by Lon Tierney)
    • fdatasync should be fsync (rep by Lon Tierney)
    • Added TLD <listener> support (rep by Aaron R)
    • (2004-03-15) jni_vfs.c problem with accept (rep by Eric Raymond)
    • comments and pi were causing problems with node builder (rep by Andreas Mueller)
    • Win32 JNI issues with directories and FileServlet (rep by Dave Ford and Vince Law)
    • temporary patch to security-manager handling (rep by Greg Griffing)
    • Caching issues with Body tag include (rep by Vladimir Nicolici)
    • JMX name shouldn't be "" for default host for JDK 1.5 (rep by Jeroen van Vianen)
    • c:param shouldn't need to be direct child of c:url (rep by Jeroen van Vianen)
    • jsp:setProperty with BigDecimap property type support (rep by ChrisP)
    • (2004-03-12) XsltFilter update to support Xalan (rep by Lon Tierney)
    • XsltFilter needs to search classpath (rep by Lon Tierney)
    • JMX ObjectName params can have spaces
    • Updated QDocument.importNode (rep by Sailor Zhang)
    • Fixed potential cross-site scripting issue (rep by Vernon Adams)
    • ear needs to read MANIFEST.MF for Class-Path (rep by Joshua Swartz)
    • Added xsl:sort case-order (rep by Lon Tierney)
    • Added nativeChmod to resin.def (rep by Jeroen van Vianen)
    • ELParseExtension should extend JSP ELParseExtension
    • (2004-03-09) StreamPrintWriter wasn't overriding write(String) (rep by Kevin Oliver)
    • (2004-03-01) Significant reworking of Deploy code
    • Quercus StructuredText needs additional check for javascript: (rep by Vladimir Nicolici)
    • c:forEach with validation and no items wasn't printing correctly
    • c:forEach issues with contained tags
    • FileSetType with no include should default to include all
    • .ear files were not redeployed automatically (rep by Douglas Padian)
    • Added JspPrecompileResource for batch precompilation (rep by Dave Moellenhoff)
    • Allow file-store in <session-config> (rep by Markus Baron)
    • i18n issues with JSP include (rep by Markus Baron)
    • JSP line number issues on windows (rep by Bin)
    • jsp:include with flush="false" and wrapped response wasn't flushed properly (rep by Markus Baron)
    • Added TABLESWITCH and LOOKUPSWITCH to code analyzer (rep by Adam Megacz)
    • Added XA log
    • library-loader should accept .jar as path and <fileset> (rep by Vitali K.)
    • Cleaned up WorkManager start vs schedule (rep by Javier Ordonez)
    • Bean-style serialization for Hessian/Burlap (rep by Nicholas Averseng)
    • (2004-02-13) jsp:include flush="false" with tags issue
    • updated plugin_ignore so first match isn't required (rep by Larry Leszczynski)
    • xsl:template issues with name and match
    • Added Apache 2.0 support for Location-distinct ResinConfigServer (rep by Javier Ordonez)
    • MBeanServerImpl was missing getDomains() (rep by Mike Perham)
    • Added Hessian/Burlap convenience methods (rep by Nicholas Averseng)
    • Added Hessian/Burlap fault reporting enhancement (fixed! by Nicholas Averseng)
    • Added security-role-ref to servlet
    • lazy-init to <host> and <host-deploy>
    • Add sub <web-app> capability
    • Burlap/Hessian writeReplace and readResolve messed up refs (rep by Nicholas Averseng)
    • Switch to IdentityHashMap for Burlap/Hessian refs (rep by Nicholas Averseng)
    • added readCall, readHeader, readMethod for Burlap/Hessian (rep by Nicholas Averseng)
    • Missing EL syntax checking (rep by daver)
    • MessageFormatter needs to unwrap exception (rep by Thomas Zehetbauer)
    • Logger.setLevel needs to update the level (rep by Matthias Ernst)
    • Jmx parse properties needs to set "" for null value (rep by Mike Perham)
    • GzipStream needs to propagate close (rep by Dave Moellenhoff)
    • Added restart() & other JMX data to WebAppMBean and HostMBean (rep by Mark Knowles)
    • JMX fixes to support JDK 1.5
    • XmlTransformTag.doEndTag was swallowing exceptions (rep by Markus)
    • session.invalidate() nullpointer with missing authentication (rep by Markus)
    • NodeBuilder can now configure File attributes (rep by Giles Parnell)
    • JSTL sql:setDataSource didn't support the driver attribute (rep by David Campbell)
    • Added <backup-driver> to <database> (rep by Vic Cekvenich)
    • XAResource.end wasn't called on each connection for isSameRM pool items (rep by Andreas Muller)
    • BundleManager.create() wasn't saving itself in the local environment
    • EL getter throwing exception shouldn't absorb the error (rep by Dave Ford)
    • allow-servlet-el was missing from Resin 3.0 (rep by Adam Megacz)
    • mod_caucho wasn't receiving srun backup configuration
    • (2004-02-02) JSP with extends wasn't getting automatically reloaded (rep by Assaf Urieli)
    • Fixed issues with logout and JdbcStore or FileStore (rep by Gary Doughty)
    • MBeanConstructorInfo was stubbed out (rep by Randy Jackson)
    • SAXParser, even with validating as false, should handle XML defaults (rep by Robert Sfeir)
    • In a .tag file, jspContext.getAttribute("xxx", REQUEST_SCOPE) had nullpointer (rep by jvdsandt)
    • (2004-02-02) Changes to PingThread to minimize the possible freezes
    • Fixed cluster-definition and cluster-ref implementation
    • fix for OpenSSL certificate memory leak (fixed! by David Orrell)
    • Test for conn = 0 for possible nullpointer in QJniSocket
    • JSP needs to be recompiled when XML tag changes (rep by Jeroen van Vianen)
    • Removed HmuxLoadBalanceServlet dependency on CauchoRequest
    • Manual Apache configuration restored for mod_caucho (rep by Robert Sfeir)
    • distributed-store with multiple http ports and hw load balancer wasn't matching distributed object names
    • (2004-01-28) Allow LogManager.addLogger for custom logs (rep by David Soleno)
    • Added multiple <logger> as children of <log>
    • (2004-01-26) Added socket-listen-backlog to port (rep by Tim Craycroft)
    • compiling-loader can now batch compilation, defaulting to true
    • resin:set, resin:if, and resin:choose are now added
    • resource class not found now displays the current classpath (rep by Jeroen van Vianen)
    • error-page was unwrapping too many exceptions for exception-type (rep by Dave Moellenhoff)
    • misc JCA fixes to support SwiftMQ (rep by Andreas Mueller)
    • connector xsi:schemaLocation was missing from rnc (rep by Andreas Mueller)
    • getAuthType should return null when no user is logged in (rep by Keith Fetterman)
    • <server> EL variable was missing
    • Updated Makefile for installation with --prefix (rep by Joshua Nye)
    • JSSE needs to catch the getPeerCertificates exception (rep by Dave Moellenhoff)
    • Enhanced JniSelectManager for adaptive timeout (rep by Dave Moellenhoff)
    • Added keepalive-max and keepalive-timeout to <server> (rep by Dave Moellenhoff)
    • empty attributes with jspx should print the "" value (rep by Jeroen van Vianan)
    • On Unix, WEB-INF from wars are expanded at 0750 (rep by Keith Fetterman)
    • URL-rewritten session id should never be reused (rep by Edoardo Ceccarelli)

    3.0.6 - Jan 20, 2004

    • Win32 linking issue with resin.dll (rep by Andrea Mari)
    • servlet-mapping with url-regexp was causing NullPointer (rep by Dave Moellenhoff)
    • include needs to inherit the parent's character encoding (rep by Nicholas Avenseng)
    • optional taglib namespace declaration in jsp:root wasn't picking up JSTL functions (rep by Jeroen van Vianen)
    • removed compile-loader deadlock
    • ssl.c ERR_print_errors_cb isn't in openssl-0.9.6 (rep by Joshua Nye)

    3.0.5 - Jan 15, 2004

    • (2004-01-14) Cleaned up .rnc for trang (rep by Robert Koberg)
    • PolicyImpl.init() must be called in EnvironmentClassLoader.init to handle the SecurityManager
    • Complications with authentication logout and persistent store (rep by Gary Doughty)
    • JstlFmtMessage wasn't calling generatePrologue on JstlFmtParam (rep by Matt Raible)
    • UserDataConstraint was missing setDocument (rep by Matt Raible)
    • <jsp:output doctype-system> was missing (rep by jvdsandt)
    • updated servlet config to use getConstructors() instead of getDeclaredConstructors
    • Add codeSource to loaded classes (rep by Eelco)
    • allow multiple host deploy (rep by Daniel Bjuhr)
    • cleanup to "make install" target (rep by Perry tew)
    • XSLT wasn't escaping backslashes properly in attributes
    • JSTL forEach issue with SimpleTag (rep by Allen Firstenberg)
    • transport-guarantee case was incorrect, should be uppercase (rep by Keith Fetterman)
    • added support for Expect: 100-continue (rep by David Hemphill)
    • (2004-01-09) fmt:number currencyCode was stubbed out (rep by Phil Smy)
    • JSP $\{..} should not escape values
    • enhance jstl format bundle caching (rep by Jamie McCrindle)
    • cleanup of isapi_srun filters
    • getClass().getResource(".") wasn't working for jars in directory-loader
    • servlet-mapping url-regexp needs to become <servlet-regexp> (rep by Rob Geddes)
    • Improved error checking for OpenSSL on Linux (rep by jvdsandt)
    • setgid needs to occur before getuid() == uid test (rep by Allen Firstenberg)
    • JSP destroyed pages would not be recompiled (rep by
    • JSP "extends" pages weren't catching updates (rep by Assaf U)
    • multiple c:forEach with nested tag wasn't declared properly (rep by Jason Purcell)
    • VarStatus isLast wasn't checking the final iterator (rep by Jason Purcell)
    • (2003-12-16) isapi_srun.dll fixes for headers with trailing spaces (rep by Mark Kocsis)
    • c:forEach with varStatus wasn't optimizing properly in jsp:attribute or jsp:body (rep by Bin)
    • ClientDisconnectException should not be thrown for a read. (rep by Charbel El-Achkar)
    • (2003-12-11) Reversed doAfterBody "fix". The 2.0 JSP spec is explicit about doAfterBody not being called in this case.
    • dom.jar needs to be added to the distribution (rpe by Jonah Liebert)
    • Added unconditional to XsltFilter (rep by Jeroen van Vianen)
    • If-Modified-Since wasn't available from forward pages (rep by Sacha Prins)
    • xsl:copy-of with entity references (rep by Nancy Deschenes)
    • Change APR_HAS_THREADS test in mod_caucho (rep by Allen Firstenberg)
    • Save config between Apache startup
    • user-name/group-name were in wrong place in default resin.conf (rep by Allen Firstenberg)
    • access.log w/o JNI wasn't printing IP correctly (rep by William Au)
    • XPath 2*.01 wasn't parsed correctly (rep by Mike Kupritz)
    • Apache sticky sessions was incorrectly parsing Cookie
    • Added plugin_ignore to mod_caucho/isapi_srun
    • JSP mapping to same real path should generate same .class (rep by Jim Frenette)
    • cleanup hessian/burlap method mangling (rep by Nicholas Aversang)
    • fmt:fmtNumber wasn't handling null values property (rep by Jason Purcell)
    • XsltFilter should use the JAXP factory create methods (rep by Nancy Deschenes)
    • Added CauchoStatus to httpd.conf (rep by Jonah Liebert)
    • Added IISPriority to resin.ini (rep by Shane Baldacchino)
    • stream.c compilation bug with -DOPENSSL (rep by Joern Heid)
    • c:forEach needs explicit java.util.Iterator (rep by J Purcell)
    • doAfterBody needs calling in empty tags (rep by Phil Smy)
    • (2003-11-26) Recompiled against gnuwin32 openssl
    • Adding missing JSTL support files (rep by Jason Purcell)
    • Added validation syntax and fixed r_any support (rep by Phil Smy)
    • Added Apache VirtualHost support for ResinConfigServer
    • Set the client disconnect logging to finer (rep by Hugo Zhu)
    • Added getName() in DBPool (rep by William Au)
    • JSP handling of null namespace (rep by Jeroen van Vianen)
    • x:if and x:when need node context for x:foreach (rep by Phil Smy)
    • Custom tag analysis with end tag issues
    • Added transaction-timeout configuration to <database>
    • doclet needs to escape <
    • security and cache
    • Performance updates for JSP body getString() (rep by Jean-Philippe Encausse)
    • Added date weight to search spider (rep by Keith Fetterman)
    • JSP validation message loop was using 'i' instead of 'j'
    • Removed order dependency on <host> configuration (rep by Allen Firstenberg)
    • Added EL escaping
    • Cache path wasn't created property
    • Fixed file descriptor leak with keepalive disconnect
    • Changed IPV6 test in jni_vfs.c (rep by Gary Doughty)
    • (2003-11-18) min-free-memory belongs in <resin>, not <server> (rep by Dewang Shah)
    • Improved servlet constructor-checking error messages (rep by Milut)
    • (2003-11-12) Added maxCreateConnection to connection pool to limit initial connection hits
    • Added save-allocation-stack-trace to connection pool (rep by Justin Van Vorst)
    • Changed error message when j_security_check is missing
    • sql:param wasn't accepting null values
    • Tag file throws clause needs Throwable not Exception (rep by Eric Savage)
    • META-INF/services was missing from new build (rep by Fyodor Golos)
    • JSP with unused tag variable was undeclared but assigned (rep by Dragisa Krsmanovic)

    3.0.4 - Nov 6, 2003

    • (2003-11-06) clear() should be special-cased for Amber collections (rep by Andrew Lienhard)
    • custom error pages should eliminate the MSIE hack
    • flushBuffer addition to StreamImpl/ResponseStream
    • (2003-10-28) threading fixes in jni_vfs.c
    • Regression issues with resin-doc and win32 (rep by Bin)
    • Added shutdown-wait-max to configure how long to wait for requests to complete (rep by Jean-Francois Lamy)
    • (2003-10-17) HmuxRequest wasn't properly initializing _isSecure (rep by Sacha Stanton)
    • JniFileStream was returning inaccurate value for getAvailable(), messing up Jira (rep by Chris Chen)
    • LoopTagSupport needs to implement LoopTag in jstl-11.jar (rep by Jason Purcell)
    • isapi_srun.dll was missing latest protocol updates for large post (rep by
    • Windows file handling wasn't correctly dealing with file:///c:/foo.test (rep by Tower)
    • Changed srun timeout and documented srun parameters (rep by Marty)
    • Error checking missing for <servlet> in <http-server> (rep by Marty)
    • RotateLog trouble with stdout/stderr (rep by Chris Chen and Jean-Francois Lamy)
    • XA/local-transaction timeout cleanup with JCA pool (rep by Martin Weinig)
    • Eliminated dialog boxes for normal -install and -remove (rep by James Bond)
    • CGI stderr is handled as warning and exception (rep by Oli)
    • Added JavaMail configuration support
    • webapps handling with case-insensitive wasn't picking up directories (rep by Dave Ford)
    • documentation default.xsl was including wrong header (rep by Bin)
    • (2003-10-11) Added host-deploy (rep by Jonas Angelin)
    • public zero-arg constructor message needs to wrap exception (rep by Lluis Turro)
    • Added prepared-statement-cache-size for <database> (rep by Juergen Hoeller)
    • Added IPV6 support for Unix (rep by Mark Renouf)
    • snapshot wasn't recompiled for win32 causing JNI issues (rep by Bin)
    • Added com.caucho.log.SyslogHandler (rep by Leonard Krivopaltsev)
    • Added flushBuffer to AbstractHttpResponse to take care of include annoyance
    • updates to wrapper.pl (rep by Nick Johnson)
    • <log> can specify custom <handler> directly
    • resin:type now accepts args
    • server-root and resin-home were not properly set when SERVER_ROOT and RESIN_HOME differ (rep by Francois Bertrand)
    • (2003-10-07) \${app.name} now returns main war name for war expansion (rep by John Crossman)
    • Added web-app-default as content of web-app-deploy
    • Added ThreadPool and let Alarm use the thread pool so Alarm can handle longer-lived tasks
    • zero-argument constructor error needs log (rep by Alex Schonfeld)
    • jsp:plugin width and height missing (rep by Andreas Fischer)
    • add servlet-mapping support for plugin_match (rep by Jean-Baptiste Quenot)
    • isapi_srun wasn't handling SSL properly
    • Clean up doc/href-map.xml link
    • Cleaned up openssl support for windows
    • install.sh needed to change to ResinConfigServer (rep by Jean-Baptiste Quenot)
    • On JRocket, the freeMemory calculation can't use maxMemory (rep by Jay Sissom)
    • Support i18n decoding of Host encoded with IDN, internationalized domain names (rep by Stefan Praszalowicz)
    • <%@ include %> JSP wasn't included in depend list
    • EL expression issues in jspx
    • cleanup for ignore-client-disconnect (rep by Bingqiang)
    • Added servlet-regexp to support old url-regexp pattern (rep by Dave Moellenhoff)
    • JSP should use the old page until the new page is compiled (rep by Peter Axelsson)
    • WebDAV root parameter wasn't handled with init style (rep by Alon Salant)
    • getRequestDispatcher shouldn't encode parameters in utf8 (rep by stefan)
    • RewriteFilter now detects redirect cases to redirect to http://www.bar.com (rep by Kirk Rasmussen)
    • Apache2 cleaned up forwarding after rewriting ;jsessionid
    • Made the jsp servlet in app-default.xml load-on-startup to initialize JspFactory (rep by Claude Honnore)
    • Added support for CLIENT-CERT login.

    3.0.3 - Sep 22, 2003

    • (2003-09-22) Fixed Base64 tail encoding
    • Fixed passwords and digest login
    • Increase plugin TCP buffer sizes for POST (rep by Jonah Liebert)
    • (2003-09-16) strip-spaces must actually remove whitespace nodes
    • Basic .ear with ejb support
    • Moved JSTL to separate jar file (rep by Serge Knystautas)
    • Cocoon fixes
    • Cache the JdbcAuthenticator isInRole
    • Fixes relating to x:transform and XSLT InputSource with system id (rep by Charles Fu)
    • Apache 2 install.sh now supports conf.d (rep by Tauren Mills)
    • Add use-parent-handlers to <log> (rep by Jeff Miller)
    • Added <formatter> to log config (rep by Jeff Miller)
    • Added cr-lf to WebDavServlet (rep by Michael Traunau)
    • Added virtual-host to http (rep by Steven Tower)
    • Added archive-format to log and allow paths in archive-format
    • fixed memory leak in connection
    • (2003-08-21) ./configure was automatically include apache even when not specified (rep by Bill Griffith)
    • fixed c:import issues with encoding and include()
    • thread-max added to <server>
    • ignore-client-disconnect added to <server>
    • cleaned up session listener destroyed event with tcp-store (rep by Gary Doughty)
    • Added servlet-mapping extension allowing concurrent definition (rep by Dave Moellenhoff)
    • .class change detection wasn't properly handing recompilation (rep by Dave Moellenhoff)
    • Changed ./configure LD_FLAGS order, so Resin's guesses are after apxs
    • XSL transformations with zero-argument *Source (rep by Jonathan Gray)
    • XML parsing add support for PE referring to external system resource (Bernd Eggink)
    • XML now serializes with as externalizable XML (rep by Simone Avogadro)
    • Add support for JSTL 1.1 urls
    • x:forEach wasn't setting implicit node (rep by Gordon Conrad)
    • <java> support missing from application.xml (rep by George Cox)
    • setDescription missing from ear application.xml (rep by George Cox)
    • (2003-08-13) Handle recursive JSP tag files (rep by Matthias Ernst)
    • Allow for custom PasswordDigest in <authenticator> (rep by Thorbjoern Andersen)
    • FileServlet with null directory wasn't sending 404 (rep by Dave Moellenhoff)
    • include() should change methods to GET except for POST (rep by Charles Fu)
    • web-app-deploy with foo.war in web-app
    • Resin servlets and filters now support bean-style init
    • Fixes to memory check (rep by Dave Moellenhoff)
    • Cache now understands Vary
    • Added overridable allowGzip() method so subclasses could create more complex rules (rep by Mikal Todd)
    • <srun> wasn't handling host property (rep by Maria Grazia Arienta)
    • IIS plugin support for status code (fixed by Efri Nattel)

    3.0.2-beta - Aug 4, 2003

    • JMX StandardMBean invoke should allow nulls as the signature (rep by Knut Forkalsrud)
    • JMX ReflectionException needs a getCause (rep by Knut Forkalsrud)
    • (2003-07-28) ISAPI plugin support
    • Win32 support for bin/resin.dll
    • Class reload avoiding app reload
    • (2003-07-22) Basic ResinStatusServlet support
    • JMX 1.1
    • JSP 2.0
    • Servlet 2.4
    • Message Bean configuration fixes (rep by Charbel El-Achkar)
    • Loaded JSR-045 into .class
    • (2003-06-23) JAAS LoginModule.
    • DBPool now uses JCA.
    • Basic JMX implementation.
    • BufferedJspWriter needs to be initialized in initialization, not constructor (rep by Matthias Ernst)
    • Thrown SQLException with stmt.close() should close connection
    • Avoid normalization in web-app-expand names (rep by Jean-Francois Lamy)
    • use-cookie is now sufficient for JdbcAuthenticator to enable cookies
    • cluster store protocol needs to handle SSL (rep by Anthony Tonns)

    3.0.1-beta - May 15, 2003

    • (2003-05-12) While cache is being updated, other requests get the old cached value
    • (2003-05-06) <resource> wasn't understanding replaceObject
    • setParent issues with SimpleTag vs Tag (rep by Robert)
    • Make ./configure --prefix work (rep by Alexey Ivanov)
    • (2003-04-22) Changed JSP buffer model (rep by Hans Bergsten)
    • Added com.caucho.resources.CronResource
    • resin-web-xml.rnc was using method instead of http-method in web-resource-collection
    • Class loaders now extend URLClassLoader
    • Added security-provider to <resin> (rep by Heather Rogers)
    • Added com.caucho.servlets.HttpProxyServlet
    • LogConfig changes for backward compat: href (rep by Heather Rogers)
    • TldAttribute was missing setDescription (rep by Thomas Zehetbauer)
    • Cleaned up lifecycle of web-app, host, environment, etc.
    • (2003-03-20) memory and reliability checking
    • (2003-03-18) JdbcStore should give priority to BLOB (rep by Jon Cochran)
    • added BootstrapContext.createTimer()
    • Quit HTTP method on all characters than space (32) (rep by Kaile Riser)
    • Compilation warnings now go to log.warning (rep by Max Kutny)
    • Changed detection of apache1 vs apache2 version (rep by Sonny Picket)
    • form-error-page, when not configured properly or broken, wasn't returning a good error messages
    • added cipher-suite to openssl
    • Adding CRC check for tcp-sessions (rep by Nathan Mehl)
    • XML validating parser needs to pass defaults to attributes (rep by Steve Holt)
    • resin/lib loader should look at subdirectories (rep by Max Kutny)
    • UnavailableException in load-on-startup prevents web-app from starting (rep by Max Kutny)
    • Added <secure-host-name> for transport-guarantee (rep by Juan Yep)
    • <host-name> with port will set the value of getServerPort() (rep by Allon Bendavid)
    • JSP allow setA(String) to override setA(double) in setProperty
    • Allow direct rename of webdav files (rep by Pieter Schoenmakers)
    • Added app.regexp to know EL values (rep by Sam Dash)
    • For JSP/XML print <br /> (rep by Tim Jervis)
    • made burlap inherit from hessian so serialization can be shared

    3.0.0 - Feb 13, 2003

    • fixed XTP dependency check interval
    • (2003-02-04) Added current time to cookie generation when cookie-length > 12
    • added require-source to <compiling-loader> (rep by Max Kutny)
    • Allow error-page in <host> (rep by Leonardo Brondani Schenkel)
    • ConnectionPoolDataSource can not be used with <xa/> (rep by Max Kutny)
    • getAssociatedStylesheetWith DOMSource (rep by Uma Shinde)
    • (2003-01-08) added jsp/ignore-el-exception, defaulting to true (rep by Fyodor Golos)
    • wrapper.pl -Dxx defines must be after command line (rep by Gary Doughty)
    • (2003-01-01) servlet/jsp regressions essentially clean!
    • (2002-12-17) Check that DBPool driver classes can be instantiated (rep by Max Kutny)
    • Spy needs to support XA and PooledConnectionDataSource (rep by Max Kutny)
    • Upgraded CharBuffer for performance (rep by Alan Berezin)
    • WarApplicationEntry.warExpand needs to be protected by a lock (rep by Jason Chaffee)
    • Changed session to use Hashtable instead of HashMap (rep by Martin Williams)
    • (2002-12-03) SSL needs to be pluggable (rep by Martin Cordova)
    • Hot deploy of .war should not affect other .war files (rep by Jason Chaffee)
    • Added JavaCompiler.getLock() to eliminate double compilation (rep by mimo)
    • Added SingleThreadModel pooling (rep by Henry van den Broek)
    • Log when Jndi.bindDeep rebinds over and old object (rep by Brian Wilson and Max Kutny)
    • if war expansion fails, retry
    • jspc support for jsp: tags
    • better handling of case-insensitive and context-path (rep by Davide Frigerio)
    • add tld-dir to <jsp> to restrict search (rep by Frank Nestel)
    • case-insensitive added to allow support for MacOS (rep by Jim Frenette)
    • Persistent sessions need to create subdirectory (rep by Fyodor Golos)
    • (2002-09-16) log integration with java.util.logging
    • Add sticky-sessions config to LoadBalanceServlet (rep by Matthew Ling)
    • Only use apxs flags in ./configure when can't determine otherwise (rep by Jan Christian)
    • CGI fixes/enhancements (rep by Kenkichi Mahara)
    • Hessian handling of large (> 32k) byte values (rep by James Ralston)
    • (2002-08-26) Major refactoring
    • AcceptPool now uses stack instead of ring (rep by Ian Holsman)
    • SecurityContext.setProvider needs try ... finally to restore (rep by KIR)
    • Detecting WEB-INF filesystem loops when searching for .tld (rep by Frank Nestel)
    • Removed static methods from XmlPrinter (rep by Enrique Lamas)
    • prelude and coda
    • Basic JSR-45 .smap file generation
    • (2002-07-30) added taglib functions to JSP EL
    • (2002-07-29) Partial refactoring of com.caucho.jsp classes
    • JSP: Initial cut of JSP EL
    • JSP: Initial cut of dynamic attributes
    • JSP: Initial cut of SimpleTag

    JDK 1.2 changesolder changes


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