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
- New Features in this Release
- Where Did the Protocols and Demos Go?
- License Changes
- Java Runtime Requirements
- Browser Certification
- Client Library Technologies
- API Changes
- Namespace Changes
- Known Issues
- Third-Party Software Notice
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
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).