Resin Change Log
Resin 3.0

Features
Installation
Configuration
Web Applications
IOC/AOP
Resources
JSP
Quercus
Servlets and Filters
Databases
Admin (JMX)
CMP
EJB
Amber
EJB 3.0
Security
XML and XSLT
XTP
JMS
Performance
Protocols
Third-party
Troubleshooting/FAQ

Feature Overview
Release Notes
Change Logs
Migrate from 2.1
Features FAQ

Resin Changes
Resin-2.1 Changes
Resin-EE Changes
Old Changes
Change Logs
Change Logs
Resin-2.1 Changes

Resin 2.1 changes

3.0.28 snap - May 27, 2008

  • jni: openssl not timing out properly (#2988, rep by Tom Hintz)

3.0.27 - May 27, 2008

  • httpd stop issue for installed service (#2762, rep by Matt Pangaro)

3.0.26 - May 27, 2008

  • servlet: named dispatcher forward not properly initializing request (#2583, rep by katjak)
  • jdbc: cluster update (#2485, rep by T Fukuda)
  • wrapper.pl: fix kill -9 timeout (rep by Chris Schneider)
  • DirectoryServlet: windows URL scanning changes
  • isapi: poll updates to handle read times > 3600s (#2264, rep by T Fukuda)
  • isapi: send 503 on timeout to Resin (#2264, rep by T Fukuda)
  • allow secure='true' for srun (#2234, rep by T Fukuda)

3.0.25 - Dec 5, 2007

  • jsp: tag-file pageEncoding not properly picked up (#2170, rep by Takahiro Fukuda)
  • configure.in fix with -lc for linux (#2082, rep by marcusherou)
  • session - always-load-session would load for static pages (#2154, rep by copart)
  • (2007-11-05) win32: isapi_srun.dll should return 503 on backend disconnect (#2040, rep by Takahiro Fukuda)
  • win32: isapi_srun.dll config of client-read-time (#2039, #2129, rep by Ed Hollingsworth)
  • win32: isapi_srun.dll saving of config (#1879, rep by Sven Droll)
  • proxy cache: redo cache loading for sync issues (#1992, rep by david-peterson)
  • hessian: issue with class serialization (#1988, rep by ngiudici)
  • windows issues with webapps and trailing dot
  • request.getInputStream issues with encodings (#1915, rep by Takahiro Fukuda)

3.0.24 - Aug 14, 2007

  • java:comp/TransactionManager support changes
  • SSIServlet updates for includes
  • Add port secure="true" (#1801, rep by T Fukuda)
  • XML: QDocument needed XmlVersion (#1605)
  • EJB collections not closing JDBC connectiond (#1286, rep by plehov)

3.0.23 - Jan 18, 2007

  • ByteCodeClassScanner should only give FINE warnings for scanned classes (#1534, rep by R Dredge)
  • isapi changes for chunked encoding
  • JSP jsp:forward wasn't picking up EL (#1453, rep by Katrin Kippert)
  • EJB: return type not properly calculated for select (#1303, rep by Andrew Barton)
  • getServerPort not properly calculated with virtual-host (#1509, rep by justinwcs)
  • JSP: EL parsing with escape at top-level wasn't handling escapes properly (#1486, rep by ccwf)
  • database with newer jdbc driver should not allow init-param (#1520, rep by Shane Cruz)
  • httpd.sh/wrapper.pl changes for quits (#1521 rep by mca)
  • jdbc/cluster store detection of primary server was selecting 'a' always (#1470, rep by Serge Knystautas, Shane Cruz)
  • access log: getNewline() adds check for windows is line.separator is null isntead of defaulting to \n (#1449, rep by Chris Head)
  • JSP: .tag attribute with inner classes were not working (#1479, rep by stevejf7)

3.0.22 - Nov 10, 2006

  • (2006-11-10) mod_caucho: ./configure fixes for Solaris 10
  • (2006-11-07) mod_caucho: avoid premature error validation on non-blocking connect() failure for Solaris (#1415, rep by L Kaminsky)
  • (2006-11-01) 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)
  • 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)
  • 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)
  • ProxyCache not registered with admin (#1334, rep by hpniemi)
  • IntMap wasn't handling deletes properly for ThrottleFilter (#1356, rep by sksamuel)
  • Additional CodeSource fixes for JSPWiki (#1333, fixed! by ajaquith2)
  • Support old-style srun index assignment (#1326, rep by Anupam Bagchi)
  • QDate needs to look up "GMT" not "UTC" to handle French locales (#1340, rebp by jiib75)
  • mod_caucho needs to update cached file for large dependency-check-interval
  • resin-admin was using incorrect MBeanServer (#1331, #1328, rep by vc, J SHepard)
  • select manager keepalive enable issue (rep by Serge Knystautas)
  • mod_caucho update configuration time on cache file load (rep by Serge Knystautas)
  • EJB: ejb-entry was not properly applied for EJB entity beans (#1322, rep by gzhu)
  • servlet-mapping url-regexp wasn't working with welcome-file-list (#1298, rep by marcelloh)
  • Connection pool needs to rollback after resetting the connection isolation for Oracle (#1208, rep by Will Jaynes)
  • ./configure heuristics to catch IBM JDK 64-bit (#1311, rep by dboperations)
  • JSP Tag validation incorrectly fails tag variable classes (#1319, #1312rep by Bill Au)
  • Update ThreadPool to close overflow idle threads more quickly
  • <database> prepared statement caching shouldn't cache with resultType (#1310, rep by gzhu)
  • Get certificates for code signing from jar files (#1008, solved by Andrew)
  • 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 and session-cookie value (#1279)
  • mod_caucho reading cached localhost_6800 with headers
  • mod_caucho and 1--continue

3.0.21 - Aug 8, 2006

  • javax.persistence.Query issue for JDK 1.4 (rep by Andrew Barton)
  • mod_caucho and session-cookie value
  • mod_caucho stripping of ;jsessionid= wasn't working
  • (2006-08-07) ejb-server jndi-name for local name wasn't handled properly (#1276, rep by Andrew Barson and Matt Pangaro)
  • isapi_srun.dll changed to default 6802 (#1274, rep by mindlink)
  • license signature fixes (rep by Matt Pangaro)

3.0.20 - Aug 2, 2006

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

3.0.19 - May 15, 2006

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

3.0.18 - Feb 23, 2006

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

3.0.17 - Dec 22, 2005

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

3.0.16 - Dec 10, 2005

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

3.0.15 - Nov 15, 2005

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

3.0.14 - July 5, 2005

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

3.0.13 - May 6, 2005

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

3.0.12 - Feb 15, 2005

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

3.0.11 - Feb 15, 2005

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

3.0.10 - Dec 20, 2004

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

3.0.9 - Oct 1, 2004

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

3.0.8 - Jun 8, 2004

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

3.0.7 - Mar 25, 2004

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

3.0.6 - Jan 20, 2004

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

3.0.5 - Jan 15, 2004

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

3.0.4 - Nov 6, 2003

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

3.0.3 - Sep 22, 2003

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

3.0.2-beta - Aug 4, 2003

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

3.0.1-beta - May 15, 2003

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

3.0.0 - Feb 13, 2003

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