<document>

Resin 2.1 changes

- xa: change timeout message to include EXTRA_TIMEOUT (#4927, rep by Shinomiya Nobuaki)
- i18n: utf8 parser should replace errors with an error character (#4957, rep by S. Nobuaki)
- session: load-balance response is delayed for session persistence (#5055, rep by IHG)
- load-balance: the load-balancer should not fail-over for a read timeout if there are other more recent successful reads (#5054, rep by IHG)
- performance: fixed occasional 60s startup delay (#5069)
- webapp: backported cookie-domain-regexp from 4.0 for multi-domain webapp cookie handling (#5056, rep by IHG)
- database: introduced new commit-on-timeout tag to manage expired connections (#4926, rep by T. Fukuda)
- servlet: fixed doOptions and doTrace HttpSerlvet methods (#5021, rep by Andy Paladino)
- servlet: form-parameter-max limit for hash collisions (#4912, rep by georgbuschbeck)
- xa: rollback/forget (#4799)

- mod_caucho: win32 buffer size reduced to 16k from 64k (#4521, rep by Shinomiya Nobuaki)
- loader: classloader lock contention on addListener (#4667, rep by hsim Xest)
- db: index rebuild requires caching of index exception (#4641, rep by N Shinomiya)
- xml: remove Resin's XMLInputStream factory (#4535, rep by bgoykhman)
- jsp: jsp tag case issue (#4571)
- db: set isXAForbidSameRM = true by default (#4608, rep by Takahiro Fukuda)
- db-store: close should not clear _path (#4557, rep by Tyson Weihs)
- isapi_srun: use GetTickCount64 for time (#4203)
- servlet: include/forward should not call servlet request.init (#4305, rep by ladlestein)
- ssl: backpatch ssl locking from 4.0 (#4256, rep by dkelly)

- iis: change buffer length to 64k (#4288)
- build: httpd.exe and setup.exe location (#3915)

- session: check reuse-session-id with always-save-session="true" (#3715, rep by Nobuaki Shinomiya)
- mod_caucho: allow socket-timeout for non-windows (#3749, rep by Nobuaki Shinomiya)
- scheduled-task: cron not properly handing weeks (#3736, rep by tweihs)
- database-pool: connection pool timing issue with multiple clients (#3837, rep by Bryant Harris)
- 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)

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

- (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)

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

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

- (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)

- 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

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

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

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

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

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

- (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)

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

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

- (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)

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

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

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

- 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

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

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

- (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()

- (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)

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

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

- (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)

- (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.

- (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)

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

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

- 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 changes older changes

</document>