• Events
  • Blog
  • W3C
Kaazing in action
websockets.org

Release Notes

This document describes what's new and certified in the Kaazing WebSocket Gateway 10.05 release. It contains the following sections:

Patch Release Changes

Patch Release 10.05.1

The following changes were made in patch release 10.05.1:

  • Significantly improved the performance for downstream throughput in Silverlight clients.
  • For .NET clients, added support for passing an authorization header when the username and password are specified in the WebSocket Connect URL.
  • Fixed errors encountered in the Gateway when connecting using the EncryptedKeyring.
  • Improved handling of invalid or missing headers during Gateway connection.
  • Improved the JMX bean organization and session count.

New Features in this Release

The following features are new in this release:

  • Significant performance improvements and emulated WebSocket optimization
  • Support for clustering multiple gateways and load balancing
  • .NET framework support
  • Support for WebSocket connections for pages served from file:// based URLs

Where Did the Protocols and Demos Go?

In addition to significant improvements in performance, Kaazing WebSocket Gateway Release 2010.05 marks a change in how the product is structured. Kaazing WebSocket Gateway 2010.05 is the core product release: the first in a series of vertically-aligned, product-centric Kaazing WebSocket Gateway bundles. That is, unlike previous releases that bundled together all the available protocols and demos, the initial release of Kaazing WebSocket Gateway focuses on the core HTML5 WebSocket functionality. Upcoming releases of the product will include features that are targeted at specific protocols and products.

The core product release consists of the HTML5 WebSocket, Server-Sent Events, and Communication implementations, along with Kaazing's ByteSocket implementation. Additional protocols and demos of those protocols will be made available soon. Check http://kaazing.com frequently for news and updates.

License Changes

Licenses for earlier versions of Kaazing WebSocket Gateway will not work for the 2010.05 release. Please contact sales@kaazing.com to obtain a new license.

Java Runtime Requirement

To run Gateway 2010.05 Java Runtime 1.6.0_14 or higher is required.

Browser Certification

The following browser versions are certified in Kaazing WebSocket Gateway 2010.05.

Browser
Certified Versions
Apple Safari
3.0+
Google Chrome
4.0+
Microsoft Internet Explorer 6
6.0+ w/ SP3(1)
Microsoft Internet Explorer >6
7.0+ & 8.0+
Mozilla Firefox
3.5+
Opera
9.5+

1 Microsoft requires the use of SP3 of XP to support IE 6

Client Library Technologies

The following matrix shows the client-side technologies that are provided in Kaazing WebSocket Gateway for each client library.

HTML5 Communication Client Libraries

Client Library JavaScript
Adobe Flex
Java
Microsoft Silverlight
.NET
WebSocket
 
ServerSentEvents(1)
 
ByteSocket
 
PostMessage
N/A
N/A
N/A
N/A
XMLHttpRequest
 
N/A
N/A
N/A
N/A

API Changes

The following API changes were made in the 2010.05 release:

Specification Compliance

To comply with recent changes to the WebSocket specification, the postMessage calls have been renamed to send on both WebSocket and ByteSocket. Additionally, the disconnect calls were renamed to close. This change is currently implemented for JavaScript and ActionScript.

The old functions have removed in this version of Kaazing WebSocket Gateway. Please use the updated APIs.

Old API New API
WebSocket.postMessage(data) WebSocket.send(data)
WebSocket.disconnect() WebSocket.close()
ByteSocket.postMessage(data) ByteSocket.send(data)
ByteSocket.disconnect() ByteSocket.close()

Miscellaneous

The following API changes have been made in the product:

Technology
Changed API
Java
Html5Util is no longer required. Any references to it should be removed. The setApplet() call is not necessary.
JavaScript
ByteSocket.getURL() is no longer available.
Silverlight
ByteBuffer.PutUnsignedShort(ushort) is now ushort.
ByteBuffer.PutUnsignedInt(uint) is now uint.
uint ByteSocket.readyState is now uint ByteSocket.ReadyState.
The type for the Open events has changed to OpenEventHandler
The type for the Error events has changed to ErrorEventHandler
Html5Utils.Init is no longer required.

