<document>
<localtoc/>

Resin 3.1.x is a development branch. New capabilities will be added along with bug fixes for future versions of the Resin 3.1.x branch.

Deployments which need a Resin version with only bug fixes should use the Resin 3.0.x branch.

In Resin 3.1.2, Amber is the first production release with full support for JPA.

Essentially, Amber passes the JPA TCK. Both persistence context types are supported: TRANSACTION and EXTENDED. Also, potential issues including persistence unit configurations, cascading operations and query portability have been reviewed.

On startup, Resin Professional now only calls `listen()` after initialization has completed. The new `listen()` functionality also lets JMX applications stop and start backend servers. The `PortMXBean` now has `start()` and `stop()` methods.

The new capability keeps load balancers from sending requests to an initializing server.

Applications can close a keepalive with the Connection: close header. This capability is only for advanced users with particular needs. Almost all application should continue to use the default behavior.

The Hessian 2.0 draft has been updated. While the new draft is compatible with Hessian 1.0, it is not compatible with previous versions of the draft due to encoding changes.

Hessian 2.0 now allows streams to be wrapped in an envelope. Three predefined Envelopes are now available:

- com.caucho.hessian.io.Deflation
- com.caucho.hessian.security.X509Encryption
- com.caucho.hessian.security.X509Signature

Streaming support is now available in the Hessian API with the addition of `resetReferences()`

mod_caucho now supports CauchoStickySessions as a configuration item, so sites can disable the sticky-session capability.

Added <java-exe> to the resin.conf file to select the Java executable.

The /resin-admin now has a cluster section for cross-cluster information display.

The JDBC database pooling algorithm has changed to LIFO to better support load-balancing JDBC drivers.

The ResinLoadBalancer algorithm has changed to better handle servers which are temporarily busy or not accepting connections.

Sessions may now use Hessian2 for serialization (serialization-type="hessian"). For many applications, this will reduce the serialization size significantly.

The session backing store is now more efficient for sessions between 128 bytes and 4096 bytes, by adding a dynamic mini-fragment size. Previously, sessions between 128 bytes and 4096 would always use 8k of persistent store. In 3.1.2, the sessions are stored in 256-byte chunks, reducing overhead for medium-sized sessions.

1. DokuWiki 2007-06-26
2. Dragonfly CMS 9.0.6.1.7
3. Drupal 5.1
4. Gallery2 2.2.2
5. Joomla 1.0.12
6. Mantis 1.0.8
7. MediaWiki 1.10.0
8. Openads 2.0.11-pr1
9. Phorum 5.1.23
10. phpBB 2.0.22
11. Smarty Template Engine 2.6.18
12. Wordpress 2.2

</document>