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


 

Resin Documentation

Aug 2012: Resin outscales C-based web server nginx in AutoBench benchmark
Feb 2012: NetCraft survey says Resin experiencing strong growth in last year and used in number of the Million Busiest Sites.
home company blog wiki docs 
app server web server 
health cloud java ee pro 
 Resin Server | Application Server (Java EE Certified) and Web Server
 

resin change log


Resin Change Log

4.0.30 - Aug 12, 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

Resin 3 changesResin 3.1 changesResin 1.2 changesolder changes


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