1 Called EventSource in Silverlight and .NET

Namespace Changes

The namespace declarations have changed in this release. Note the use of .com in xmlns.kaazing.com in the namespace declarations.

gateway-config.xml

The namespace for gateway-config.xml has changed as follows:

<gateway-config xmlns="http://xmlns.kaazing.com/gateway-config/excalibur">
  .
  .
  .
</gateway-config>

jaas-config.xml

The namespace for jaas-config.xml has changed as follows:

<jaas-config xmlns="http://xmlns.kaazing.com/jaas-config/excalibur">
  .
  .
  .
</jaas-config>

Known Issues

The following are the known issues in Kaazing WebSocket Gateway 2010.05 release:

HTTP Pipelining Conflict in Firefox

HTTP pipelining in Firefox is incompatible with serving HTML pages from the Gateway when using the Directory service in the gateway-config.xml. You can work around this conflict by turning off pipelining in Firefox. To do so, enter about:config in the Firefox address field, then search for network.http.pipelining and set this attribute to false (by default, this attribute is set to false).

Delay to the Initial Connection Request from the Kaazing .NET Client

The Kaazing .NET Client initial WebSocket connection request may be delayed by several seconds due to automatic proxy detection in Windows. To address this, if using Internet Explorer, choose Options > Connections tab > LAN Settings. Clear the Automatically Detect Settings checkbox and, if necessary, specify the proxy settings. In .NET applications, you can bypass the proxy settings by including the line System.Net.WebRequest.DefaultWebProxy = null; before the client initiates the WebSocket connection. If your application requires a proxy, change the null value in this line to the default proxy or follow these instructions.

Two Connection Limit in .NET clients

For any .NET application that uses more than one WebSocket at a time, the .NET 3.5 Framework has a maximum connection limit of two per domain, similar to the browser limitation. Because WebSockets may use two connections simultaneously, you must either ensure that any WebSocket connection is closed by using WebSocket.Close() before opening another WebSocket, or increase the connection limit on the application by updating the maxconnection attribute in the app.exe.config file. See MSDN for more information about the application configuration file and its attributes and elements.

Silverlight/.NET Multithreading

The Kaazing client libraries fire events on multiple threads for better performance. Therefore, events are delivered on a thread other than the UI thread. This requires you to explicitly transfer execution to the UI thread when updating the UI from dispatched events. This technique varies slightly between Silverlight and .NET Framework applications as described in How to Use the Kaazing Client Libraries in Microsoft Silverlight and .NET Framework.

Client Library and Browser Certification

The following restrictions apply to the Java and Silverlight client libraries:

Java Client Library

Currently, the Java client library is not certified on:

  • Mac OS X
  • Apple Safari
  • Firefox version 3.0 or earlier
  • Opera 9.5 or earlier
Note: Java client library-based applets that are embedded in an iframe do not work in Internet Explorer 6.0 due to an issue with the Sun Java plugin.

Microsoft Silverlight Client Library

Currently, the Microsoft Silverlight client library is certified on a limited set of browsers and operating systems. A summary of the current support follows (the table below may change as Microsoft changes Silverlight and desupports operating systems and browsers):

Operating System/Browser
IE 8 IE 7 IE 6 Firefox 3+ Safari 3 Safari 4 Chrome 4
Windows Vista
         
Windows 7
             
Windows Server 2008
             
Windows Server 2008 R2
             
Windows Server 2003, Windows XP SP2, SP3
             
Windows 2000 SP4 + KB 891861*
             
Macintosh OS 10.4.11+ (Intel-based)
             

Third-Party Software Notice

This product includes software developed by the Hazelcast Project (http://www.hazelcast.com).