| | resin change log
4.0.66 - in progress
- ssl: add certificate-chain-file to sni-host (#6434, rep by Brygid)
- misc: synchronize ScriptStackTrace (#6435, rep by M. Secrett)
- config: add config for watchdog-jvm_args
- database: in XA when a first getConnection() has a sql error, a second getConnection() wasn't properly returning the first (#6407, rep by Mitsuo Shimomura)
- server: HttpRequest header/url expansion isn't correctly recalculating tail (#6391, rep by cyflhn)
- server: LibraryLoader isModified needs synchronization because of shared _newPathList (#6395, rep by Mitsuo)
- config: use access_log_format from resin.properties in cluster-default (#6380, rep by mitsuo)
- ssl: add null check for JNI free of string argument (#6378, rep by J. Blachon)
- health: SendMail connection errors shouldn't force restart (#6374, rep by S. Sampgaonkar)
- ssl: add ssl="true" to HttpProxy (#6343, rep by C.Fernandez)
- ssl: use openssl_cipher_suite from resin.properties (#6369, rep by Kok-Chai)
- servlet: url map syncronization during startup
- http: transfer-encoding chunked has priority over content-length (#6365, rep by shampster)
- watchdog: remove -Xmx limitation on watchdog, instead launching with normal memory (#6329, #6330, rep by M. Shimomura, Gabriel Costea)
- watchdog: update schema cache to use native path
- windows: windows setup.exe fails when reading registry Services (#6400, rep by ahoroviy)
4.0.65 - July 29, 2020
- redirect: escape urls for resin:MovedPermanently (#6348, rep by stbu)
- jsp: JspPrecompileListener can't use more than one thread because of shared tags (#6350, rep by Mitsuo)
- websocket: flush() was called on output stream because normal servlet request flush wasn't disabled (#6339)
- log: update access log to support long content length (#6355, rep by stbu)
- form: update int/long to handle large uploads (#6349, rep by stbu)
- cloud: improve debug message for connection failure (#6352)
- anomaly: add auto thread dump for anomalous request time (#6318, rep by Mitsuo)
- webapp: startup logging in webapp (#6346, rep by R. Mann)
- admin: manage tag ids with special characters (#6341, rep by stbu)
- thread: add timestamp for low-level ThreadPool (#6338)
- openssl: add +/tlsv1.3 (#6314, rep by O. Aiken)
- class-scan: catch and continue from .class parse exceptions
- access-log: add %{param}p for parameter (#6305, rep by Yoo)
- websocket: avoid wrapping IOException in IllegalStateException (#6326, rep by James Byatt)
- jdk: EventManager need to use ConcurrentHashMap.putIfAbsent, not Map.putIfAbsent (#6331, rep by alis)
- config: openssl-protocol, openssl-cipher-suite, openssl-chain-file (#6316)
- health: avoid reporting time outside window as downtime (#6300, rep by M. Shimomura)
4.0.64 - Feb 7, 2020
- cluster: fix heartbeat close
- deploy: fix duplicate remote deploy
- config: add jvm_classpath to cluster-default.xml (#6311)
- config: add access_log_format (#6302, rep by T. DeHaan)
- jdk: TcpPort._activeConnectionSet.keySet() must use Map api (#6294, rep by Y. Guedj)
- jdk: getAttribute should not wrap AttributeNotFound (#6297)
- jdk-compat: dynamic Logging during initialization (#6293)
- session: add option for same-site cookie None value (#6320, rep by Park)
- ssl: JSSE should fall back to password if key-store-password is not set (#6325, rep by S. Busch)
4.0.63 - Oct 24, 2019
- port: thread launchers were started before initialization (#6287, rep by A. Thai)
- session: SessionImpl should not clear _isModified on no-change load (#6289, rep by alpor9)
- jdk: use Map.keySet() instead of ConcurrentHashMap.keySet() for linking issues (#6288, rep by A. Thai)
- server: on HMUX requests, wait for server start
- server: keepalive timeout needs to killKeepalive not turn to active (#6268, rep by M. Shimomura)
- http: HttpsEmbed missing jsse.init() (#6282, rep by mikeb01)
- jdk-compat: jdk init with -javaagent cannot use logging from appendToClassPathForInstrumentation (#6279, rep by M. Shimomura)
- http: HttpProxy encoding issue with ch>0x8000 (#6276)
- admin: added resin.admin.heap-dump.file system property for heap-dump directory (#6242 rep by Oneshin)
- hessian: close of Hessian proxy stream when result is inputstream (#3655, rep by Mattias Jiderhamn)
- config: add health_log_expire_timeout (#6271, rep by K. Ng)
- jsp-el: issues with bean getters and get() (#6269, rep by Mitsue Shimomura)
- remote: allow JDK11 w/o WebService class (#6266, rep by Matt S)
- jdk-compat: TcpPort.close() exception on JDK6/7 (#6254)
- mod_caucho: handling of https forwarding
- file: add default-content-type to FileServlet (#6237, rep by stbu)
- config: add openssl_chain_file to cluster-default.xml (#6253)
- dist: split out jpa-16.jar from javaee-16.jar
4.0.62 - May 22, 2019
- distribution: update .jar versions and remove jars with possible conflicts
- cloud: distributed server update issue with .git/refs (#6238, rep by Andrew Thai)
- elastic: cleanup of join server-id and server-address, and timeout (#6236, rep by Chris Daniel)
- ssl: add trust-store-algorithm and trust-store-provider to jsse (#6235)
- ssl: add key-manager-password and key-store-password to jsse (#6233)
- ssl: add key-manager-algorithm and key-manager-provider to jsse (#6234)
- spring: add ClasspathPath to MergePath.addClassPath (#6227)
- websocket: add WebSocketContext.ping (#6228)
- integration: WebApp.getMimeMapping (#6230)
- integration: WebApp.getLocaleMapping (#6231)
- security: setting setServerHeader to null will remove Server header (#6224, rep by Dharanidhar)
- file: cache file updates when webapp-jar changes (#6223, rep by Steffan Busch)
- debian: update debian release
- elastic: add server-timeout to resin:ElasticCloudService (#6218, rep by Naohisa)
- quercus: find interface method if available (#6221)
- elastic: add --elastic-server-index (#6216, rep by Naohisa)
- security: foo.;html produces 500 exception (#6217, rep by Steffan Busch)
- security: j_security_check with no auth should issue warning and 404 instead of 500 (#6219, rep by Steffan Busch)
- servlet: don't reuse form/invocation ByteToChar when very large (#6220, rep by Naohisa)
- embed: add HttpsEmbed (#6193, rep by mikeb01)
- jmx: add application-hash to WebAppMXBean (#6202, rep by Naohisa)
4.0.61 - Feb 28, 2019
- security: additional invalid-URL rejection for matrix parameters
- file: redirect must not html convert the location (#6212, rep by stbu)
4.0.60 - Feb 6, 2019
- security: invalid-URL rejection for matrix parameters
- embed: force close of file descriptors (#6208)
- webapp: add info log when WebApp does not start within active-wait-time starts (#6197)
- hessian: added default blacklist classes
- deploy: added alarm for deployment .git gc
- deploy: .git changes to allow for git clone from resin-data
4.0.59 - Dec 7, 2018
- database: avoid loop when shared XA connection fails allocation (#6200, rep by Naohisa Ohshima)
- http-proxy: escape utf-8 urls when used in rewrite (#6198, rep by Yoo)
- config: updated resin.properties for http examples
- cluster: cluster .war deployment issues (#6188)
- tcp: only force socket close on shutdown in test mode to avoid threading issues (#6190, rep by Babak Hefezi)
- jsp/embed: jsp taglib detection issues with embedded resin (#6191, rep by Tyson Weihs)
- access.log: truncation of long url in access.log needs matching truncation headers (#6168, rep by Steffen Busch)
- file: redirect needs to encode with HTML encoding (#6184, rep by marc82ch)
- embed: deadlock with ResinEmbed and type introspection (#6177, rep by mikeb01)
- load-balance: cookies losing double quotes (#6181)
- quercus: curl needs to use TLSv1.2 as default
4.0.58 - Aug 27, 2018
- servlet: AsyncContext timing issues due to back-compat (#6168)
- servlet: add load-on-startup-allow-fail (#6171)
- config: add openssl_protocol and openssl_cipher_suite to resin.properties (#6169)
- quercus: exception wrapping when stack trace is missing or empty
- network: change SocketLinkThreadLauncher to permanent (#6166, rep by samlmax)
- servlet: immutability of getParameterValues (#6172, rep by waiwong)
- classloading: scanning of module-info should be skipped (#6170)
- security: invalid URL detection with filters
- quercus: QuercusContext array extension using wrong variable
- session: added cookie-same-site for version=0 (#6167, rep by stbu)
4.0.57 - July 10, 2018
- rewrite: added IfProtocolVersion (#6162, rep by stbu)
- session: added cookie-same-site config for JSESSIONID cookies (#6140)
- security: critical security issue related to URL normalization and servlet mapping (#6164)
- resin-admin: clarify that dynamic servers cannot contact other dynamic servers directly (#6128)
- web-app: possible deadlock/delay in startup (#6159, rep by drsskelkar)
- elastic: missing synchronization on cloud update (#6152)
- dependency: dependency-check of 0 forces synchronous check (#6116)
- elastic: elastic server issues with dist-cache pod (#6157)
- logging: default to LogManager.addLogger when EnvironmentLogger creation fails (#6121)
- quercus: use alarm for timeouts instead of spawning new thread (#6156)
- jdk10: removed -d64 from watchdog start
- configure: change openssl test to ssl2.h (#6154, rep by gattu)
4.0.56 - April 16, 2018
- start: remove -d64 from watchdog launch for jdk10 (rep by Steffan Busch)
- db: restore deletion timeout to avoid deleting session data prematurely (#6130, #6066)
- db: add log warning when db init fails due to filesystem full (#6149)
- ssl: javax.servlet.request.key_size was string (#6151, rep by Mathias Lagerwall)
- db: always validate indexes on startup
- ioc: @Named("red.lion" vs @Named("red.tiger") (#6150, rep by thorbjoern)
- admin/restart: logging reasons for web-app restart
- db/cache: timing related issues on start/stop
- openssl: add sni support (#6124, %5574)
- log: add %{ssl_protocol}V and %{ssl_cipher_suite}V to access log config (#6113, rep by Steffen Busch)
- servlet: multiple url-pattern in web fragment (#6127)
- gzip: add min-gzip-size based on content-length header (#6112, rep by stbu)
- jdbc: add wrapper methods for JDBC 4.2 (#6082)
- access.log: NPE with logging bad-request (#6123, rep by Steffen Busch)
- pdf: report date and snapshot time need to match (#6114)
- cli: Removed config-deploy because it is too brittle to deploy reliably
4.0.55 - Dec 4, 2017
- config: simplified resin.xml and resin.properties to remove unused capabilities
- win32: error messages related to permissions for win32 services (#6092)
- LogService: configuration in health.xml with health_log_level (#6110)
- jmx: MemoryUsage from MBeanServer returning unexpected type (#6106)
- start: removed automatic setting of endorsed directory for Java 9 (#6107)
- quercus: issues with not-reloading compiled .php pages (#6091)
- webapp: web-app shutdown-wait-max needs to default to server-default value (#6096)
- servlet: programmatic login with form-login (#6104, rep by nono)
- http: HTTP read issue when TCP packet in URL (#6093, rep by zhaown)
- db-pool: recover from non-matching PoolItem (#6099)
- webapp: allow expand-preserve-fileset in web-app (#6102, rep by mnsh)
- file: encoding of directory names (#6100, rep by stbu)
- ssl: allow empty password for openssl (rep by Steffen Busch, #6103)
- cli: "console" and "gui" were exiting immediately (rep by Naoki, #6101)
4.0.54 - Oct 5, 2017
- elastic: dynamic server timeouts not properly handled (#6088)
- log: add archive-format to watchdog-log (#6081)
- network: timing issue with thread launcher (#6089)
- network: add 120s failsafe to thread launcher (#6089)
- admin: hessian whitelist issue with ObjectName (#6043, rep by Shinomiya NObuaki)
- admin: add web-app information to CLI status (#6056)
- deploy: deploy issues from /resin-admin (#6050, rep by Shinomiya Nobuaki)
- log: add getFormatter() support for SyslogHandler (#6087)
- servlet: change access log NPE logging to see stack trace (rep by Steffen Busch)
- servlet: error-page for 400 (#6076, rep by stbu)
- servlet: session issues when using ScheduledTask (#6080, rep by kenjrwalker)
- servlet: multipart form error attributes (#6077, rep by Steffen Busch)
- log: log rotation timing issues on HP-UX (#6079)
- cache: rename javax.cache to com.caucho.cache to avoid conflict with final spec (#6071)
- admin: NPE in JavaClassDef.getField (#6074)
- actor: backport actors actor from Baratine for HP-UX issues
- dump_heap: hprof-path must use getNativePath() for windows (#6072)
- mod_caucho: redirect issue with query parameters (#6054)
- cache: kill keepalive when cache is invalid (#5982, rep by jfblachon)
- cdi: timing issue with ApplicationScoped beans (#6639, rep by Jose Fernandez)
- cluster: cleanup of heartbeat period and timeout (#5904, rep by Tom Pohl)
- servlet: i18n issues with encodeRedirectURL over 0x8000 (#6069, rep by marc82ch)
- servlet: handling of stale web-app while processing error page
- jsse: default system properties moved to resin.xml (#6063, rep by Marc Wiest)
- jsse: honor-cipher-order (#6067, rep by stbu)
4.0.53 - Jun 21, 2017
- install: issue with symlink and existing directory (#5951, rep by A. Hilliard)
- webapp: sync issues with starting (#5979, rep by Mathias Lagerwall)
- php: preload was switched to load (#6059, rep by kpokrovsky)
- jsp: multiple free of BodyContext (#6061)
- jsp: .smap issues with invokedynamic constant pool (#6060, rep by mnsh)
- mod_caucho: updates to ;jsessionid stripping (#6057, rep by Shinomiya Nobuaki)
- health: added resin.properties configure to disable health checks and logging (#6055)
- rewrite: NPE when web-app stopped and rewrite rules used (#6048, rep by stbu)
4.0.52 - May 19, 2017
- apache: reencode 0x0d for uri in mod_caucho
- jsse: set default JSSE settings to higher levels (#6051, rep by VasumathiN)
- jmx: issues with queries and wildcards (#6041, rep by kpokrovsky)
- health: need finally, and catching of exception
- jsp: analysis of InvokeDynamic (#6037, rep by alpor9)
- database: validation of database file extension size (#6045, rep by Shinomiya Nobuaki)
- rollover: multiple rollover configuration not properly update (#6033, rep by Shinomiya Nobuaki)
- access.log: multiple <access-log> not properly handled (#5920)
- getResource: return "file:" url for normal resource in getResource (#6049)
- db-pool: min-idle-count registered with transaction
- database: meta-allocation-table write issues (#6046)
- database: free row allocation performance issues (#6044)
- access.log: possible corruption by multithreading (#6038)
- classloader: relative path validation for getResource (rep by Steffen Busch)
- servlet: strip path parameters from getPathInfo CVE-2016-9879 (#6036, rep by mtryhoen2
- rewrite: rewrite in host with resin:IfXXX adds extra log (#5943, rep by stbu)
- session: session.refCount issues with forward and loaded session (#6039, rep by Shinomiya Nobuaki)
4.0.51 - Mar 3, 2017
- database: timing fixes for block load and write (#6034, rep by Nikola Sepentulevski)
- thread: task timing allows spurious LAUNCH error
- hessian: add allow/deny/whitelist for the deserializer
- request: NPE in finishRequest for callbacks and getLocale() (#6028)
4.0.50 - Jan 23, 2017
- lifecycle: shutdown order with request close (#6027, rep by Shinomiya Nobuaki)
- range: range issue with out-of-range range request (#6024, rep by snicolai2)
- tld: synchronization issue with AnnotationSet (#6023, rep by Shinomiya Nobuaki)
- jmx-list: throws NPE with -operations or -attributes option (#6022, rep by MCGuard)
- apache: add 4th argument to apr_pool_cleanup_register for SHM (#5948, rep by goodpro2)
- jstl-el: ${param} is not case-insensitive (#6021)
- startup: added active-wait-error-page for custom 503 on startup (#6002, rep by S. Busch)
- openssl: detect shutdown for SSL read (#5916, #5918, rep by stoty, alpor9)
- dbpool: remove connection error item (#6017)
- session: change session_store default to false (#6020)
- error-page: add error-page-server-id to disable server id from error page (#6015)
- cache: isssue with If-None-Match (#6014)
- deploy: git now deploys .war as single blob (#5989, #4957)
4.0.49 - Oct 15, 2016
- jsse: allow substrings (RC4) for cipher-suites-forbidden (#4987)
- pdf: add -server support for CLI pdf-report (#5950, rep by Nobuaki)
- HttpProxy: lower default idle time to 2s (#6001)
- multipart: multipart headers need to be parsed with encoding (#5942, rep by bjornolsson)
- dist: validator needs to be in webapp-jars for classloading (#6000, rep by msouthall)
- iis: IndexOutOfRangeException in Caucho.IIS.LoadBalancer.OpenServer (#5990, rep by S. Szeto)
- win: sendfile issues with URL length
- CLI: deploy-ls and deploy-cat swapped (#5983)
4.0.48 - Feb 12, 2016
- mime-type: additional extensions for mime-type.
- session: fixes related delete timing.
4.0.47 - in progress
- session: fixes related to Java deserialization (#5947, rep by Shinomiya Nobuaki)
- distcache: locking overhead reduced (#5962, rep by snicolai)
- distcache: update remove query and locking (#5952)
- session: fixes related to session removal/timeout (#5952, rep by S. Catna)
- compile: jdk5 compile issues (#6940, rep by anton_kg)
- cache/mmap: jdk6 compatibility issues (#5959, #5960, rep by S. Gavandi)
4.0.46 - Oct 4, 2015
- jsp: tag loading issue due to WEB-INF case (#5936, rep by libor)
- table: improper early closing of file on shutdown (#5946)
- servlet: drop instantiation check for instances of servlets and filters (#5934, rep by msouthall)
- jsse-ssl: add support for honor-cipher-order (#5939)
- jsp: reflection not properly scoped to class-loader context (#5944, rep by Andreas Buchele)
4.0.45 - Aug 6, 2015
- session: change shutdown state machine to allow getAttribute on invalidating session (#5919, rep by Shinomiya Nobuaki)
- build: remove LoadTimeWeaver (#5923, rep by M. Barker)
- watchdog: change default -Xss to 1m (#5927, rep by anupmondal)
- servlet: check for dual registration of ServletContextListener (#5893, rep by Matias Lagerwall)
- jsp: share classloading of .tag files (#5914, rep by nfedorov)
- dyn-server: on server restart, allow same address:port (#5903, rep by Tom Pohl)
- dyn-server: added lock in resin-data to ensure multiple servers cannot use same data (#5902, rep by Tom Pohl)
- ssl: allow OpenSSL ECC support for forward secrecy (#5906, rep by Nick Stephens)
- db: add validation and restart for corrupted BTree index (#5912, rep by wesleywu)
- build: allow for JDK 8 build (#5901, rep by dave)
- health: removed perm gen checks (#5910)
- ejb: ejbTimer.cancel() needs to remove timer from getTimers() (#5891, rep by bbik)
- servlet: FileService character-encoding should exclude images (#5907, rep by Mathias Lagerwall)
4.0.44 - 2015-04-22
- jsee: self signed cert should support Firefox and Chrome default cipher-suites(#5884)
- jsee: self signed cert should check expire (#5885)
- class-loader: excessive reread of jar certificates (#5850, rep by konfetov)
- log: add sanity check for log rollover (#5845, rep by Keith F.)
- deploy (git): use utf-8 to store path names (#5874, rep by alpor9)
- websocket: setTimeout was being overridden by Port keepaliveTimeout (#5841, rep by A. Durairaju)
- jni: on windows, skip JNI for File metadata like length (#5865, rep by Mathias Lagerwall)
- db: isNull issues with left join (#5853, rep by Thomas Rogan)
- websocket: check for socket close on startTextMessage (#5837, rep by samadams)
- log: when log rollover fails, log to stderr (#5855, rep by Rock)
- filter: allow private instantiation (#5839, rep by V. Selvaggio)
- rewrite: added SetRequestCharacterEncoding (#5862, rep by Yoon)
- health: change health check timeout to critical instead of fatal to allow for development sleep (#5867)
- alarm: timing issue with warnings and alarm extraction (#4854, rep by SHinomiya Nobuaki)
- session: orphan deletion throttling needs faster retry time (rep by Thomas Rogan)
- mod_caucho: slow PUT/POST uploads with Apache 2.4 (#5846, rep by Stegard)
4.0.43 - 2015-02-10
- openssl: use SSL_free in connection close
- mod_caucho: slow PUT/POST uploads with Apache 2.4 (#5846, rep by Stegard)
4.0.42 - 2015-01-20
- websocket: read loop needs to use getAvailableBuffer() (rep by Arun Durairaju)
- bam: too much logging for queue full (rep by Dan Stilts)
- bam: use smallest queue for remoting instead of round-robin to handle frozen connections (rep by Dan Stilts)
- comet: cleanup of comet state machine (#5826, rep by S. Nobuaki)
- cxf: missing servlet config for CXFProtocolServletFactory (#5825, rep by balaiitm)
- servlet: setHeader("foo", null) now removes header value (#5824)
- db: fixed expires and orphan queries to remove expired sessions (#5748, rep by Thomas Rogan)
- ejb: added scan-persistence-xml to <ejb-server> to allow disabling of persistence-unit scanning (#4908)
- ssl: update openssl option processing. Update SSL_free/SSL_new
- health: add snapshot-jmx and snapshot-heap-dump to avoid issues on weekly reports (#5495, rep by ssbbartgroup)
- resin.sh: chdir to $RESIN_HOME before starting (#5668, rep by balaiitm)
- apache: NPE issues with Apache locking (#5747, #5744, rep by vicsanca, ssmax)
- apache: configure/make issues with Apache 24
- jni: add loading of classes/native/*.so (or native/*.so in a jar) (#5760, rep by William Damage)
- openssl: SSL field (ssl_sock) value was being cleared by std.c (#5815, rep by Nick Stephens, Sarah Gillespie)
- openssl: SSLv3 is now disabled by default (#5819)
- health: StartProfiler was saving data in text, not json (#5736, rep by S Nobuaki)
- admin: load-balance connection state could get stuck in "starting" on certain success cases (#5653)
- async: on comet restart, allow the previous state to be completed (#5684, rep by KC Baltz)
- async: send 500 on empty response with timeout (#5570, rep by Shinomiya Nobuaki)
- async: issues with starting async in forward (#5544, rep by Shinomiya Nobuaki)
- cache: update FileServlet to generate ETag including mime-type to support mime-type updates (#5761, rep by M. Lowe)
- servlet: multipart parts were not supported for namedDispatcher forward (#5543, rep by Shinomiya Nobuaki)
- dbpool: on manual init(), do not register JNDI, CDI, or JMX (#5595, rep by Shinomiya Nobuaki)
- webapp: sort initializers by web-fragment (#5514, rep by beamerblvd)
- ring-queue: offer with no wait and full requires a wake before blocking (#5599)
- jsp: allow binary output stream with non text/ contentType (#5027)
- async/gzip: issues with async combined with gzip (#5033)
- rpm: added %postun to shutdown resin (#5635, rep by S. Gillespie)
- i18n: classloading issues with utf-8 names (#5549, rep by konfetov)
- database: use JDK's ReentrantReadWriteLock instead of custom Resin lock (#5624, rep by Shinomiya Nobuaki)
- database: on close, fsync validation is does not allow for late writes (#5636, rep by Shinomiya Nobuaki)
- servlet: relax checking of public for Filter constructor (#5701)
- log: limit log message database (#5802, rep by R. Murayama)
- database: force remove of old file when file is created (#5803, rep by R. Murayama)
- jni: only epoll is supported as select-manager (#5811, rep by qjian)
- jni: on windows use File.lastModified() instead of stat result to avoid windows DST bug (rep by Jason Barr)
- health: add <mail> to PdfReport configuration (rep by Steffen Busch)
4.0.41 - Sep 26, 2014
- health: update PdfReport on start to log warning messages for mail (#570, rep by D. Tapsell)
- servlet: ServletContextListener was called twice when registered from ServletContainerInitializer (#5611, rep by Gerrit Janssen)
- scheduled-task: check for early task call (#5709, rep by Daniel Jimenez)
- gzip: gzip response needs to filter out content-length (#5777, rep by wxiaoguang)
- jni: update EINTR processing for poll/nonblocking read (#5627, rep by bean)
- log: ensure rollover worker is called after flush (#5785, rep by mros2stf)
- log: missing timestamp due to buffer fill condition (#5794, rep by Daniel Jimenez)
- health: add "DISABLED" state to HealthStatus for disabled health checks (#5711, rep by Shinomiya Nobuaki)
- dbpool: reduce logging level for dbpool driver close, because exception are
expected in Mysql (#5637, rep by Srikanth Pulikonda)
- cli: added -timeout to deploy command (#5598, #5597)
- openssl: add +tlsv1.1 and +tlsv1.2 (#5682, rep by Sarah Gillespie)
- servlet: welcome-file processing with query string creates duplicate for getParameterValues (#5642)
- servlet: content-type and application/json (#5565, rep by 54chen)
- health: add ping-port attribute to HttpStatusHealthCheck in health.xml (#5572)
- async: allow dispatch() in onTimeout() (#5779, rep by azuo_lee)
- ssl: jni ssl mmap support must go through OpenSSL API (#5790, rep by N. Kikhia)
- jni: calculate_poll_result could return invalid value (#5632, rep by bean)
- session: check for NPE on shutdown (#5633, #5681 rep by M. Jindal)
- configure: change ln -sfT to ln -sf for Mac install (#5717, rep by wileysaw)
- io: null source check on read (#5731)
- config: jvm-arg not properly picking up dynamic server.id (#5793, rep by daniel)
- jni: use _filelengthi64 for windows JniRandomAccessFile.getLength (#5733, rep by Mattias Lagerwall)
- config: ResinEnv exception declaration in init() (#5737, rep by matthiasblaesing)
- server: add NPE check for generateController (#5744, rep by Shinomiya Nobuaki)
- file: added TransmitFile for windows (#5784)
- servlet: error-page for 400-bad request NPE (#5749)
- servlet: loadOnStartup was incorrectly enabled for @WebServlet even when unset (#5778, rep by Marko Asplund)
- load-balance: utf-8 encoding in urls (#5785, rep by R Cohen)
- access-log: rollover-count was not property matching files with .gz extension (#5789, rep by Uv Wildner)
- jdbc: UserStatement.getWarnings() needs to work even after close (rep by Ole Dalgaard)
- health: add critical/fatal messages to health shutdown message (#5762, rep by J. Meyer)
- resin.xml: moved default cluster-default.xml to classpath and defaulted app-default.xml to be dir-relative (#5762, rep by M. Lowe)
- @WebSocket: interference between @WebSocket and CDI/JSP EL (#5776, rep by marko_asplund)
- jsp-el: cookie.containsKey() fix: (#5683, rep. by Jason Wang)
4.0.40 (May 13, 2014)
- classLoader: getResource() should skip broken jars (#5706, rep by Constantinos Karantzas)
- servlet-env: bind java:comp/BeanValidation (#5587, rep by Matthias Jiderhamn)
- vfs: normalize windows drive letters to lower case to avoid dups (#5592, rep by Matthias Jiderhamn)
- bam: increase default timeout for remote deploy (#5652, rep by Matthias Jiderhamn)
- xa: clear _suspendState on transaction resume for memory issues (#5647, rep by Matthias Jiderhamn)
- i18n: iso-8859-1 encoding issue with non-latin-1 characters needs to return error character (rep by Yoel Gluck)
4.0.39 (Mar 28, 2014)
- session: session-mode=before-header was disabling reloading on secondary servers (#5639, rep by Thomas Rogan)
- resin: disable-soft command timeout error fix (#5656, rep by Sarah Gillespie)
- resin: shutdown-wait-max not propagating to ShutdownSystem fix (#5660, rep by Shinomiya Nobuaki)
- resin-admin: cross-site scripting vulnerability in /resin-admin (#5669, rep by G. Krstic)
- jsp: taglib defined listeners should be called before Filter's init() (#5659, rep by Mattias Jiderhamn)
- quercus: SimpleXMLElement->xpath() does not work for relative queries (#5622, rep by G. Krall)
- quercus: SimpleXMLElement->children() returns null values (#5432, rep by ckir)
- quercus: DOMDocument->schemaValidate() not implemented (#5613, rep by G. Krall)
- quercus: empty() needs to call ArrayAccess->offsetExists() (#5620, rep by tssets)
- quercus: spl_object_hash() not implemented (#5623, rep by G. Krall)
- quercus: cannot execute multiple PDO statements on the same connection (#5625, rep by remaus)
- quercus: nowdoc does not work (#5626, rep by remaus)
- quercus: parent classes needs to call its version of private methods within its scope (#5631, rep by G. Krall)
- quercus: ReflectionParameter::getClass() returns null (#4863, rep by ds82)
- quercus: Parent keyword does not work inside a Trait (#5581, rep by tobia)
- quercus: class_alias() is not implemented (#5443, rep by jsnoriegam)
- quercus: quercus namespace issue in compiled mode (#5640, rep by R. Emaus)
- quercus: simplexml children()->foo does not work for nodes with only text (#5655, rep by G. Krall)
- quercus: rename META-INF/services/* so JBoss doesn't parse them (#5654, rep by G. Krall)
- quercus: JsonSerializable class not implemented (#5504)
- quercus: add FILTER_SANITIZE_STRIPPED as an alias of FILTER_SANITIZE_STRING (#5663, rep by M. McHugh)
- quercus: implement filter_input(FILTER_UNSAFE_RAW) for phpMyFaq (#5661, rep by M. McHugh)
- quercus: implement FILTER_SANITIZE_SPECIAL_CHARS (#5665, rep by M. McHugh)
- quercus: force the java Mysql driver to use prepared statements (#5671, rep by R. Emaus)
- quercus: quercus cannot start on Wildfly (#5674, rep by G. Krall)
- quercus: unpack("H*") returns nothing (#5676, rep by M. Dykman)
- quercus: clearstatcache() has 2 optional arguments (#5687, rep by G. Krall)
- quercus: stream_is_local() is not implemented (#5685, rep by G. Krall)
- quercus: curl_multi_init() suite of functions not implemented (#3516, rep by koreth)
- quercus: SplObjectStorage class not implemented (#5696, rep by G. Krall)
4.0.38 (Dec 13, 2013)
- win32: windows returns incorrect mtime for stat() for DST (#5578, rep by Jason Barr)
- deploy: NPE on undeploy (#5596)
- session: update to session id generation to reduce reliance on SecureRandom to avoid duplication (#5602)
- memcached: MemcachedClient in independent Resin's was improperly caching (rep by Scott Weatbrook)
- jpa: EntityManager proxy needs to check isOpen before freeing EntityManager for reuse (#5541, rep by Riccardo Cohen)
- ear: dependency-check could get stuck in the modified state (#5525, rep by Ryan Edwards)
- rpm: %config updates for /etc/resin, and file mode on /usr/bin (#5562, rep by Christopher Powell, #5539, rep by Khalid Hosein)
- cache: add memory-size-min to ClusterCache to configure minimum memory cache size (#5558, rep by J Tschida)
- cluster: dynamic server must heartbeat address to recover from triad restarts (#5561, rep by T Pohl)
- health: sort message times so PDF report of health dump will be most recent (#5358)
- watchdog: increate idle thread on startup to avoid dependency on swap (#5500, rep by K. Hosein)
- jms: transaction/ack issues with file and message driven bean (#5535, rep by Scott Weatbrook)
- hessian: InetAddress serialization (#5540, rep by Michael Charnoky)
- servlet: on shutdown, check facade._request for null (#5537)
- deploy: redeploy delete issues with symlinks (#5536, rep by ssmax)
- health: OpenFileDescriptorCount is not available on some JMVs (#5515, rep by Y. Zhao)
- servlet: missing cookie-config in web.xml (#5521, rep by Arjan Tijms)
- ioc: remove validation of generic type on produces method (#5522, rep by A Tijms)
- ioc: extends observers now auto-convert ProcessManagedBean<Foo> to ProcessManagedBean<? extends Foo> (#5531, rep by A Tijms)
- quercus: empty() needs to call ArrayAccess->offsetExists() (#5612, rep by G. Krall)
- quercus: session_status() not implemented (#5609, rep by G. Krall)
- quercus: self doesn't work inside a namespace (#5608, G. Krall)
- quercus: ReflectionParameter->getClass() not implemented (#5607, rep by G. Krall)
- quercus: IllegalArgumentException vfs: not found on JBoss (#5606, rep by G. Krall)
- quercus: ReflectionFunction does not work for closures (#5605, rep by G. Krall)
- quercus: Xml reader is not working (#5603, rep by qumo)
- quercus: call_user_func() needs to call __invoke (#5601, rep by G. Krall)
- quercus: instanceof Closure returns false for closures (#5600, rep by G. Krall)
- quercus: QuercusCompiledScript.eval() needs to return the Value object (#5589, rep by S. Guo)
- quercus: ScriptEngineManager.getEngineByName("php") returns Quercus with unicode.semantics=off (#5588, rep by S. Guo)
4.0.37 - Sept 7, 2013
- ejb: avoid double EJB timer call when timer is slow (#5518, rep by K. Hosein)
- admin/rest: missing close on resource
- windows: Added a global mutex to windows service wrapper to avoid starting multiple instances of Resin Watchdog
- cloud: elastic server issues with dynamic remove/timeout (#5510, rep by T Pohl)
- log: check for null logger name in LogRecord (#5499)
- cdi: cdi vs jpa load order (#5493)
- elastic: elastic servers use server-multi defaults (#5412)
- jni: added check on nativeRead for buffer length (#5428, rep by Daniel Shearer)
- deploy: start/fail must notify waiting threads (Hrushi Agrawal)
- health: AnomalyAnalyzer now has min-deviation to avoid spurious messages (#5365)
- cli: add password verification to password-generate (#5384)
- access-log: add <access-log-buffer-size> in <cluster> (#5393, rep by A. Foong)
- bam: force restart if BAM overflow continues (#5479, rep by J. Barr)
- vfs: stat vs _stati64 issues on win64 (#5494, rep by Matias Lagerwall)
- jsp: updated JSP page compile locking (#5460, rep by Nikolay Fedorov)
- jsf: updated javax.faces to 2.1.24 (#5485, rep by cyttesen)
- load-balance: cookie with max-age(0) not properly propagated (#5456, rep by H. Cleland)
- shutdown: avoid spurious warnings on connection close during shutdown (#5463, rep by Stefanos Zachariadis)
- cdi: multiple initializer classes in separate jars need to be unique (#5481, rep by Rick Mann)
- bytecode: add constant-pool scanning for JDK 7 MethodHandle (#5466, rep by wxiaoguang)
- session: add table-name to JDBC sessions (#5488, rep by B. Garber)
- watchdog: add -Djava.web.headlesslib=true (# 5474, rep by Riccardo Cohen)
- el: descriptor in BeanELResolver should be initialized lazily to work around JSF memory leak (rep by Mattias Jiderhamn)
- servlet: ServletResponse.reset() should reset cookies (#5464)
- iis.net: fixed Resin.IIS.handler.dll intermittent slow connection to resin issue (#5455, rep by Shinomiya Nobuaki)
- cli: heap-dump double-dash isn't recognized with -raw option(#5454)
- socket: client-disconnect exception needs to construct exception before socket close (#5392)
- openssl: added "compression" flag with a default false (#5435)
- jsp: dependency detection issues with inner classes causing recompilation (#5408, rep by stefan_bieler2)
- servlet/async: async support with hmux (#5420, rep by bhauer1)
- el: issue with permissions on inner classes (#5447, rep by mate)
- webapp: check state on controller init (#5406, rep by gattu)
- servlet: allow @Observes on servlet (#5444)
- cli: status command needs to accept -watchdog-port (#5442)
- servlet: getServerName() with IPv6 and no port (#5399, rep by shiny)
- servlet: servlets with @Inject were not calling servlet init() (#5427, rep by Bill Digman)
- classloader: classload errors in system classloader should not be at warning (#5416)
- ejb: @Schedule must be removed when context closes (#5434)
- cli: --version option was treated as version command (#5415, rep by Tamas Perlaky)
- jsp: array index exception from utf-8 encoding buffer issues (#5436)
- jsp: utf-8 encoding buffer issues with surrogate pairs (#5437)
- network: issue with socket-timeout an non-jni (#5426, rep by HS Im)
- quercus: preg_replace($array[0]) array dereference fix for preg_replace
- quercus: ReflectionProperty::isProtected() fix
- quercus: method_exists("__invoke") does not work with closures (#5501)
- quercus: static local variables must be unique to a particular closure instance (#5502)
4.0.36 - Apr 25, 2013
- bam: updated bam queue size to handle heavy load better
- actor-queue: updated non-locking synchronization on ring queue
- websocket: IllegalStateException when data size exceeds a single message (#5394, rep by S Zachariadis)
- quercus: quercus_disable was misnamed (#5389, rep by J Craan)
- access-log: added buffer-size to access log at cluster level (#5378, rep by Andrew Foong)
- apache: added apache 2.4 support(#5241)
- apache, iis: added support for disabled servers(#5364)
- embed: add ResinEmbed.setServerId (#5350, rep by D. Shearer)
- jmx: MBean/MXBean interface scanning was assuming class implementation matching (#5357, rep by Steve Francis)
- jdbc: added jdbc 7 stub methods for compilation (#5370)
- cdi: add NoClassDefError catches for optional classes (#5371)
- session: jdbc session support for isolated server instances (#5374, rep by Keith Paulson)
- jCache: removeAll support
- jCache: isStoreValue=true (#5343)
- jCache: spec changed to use Configuration instead of builders
- apache: mod_caucho fix for failover issue(#5266, rep by Shinomiya Nobuaki)
- iis: isapi_srun.dll fix for failover issue(#5360, rep by Jason Barr)
- quercus: Overloading: __callStatic not implemented (#4247, rep by domdorn)
- quercus: mysqli_get_charset, mysqli_set_charset not implemented (#5379)
- quercus: error_get_last() not implemented (#5380, rep by kenfoo)
- quercus: drupal utf-8 issue (#3772, rep by bago)
- quercus: mysql utf-8 inserts are viewable in MySQL GUI browsers (#3849, Ocean)
- quercus: mysql Character Encoding incompatibility with standard PHP (#3618, rep by tlandmann)
- quercus: cannot find license in non-WEB-INF directories (#5397, rep by adam)
- quercus: $_SERVER['HTTP_X_SSL_REQUEST'] is not set for SSL connections (#5402, rep by V. Spivak)
- quercus: gethostname() not implemented (#5403, rep by V. Spivak)
- quercus: wordpress plugin Contact Forms 7 does not work (#5407)
- quercus: static::$foo needs to return child's field when inside parent:: methods (#5409, rep by V. Spivak)
- quercus: Quercus PHP does not understand Java enums (#3898, rep by syndetic)
- quercus: java Enum returned from method should be of Enum type (#5411, rep by zalmolksis)
- quercus: NULL values is handled different in method arguments - java interface (#5413, rep by zalmolksis)
- quercus: error_log not working correctly with files (#4178, rep by kmoore4now)
- quercus: error_log() needs to print a newline after each log message (#5289, rep by chubbsondubs)
4.0.35 - Feb 13, 2013
- install: ./configure fix don't set -m32 on Raspberry Pi
- db: cleanup for index validation/restore
- actor: updates for actor threading to avoid queue overflow (#5362)
- access-log: %{Set-Cookie}o should also print addHeader values (#5352, rep by A. Foong)
- access-log: %{Set-Cookie}o should print all cookies (#5353, rep by A. Foong)
- health: add min-threshold and max-threshold to AnomalyAnalyzer
- health: add min-value and max-value to AnomalyAnalyzer
- admin: fixed rest.php?q=mod_status support (#5351)
- servlet: encoding for et, lt, lv should be ISO-8859-4 (#5355)
- servlet: .DS_store hidden from directory servlet (#5341, rep by Jason Walsh)
- watchdog: removed repeated CLI properties (#5342)
- cloud: server-multi needs to support cluster-port (#5345)
- health: if health-system is disabled and an event occurs, log at a lower level (#5344)
- servlet: changed default encoding for et, lv, lt locales to iso-8859-2
- health: pdf-report thread-dump printing when missing file info (#5347)
- health: add DumpThreads.setDepth to control the max thread depth (#5348)
- cloud: CloudPod.findServer array bounds issue (#5346, rep by Jason Barr)
- quercus: OutOfMemory with UserCake Captcha (#5354)
4.0.34 - Jan 30, 2013
- health: named predicates don't match HttpStatusHealthCheck properly(#5283)
- db: NPE in BlockManager on Raspberry Pi (#5338)
- watchdog: hangle missing java.lang:type=Runtime arguments on startup (#5299)
- servlet: content-type encoding updates for .gif files (#5271, rep by Mathias Lagerwell)
- watchdog: watchdog must read system-property (#5294, rep by chinaliwee)
- jsp: validate ResponseStream on PageContextImpl (#5273, rep by B. Loy)
- config: allow EL expressions in host-alias (#5300, rep by Andrew Foong)
- config: static regexps can be deployed on start (#5275, rep by R. Mann)
- load-balance: re-encoding of HTTP url requests (#5317, rep by Ethan Larson)
- load-balance: add session-cookie to LoadBalance (#5332, rep by D. Shearer)
- servlet: utf-8 buffer boundary writing (#5323)
- jsp: static text splitting needs to be smaller for utf-8 characters (#5320)
- install: Makefile add space after error-suppressing '-' for BSD compatibility (#5322, rep by jigzat)
- cache: global-cache ping needs to by async (#5336, rep by D. Shearer)
- config: added jvm-mode for -server, default none (#5331)
- class-loader: synchronize on package creation (#5277, rep by S. Nobuaki)
- health: C SEGV possible in JNI heap_dump (#5330)
- websocket: websocket timeout too short (#5253, rep by hmz820)
- log: for pro database logging, do not throw exception when name insert fails (#5302, rep by Andrew Foong)
- cdi: init timing issue with xmlExtension/log-formatting (#5274, rep by R Mann)
- jsp: .tld lookup needs to look for WEB-INF classloader context (#5243, rep by S. Nobuaki)
- ssl: add honor-cipher-order to match Apache's SSLHonorCipherOrder (#5282)
- servlet: gzip content-length was not properly filtered (#5326, rep by Keith Fetterman)
- load-balance: update active-wait-time for better slow-initialization (#5321, rep by Ethan Larson)
- servlet: add a default='true' attribute to servlet-mapping to allow programmatic overriding of default (#5314, rep by Rick Mann)
- quercus: oci_execute() always returns true (#5311, rep by EricESCP)
- quercus: Event endlessly repeated under Drupal Commons 6.x (#5290, rep by jordi)
- quercus: wordpress-3.5.0 tested and runs on Quercus
- quercus: drupal-commons-6.x-2.11 tested and runs on Quercus
- quercus: mediawiki-1.20.2 tested and runs on Quercus
- quercus: phpBB3-3.0.11 tested and runs on Quercus
- quercus: dokuwiki-2012-10-13 tested and runs on Quercus
- quercus: complete support for PHP 5.4 core language features
- quercus: support for traits (PHP 5.4)
- quercus: support for short array syntax (PHP 5.4)
- quercus: support for function array dereferencing (PHP 5.4)
- quercus: support for $this use in closures (PHP 5.4)
- quercus: <?= short open tag is now always on (PHP 5.4)
- quercus: support for class member access on instantiation (PHP 5.4)
- quercus: support for Class::{expr}() syntax (PHP 5.4)
- quercus: support for binary number format: 0b001001101 (PHP 5.4)
- quercus: $_SERVER['REQUEST_TIME_FLOAT'] is populated (PHP 5.4)
- quercus: can not save permission in drupal6.26 (#5278, rep by kevinw8801)
- quercus: Not able to use PDO with postgres (#5325, rep by publicocean0)
- quercus: Regexp Failure - group-level recursion (#3829, rep by alexander_hristov)
- quercus: dokuwiki regexp illegal syntax - utf-16 surrogate pairs (#3955, rep by M. Pezzoli)
- quercus: vBulletin 4.0.1 - invalid conditional regexp (#3879, rep by derickso)
- quercus: sqlite PDO support (#3997, rep by Janos)
- quercus: Regex PCRE recursion (balancing groups) isn't working as expected in Quercus (#4974, rep by nemostein)
- quercus: object field foreach ordering does not match PHP (#5327, rep by K. Patel)
- quercus: $a instanceof self/parent does not work (#5329)
- quercus: QuercusScriptEngine now returns Quercus Value types
- quercus: QuercusScriptEngine now defaults to unicode.semantics=on and utf-8 script encoding
- quercus: Scripting utf-8 output vietnamese incorrect (#5328, rep by ngoc)
- quercus: assignment to arrays is not evaluated in the correct order (#5333)
- pdf: availability report was inaccurate for quick restarts (#5220)
- pdf: added graph shading to highlight period of downtime
4.0.33 - Dec 18, 2012
- http-proxy: header must end with /r/n(#5265, rep by mnsh)
- servlet: file servlet content-length issues with > 2G files (#5265, rep by Amir Langer)
- cdi: memory held by CDI as negative caching across web-app restarts (rep by Mattais Jiderhamn)
- cli: remote management was not properly using -server in some cases (#5226)
- cache: add jdbc cache as backing
- cache: add tiered cache
- jsp: add jsp-property-group default-content-type (#4232, rep by mattp)
- jsp: let BeanELResolver auto-convert to Enum (#5230, rep by mate)
- loader: added setDisableURLs to DynamicClassLoader to work around RMI bug (#5186)
- jmx: needs to support @MXBean (#5212, rep by kay)
- jamm/health: event firing needs to work from null classloader context (#4254, rep by Luke Bigum)
- servlet: access-log of %u wasn't properly grabbing user (#5250, rep by W. Tao)
- cli: -verbose needs to enable finer logging and display exceptions (#5237, rep by Steve Francis)
- servlet: jersey compatibility (related to @HandlesTypes issue) (#5228, rep by Ryan T)
- servlet: getCookies timing/NPE (#5252, rep by harsha)
- ioc: check for Enum using isAssignableFrom to work around IBM JDK (#5240, rep by S Francis)
- servlet: @HandlesTypes scanning for ServletContainerInitializer
- hessian: IdentityIntMap needs Math.abs for System.identityHashCode (#5239, rep by S Francis)
- jsp-el: improve serialization for JSF (#5231, rep by Mattias Jiderhamn)
- quercus: cannot reference nested java classes (#5245, rep by ismak)
- quercus: strtotime returns null value on DST when given an ISO-8601 timestamp as an argument (#5259, rep by gbruins)
- quercus: session_set_cookie_params() does not support HttpOnly (#5249, rep by ottomatico)
- quercus: drupal facebook activity stream doesn't work (#5264, rep by jordi)
- quercus: Serialize() not supportes using curl in GAE (#5199, rep by ismak)
- quercus: array_merge_recursive() modifies input array arguments (#5269, rep by jordi)
- quercus: javax.script cannot call PHP library functions (#5270, rep by udvs)
- quercus: eval() does work with large code with utf8 data (#5280, rep by tobias)
- quercus: QuercusDataSource needs to implement getParentLogger() for JDK 1.7 (#5281, rep by ottomatico)
- quercus: postgresql - pdo parameters need to be casted to actual column types (#5285, rep by tobias)
- quercus: clone() doesn't work with DateTime (#5287, rep by jordi)
- quercus: date_modify($date, "+37 month") does nothing (#5288, rep by jordi)
- quercus: servlet should not close ServletOutputStream, for ServletFilters downstream (#5293, rep by jornvl90)
- quercus: need to implement DateTime::diff() for PHP 5.3 (#5292, rep by LostInCloud)
- quercus: postgres PDO prepare does not work with "::interval" (#5297, rep by tobias)
- quercus: add Cloud Storage and Cloud SQL support for Google App Engine
- quercus: ' ' is an unknown regexp flag (#5304, rep by K. Patel)
- quercus: isset() complains about undefined variables in compiled mode (#5305, rep by K. Patel)
- quercus: /index.php/about returns a 404
- quercus: QuercusScriptEngine throws OOM if instantiated repeatedly (#5307, rep by woddle)
- quercus: QuercusScriptEngine needs to output unicode correctly (#5308, rep by woddle)
- quercus: php.ini disable_functions does not work (#4005, rep by hm2k)
- quercus: Floating point formatting in locales that use comma as decimal separator (#5312)
- cli: comand usage output reformatted to improve usability
- install: --with-resin-init.d does not create directory (#5244, rep by K. Fetterman)
- pdf: generated PDFs are corrupt in locales that use comma as decial separator (#5298, rep by F. Degen)
4.0.32 - Oct 1, 2012
- cli: unify deploy and config-deploy commands
- deploy: with --host and host-deploy, use proper directory (#5215, rep by Gerrit Janssen)
- heartbeat: added heartbeat timeout
- cache: negative caching for null values on triad
4.0.31 - Sep 12, 2012
- elastic: elastic server joining in EC2 configuration (#5177)
- servlet: parent/child servlet instantiation could result in incorrect instantiation (#5208, rep by Keith Fetterman)
- config: allow resin:import with path="http://..." and optional (#5206)
- cookie: cookie with space generation issues (#5179, rep by kiilerich)
- session: persistent session timing with on-shutdown and lru (#5170, rep by Mathias Lagerwall)
- install: 'make install' target fails on solaris(#5207, rep by Leonid Kaminsky)
- IIS: isapi_srun.dll fix for can't connect to resin issue (#5198, rep by Claudio H Braga)
- mod_caucho: linux timeout issue millis vs sec in read timeout (#5203, rep by ssmax)
- http: sendfile needs to open file using O_RDONLY (#5202, rep by ssmax)
- health: log notify-heartbeat-start when heartbeat recovers (#5173)
- session: save session on first request even if no data stored (#5196)
- jsp: EL triggering back-compat issues with jsp-fragment (#4768, #5200, rep by evernat, cyttesen)
- jsp: flushing issue with JSP/filter and buffer size (#5201, rep by evernat)
- ejb: improved ejb-ee skipping for jira
- cloud: added oracle jdbc-store (#4643, rep by Eric Kreiser)
- server: web-app-deploy expand issues with expand-preserve-fileset & expand-cleanup-fileset (#5193, #5194)
- cloud: --elastic-server warning messages improved (#5184)
- health-check: changed health-check timeout and warning message
- resin-admin: specific warning for missing <resin:AdminServices/>(#5183)
- watchdog: memory leak issue with "status" command (#5178, rep by nmmn)
- config: restore support for old <management> tag (#5176)
- cdi: normal scope proxy issues with 'char' parameters (#5182)
- cloud: added --elastic-server-port and --elastic-server-address
- jsp: added integration with Jasper jsp engine (#4982)
4.0.30 - Aug 21, 2012
- cloud: added --elastic-dns for Amazon-style local dns or elastic ip
- cloud: elastic servers now require --elastic or <elastic-server>
- websocket: build standalone resin-websocket-client.jar (#5142, rep by Judd Gaddie)
- init.d: update status return code (#5166, rep by nmmn)
- install: add --with-setuid and --with-setgid (#5105)
- health: scheduled pdf reports as started asynchronously (#5164, rep by Keith Fetterman)
- mod_caucho: updated load balance to better distribute backups (#5116)
- ejb: skipped ejb.xml must not throw validation exceptions (#5165, rep by Anand Talari)
- install: solaris build issues (#5098, rep by tokyoturnip)
- db: transaction-isolation reset issues when double-set (#5150, rep by Ryan Johnson)
- http-cache: check for valid before checking is-modified (#4865)
- comet/async: keepalive close was not allowed with async written from separate thread (#5159, rep by Adrian Sutton)
- embed: isModified class-loader-context issue (#5156, rep by M Barker)
- debian: update to debian post install scripts (#5140, rep by Alex Sharaz)
- jsf: upgrade mojarra distribution (#5137, rep by mate)
- jsp: add start-timeout to thread spawning to quickly fail when threads full (#5153, rep by TheScrumMaster)
- port/thread: add config warning when port-thread-max is greated than thread-max (#5138, rep by Mark Price)
- debian: update debian postinst script to change the user (#5140)
- quercus: NPE on curl_exec (#5145)
- cli: deploy can now be used with a director instead of a .war (#5139, rep by S. Bjornebekk)
- ejb: @Async uses LinkedBlockingQueue to avoid blocking on offer (#4994, rep by Yen-Fen Hsu)
- servlet: Part.getInputStream() now uses request.getCharacterEncoding() (#4954, rep by Mattias Jiderhamn)
- cli: add deploy-restart-cluster (#4812)
- log: timestamp offset issues with min:sec (#5149, rep by Shinomiya Nobuaki)
- network: bind to IPv6 when address="*" (#5147, #5151, #4825, rep by Alex Sharaz, S Nobuaki)
- load-balance: issue with empty cookie values (#5144, rep by Scott Weatbrook)
- jmx: updated session jmx debug (#5143)
- jsp-el: add enum marshal for methods (#5131, rep by mate)
- embed: setRootDirectory applied in incorrect order (#5132, rep by M. Barker)
- jni: JNI compile warnings fixed (#5129)
- server: check dependencies in separate thread to avoid delays (#5128, rep by Russ Pridemore)
4.0.29 - Jul 13, 2012
- config: watchdog needs to enable rvar variables (#5126, rep by Kirk Kirkconnell)
- cloud: validate that no two servers have the same IP:address (#5122)
- cdi: Serialization with bean with writeReplace in parent (#4992, rep by guus)
- servlet: add JMX ServletManager.getStickySessionServer (#5072)
- mod_caucho: update ./configure detection of mod_caucho (#5117)
- cli: validate that watchdog resin.home matches CLI resin.home (#5099)
- deploy: update repository failure message (#4051, rep by spance)
- json: Double.NaN needs to print as 0.0 (#5111, rep by Alexey Abashev)
- health: HttpStatusHealthCheck must configure a singleton (#5019)
- cdi: BeforeBeanDiscovery must occur before any ProcessAnnotatedType (#5103)
- openssl: on openssl read, need to check SSL_pending before poll (#5120, rep by Mattias Jiderhamn)
- watchdog: OOM issue with startup of multiple servers (#5096, rep by chiefgeek)
- init.d: add START_CMD to /etc/init.d/resin to allow changes to start-all (#5022)
- config: cluster-socket-timeout is configurable (#5096)
- client socket: modify client timeout to extend from ClientDisconnect (#4975, rep by Y. Hsu)
- watchdog: shutdown was killing processes, not stopping them, skipping graceful shutdown (#4969, rep by aiman_a)
- cgi: error codes above 400 did not allow custom bodies from cgi (#4953)
- ext: upgrade to slf4j 1.6.6 (#4853)
- config: ~/.resin not properly read by Resin (#4947)
- resin-admin: lazy lookup of server id for dynamic server (#4790)
- resin-admin: update server selection param (#4789)
- jsp: scanning for ok:foo.tld issues (#4960, rep by Sean Moore)
- servlet: add <env> to CgiServlet (#4915, rep by William Au)
- mod_caucho: add TCP/OS SND/RCV timeouts to sockets (#4988)
- cli: handle -server "" by renaming to -server "default" (#5005, rep by K. Ding)
- admin: both health.xml and resin-admin use "Restart" as the PDF name (#4935)
- load-balance: clear DNS lookup when connect fails (#4902, rep by B. Plump)
- jsp: issues with pushBody(Writer) (#4964, rep by mcamca)
- cli: watchdog-arg was not working properly with start-all (#4978)
- deploy: undeploy needs to remove webapps directory (#4875, rep by jafr)
- alarm: allow Alarm to be instantiated in maven context (#4796, #5112 rep by Alexey Abashev)
- config: app-inf in cluster wasn't picked up properly (#5004)
- cloud: EC2elastic server with "ext:" address and missing cluster-system-key (#5015)
- servlet: add header-size-max and header-count-max (#4986, rep by Deepak Ramaprasad)
- deploy: web-socket issue causing large deployment problems (#5113, rep by Alexey Abashev)
- servlet: multipart-mime with forward parameters was double-parsing (#4896)
- deploy: ear-deploy allows dependency-check-interval (#4901)
- cli: "start" message with no -server and multiple ids (#4898)
- cli: "restart" needs to re-read configuration file (#4788)
- embed: add ResinEmbed.setIgnoreClientDisconnect (#4774)
- jmx: add getClassPath to WebAppMXBean (#5007)
4.0.28 - Jun 7, 2012
- install: --disable-ssl does not disable SSL (#5090, rep by R. Aughenbaugh)
- install: --disable-jni causes make to fail (#5094, rep by R. Aughenbaugh)
- load-balance: bounds check on hmux load-balance (#5058, rep by Travis Romney)
- load-balance: improve error message when open source configures a cluster
- logging: add formatting for entering/exiting (#5071)
- logging: add actor queue for logging
- servlet: add x-forwarded-host support for HTTP (#5092)
- hessian: add deflate support to hessian proxy (#4151, rep by ebourg)
- hessian: Iterator deserializer (#4164, rep by ebourg)
- ioc: processInjectionTarget should only be called on scanning, not createInjectionTarget
- cloud: cross-pod deployment (#4807)
- servlet: isMultipartEnable() NPE (#4995)
- class-loader: sort tree-loader before adding to classpath (#5006)
- jsp-el: method calls (rep by mate, #5011, #5087)
- http: header/url length limits for keepalive (rep by alex, #4999)
- jsp-el: coerceToType handling Class (rep by mate, #5061)
- jsp-el: BeanELResolver getType() for getValue w/o setValue (rep by mate, #5039)
- hessian: NullFieldDeserializer must extend FieldSerializer (rep by Thomas Poppe)
- db/distcache: fsync/timestamp on shutdown to avoid index revalidation when clean
- distcache: reworked cache data management to simplify and stale data cleanup.
- cloud: deploy timeout needs to adjust for long deployments that are progressing.
- resin: fixed directory naming for dynamic server on windows.(#5023, #5026)
- resin: fixed directory naming for dynamic server.(#5079)
- resin: fixed WEB-INF/lib/*.jar not being released on application stop problem.(#5059)
- servlet: fixed Resin schema constraint for async-supported servlet element.(#5044, rep by Naohisa Ohshima)
- jsp: fixed ELParser to accept expressions as argument to method calls.(#5034, rep by mate)
- jsp: fixed ResourceBundleELResolver handling of MissingResourceException (#5035, rep by mate)
- cloud: fixes for .jar support in deploy-config
- database: introduced new commit-on-timeout tag to manage expired connections.(#4926, rep by T. Fukuda)
- resin: fixed start issue with -server "" arguments on windows.(#5005, rep by K. Ding)
- servlet: fixed Part.getHeader case sensitivity issue.(#5018, rep by ralscha)
- servlet: fixed doOptions and doTrace HttpSerlvet methods.(#5020, rep by Andy Paladino)
- resin: fixed access-log@web-tier not reporting cookies problem.(#4965, rep by Chris Hart)
- resin: home-server for EC2/cloud configuration
- resin: license-add command fix for unlicensed pro server (#5008, rep by rickHigh)
- resin: mac osx case insensitive servlet mapping fix (#4980, rep by Alex Rojkov)
- resin: fixed Resin OS Proxy Servlet (5002, rep by lewellyn)
- debian: dpkg shouldn't override /etc/resin/resin.properties (#5000, rep by lewellyn)
- jsf: restored Mojarra12InjectionProvider (#4996, rep by igor)
4.0.27 - Mar 22, 2012
- servlet: split CauchoWrapper from AbstractCauchoRequest (#4993, rep by Leonid Kaminsky)
- health: add "Resin|Http|Ping|Ping Time" and anomaly analyzer
- health: add http_ping_urls to resin.properties
- websocket: added createOutputQueue and encoder
- security: custom authenticators were called too many times (#4976, rep by Alan Wright)
- health: remove meters from /resin-admin summary page, in meters page
- health: add meter for "Resin|Port|Throttle Disconnect Count"
- port: throttle keepalives when port-thread-max is hit
- port: fixed thread launcher housekeeping
- port: added <port-thread-max> for throttling
- threading: updated ring-queue for improved concurrency
4.0.26 - Feb 29, 2012
- cli: added config-undeploy command
- pdf-report: added option to save reports locally
- debian: changed default Resin Daemon user and group to www-data
- xa: change timeout message to include EXTRA_TIMEOUT (#4927, rep by Shinomiya Nobuaki)
- config: tiered *.xml files belong in ${tier}-inf/*.xml and ${tier}-inf/*.jar (#4952)
- watchdog: improve error message when <user-name> is an invalid user (#4942)
- web-server: HttpProxy needs to query DNS on timeout to pick up changes (#4903, rep by B. Plump)
- kernel: split CurrentTime from Alarm for embedded applications (#4889)
- watchdog: add allow-non-reserved-ip as a <server> argument for private networks (#4941, rep by georgbuschbeck)
- http: added sendfile() for large files
- watchdog: Resin pwd is set to root-directory (#4928, rep by Trung Nguyen)
- mod_caucho: send resolved IP address for cluster (#4945)
- thread: update threading architecture
- cli: password-generate issue with --user (#4938)
- websocket/hessian: websocket frame must be read fully on hessian end (#4943)
- jcache: cache annotations (@CacheResult, @CachePut)
- websocket: debug threaddump not removed (#bhauer, #4940)
4.0.25 - Jan 24, 2012
- cache: validate/remove corrupted blob rows (#4919, rep by Keith Fetterman)
- cache: remove corrupted database on restart (#4919, rep by Keith Fetterman)
- servlet: add form-parameter-max (default 10000) to limit form parameters (#4912, rep by georgbuschbeck)
- install: make install target fails to compare directories on Solaris (#4917, rep by Leonid Kaminksy)
- install: ./configure fails to link conftest on Solaris (#4916, rep by Leonid Kaminksy)
- async: comet memory retention of HttpResponse needs unlink (#4907, rep by Richard Mccluskey)
- config: rvar app-0.http when read in watchdog needs current server-id (#4900)
- config: ${foo} now uses rvar search path automatically
- cli: add $HOME/.resin and --mode
- cli: add config-cat and config-ls for debugging
- websocket: pass autobahn test suite
- config: added $disable_compiling_loader to properties (#4787, rep by systhemes)
- cli: made web-app-deploy, web-app-restart, etc. primary cli (#4885)
- servlet: web-app root url /foo now automatically redirects to /foo/ (#4884)
- config: add password-encrypt and <resin:Password> (#4810, Leonid Kaminsky)
- health: stat gathering limited to 14 days for baseline (#4893)
- config: server should start but not serve pages for certain config errors (#4891)
- config: cluster merging, used by local.d (#4882)
- http: add <tcp-keepalive> to enable TCP keepalive for a socket (#4886, rep by Hal Hildebrand)
- cdi: interceptor and InterceptorBinding with enum array (#4883, rep by andreaskaltenbach)
- health: add expire-timeout to LogService (#4848, rep by C. Moran)
- health: HealthSystem event as a classloader context (#4861)
- cache: timing in mmap file extension could truncate (#4854, rep by georgbuschbeck)
- config: rvar should work like an EL var lookup (#4879)
- debian: change /var/www ownership to 'resin' for rpm consistency
- cli/deploy: deploy with --address when local machine has resinctl (#4868)
- jsp: pageContext.errorData.throwable could grab the wrong exception attribute (#4874, rep by mate)
- cli: update/normalization of usage messages
- jstl: validation of JSTL fast-mode c:if, etc. (#4866)
- vhosts: host-alias-regexp needs to have implicit anchors for the pattern (#4859, rep by Rick Mann)
- server: NPE on getUserPrincipal() (#4862, rep by wtao)
4.0.24 - Nov 17, 2011
- servlet: session creation with enable-cookies=false (#4775, rep by jkeays)
- quercus: isset returning true for null values in compiled mode (Wordpress fix) (#4477, rep by mhixson)
- health pdf: mailto config should be mail-to (rep by Keith Fetterman)
- security: custom constraints could not be added to resin:security-constraint (#4835, rep by K. Ding)
- cli: new "license-add" command
- config: added rvar() method to properties-based config
- access-log: use Alarm.getExactTime() for '%D' formatting in access log (#4842, rep by William Au)
- servlet: transport constraint priority(#4843, rep by Keith Fetterman)
- ssl: jsse self-signed certificates are only possible with Sun/Oracle JDK (#4829)
- el: added "?:" operator ("x ?: 80" is "x != null ? x : 80")
- iis: add suport for windows authentiation(#4826, rep by Urs Kehrli)
- centos: update ./configure for centos (#4803)
- servlet: fixed bug failing @MultipartConfig when used with resin:Forward(#4777)
- config: add resin:properties
- cli: "restart" command needs to handle dynamic servers (#4801)
- jsp-el: CompositeELResolver wasn't implementing invoke properly (#4820, rep by Wesley Wu)
- websocket: WebSocketReader.read(char[]) was using iso-8859-1 instead of utf-8 (#4818, rep by ihristov)
- hessian: add setUnshared and HessianUnshared for serialization performance
- health: added LicenseHealthCheck
- health pdf: added license info to PDF report
- health pdf: add cluster summary section to PDF report
- health pdf: add http error codes to PDF report
- health pdf: add log warning counts to PDF report
- jsp: errorPage with setStatus(200) not properly logged (#4804, rep by richardmoco)
- solaris: solaris needs #define _POSIX_PTHREAD_SEMANTICS for proper ctime_r behavior (#4791, rep by Alan Wright)
- health: added health events and anomaly events (#4724)
- db-pool: reduced default max-create-connections back to 5 (#4734)
- db-pool: add min-idle-count to <database> configuration (#4664)
- log: log-handler config wasn't in proper class loader context (#4784, rep by chris214)
- log: flush logs in separate thread so writers don't need to be bottlenecked (#4765, apleshi)
- servlet: allow null to getRealPath(null) which returns null (#4761, rep by stbu)
- db-pool: on close connection, if auto-commit is false, do not automatically call rollback() (#4663)
- jsf: updated to mojarra-2.1.3 (#4746, rep by cyttesen)
- servlet: character-encoding should not be defaulted for images (#4778, rep by fesse)
- webapp: detailed web-app statistics gathering needs flush (#4750)
4.0.23 - Sep 30, 2011
- hessian: ServiceContext.end wasn't clearing _response pointer (rep by Mattias Jiderhamn)
- health: added mail-to to PdfReport
- websocket: connection: upgrade may exist with other tokens (#4771, rep by RLM)
- cloud: cross-cluster server topology updates (#4764, rep by Alan Wright)
- embed: WebAppEmbed undeploy was not cleaning up fully (#4749, rep by A. Knutsen)
- jni: mmap file loading issue in win32 - disabled but shouldn't be throwing exception (#4758, rep by Mathias Langerwall)
- health: PdfReport in resin.xml needs to use resin.root, not resin.home for pdf-gen.php (#4760)
- resin: fixed bug preventing setup.exe and resin.exe support -java-home (#4763, rep by Brian Deng)
- cli/watchdog: stop and kill with no -server should stop the unique server (#4732)
- logging: log-handler el resolution fix (#4753)
- xa: use rollback instead of forget in XA recover (#4748)
- resin: JMX issue with not reporting correct request time and request count (#4660, rep by Rick Hightower)
- cdi: scanning issues with directories with '+' in name (#4739)
- init.d: changed init.d/resin to use "java" as backup Resin, also added $JOIN_CLUSTER (#4738)
- server: changed Alarm timing algorithm (#4730)
- session: add cookie-http-only to session-config (#4737, rep by L. Kaminsky)
4.0.22 - Sep 1, 2011
- cluster deploy: .war issue on non-triad servers (#4743, rep by James Meyer)
- servlet/cache: added range limits (#4744, rep by R Madej)
- webapp: add alias-url-regexp to match multiple context-paths to a web-app (#4720, rep by Sachidanand Shukla)
- command-line: added uptime to "status" command"
- alarm: Alarm's base classloader needs to be Alarm not system classloader (#4707, rep by M Schmidt)
- snmp: added snmpwalk support (#3721, rep by D. Devota)
- jndi: EnvironmentModel dynamic copy needs ConcurrentHashMap (#4721)
- servlet: getAvailable() issue with POST (#4726, rep by Olaf Krische)
- install: --disable-64bit changes to ./configure and CFLAGS (#4714, rep by S. Patil)
- ejb: @Async needs to propagage security principal (#4710, rep by ddalessa)
- jsp: jsp:include/jsp:param parameter order issues (#4719, rep by Brandon Kearby)
- distribution: unbundled resin-eclipselink.jar from resin.jar (#4722, rep by Steffen Busch)
- async: request end needs to clear AsyncContext link (#4723, rep by Mark Price)
4.0.21 - Aug 19, 2011
- env: data-source-definition ordering with JPA (#4712, rep by stoty)
- ssl: extra debugging output for openssl with disconnecting client (#4709, rep by Keith Fetterman)
- eclipse-plugin: install resin into version specific directory (#4693, rep by manishdevraj)
- resin-cli: introduced new command start-with-foreground (see launchd restrictions)
- resin-cli: unknown argument should fail resin start (#4689, rep alex)
- log: log rotation alarm refactor (#4680, rep by Steve Francis)
- rewrite: added <resin:NotFound> (#4705, rep by Aaron Freeman)
- git: corrupted .git on startup (#4701, rep by Bill Au)
- cloud: added deploy-config and cluster-config: scheme (#4604)
- i18n: utf8writer issues with surrogate pairs (#4700, rep by SHinomiya Nobuaki)
- install: ./configure changes for Solaris cc (#4678, rep by nits4resin)
- logging: Resin logging was not working properly in IBM JDK (#4695, rep by Steve Francis)
- async: complete() should not dispatch a following GET (#4697, rep by Adrian Sutton)
- servlet: sendRedirect from filter needs to escape redirect URL (#4699, rep by jyung)
- session: maxInactiveInterval issues with persistent sessions and includes (#4692, rep by mnsh)
- jni: changed crc64/readdir code to user readdir_r (#4698, rep by Peter Mei)
- jsp: tag compilation issues with @Inject (#4690, rep by mnsh)
- cdi: @Disposes introspection needs to be lazy on binding (#4681, rep by Dirk Mahler)
- debian: updated resin/lib and resin/libexec64 (#4548, rep by dicr)
- health: change health.xml to dump snapshot (rep by Bill Au).
- servlet: added CsrfFilter (#4497, rep by Myeung Kyu Jang)
- cdi/ejb: DataSourceDefinition timing with JPA (#4488)
- vhost: i18n/idna parsing issues (#4583, rep by gfranz)
- cdi/servlet: add WebApp.runInSessionContext to support threads using session scope (#4049, rep by sweigersf)
- network: timeout issues with keepalive (#4683, rep by Amir Langer)
- jsp: incorrect jsp:param encoding of '&' (#4685, rep by dicr)
- ejb/cdi: stateless decorators (#4630, rep by Chris)
- install: check for /usr/libexec/java_home in ./configure (#4572)
- servlet: request.getReader() mark/reset support (#3350, rep by karlgold)
- loader: added ClassLoader.getResource and ClassLoader.getResourceAsStream cache (#4082)
- logging: <log-handler> needs to check for missing 'name' attribute (#4682)
- health: PdfReport needs to require the <path> parameter (#4679, rep by Bill Au)
- jsf: jsf/resin integration when replacing jsf libraries in WEB-INF/lib (#4676, rep by cyttesen)
- ScheduledTask: add validation of ScheduledThreadPool (#4668, rep by Wesley Wu)
- servlet: add ThrottleFilter.getCurrent().addPoisonedIP(addr) (#4133, rep by Aaron Freeman)
- install: add resinctl.in which will be filled in with configured location from ./configure (#4579)
- jsp: JspCompiler should not start the web-app for compilation (#4397)
- load-balance: add StickyHost for sticky load balancing (#2969, rep Daniel Bjuhr)
- mod_caucho: restore 'backup' option for mod_caucho (#4673, rep by Halvor Utby)
- resin-admin: profile needs better message when JNI not compiled (#4652)
- install: ./configure changes for --disable-64bit to compile 32bit on a 64bit system (#4675, rep by nits4resin)
- load-balance: add disable-soft to disable round-robin, but not session dispatching (#3365, rep by Cameron Stokes)
- debian: resin-eclipselink was not added to debian files (#4547, rep by dicr)
- cache/db: mmap synchronization updates
4.0.20 - Jul 15, 2011
- health: PdfReport added
- session: always-load-session needs to set local-read timeout to 0 (rep by Eric Kreiser)
- network: comet/network state maching/timing issues (#4669, rep by Adrian Sutton)
- cloud: heartbeat needed across clusters for global cache (#4657, rep by William Kong)
- cloud: heartbeat needs to retry every 5s on connection failure (#4601)
- network: keepalive housekeeping simplified (#4613, rep by Mark Cleveland)
- session: session timeout needs to be picked up on persistent load (#4473, rep by vicsanca)
- network: issues with too many CLOSE_WAIT connections (#4639, rep by Mark Price)
- jsf: conversation scope issues with classloading (#4656, marcin_gomulkiewicz)
- jpa: data-source lookup needs to check JNDI return type (#4591, rep by paru)
- cron: day-of-week calculation bug (#4560, rep by Tyson Weighs)
- health: add ShutdownService configuration to not restart on OOM (#4075, rep by Martin Thompson)
- cli: console libexec needs to use same is64Bit as watchdog (#4558)
- stat: add read/write byte statistics for http request (#4126, rep by Martin Thompson)
- jpa: check persistent-unit NPE for EntityManagerJtaProxy (#4564, rep by dicr)
- xa: recover/forget needs to check xid against current server (#4645)
- webapp: multipart-config needed in servlet tag (#4648)
- webapp: multiple-init issue with versioned controllers (#4637, rep by W. Au)
- cdi/ejb: issue with @Alternative working with EJBs (#4636, rep by ChrisC)
- jsp: NPE with trimDirectiveWhitespaces and empty scriptlet (#4651, rep by mnsh)
- resin-admin: added 60s ajax updates to summary graphs (#4577)
- quercus: DateTime NPE (#4596, rep by rmann)
- cdi: InjectionPoint on producer was overriding all other producers (#4649, rep by Max Bureck)
- command-line: add -data-directory to change location of resin-data (#4646, rep by Keith Fetterman)
- command-line: command-line now uses hmux servers when available (#4616)
- db/cache: Table.validateIndexes wasn't freeing its Block/TableIterator (#4624, rep by Michael O'Dea)
- ssl: ssl write needs poll/select on SSL_ERROR_WANT_WRITE (#4582, rep by Mike O'Dea)
- xa: failure during forget should be at finer logging, not warning (#4644, rep by Takahiro Fukuda)
- multipart-form: added parameter-length-max (#4638, rep by Daniel Kador)
- system: <resin:LogService> needs to check for existing log system (rep by Adrian Sutton)
- install: --with-resin-log should update init.d/resin.in (#4640, rep by K Fetterman)
- health: added graph page configuration to health.xml (#4577)
- network: refactored networking to split thread-safe/and non-thread-safe state machines (#4633, by Danny Yates)
- resin: options on the command should be global (#4605)
- resin: command line user mgmt (#4603)
- jsf: allow JSF in WEB-INF/lib (will disables CDI) (#4573, rep by cyttesen)
- hessian: debug should not throw illegal state exceptions but should log
- database: allow numeric transaction-isolation values (#4627, rep by mnsh)
- jpa: javax.persistence.Persistence classloader leak (#4628, rep by Patric Rufflar)
- rewrite: CanDI-style rewrite rules in cluster were ignored (#4618, rep by Aaron Freeman)
- scheduled-task: scheduled task remove has stack overflow (#4523, rep by mnsh)
- security: JaasAuthenticator add support for Group/roles (#4621, rep by dicr)
- admin: summary/postmortem now show startup info from watchdog (#4595)
- db: row allocation must check for table close (#4599, rep by Steve Francis)
4.0.19 - June 14, 2011
- command-line: resin-system-auth-key wasn't properly managed (#4602)
- deploy: git/war validation needs better error messages for the ant jar task duplicate file creation (#4606, rep by Jeff Schnitzer)
- logging: logger in <resin> context needs to use system class loader to match command-line log-level (#4587, rep by William Au)
- resin-admin: added undeploy action for repository managed webapps
- command-line: authentication needs to understand {SSHA} configuration (#4593)
- eclipse-plugin: added auto-restart for redeployed apps (req. by hwellmann, Caucho forums)
- cache: lease changes for triad and cloud to reduce network traffic
- deploy: add expand-preserve-fileset to web-app-deploy to improve development (#4592, rep by Harald Wellmann)
- ejb: generic introspection/generation (#4590, rep by Harald Wellmann)
- cache: leasing must apply to cloud servers (#4588, rep by William Kong)
- cloud/bam: hmtp pool must be shared across server (#4588, rep by William Kong)
- cloud/bam: remote send must return error messages (#4588, rep by William Kong)
- eclipse-plugin: finishing server wizard early produces bad configuration (#4589, rep by hwellmann)
- dist: add multiversion for debian packages (#4314, rep by jlangevin)
- health: check MemUsage for max/committed to calculate free memory (#4507)
- install: Makefile needs to create /var/log/resin event if /var/www exists (#4574)
- cache: streaming cache update between clusters <replication-source-cluster> (#4569)
- install: webapp-jars need to be copied to resin.home (#4575)
- jsp: c:set validation issue (#4586, rep by thihy)
- websocket: text buffer size issues with 8192 length values (#4584, rep by ihristov)
- ejb: EJBException serialization id needs generation (#4578, rep by cyttesen)
- watchdog: Unix systems should not have -Xrs on the command-line (#4585, rep by William Au)
- servlet/async: dispatch sync issues causing dispatches to be ignored (#4570, rep by Danny Yates)
- resin: moved app-default to resin.jar, changed resin.xml's resin:import to load from classpath
- php: fix for DOMDocument::saveXML($node) (#4563, rep by Lisa Stillwell)
- resin-cli: added disable and enable commands to Resin Pro (#3756, rep by Rob Lockstone, Jonas Kowall)
- async/comet: with Resin comet API, check for complete on suspend (#4534, rep by Brent Plump)
- ejb: with generics Class<T> as argument and return (#4551, rep by dicr)
- servlet: finally handling for request needs to check for null (#4545)
- access-log: add rollover-check-time configuration (#4533, rep by peng yao)
- ./configure: removed OPENSSL_LIB search instead using standard library (rep by Michael O'Dea)
- ejb: synthetic/bridge methods should not be reflected (#4555, rep by dicr)
- ejb: static methods for session beans should not be overridden (#4552, rep by dicr)
- config doc: clarified database init-param vs IoC-style configuration (#4550, rep by dicr)
- ./configure: updated config.guess and config.sub (#4407, rep by GT500)
- db-store: free block scanning needs to test for store close (#4562, rep by S Francis)
- mod_caucho: allocation/free of locks needs to be locked (#4529, rep by remkodev)
- network: read/write timeout needs handling in Java layer (#4506, #4524, rep by Matthew Schmidt, Prabhu)
4.0.18 - May 12, 2010
- watchdog: set the LD_LIBRARY_PATH_64 variable on 64-bit systems (#4536)
- access-log: rollover rescheduling of alarm was not reliable (#4540, rep by mros2stf)
- ant-plugin: ant plugin has been moved to http://github.com/caucho/ant-plugin
- resin-cli: added jmx-list, jmx-set, jmx-call commands
- health: add OnStart, OnStop, OnRestart health predicates (#4257)
- scheduled-task: forward with param was causing NPE (#4530, rep by kenjrwalker)
- web-app: explicit web-app id="/" must override webapps/ROOT (#4531, rep by danielnuriyev)
- session: distributed sessions now allows jdbc as a backup (#3929, rep by jkriesten)
- servlet: fragment after/others ordering issues (#4523)
- cdi: abstract decorators were not properly handled (#4406)
- servlet: crlf escaping required for response headers because of rewrite-dispatch (#4525)
- jpa: when jta-data-source is null and JPA fails to start, allow web-app to start w/o error (#4491)
- watchdog: ResinMXBean now contains information about the last watchdog restart (#4257, rep by Tony Matson)
- jsp/el: MethodExpr invocation was not applied property (#4515)
- candi: @Produces on @Stateless with no interfaces (#4513)
- config: add <data-source> element support (#4487)
- jsp/el: BeanELResolver isValue/getValue mismatch (#4511, rep by Keith Fetterman)
- servlet: web-fragment <name> can have an "id" attribute (#4484)
- candi: ResinBeanContainer beans.xml @Alternatives issue (#4501)
- candi: ResinBeanContainer JPA/beans.xml ordering issues (#4502)
- session: add destroy-on-lru flag to session-config to call SessionListener.destroy on a LRU even when session is persisted (#4504)
- servlet: CauchoRequestWrapper updates for MockHttpServletRequest compatibility (#4509)
- jstl: c:set not properly returning XML for validation (#4492)
- ejb: stateless generics on interface superclass (#4512, rep by andreaskaltenbach)
- ejb: stateless generics on method argument (#4514)
- config: <class-loader> has automatic priority (#4500)
- watchdog: signal status reporting was showing exit 0 for signals (#4508)
- hessian: send-collection-type should always send java.util types (#4489, rep by Keith Fetterman)
- ioc: resin:message not properly initialized (#4496, rep by Keith Fetterman)
- ioc: env-entry does not use EL - doc update (#4516, rep by mnsh)
- ejb: ejb-ee jar with <entity> should be skipped w/o fatal error (#4503, rep by Rick Mann)
4.0.17 - Apr 15, 2011
- candi: jar order dependency for ProcessManagedBean (#4493, rep by andreaskaltenbach)
- security: order dependency between user-role and transport guarantee (#4495, rep by Keith Fetterman)
- netbeans: fixed installation issues and change deployment options to deploy to an exploded web-apps directory
- eclipse: fixed "Debugging does not work with 4.0.15 version of the Eclipse plugin" bug (#4417, rep by stoty)
- eclipse: fixed "Eclipse plug-in won't install" bug (#4418, rep by adamzr)
- resin: added thread-dump, heap-dump, log-level and profile commands.
- el: add mbean function for JMX attribute access
- el: add =~ for regular expression matching
- resin-admin: include link to SSL on deploy page when accessing non-ssl (#4455)
- resin-admin: hide user/password generation when user exists (#4486, rep by Keith Fetterman)
- resin-admin: use {SSHA} for generated password
- webapp: webapp restart/session close timing issues (#4471, rep by jiucal)
- rewrite: Forward with target="/foo?q=2" caused duplicate query param (#4431, rep by mhixson)
- install: make install updates (#4468, rep by silent)
- openssl: connection must close if SSL_write fails (#4476, rep by Keith Paulson)
- boot: ResinActor should not be started when Resin called directly (#4440)
- proxy-cache: inappropriate warning on included cache (#4472, rep by Keith Fetterman)
- jsp: special case jsp:fragments with single jsp:element (#4463, rep by imaniyar)
- maven: EnvInit was improperly logged (#4481, rep by ccwf)
- jsp-el: resolve introspection conflict between getFoo() and getFoo(i) (#4462, rep by jhartline)
- dist: deprecated resin-ant tasks. The command-line should be used instead (#4447)
- startup: resin.exe space issues with -conf (#4448, rep by pmorrow)
- resin-admin: mod_status requires Resin Pro (#4454)
- el: conversion issues from string '1.0' to long (#4482)
- proxy-cache: issue with include, and filter and wrapped output (#4437, rep by Haley)
- vfs: update http: normalization to use query-string verbatim (#4427, rep by Deepak Jadhav)
- candi: ResinBeanContainer standalone (#4434)
- log: add ${thread} to log formatting (#4459, rep by Keith Fetterman)
- deploy: issues with merging versioned webapps with explicity <web-app> (#4444, rep by Keith Fetterman)
- deploy: restart timing issue with .war alarm, request and slow start (#4474, rep by Mattias Jiderhamn)
- ejb: stateless matching of varargs to API (#4466, rep by andreaskaltenbach)
- repository: repository tag-map timing issue (#4450)
- session: Java deserialization not using proper classloader (#4475, rep by Keith Fetterman)
- install: config/health.xml location issues (#4443)
- install: doc/resin-doc location fixed for make install (#4445, rep by Bill Au)
- cloud: removed obsolete HmtpRequest logging (#4461, rep by TJ Wallace)
- session: change default serialization to "java" instead of "hessian"
- cluster: add -join-cluster for dynamic server support
4.0.16 - Mar 17, 2011
- rewrite-dispatch: normalization of rewrite order so rewrites always occur before filters
- server: add server information to 404 error pages (#4433, rep by Alex Sharaz)
- server: invocation-cache-size wasn't properly configurable (#4428, rep by R. Ranjan)
- cluster: cluster/network timings split from load-balance configuration (#4429, rep by Dmitri Kolpakov)
- cluster-cache: mismatched message/query replication for data actor (#4425, rep by Dmitri Kolpakov)
- session: inconsistent setMaxInactiveInterval with timeouts (#4419, rep by vicsanca)
- proxy-cache: check cache refill against invalidated cache (#4413, rep by shine)
- cdi: @Stateless beans need to be treated as serializable for injection (#4405)
- ioc/xml: update error messages for whitespace properties (#4385, rep by jkriesten)
- watchdog: update error message on 500 exception to a watchdog (#4402, rep by Alex Sharaz)
- mod_caucho: configuration etag wasn't including timeouts and therefore wasn't updating (#4259)
- servlet: ServletContext.getResource("/foo/") was not returning URL when foo is a directory, needed for spring (#4411, rep by ccwf)
- access-log: add '%S' for session tracking (#4422, rep by Steffen Busch)
- include/forward: cross-context include/forward was not switching WebApps properly (#4362, rep by igor)
- classloader: enabled jar caching to improve startup times (#4420, rep by Mattias Jiderhamn)
- database: toLowerCase must use toLowerCase(Locale.ENGLISH) for Turkish encodings (#4414, rep by ozgurcakmak)
- watchdog: Resin shutdown warning exceptions need to be caught on shutdown (#4400, #4402, rep by Daniel Lopez, Alex Sharaz)
- servlet: addCookie should allow cookie with null value (#4410, rep by Brandon Kearby)
- install: resin-doc copy issues (#4408, rep by copart)
- install: validator/slf4j added to webapp-lib (#4386, rep by Jeff Schnitzer)
- proxy-cache: corrupted data with client disconnects (#4398, rep by Luke Jobling)
- watchdog: stdout-log inside <cluster> now configures the watchdog managed jvm-default.log (#4395, rep by Steve Francis)
- openssl: timeout support for solaris (#4280, rep by nicolai)
- configure: change solaris build to include -R/usr/sfw/lib/64 for -d64 and resin_os.so linking (#3045, rep by Eric Bowman)
- ejb: MDB with JMS inflow (ActiveMQ) not properly handling XA (#4327, rep by danc)
- ejb: MDB with JCA inflow and driver XA control not properly handled
- security: add RFC2307 (ldap-style) support for {plain}, {sha}, {ssha}, {md5} (#3432, rep by Laurent Jaccard)
- cdi: @MBean on class automatically registers bean in JMX (#3427, rep by Scott Hernandez)
- webservices: add ${resin.home}/endorsed support for metro support (#3415, #4032, rep by Bartlomeij Kolodziejczyk, Reggie Vito)
- rewrite: conflict between rewrite (welcome-file) and custom constraint (#4388, rep by K Ding MNP)
- scheduled-task: CDI timing issue between scheduled-task and CDI bean (#4393, rep by Tero Ripattila)
- ssl: JSSE client certificate should not automatically populate getUserPrincipal (#4044, rep by adamknight)
- install: configure was not detecting plugins on x360 (#4383, rep by mros2stf)
4.0.15 - Feb 8, 2011
- eclipse-plugin: require automated eval. license request only for new download (#4379, rep by Daniel Lopez)
- jsp: sendRedirect in JSP could cause IllegalStateException (#4290, rep by Mattias Jiderhamn)
- cookie: ssl-session-cookie should not automatically set Secure for the non-SSL cookie (#4372)
- /resin-admin: increased upload_max_filesize for web app deployment. New limit is 128Mb. (#4371 rep by Naoki Yano)
- bam/cluster: HmtpQueue in ProDomainManager needs to be ConcurrentHashMap and not WeakReference (rep by Jamie Novak)
- watchdog: "status" was returning the watchdog's user, not the Resin instance user (#4359, rep by mros2stf)
- async/comet: request should not force flush on async (#4360, rep by Manoj Chennath)
- cloud: server.ifSelf() changed to more reliable predicate (#4355, rep by Jamison Novak)
- http: url-length-max wasn't allowing large URLs (#4358, rep by Daniel Kador)
- cloud: messages during startup are queued if mailbox isn't registered yet (rep by Jamison Novak)
- cdi: enable Conversation scope for JSP/servlets
- database: add DatabaseManager.closeConnection (#3703, rep by Nobuaki Shinomiya)
- servlet: request HashMapImpl fixes for inserts (#3726, rep by Fiaz Hossein)
- install: ${resin.root}/resin-doc will be updated on a new install (#4350, rep by mros2stf)
- resin-admin: use ${resin.root}/resin-doc location for resin-admin (#4350, rep by mros2stf)
- configure: test for dev environment faulty, causing resinssl build issues (#4352, rep by mros2stf)
- meter/sensor: add sensor callback to so failures can be acted on (#3731, rep by Martin Thompson)
- resin-admin: if admin-users.xml.generated cannot be created in resin.conf, use resin-data (#3785)
- network: add listener/port read/write statistics (#4150)
- bam: separate queues for large messages (#4128, rep by Martin Thompson)
- git: validate repository and reload from triad if corrupted (#4341, rep by Jamison Novak)
- cdi: serialization of intercepted beans (#4083, rep by sweigersf)
- cdi: enhanced CDI beans must use proxies (TCK)
- jni: JniSelectManager should use toError() is removeNative fails (#4349, rep by Jens Christensen)
- gzip: flush/error issue with JSP (#3893)
- watchdog: add "watchdog" command for MacOS LaunchD (#3891, #4124, rep by Rob Lockstone)
- session: if session is not valid due to timing issues, create new session (#3942, rep by bregnvig)
- jpa: eclipselink was not properly closed on webapp restart (#4154, rep by Riccardo Cohen)
- ssl: jsse-ssl add cipher-suites-forbidden (#3970, rep by Aaron Freeman)
- jsp: @page contentType should not affect request.getCharacterEncoding() (#4007, rep by Shinomiya Nobuaki)
- ssl: jsse-ssl add verify-client="optional" support (#4052, rep by adamknight)
- ear: ear deployment problems when war context-url is "/" (#4348, rep by koge_pan)
- security: allow FormLogin with selected authenticator (#4143)
- cdi: allow inline injection <value><qa:MyQualifier></value>
- session: add serialization-collection-type to allow disabling of Hibernate collection serialization (#4211, rep by Matthew Schmidt)
- watchdog: on configuration error, delay Resin restart by 30s (#4202, rep by norlab)
- load-balance: bind-ports-after-start and disable should cause failover during startup (#4129, rep by Wesley Wu)
- date: setMonth(1) when setDay(31) previously was setting to march (#4094, rep by nam)
- admin: add isJniEnabled() property to the Port MBean (#4088, rep by skippopotamus)
- servlet: allow cookies with space values (#3897, rep by ykim)
- cluster: triad warning when triad servers are on same machine (#4177)
- webapp: web-app deployment with invalid root-directory needs warning (#4207)
- database: logging adds ".d0", ".d1" to show round-robin (#4222, rep by Anthony Balandran)
- init.d: change init.d/resin to log startup to /var/log/resin/console.log (#4223, rep by Raul Luna)
- i18n: changed MacRoman file.encoding to default to utf-8 (#4180)
- url: invalid utf-8 character parses to %xfffd (#4183, rep by cjohn)
- comet: add suspend-reaper-timeout to port configuration (#4249, rep by baoqinye)
- startup: Resin started message changed to log at INFO level (#4135, rep by briandeng)
- database: check isClosed() on connection reuse to avoid dead connections (#4231)
- log: rollover needs dedicated alarm for proper timeout (#4234, rep by mros2stf)
- watchdog: relative -root-directory was applying the relative path twice (#4198)
- servlet: getResource("/") was returning a URL for the directory incorrectly (#4301, rep by mate)
- watchdog: Resin child needs -Xrs on windows (#4308, rep by robin dun)
- deploy: web-app start needs to synchronize on getDeployInstance (#4342, rep by Jamison Novak)
- session: session cache needs to use createIfAbsent to avoid timing issues (#4340, rep by Jamison Novak)
- access-log: AbstractRolloverLog needs dedicated rollover alarm (#4321, rep by mros2stf)
- access-log: content-length improperly calculated for chunked (#4317, rep by Martin Thompson)
- rewrite: added AddHeader to add cookies (#4326, rep by C. Stokes)
- jni: npe check for nativeWrite (#4323, rep by Prabhu)
- watchdog: check that watchdog-manager.log can be written before starting (#4333)
- cloud: errors for messages which cannot connect log the destination for debugging (#4315, rep by Cameron Stokes)
- proxy-cache: 304 returned for proxy cache (#4239, rep by Jamison Novak)
- proxy-cache: pdf/range using improper recursive call (#4334 rep by C. Fernandez)
- embed: add setAsyncSupported to ServletEmbed (#4332, rep by Michael Barker)
- resin: LoadBalance inside <web-app> needs to pass along context-path (#4304, rep by Kenneth Yeung)
4.0.14 - Jan 7, 2011
- resin: CLI added deploy, undeploy, list, start-webapp, stop-webapp, restar-webapp commands (#4316, rep by Patrick Brigger)
- cache: use cursor to update data timeouts
- heartbeat: server connections need to depend on heartbeat only
- access-log: off-by-one issue with access log rollover causing missed 1D (rep by Steve Francis)
- thread: if Thread cannot be instantiated, restart Resin (rep by B Hafezi)
- quercus: SimpleXMLElement needs a __count function (#4318, rep by Homayoun Zariv)
- quercus: list($a) = each($this->foo) was not compiled properly (#4319, rep by Akara Sucharitakul)
- quercus: add array_replace, array_replace_recursive (#4312, rep by Homayoun Zariv)
- quercus: simplexml_load_file not working properly with http: (#4311, rep by Akara Sucharitakul)
- cdi: InjectManager.resolveAllBeans with incorrect synchronization (rep by Wesley Wu)
- security: FormLogin persistence/session issues (#4299, rep by Jamison Novak)
- jsp-el: parsing confusion with "0#${foo}" (#4190, rep by olaf2010)
- rewrite: host-level rewrite issues with access-log (#4198)
- distribution: slf4j.jar removed from resin/lib (#4271, rep by Nicolai Steven)
- servlet: setHeader("Content-Length", "12;") was throwing an exception (#4210, rep by mkjang)
- servlet: getOutputStream was not allowed after flushBuffer (#4289, rep by vbavin)
- db-pool: increased default DB create count to 20 (#4252, rep by Wesley Wu)
- hessian: change HessianServlet to extend HttpServlet (#4193, rep by voodude)
- cookie: change <http-only> to apply only to the session cookie (#4217, rep by gzhu)
- thread: priority thread queue fixes (#4228, #4291, rep by Jamison Novak)
- thread: refactor ThreadLauncher to use AbstractTaskWorker
- cdi: error with @Produces method with generic result and @Named (#4265, rep by jharting)
- cdi: allow <resin:FileQueue> to be assigned to BlockingQueue<MyItem> (#4067, rep by Jeff Schnitzer)
- jsp: cross-context forward classloader/.tld not updating (#4284, rep by Brian Deng)
- ejb: generic interface issues MyBean implements Foo<String> (#4266, rep by jharting)
- servlet: cross context forward classloader not properly updated (#4248, rep by jessicay)
4.0.13 - Nov 10, 2010
- hessian: java.sql.Timestamp deserialization NPE (#4286, rep by Matt Poirier and Shawn Frederickson)
- servlet: url-mapping="" was not handled properly (#4283, rep by Peter Yuill)
- welcome-file: use 301 instead of 302 (#4212, rep by jkowall)
- conf: sample resin.xml no longer uses www-data user-name (#4220, rep by Arthur Naylor)
- ejb: EjbInjectionTarget ordering (#4057, rep by Jeff Schnitzer)
- file servlet: 404 should take precedence over OPTIONS (#4218, rep by stbu)
- conf: server-default not configured property (#4251, rep by snw)
- jsp: fragment/attribute issues with jsp (#4258, rep by nfederov)
- rewrite: convert recursion to iteration to handle many rewrite rules (#4272, rep by Nick Pilch)
- cdi: @Alternatives processing ordering issues rep by (Wesley Wu)
4.0.12 - Oct 15, 2010
- dist: cr-nl issue on windows for .git commit (#4241, rep by James Gittelson)
- session: serialization issues with classloader and timeout (#4254, rep by Steven Nicholai)
- dbpool: ping on connection/statement errors instead of discarding
- health: add ConnectionPoolHealthCheck
- watchdog: "stop" should shutdown the watchdog manager if the last server is stopped
- health: log HealthCheck warnings and failures
- host: allow id=":8081" for /resin-admin as virtual host
- dbpool: ping now only occurs after an error
- xa: detach JCA pooling from UserTransaction
- xa: add meters, JMX and HealthCheck for transaction manager
- resin: access.log rotation into zip archive fixes (#4216)
- dist: war files with many entries cause recursive overflow (rep by Steve Francis, #4236)
4.0.11 - Sept 29, 2010
- hessian: XSS protection against bogus message (rep by Dan Cornell)
- servlet: CauchoResponseWrapper shouldn't assume wrapping CauchoResponse (#4206)
- class-loader: getProtectionDomain() should return the file:... for the jar object, not the jar contents (#4194)
- resin-admin: JMX display has been reorganized and domains split into tabs
- resin-admin: graph generation has been updated
- resin-admin: thread page now includes locking tab giving blocking threads and their lockers.
- resin-admin: thread page includes locking information in stack trace.
- resin-admin: webapp page now includes deployment version validation.
- health: HealthCheck added to JMX
- health: JvmDeadlock and Memory checks were not being added to the Health check.
4.0.10 - Aug 23, 2010
- candi: _namedBeanMap is active and needs to be a ConcurrentHashMap (rep by Wesley Wu)
- hessian: for HessianServlet, do not attempt to find implicit API (#4168, rep by Riccardo Cohen)
- remote: add cxt to artifacts (#4314, rep by Riccardo Cohen)
- remote: cxt needs to have WebServiceContext (#4314, rep by Riccardo Cohen)
- remote: @HessianRemote as servlet was instantiating two instances (#4175, rep by Jeff Schnitzer)
- embed: ResinBeanContainer verified to work with XA and Database (#4160, rep by Michael Barker)
- proxy-cache: proxy-cache requiring Pro warning was being shown even when proxy-cache was available (#4173)
- admin: jmx-service, log-service in the old <management> allowed for open source (#4172)
- database/xa: distinct <database> should be distinct Resource Managers (#4176, rep by Takahiro Fukuda)
- cluster: removed <machine> tag as obsolete
- load-balance: fixes to weight and warmup
- load-balance: created LoadBalanceService for testability
- watchdog: added logging of Resin exit codes on detected shutdown
- system: added ShutdownService to centralize Resin shutdown
- system: added WarningService to send Resin messages to the watchdog
- embed: add ResinEmbed.setRootDirectory and WebAppEmbed.setArchivePath (rep by Danny Yates)
- resin-admin: jmx hide & show acted on wrong detail boxes. (#4145, Rep by Jamison Novak)
- jpa: eclipselink properties for Resin JTA not set when eclipselink found by scanning (#4167, rep by Riccardo Cohen)
- thread: alarm locking issue (rep by Wesley Wu, Jan Kriesten)
- win: fixed dll loading issue (#4159), rep hans
- servlet: fixed cross context include issue (#4117), rep Brian Deng
- servlet: fixed getInputStream issue for String params with Servlet3.0 Part (#4153), rep by Wesley Wu
- servlet: remove <multipart-form> from app-default.xml (#4102, rep by Brian Deng)
- file: range parsing issue with firefox and FileServlet (#4149, rep by Fred Howell)
4.0.9 - 2010-07-26
- remoting: add userName and password to HessianClient (#4130, rep by Jeff Schnitzer)
- build: missing eclipselink in build (rep by Bill Au)
- alarm: updates for atomic refactor causing cpu-spin (rep by Jeff Schnitzer)
- watchdog: set log rollover size to 64m (rep by Scott Croco)
- candi: ioc/timing issue with EL configuration and custom beans (#4131, rep by Jeff Schnitzer)
- (2010-07-20) cloud: refactor triad messaging into BamTriadServer in cloud.bam for consistency across cloud services
- cloud: refactor heartbeat into cloud.heartbeat and increase service priority
- network: refactor hmtp/cloud client pool from cluster into cloud.bam
- network: refactor network listener from Server into cloud.network
- network: refactor cluster listener from Server into cloud.network
- resin: refactor Resin/Server main to use ResinSystem
- database: locking/sync rework to use atomic references when possible
- database: locking/sync rework to use JDK's locking
- candi: CDI session destroy must be after other session listeners (#4901, rep by sweigersf)
- thread: Thread/ThreadWorker rework to use atomic references where possible
- thread: Thread/ThreadWorker sync issues (#3960, rep by rmann)
- LogService: add pooled connection (#4096, rep by Brian Deng)
- watchdog: added <resin-system-auth-key> for watchdog authentication (#4113)
- dist-session: performance/locking work for DB stability and perf (#4089, #4093, rep by Skippopotamus)
- database: createSQLXML filter implemented (#4092, rep by alex)
- server: utf-8 encoding issues in ServletResponse (#4101, #4106, rep by jkriesten, Kaj Hejer)
4.0.8 - June 28, 2010
- servlet: added support for MockHttpServletRequest and MockHttpServletResponse: (#4073)
- configure: fix for bad libtool message: (#4048)
- resin: fixed startup routine for directory with spaces issue: (#4021)
- resin-admin: fixed IllegalStateExceptionwith with readonly conf/admin-users.xml.generated (#4055)
- servlet: fixed NPE with MultipartConfig caching bug (#4051, rep by subwiz)
4.0.7 - May 21, 2010
- iis: fixed bug preventing iis from serving web-apps defined with web-app tag (#3890)
- iis: allow IIS to choose when to use chunked encoding (#3871)
- iis: 64 bit IIS Handler build provided (#3846)
- iis: fixed aberrant behaviour of servlets with IIS7 (#2694, rep by mitch)
- iis: fixed bug preventing iis plugin from sending data larger 20kb(#3178, rep gert)
- iis: fixed bug preventing static content from being served by the plugin(#3889)
- iis: fixed bug was preventing use of virtual hosts with ports in IIS + Resin setup(#3951)
- init.d: added "status" to init.d/resin (#3841, rep by Matt Pangaro)
- init.d: test for log_daemon_msg directly (#3932, #4012)
- proxy-cache: no longer disable cache on exception (#3957, rep by Dave Hintemeyer)
- rewrite: add <resin:IfMBeanEnabled> (#4042, rep by stbu)
- rewrite: add <resin:MovedPermanently> (#4023)
- ssl: jsse doesn't understand Socket.shutdownOutput (#4030, rep by Martin Morawetz)
- jpa: Persistence.getPersistenceUtil() (#4038, rep by Kaj Hejer)
- hmux: Thread.dumpStack() in HMUX with JSP data after sendRedirect (#4025, rep by vicsanca)
- http: catch ClientDisconnectException during finish/skip (#4029, rep by iRideSnow)
- network: keepalive-timeout was incorrectly applied to initial read (#4001, rep by Jamie Novak)
- quercus: WWW-Authenticate does not work (#4000, rep by hm2k)
- quercus: NullPointerException in Alarm (after Glassfish redeploy) (#3711, rep by ashamash)
- quercus: quercus-4.0.6.war incorrect version reporting (#4033)
- quercus: date_format() does not use user-set default time zone (#4034, rep by sblommers)
- quercus: report as php 5.2.1 (#3916, rep by derickso)
- quercus: parse_ini_file does not replace PHP Constants (#3878, rep by ice-breaker)
- quercus: PHP clone object is ignored? (#3607, rep by sblommers)
- quercus: error_display in php.ini (#4037, rep by wml)
- quercus: java.lang.NullPointerException on drupal admin/user/permissions (#4020, #4035, rep by alberto, sblommers)
- quercus: is_executable is broken (#3979, rep by domdorn)
- quercus: Wordpress MU Settings link causes exception (#3918, rep by chiefgeek)
4.0.6 - April 6, 2010
- openssl: crypto threading issues with CRYPTO_set_locking_callback (#3531, #3740, rep by Benjamin Loy, bryan)
- jni: socket accept/close changes to avoid fd leak (#3960, rep by rmann)
- jsp: jsp:param in jsp:include must encode '%' (#3976, rep by Aaron Freeman)
- servlet: escape status message for default error page (#3781, rep by Bill Au)
- class-loader: changed override order to match config order (#3773, rep by cyttesen)
- servlet: add cookie-domain-regexp to <session-config> (#3865, rep by Matt Sporleder)
- watchdog: add <jvm-arg-line> as shortcut for <jvm-arg> (#3940, rep by Bill Au)
- log: print timestamp only for first item for multiline (#3229, rep by Jamison Novak)
- log: remove excess synchronization for log period calculation (#3814, rep by zenant)
- log: change date calculating to use TimeZone.getOffset(time) (#3853, rep by Jamison Novak)
- cdi: allow circular XML/EL definition of beans (#3954, rep by Hontvari Jozsef)
- classloader: avoid class loader deadlocks on ClassEntry (#3848, rep by zenant)
- jni: LD_LIBRARY_PATH handling moved from Watchdog to SystemClassLoader
- servlet: micro-second logging not properly matching start time (#3935, rep by mocospace)
- jsp: jsp:forward issues with buffer="10k" (#3922, rep by Danny Mann)
- jsp: SimpleTag parents not properly managed with fragments (#3953, rep by Jamison Novak)
- jni: readNative was not properly handling SO_RCVTIMEO (#3941, rep by Vinod Mehra)
- configure: --enable-64bit needs to enable both JNI and plugin (#3968, rep by Bill Au)
- cdi: ProcessInjectionTarget.getAnnotatedType() was returning null (#3967, rep by jharting)
- ejb: ejb-ref partial support added (rep by 3964, rep by Matthew Brew)
- jsp: x:forEach was not properly setting isFirst and isLast (#3752, rep by biku)
- rewrite: IfNetwork now supports IPv6 (#3903)
- ejb: ejb-server should no longer be required (rep by smallufo)
- network: IPv6 support (#3924, rep by webapps)
4.0.5 - March 16, 2010
- mod_caucho: read timeout needs to repeat only on EINTR
- setup.exe: added GUI capability to install and remove Resin Services
- resin.exe: moved service installation commands (-install, -install-as, -remove, -remove-as) to setup.exe
- jsp: the implementation produced successful results with the latest JSP TCK V2.1b
- servlet: check isSecure() for NPE on close (#3938, rep by mocospace)
- jsp: check for *.jsf servlet causes NPE (#3937, rep by tangxj)
- servlet: welcome-file-list changes with *.jsf
- cloud: cluster single-signon no longer enabled automatically
- cloud: cluster store database stress test fixes (#3895, rep by smallufo)
- cloud: cluster store database was not properly handling QueryContext (#3850, rep by mocospace)
- watchdog: permissions issues with ports and log files (rep by Jamison Novak)
- admin: added HealthJvmDeadlock in com.caucho.env.health (#3912, rep by Jamison Novak, #3912)
- admin: refactored Sample and Probe to com.caucho.env.sample
- hessian: writeReplace should be allowed to return itself (rep by Jamison Novak, #3911)
4.0.4 - Feb 23, 2010
- jni: improved error messages
- hessian: custom deserializer (#3632, rep by era)
- configure: check for cp -u (#3888, rep by Kaminsky, Leonid)
- configure: standardize default resin root, conf, and log directories
- web-app: web-app deploy with archive-and root-directory was not propery set (#3887, #3873, rep by chiefgeen)
- cdi: @ServiceType (@HessianService) was removing the bean from CDI (#3852, rep by Scott Hernandez)
- javac: external javac was busy-looping on the output causing heavy load (#3847, rep by mocospace)
- session: persistent sessions were not properly timed out (#3872, rep by chiefgeek)
- jpa 2.0: add com.caucho.env.jpa.DisabledPersistenceProvider (#3760, rep by Georg Busch Bech)
- jpa 2.0: api and CanDI integration
- ioc: issues with circular references (#3886, rep by Hontvari Jozsef)
- ioc: issues with CDI "diamond" creation (#3863, rep by Wesley Wu)
- jsp: TeamCity JSP related fixes (#3115)
- (2010-02-10) proxy-cache: missing write Lock on cache deallocation (#3885, rep by KovIS)
- logging: Logger.getHandlers() must return empty array instead of null (#3882, rep by Knut Forkalsrud)
- load-balance: setting of isSecure was not properly cleared (rep by Matt Pangaro)
- boot: check for Java 1.6 or later before start (#3862, rep by Tom Howard)
- ejb: MessageDriven updated to understand ConnectionFactoryJndiName
- mod_caucho: backup needs to hash the entire cookie for the new clustering (#3877)
- quercus: remove java_bean and java_lookup Resin dependencies (rep by domdom)
- junit: add com.caucho.junit.ResinJUnitRunner for junit
- embed: add com.caucho.resin.ResinContext for non-server embedding, e.g. testing.
- javaee: refactor @PersistenceContext, @PersistenceUnit, @Resource (#3708, rep by Wesley)
- deploy: git-expand needs to setLastModified of created files to consistent time (#3839, rep by Matt Pangaro)
- watchdog: "status" returns watchdog-pid (#3768, rep by cyttesen)
- watchdog: "status" queries Resin using HMTP/BAM for pid (#3768, rep by cyttesen)
- watchdog: jvm-args are first in command-line to help 'ps' control (#3759, rep by Nathan Bardsley)
- javac: use file.encoding as default encoding (#3719, rep by Shinomiya Nobuaki)
- ejb: update EJBException serialization (#3779, rep by C Yttesen)
- config: ${cluster} regression failure (#3842, rep by Jamie Novak)
- database-pool: connection timing issues with multiple request (#3837, #3779, rep by Bryant Harris)
4.0.3 - Jan 4, 2010
- mod_caucho: post/ack cleanup
- hessian: allow custom URL connector with HessianProxy
- hessian: avoid NPE on protocol corruption error (#3777, rep by Riccardo Cohen)
- hessian: patch for GAE compatibility (rep by Jeff Schnitzer)
- server: FileServlet handling of broken browser range requests (#3766, rep by Knut Forkalsrud)
- cluster: hmux idle timeouts not properly handled (#3812, rep by Wesley Wu)
- watchdog: race condition in log stream closing (#3807, rep by jnovak)
- server: add logging to track down TempBuffer issues (#3807, rep by jnovak)
- hessian: add UnsafeSerializer and deserializer
- ejb: @SessionPool to configure maxIdle and maxConcurrent (#3739, rep by Jeff Schnitzer)
- ejb: @PostConstruct not called on @Stateless (#3798, rep by voodude)
- hessian: HessianProxyFactory needs to consistently use the ClassLoader instead of Thread.contextClassLoader() (#2860, rep by jghallen)
- hessian: deserializer construct w/o calling constructors (#3357, rep by oehmiche)
- hessian: reading of InputStream as object not properly dispatched (#3634, rep by mate)
- hessian: string/binary encoding problems with 0x30-0x37 (#3690, rep by Adam Bryzak)
- hessian: HessianSkeleton.createDebugPrintWriter created to allow debug override (#3646, rep by Peter Dettman)
- hessian: add HessianProxyFactory.setConnectTimeout (#3658, rep by Patrik Stymne)
- hessian: EnumSet deserialization (#3663, rep by danwatt)
- server: hmux post/forward issues (#3793, rep by Jamison Novak and Wesley Wu)
- server: hmux load balancer with incorrect protocol for short-response post (#3790, rep by Wesley Wu)
4.0.2 - Nov 24, 2009
- resin-admin: fixed cluster page not loading graphs (#3805)
- resin-admin: fixed pages does not respond to changing "Server:" error (#3806)
- resin-admin: fixed jmx page exception on Mac OSX 10.6.2 (#3782)
- resin.exe: fixed timeout issue when stopping resin(#3762)
- resin: max-uri-length configuration tag introduced to set limit on URIs served by Resin. Default is 1024.
- ubuntu: missing LSB information (#3720, rep by floating world)
- jsp: findAncestorWithClass() fails with tags nested in a tag file(#3436, rep by paru)
- security: add LoginList to allow both form and basic for /resin-admin REST (rep by Martin Thompson)
- admin: add /resin-admin/rest.php?q=mod_status to duplicate Apache's REST interface (#3730, rep by Martin Thompson)
- jsp: Faulty code generated for tag files with scriptlets (#3699, rep by daniel_larsson)
- async: poll socket periodically to test for client exit (#3294, rep by Caleb Richardson)
- (2009-10-28): BeanELResolver IllegalAccessException (#3727, rep on behalf of Kenneth Yeung)
- (2009-10-22) encoding: JSP response character encoding can be specified at jsp group property level
- (2009-10-12) encoding: default encoding is now set by file.encoding and defaults to utf-8 if no file.encoding exists
- watchdog: add watchdog-log configuration (#3566, rep by Pedre Neves)
- comet: wrapped request needs to work with comet (#3665, rep by Fiaz Hossain)
- config: relaxng forbid duplicate rules (#3595, rep by hmh)
- ssi: add basic SSI conditionals (#3534, rep by fly-away)
- jpa: issue with @ManyToOne and MappedSuperclass (#3335, rep by rdhauwe)
- vfs: paths with spaces in them caused trouble with class scanning and enhancement (#3574, rep by N. Shannon)
- servlet: sendRedirect in filter with artifactory (#3416, rep by Jan Kriesten)
- xml: XMLStream parsing for atlassian (#3651)
- session: add cookie-use-context-path and cookie-path
- loader: handle duplicate class definition errors (#3673, rep by Jamison Novak)
- config: add ${server.address} and ${server.port} (#3671, rep by Ken Roach)
- jsp: StaticMethodExpr needs serialization fix (#3677, rep by boris_kovalenko)
- jsp: jsp:attribute in tag file (#3228, rep by jens)
- log: update AbstractRolloverLog to eliminate long archive block (#3650, rep by Patrik Stymne)
- candi: scope adapter left in debugging (#3675, rep by hontvari)
- database: _idlePool and _pool must be synchronized together (#3660, rep by Shinomiya Nobuaki)
- database: cleanup connection idle pooling (#3052)
- admin: add database "Query Time" statistics (#3397, rep by Bryant Harris)
- admin: add "database" tab to admin and improve configuration visibility (rep by Bill Au)
- admin: add DatabaseMXBean and add getUrl() (#3664, rep by Bill Au)
- configure: MacOS-X was not properly detecting JVMTI for profile (#3000, rep by Bryant Harris)
- jsp: add CodeSigner for JSP class loader (#3657, rep by Kai Virkki)
- http-proxy: enable load-balancing (#3068, rep by Zeke)
- deploy: -preview now detaches server from load balancing (#3345)
- ejb: session beans were not initialized in correct context (#3603, rep by Matthew Brew)
- session: add "java" as a session serialization type (#3648, rep by Mattias Jiderhamn)
- servlet: allow-forward-after-flush allows forward after response has been commited (feature) (#3580, rep by andrewm)
- admin: add ping-url for server-independent ping testing (#3605, rep by John Bowen)
- security: ClusterSingleSignon in cluster and host (#3467, rep by Scott Hernandez)
- ejb: TimerService needs to be injectalbe (#3572)
- ejb: ear scanning issues (#3583)
- ejb: .ear manifest with class-path prevented detection of ejbs (#3601, rep by mbrew)
- vfs: ReadStream.skip incorrectly updated index with negative skip (#3542, rep by Jamison Novak)
- embed: add resetLogManager() and call it by default in ResinEmbed (#3530, rep by Daniel Lopez)
- jpa: EntityManager.getDelegate() needs to create delegate if none exists (#3537, rep by voodude)
- embed/maven: ResinEmbed.initializeEnvironment() must start JNDI (#3486, rep by Jan Kriesten)
- admin: -agentlib:resin start cleanup (#3118 rep by bubek)
- vfs: NotFoundPath (error:) needs to be able to lookup absolute paths (#3628, #3475, rep by kvirkki)
- jsp: Jspc ant/maven task needs to disable resource-ref validation (#3577, rep by Boris Goykhman)
- jpa: registration of EntityManagerFactory incorrect (#3429, rep by Scott Hernandez)
- jpa: registration of PersistenceContext incorrect (#3622, rep by Jeff Schnitzer)
- server: QDate isLeapYear using _year field instead of argument (#3512, rep by damaan)
- amber: query maxResults issues (#3424, rep by Riccardo Cohen)
- web-app: check error case where root-directory with .war expansion is same as root (#3535, rep by voodude)
- security: request and SecurityContext isUserInRole share implementation (#3501, rep by skot)
- cron: use getCurrentTime() consistently for Alarm (#3548, rep by mkenney)
- ping: add freeze-timeout to PingThread configuration (#3592, rep by C. Karantzas)
- mod_caucho: use load-balance-connect-timeout for mod_caucho (#3642)
- xa: _transactionList rollback needs to be outside of synchronized (#3571, rep by jacky)
- jni: user-name fix with 64-bit start (#3521, rep by norlab)
- eclipse: server wizard cleanup and enhancement
- eclipse: spaces in path (#3589, rep by Michael Ludwig)
- eclipse: respect http port (#3502, rep by Michael Ludwig)
- eclipse: invalid chars in hot deploy (#3503, rep by Michael Ludwig)
- eclipse: deploy from temp directory (#3515, req by Yujin Kim)
- eclipse: breakpoints (#3484, rep by Doug and sblommers)
- embed: EmbedPort getLocalPort() returns ephemeral port (#3567, rep by zed)
- xml: XMLStreamReaderImpl on bad input (#2989, rep by Bill Au)
- servlet: footer/md5 HTTP handling (#3044, rep by Eric Bowman)
- thread: ThreadPool cleanup (#3645, rep by Daniel Wigenfors)
- jsp: BeanELResolver accessible issues (#3598, rep by rymsha)
- deploy: staging and versioning capacilibies (#3514, rep by Yujin Kim)
- cluster: add com.caucho.cluster.LockManager for distributed locking (#3464, rep by Martin Thompson)
- build: jsf-api.jar needs to be in src distribution (#3633, rep by joey)
- loader: sync/deadlock in EnvironmentClassLoader on startup (rep by Patrik Styme, #3641)
- jms: ClusterQueue single consumer (#2766, rep by Eric Masson)
- servlet: include/forward should not trigger request events (#3111, rep by tempestse)
- http: refactor to eliminate buffer/session reuse for subsequent requests (#3557, rep by Kevin Kilmer-Choi)
- servlet: forward attribute issues with wrappers (#3059, rep by masum)
- server: content-length counting issues (#3619, rep by Matthew Schmidt)
- jmx: IntrospectionMBean _attrGetMap needs to be synchronized (#3620, rep by ebarlas)
- jsse: added jsse cipher-suite support (#3593, rep by vbavin)
- jni: JNI detection of clientdisconnect issues (rep by Fiaz Hossain)
- quercus: image fixes for vbulletin
- quercus: ksort fixes for vbulletin
- quercus: WordPress: Post revisions not shown (#3753)
- quercus: Avoid recursive instropection of methods. (#3748, rep by PeterJ)
- quercus: quercus request for support for $_SERVER["REQUEST_TIME"] (#3712, rep by ashamash)
- quercus: Enable overridding of setting TYPE_SCROLL_INSENSITIVE (#3746, rep by PeterJ)
- quercus: date_timezone_set does not update date correctly (#3737, rep by damien)
- quercus: jetty: ClassNotFoundException for org.eclipse.jetty.server.AsyncContext (#3733, rep by andjarnic)
- quercus: is_object and is_resource return wrong results in many cases (#3701, rep by PeterJ)
- quercus: isset returns wrong answer with multiple variables (#3702, rep by PeterJ)
- quercus: failure in simplexml_load_string() (#3476, rep by jredden)
- quercus: quercus 4.0.1 is missing QuercusServlet (#3674, everflux)
- quercus: phpBB3 - Links not displaying (#3637, rep by GT500)
- quercus: java.lang.NullPointerException running Yii (#3541, rep by johnsavior)
- quercus: Drupal and OpenID (#3609, rep by B. Wu)
- quercus: QuercusParseException - missing semicolon within a scriptlet php tag. (#3668, rep by kenfoo)
- quercus: StringBuilderValue.create() is not performing a "& 0xFF" on the character value (#3654, rep by kenfoo)
- quercus: ErrorException is missing (#3667, rep by kenfoo)
- quercus: substr_compare failed (#3662, rep by jindw)
- quercus: Quercus allows to make non-abstract function abstract again (#3644, rep by tlandmann)
- quercus: count() error with recursive (#3586, rep by Hoang)
- quercus: PHP-style hash algorithm names not supported (#3513, rep by koreth)
- quercus: Quercus $foo->getClass() method (#3555, rep by Herbert)
- quercus: NumberFormatException when calling $result = file_get_contents($url) (#3587, rep by tomi_m)
- quercus: instanceof parsing precedence (#3621, rep by H. Punt)
- quercus: isset() returns FALSE for $_SESSION (#3636, rep by rabbitism)
- quercus: static function variables not "really" static (#3610, rep by tlandmann)
- quercus: wordpress 2.8.1 and resin load-balancing - can't login (#3624, rep by J. Novak)
- quercus: mail() does not handle multi-line headers properly (#3616)
4.0.1
- session: save-mode='before-header' should not serialize sessions after the request (rep by Gagan Chaudhari)
- server: chunking issues with filled content (rep by Rick Mann)
- gzip: empty gzip response should return 0 bytes (#3599, rep by martin thompson)
- jsp: jsp recompilation detection for WEB-INF/tags (#3578, rep by rmann)
- (2009-07-14) jsf: ViewExpiredException with JSF RI(#3517, on behalf of Matthew Schmidt)
- server: host-default and web-app-default were included multiple times (#3554, rep by Jean Padilla)
- candi: scope-adapter bytecode issues with more than 3 arguments (#3564, rep by wesley)
- xa: allow synchronization added in beforeCompletion to also be called by beforeCompletion (#3559, rep by Peter Pastrnak)
- cache: jsp/include/html was not properly cached (#3379, rep by Driss Louriagli)
- servlet: error page file-not-found is reporting the original URL, not the missing error page (#3561, rep by Abhishek Neralla)
- watchdog: start can create a new task if the old one is in the process of shutting down (#3527, rep by Rob Lockston)
- watchdog: stop needs to wait for Resin to exit (#3528, #3418, rep by Rob Lockstone)
- watchdog: require "console" option, and forbid command-line without command
- hessian: hessian 1.0/2.0 debug conflict for date ('d' vs \x4a) (#3452, rep by Rick Mann)
- candi: multiple registration issue with @ApplicationScoped HessianService (#3543, rep by skot)
- dist-session: open source wasn't properly saving (#3545, rep by Mattias Jiderhamn)
- candi: resin-web.xml needs to override scanned beans (#3546, rep by voodude0
- hessian: issues with 2 vs 1 version detection (#3036, rep by skipper13)
- candi: stack overflow with EL config (#3480, rep by Scott Hernandez)
- ejb: @Current SessionContext injection for stateful/session (#3506, rep by skot)
- candi: increase priority of XML over discovered beans (#3507, rep by Jeff Schnitzer)
- embed: ResinEmbed support for non-empty cluster and server names (#3498, rep by skot)
- server: isUserInRole NPE in AbstractHttpRequest (#3489, rep by voodude)
- build: ant dist build.xml optional for Makefile.in (#3490, rep by skot)
- hessian: java.lang.Object (#3448)
- hessian: Byte/Short as handles
- jni: RandomAccessFile JNI code missing mode (#3442, rep by koreth)
- jsp: jsp:useBean with generic type and XML validation (#3455, rep by kir)
- jsp: prelude with include NPE (#3508, rep by Shinomiya Nobuaki)
- deploy: error messages and documentation for remote deploy not clear for BAM/HMTP (#3477, rep by Scott Hernandez)
- quercus: Curl has issues with urls having @ in it (#3585, rep by anash)
- quercus: Wordpress 2.8.1 parent constructor call (#3597, rep by csw)
- server: UTF8Reader with byte-order-mark needs to read full next character (#3525, rep by Fiaz Hossain)
- jca: max-active-time default needs to changed to Long.MAX_VALUE instead of Integer.MAX_VALUE (rep by KC Baltz)
- log: SyslogHandler has improper initialization (rep by Michael Glenney)
- class loader: remove potential classloadering deadlock based on ClassEntry lock (#3423, rep by stbu)
- database: driver support for META-INF/services and url without type
- database: DataSource now allowed as a driver type (#3318, rep by atifmk)
- server: web-app versioning updates with /ROOT (#3466, rep by sibyj)
- server: HTTP PrintWriter with i18n double-byte encoding overrun (#3434, rep by Fiaz Hossain)
4.0.0 - May 5, 2009
- security: ClusterSingleSignon logging wrong class (rep by Scott Hernandez)
- thread pool: improve detection of illegal internal thread state (rep by Takahiro Fukuda)
- (2008-04-08) thread: ThreadPool initialization needs to be synchronized because of lazy-init (rep by Dannis Devota)
- jsp: BeanInfo vs introspection for tags (#3066, rep by Mike McNally)
- classloader: maven classloader replaces osgi
- jsp: trimDirectiveWhitespaces was ignored for tag files (#3386, rep by kvirkki)
- admin: PingMailer updated to Java Injection (#3257, rep by kenjrwalker)
- session: timeout/listener updates (#3116, rep by Richard Grantham)
- rewrite: <dispatch> needs to change Invocation (#3067, rep by Leonid Geller)
- admin: sort_webapp duplicate error in /resin-admin (#3405, rep by c. whalley)
- ioc: add @Produces foo(InjectionPoint ij)
- jsp: UTF-8 BOM should not force text/html (#3062, rep by CnXiaowei)
- proxy-cache: Authorization header should not disable proxy caching (#3065, rep by Daniel Wigenfors)
- servlet: sendRedirect URL encoding to use iso-8859-1 when character encoding set (#3032, rep by bjopet)
- hessian: timeout on http connection clear needs to be short (#3039, rep by Jeff Porter)
- http: improve error message on chunked encoding (#3021, rep by e_rajasekar)
- error: allow custom error page for 400 bad request errors (#3008, rep by Vinod Mehra)
- jsp: error parsing should ignore encoding errors (#2967, rep by Takahiro Fukuda)
- load balance: dynamic servers (#2867, rep by Dana P'Simer)
- load balance: add green load balancing (#2831)
- admin: added URL to thread dump when available (#3194, rep by Keith Paulson)
- win32: O_BINARY required for configuation saving (#3337, rep by Takahiro Fukuda)
- log: non-gz/zip archiving now uses rename instead of copy
- log: added ${request}, ${session}, ${cookie} to log format (#3255, rep by Philippe Collard)
- log: multiline logs like thread dumps should not have extra timestamps (#3229, rep by Jamison Novak)
- rewrite: <dispatch> should not modify uri unless it has a target (#3295, rep by Ethan Larson)
- distcache: distributed cache update times must be deltas because of clock skew (#3161, rep by Dushyanth Harinath)
- jms: commit() NPE check (#3287, rep by tyson weihs)
- rewrite: new rewrite rules allow custom dispatching (#3096, rep by Leonid Geller)
- rewrite: <rewrite:SetHeader>,<rewrite: Location> (#3381, rep by Andrea Sodomaco)
- rewrite: request-secure disabled access log (#3354, rep by Tamas Pinter)
- security: <secure> interaction with auth-constraint (#3333, rep by stbu)
- servlet: add <cron> syntax for servlet (#3188, rep by mate)
- boot: update setuid/setgid code (#3330, rep by tlandmann)
- quercus: charAt needs to check range (#3363, rep by gyvc)
- boot: improve bind error messages for failed binding (#3193, #3204, rep by sibyj)
- dist: init.d/resin.in distribution changes (#3374, rep by jkriesten)
- (2009-03-18) mod_caucho: only allow one thread to update config for worker model
- win32: truncate applied incorrect file mode for new file (#3382, rep by Kair Virkki)
- (2009-02-26) boot: windows machines can't add -server option automatically (#3331)
- inject: findByName needs to work during shutdown (#3334, rep by stbu)
- make: "make clean" not properly propagated in modules/c/src/Makefile (#3340, rep by copart)
- boot: add system-class-loader configuration (#3339, rep by toomasr)
- servlet: run-at race condition on web-app restart (rep by stbu, #3342)
- boot: update messages for Quercus Personal (#3352)
- quercus: $f($v) with foo(&$v) declaration (#3351, rep by koreth)
- (2009-02-23) jms: btree split off-by-one issue (#3287, rep by tyson weihs)
- jms: file missing primary declaration (#3287, rep by tyson weihs)
- hessian: Annotation support
- hessian: AbstractSerializer changes to improve usability
- hessian: META-INF/hessian/serializers and deserializers
- server: sync performance with Encoding (#3226, rep by lookis)
- quercus: hmac performance (#3297, rep by koreth)
- server: cron syntax not properly handling day of week (#3248, rep by mate)
- mod_caucho: content-length not properly propagated (#2995, rep by uwe schaefer)
- (2009-01-27) inject: update packaging to latest Java Injection draft
- make: makefiles updated to use $(CC) instead of $(LD) (#3267, rep by dicr)
- admin: add <resin-data-directory> to replace admin path
- remote: <remote:BamService> replaces <bam-service>
- quercus: batch compiled files (#3261, rep by koreth)
- quercus: strtotime with date and not time needs to zero-out time (#3177, rep by dmaa)
- quercus: FilterIterator (#3214, rep by koreth)
- quercus: stub out CURLOPT_MAXREDIRS (#3126, rep by koreth)
- quercus: double printing needs to match php (#3279, rep by koreth)
- quercus: curl CURLOPT_POSTFIELDS needs to understand array (#3281, rep by koreth)
- quercus: microtime() was using System.nanos() incorrectly (#3280, rep by koreth)
- quercus: date() not using default timezone (#3273, rep by koreth)
- quercus: pwd not working properly in passthru (#3247, rep by mikhailb)
- quercus: get_object_vars must not use iterator (#3253, rep by haplo)
- quercus: Java interfaces not properly populating instanceof (#3230, rep by haplo)
- quercus: ArrayIterator constructor issues (#3239, #3253, rep by haplo)
- quercus: instanceof not working with Java classes (#3242, rep by haplo)
- quercus: static variables related to late static binding (#3225, rep by koreth)
- osgi: getLocalResource needs to check for loader null (#3236, rep by koreth)
- jsf: f:view not bound when using jsf:ri with xml syntax (#3102, rep by alex)
- (2008-01-05) quercus: instanceof issues with Exceptions (#3209, rep by koreth)
- quercus: regexp handling of /[\p{Arabic}]/ (#3131, rep by koreth)
- quercus: classes scope to the dynamic class, not static class (#3213, rep by koreth)
- quercus: abstract class not properly initialized in statement (#3216, rep by koreth)
- quercus: i18n issues with "set names" (#3203, rep by M Schmidt)
- quercus: array copyOnWrite issue with _var vs _value (#3210, rep by koreth)
- quercus: array return value from external call (#347b, rep by koreth)
- quercus: json_decode of '{}' not handled properly, cont (#3201, rep by koreth)
- (2008-12-29) quercus: json_decode of '{}' not handled properly (#3197, rep by koreth)
- quercus: add profile-probability="0.001" to QuercusServlet (#3200, rep by koreth)
- quercus: NPE for preg_match and "/^x|^x/" (#3198, rep by koreth)
- security: add WebBeans-style configuration, e.g. <sec:FormLogin>, <sec:XmlAuthenticator
- session: convert to TriplicateCache
- cluster: convert to ClusterTriad
- watchdog: convert to BAM
- quercus: regexp needs to handle anchor optim (#3195, rep by koreth)
- install: Mac OS X flags for 64 bit
- security: authentication generation of cookies should be optional (#3049, rep by Eric Bowman)
- gzip: if application sets Vary, do not add extra Vary (#3043, rep by Eric Bowman)
- config: Resin config vars like ${server} should not affect JSP EL (#3078, rep by Jan Kriesten)
- jmx: remove admin-dummy-root for remote service (#3087, rep by dicr)
- jstl: ${cookie.foo} with no cookies causes NPE (#3023, rep by vicsanca)
- session: SessionManager.createSession check for initialization (#3074, rep by dicr)
- boot: watchdog communication proxy not setting proper classloader (#3174, rep by koreth)
- amber: @ManyToOne issue with @JoinColumn not specifying name (#3081, rep by dicr)
- amber: @Version fixes for java.sql.Timestamp (#3080, rep by dicr)
- config: webApp.url should default to http://localhost instead of http://default (#3035, rep by skipper13)
- config: resin:import will throw config exception is include file exists bug is not readable (#3076, rep by dicr)
- server: reduce default BlockManager size (#3054, rep by Daniel Vydra)
- amber: @Entity wasn't allowing protected constructor (#3071, rep by dicr)
- admin: log-service default changed to 'warning' (#3084, rep by Bryant Harris)
- build: debian web user should be 'www-data' (#3124, rep by Geert Van Damme)
- quercus: $GLOBALS array regression (#3176, rep by koreth)
- quercus: compress.zlib parsing error (#3171, rep by koreth)
- quercus: $_SERVER and $HTTP_SERVER_VARS not identical (#3168, rep by koreth)
- quercus: stream_get_meta_data extra logging (#3170, rep by koreth)
- quercus: class static fields must be handled as mangled globals (#3155, #3165, rep by koreth)
- quercus: DoubleValue issues in assignments, e.g. for commas (#3163, rep by koreth)
- quercus: array copy-on-write issues with latest optimizations (#3160, rep by koreth)
- quercus: unset compilation issues with latest optimizations (#3157, rep by koreth)
- jsf: invalid input is not redisplayed in JSF UI Input (#3057, rep by freemant)
- quercus: resin_save_state()/resin_restore_state() (rep by koreth)
- server: 304 was not properly ignoring content (#3089, rep by Andrew Phillips)
- quercus: catch regexp stack overflow and log (rep by koreth)
- quercus: array_shift regression (#3150, rep by koreth)
- quercus: array($x = 3) compilation issue (#3139, rep by koreth)
- quercus: experimental lazy function classloading (rep by koreth)
- quercus: NPE with func_get_args (#3103, rep by koreth)
- core: added StreamSource for hessian serialization
- hessian: added AbstractStreamSerializer and AbstractStreamDeserializer
- hessian: added *HessianSerializer and *HessianDeserializer pattern
- jsf: Application MessageBundle fixes (#3056, rep by freemant)
- jsf: JSF State with Serializable ActionListener (#3058, rep by freemant)
- server: ThreadLocal removal/cleanup
- admin: change profile default to 10ms
- http: 304 should not return content-length (#3089, rep by Andrew Phillips)
- admin: changed log-service default logging level to WARNING (rep by Bryant Harris)
- memory: DispatchRequest._invocation needs to be cleared (rep by Mattias Jiderhamn)
- session: clustering triplicate='true' with only one server (rep by Mark Morgan)
- database: NPE in ConnectionPool.destroy() (#3070, rep by dicr)
- thread: thread pool load smoothing (rep by Martin Thompson)
- boot: watchdog kill NPE (#3009, rep by stbu)
- persistent-store: sessions larger than 4M were not properly persisted (#3025, rep by mate)
- memory: removed potential ThreadLocal leak with SecurityContext (#3031, rep by Mattias Jiderhamn)
- admin: OSGi bundles now registered as OsgiBundleMXBean
- admin: WebBeans now registered as WebBeanMXBean
- Servlet: various fixes for Servlet TCK
- JSP: various fixes for JSP TCK
- WebBeans: javax.webbeans.manager.Manager and Bean are new SPI for WebBeans
- WebBeans: @Current replaces @In as default @BindingType
- WebBeans: <Deploy> enables @DeploymentType and establishes priority
- WebBeans: @DeploymentType replaces old @ComponentType
- WebBeans: @Named semantics changes for new draft - Named is no longer a @BindingType and no longer automatically names beans
- WebBeans: move web-beans.xml to root from META_INF for new draft
- WebBeans: new XML web-beans.xml syntax for new draft
Copyright © 1998-2015 Caucho Technology, Inc. All rights reserved. Resin ® is a registered trademark. Quercustm, and Hessiantm are trademarks of Caucho Technology. |
|