Union 1.1.0 Release Notes

Union 1.1.0 is now available for download. Key new features include:

  • Official support for WebSocket in all browsers that support it, including Chrome 10+, Safari 5+, Firefox 6+, and iOS 4.2+. In JavaScript/HTML5 applications built with OrbiterMicro, WebSocket speeds up network communications and reduces bandwidth consumption. For complete details, read Introduction to WebSocket.
  • A new module-annotation system to ease Java module development
  • Overhauled UPC-message processing that improves server performance and stability
  • A "UPC Messages" screen in Union Admin for debugging and tuning heavily loaded servers
  • OrbiterMicro now provides optional HTTP connection failover and alternate backup server/port failover

Users of tryunion.com please note: Older versions of Reactor and OrbiterMicro (1.0.0 and newer) are forwards compatible with Union Server 1.1.0. No code modifications are required to connect existing deployed clients to Union Server 1.1.0.

Union 1.1.0 includes the following changes.

Reactor (Client Framework for Adobe® Flash® Player)

  • Bug #511: MessageManager does not remove all listeners on disconnect
  • Bug #513: Connection affinity should not apply to connections that have timed out before becoming ready
  • Bug #514: When no valid connections are found, ConnectionManager should start at beginning of connection list
  • Bug #515: ConnectionManager should dispatch failure when disconnect() terminates in-progress connection
  • Bug #530: ConnectionMonitor reconnects before application listeners receive connect-failure notification
  • Feature #506: Make HTTP-request retry delay configurable
  • Feature #516: Add auto-reconnect attempt limit. This allows an application to, say, try to connect five times before giving up.
  • Feature #554: Add UPC message monitoring-and-statistics API

For a complete list of changes in Reactor, see the Reactor 1.1.0 Release Roadmap.

OrbiterMicro (Client Framework for JavaScript)

  • Bug #512: Core UPC message listeners do not register on reconnection
  • Bug #517: Add WebSocketConnection
  • Bug #529: ConnectionMonitor reconnects before application listeners receive connect-failure notification
  • Feature #504: Make HTTP-request retry delay configurable
  • Feature #505: OrbiterMicro should resend HTTP requests with non-2xx status
  • Feature #518: Add optional HTTP connection failover and alternate backup server/port failover
  • Feature #522: Add connection-capabilities inspection API
  • Feature #524: Add API to access the current client's ping

For a complete list of changes in OrbiterMicro, see the OrbiterMicro 1.1.0 Release Roadmap.

OrbiterMicroNode (Client Framework for Node.JS)

  • Updated to use OrbiterMicro 1.1.0

Union Server

  • Bug #508: DatasourceException thrown by Union Datasource is reported as an "uncaught exception".
  • Bug #523: Rooms that are set to die on empty but are never joined not being removed.
  • Bug #537: Banning an address not working on TCP connection.
  • Bug #541: NIO writes blocking for a long time.
  • Bug #551: u36/u54 contains incorrect persistent/shared attribute information.
  • Bug #552: Server attributes being stored incorrectly.
  • Feature #519: Add Draft 76 websocket support.
  • Feature #520: Add max rooms module.
  • Feature #521: Add annotations for server side module development.
  • Feature #527: Automatically set module instance fields from attributes for modules written in Java.
  • Feature #536: Add WebSocket HyBi 07 support.
  • Feature #538: Add new SecurityEvent BANNED_ADDRESS_CONNECTION.
  • Feature #544: Enhance message processing to better handle messages that have a long process time.
  • Feature #545: Add UPC support for getting UPC statistics.
  • Feature #547: Add UPC support for watching UPCs.
  • Feature #548: Add interface UPCMessageProcessor for listening to UPC processing related events and accessing processing statistics.
  • Feature #550: Add MessageEvent.UPC_PROCESSED and MessageEvent.UPC_QUEUED.
  • Todo #533: When a logged in client is disconnected because a newer client has logged in the old client should not be sent remaining messages on shutdown.
  • Todo #535: Javadoc correction: ServerEvent.ROOM_CREATE_REQUESTED
  • Todo #539: Security events now contain the BannedDetails as a property.
  • Todo #543: Add UPC_ACCESS security action.
  • Performance #556: Only 1 instance of NIOEncoder, NIODecoder required since they are thread-safe.

For a complete list of changes in Union Server, see the Union Server 1.1.0 Release Roadmap.

Union Admin

  • Feature #553: Add a new tab, "UPC Messages," that displays statistics about the UPC messages that have been processed or are waiting to be processed by Union Server.
  • Bug #443: Admin continues to observe focussed room even after leaving tab.
  • Bug #557: Two failed login attempts activates admin UI
  • Feature #558: Add "Run Diagnostics" button

For a complete list of changes in Union Admin, see the Union Admin 1.1.0 Release Roadmap.

Reactor GUI

  • Bug #559: RoomClientList throws error when room is unobserved then observed again