Caucho maker of Resin Server | Application Server (Java EE Certified) and Web Server


 

Resin Documentation

home company docs 
app server 
 Resin Server | Application Server (Java EE Certified) and Web Server
 

resin change log


Resin Change Log

4.0.66 - in progress

  • 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

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.

Cloud-optimized Resin Server is a Java EE certified Java Application Server, and Web Server, and Distributed Cache Server (Memcached).
Leading companies worldwide with demand for reliability and high performance web applications including SalesForce.com, CNET, DZone and many more are powered by Resin.

home company docs 
app server