Kaazing WebSocket Gateway Release Notes

This document describes what's new and supported in the Kaazing WebSocket Gateway - AMQP Edition Release 4.0.

Patch Release Changes

There are no patch releases available for this release.

What's New in this Release

To find out what's new in this release, see the Kaazing WebSocket Gateway product page.

Download, Installation, and License Information

You can download or install Kaazing WebSocket Gateway from Kaazing Downloads. See Setting Up Kaazing WebSocket Gateway for help downloading and getting started with Kaazing WebSocket Gateway - AMQP Edition in your environment.

Note: Licenses for versions of Kaazing WebSocket Gateway prior to Release 4.x (including Kaazing WebSocket Gateway - AMQP Edition 3.x and Kaazing WebSocket Gateway 9.06) will not work for this release. Please contact Kaazing Sales to update your license.

Kaazing WebSocket Gateway is available under a conventional enterprise license and also as a cloud-service license. Please contact Kaazing Sales for more information about obtaining a license.

Applying a Kaazing WebSocket Gateway License

Once you have obtained your license file, perform the following steps:

  1. If the Gateway is running, stop it. For information on installing, starting, and stopping the Gateway, see Setting Up Kaazing WebSocket Gateway.
  2. Navigate to GATEWAY_HOME/license.
  3. If a license file already exists, delete it.
  4. Place the new license file in the directory.
  5. Start the Gateway. In the Gateway startup log, you should see the line: INFO Found license: primary contact name, company name, email address, which indicates that the new license has been applied.

Kaazing WebSocket Gateway Cluster Licenses

The allowed services and connection counts of each cluster member are the sum total of the allowed services and connection counts of all cluster members. When the Gateway starts and reads license information, all license files in the GATEWAY_HOME/license directory are read. Each license file is cumulative in terms of allowed services and connection counts. When the Gateway joins a cluster as a new member, its licenses are published to all cluster members and its allowed services and connection counts are propagated to all members. Additionally, the connection counts and allowed services of the other members in the cluster are added to the new member.

System Requirements

For system requirements, see the README.txt file in the GATEWAY_HOME directory where you unpacked the Kaazing WebSocket Gateway distribution. For example: C:\kaazing\kaazing-websocket-gateway-version_number.

Kaazing Client Libraries

Kaazing Client Technologies

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

Client Library JavaScript
Adobe Flash
Microsoft Silverlight
Microsoft .NET
Java
Google Web Toolkit
(GWT)
WebSocket
 
 
ServerSentEvents(1)
 
 
ByteSocket
 
 
Cross-Origin Resource Sharing (CORS)
           
PostMessage
N/A
N/A
N/A
N/A
N/A

1 Called EventSource in Silverlight and .NET

Browser Support

The following browser versions are supported in Kaazing WebSocket Gateway 4.0:

Browser
Supported Versions
Apple Safari
5.1+(1)
Google Chrome
Current
Microsoft Internet Explorer
7.0+, 8.0+, 9.0+, 10.0+, and 11.0+
Mozilla Firefox
Current
Opera
Current

1 The Gateway does not support Safari on Windows.

Mobile Browser Support

The following mobile browser platforms are supported in Kaazing WebSocket Gateway - AMQP Edition Release 4.0.

Mobile Platform / Browser
Browser Support
iOS 4.3.3, 5.0+, 6.0+, 7.0+, and 8.0+
(on iPad, iPhone, and iPod)
Safari
Android 2.2, 2.3, 3.0, 3.1, 3.2 and 4.0+
Default
Windows RT
Internet Explorer 10.0+

Known Issues Common to All Kaazing Clients

The following known issues are common to all client libraries for Kaazing WebSocket Gateway - AMQP Edition Release 4.0. Additional information for specific client libraries is available in the "Kaazing Client Technologies" section.

(KG-11881) A ChallengeRequest object may incorrectly contain whitespace in Kaazing clients.

Summary:: The authenticationScheme property of a ChallengeRequest object may incorrectly contain whitespace in Kaazing clients.

Workaround: Trim the property before using it.

(KG-211) HTTP Pipelining Conflict in Firefox

Summary: By default, HTTP Pipelining is disabled in Firefox; if you have not changed this setting, this may not cause an issue. However, if HTTP Pipelining is turned on in Firefox, note that HTTP pipelining in Firefox is incompatible with serving HTML pages from the Gateway when using the directory service in the gateway-config.xml.

Workaround: You can work around this conflict by turning off pipelining. To do so, enter about:config in the Firefox address field, then search for network.http.pipelining and set this attribute to false.

Kaazing JavaScript Client Library

This section includes information about the JavaScript client libraries available in Kaazing WebSocket Gateway. To learn how to add JavaScript to your web application and enable WebSocket communication with back-end server through the Gateway, see Checklist: Build JavaScript Clients Using Kaazing WebSocket Gateway.

Show the JavaScript client library support and known issues.

The following table summarizes the current JavaScript client library support:

Operating System/Browser
IE11 IE10 IE9 IE8 IE7 Firefox current Safari 5+ Chrome current Opera current
Windows RT
N/A N/A N/A N/A N/A N/A N/A
Windows 8
N/A
Windows 7
N/A
Windows Vista
N/A N/A
Macintosh OS 10.4.11+ (Intel-based)
N/A N/A N/A N/A N/A

Known Issues for JavaScript Clients

The following are known issues for JavaScript clients.

(KG-1023) Kaazing Flash and JavaScript Client Libraries Not Supported on Opera (UNIX)

The Kaazing Flash and JavaScript client libraries are not supported on Opera running on UNIX platforms.

Kaazing Flash Client Library

This section includes information about the Flash client libraries available in Kaazing WebSocket Gateway. To learn how to enable your Flash application to use WebSocket to communicate with a back-end server, see Checklist: Build Flash Clients Using Kaazing WebSocket Gateway.

Show the Flash client library support and known issues.

The following table summarizes the current Flash client library support:

Operating System/Browser
IE11 IE10 IE9 IE8 IE7 Firefox current Safari 5+ Chrome current Opera current
Windows RT
N/A N/A N/A N/A N/A N/A N/A N/A N/A
Windows 8
N/A
Windows 7
N/A
Windows Vista
N/A N/A
Macintosh OS 10.4.11+ (Intel-based)
N/A N/A N/A N/A N/A

Known Issues for Flash Clients

The following are known issues for Flash clients.

(KG-1023) Kaazing Flash and JavaScript Client Libraries Not Supported on Opera (UNIX)

The Kaazing Flash and JavaScript client libraries are not supported on Opera running on UNIX platforms.

Kaazing .NET and Silverlight Client Libraries

The following sections describe the Microsoft .NET and Silverlight clients available in Kaazing WebSocket Gateway. To learn how to build a .NET or Silverlight client, which you can then incorporate into your .NET or Silverlight application to enable communication with a back-end server through the Gateway, see Checklist: Build Microsoft .NET and Silverlight Clients Using Kaazing WebSocket Gateway.

Show the Kaazing .NET client library support and known issues.

Kaazing .NET Framework Client Library

If you are building Microsoft .NET clients, you must use Microsoft .NET Framework 4 with Microsoft .NET Framework 4 Patch KB2468871 (download the patch from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3556).

The following table summarizes the current Microsoft .NET client library support:

Operating System
Support
Windows RT
Windows 8
Windows 7
Windows Vista
Macintosh OS 10.4.11+ (Intel-based)
No OS support

Known Issues for Kaazing .NET Clients

The following are known issues for Kaazing .NET clients:

(KG-1850) Delay to the Initial Connection Request from the Kaazing .NET Client

Summary: The Kaazing .NET Client initial WebSocket connection request may be delayed by several seconds due to automatic proxy detection in Microsoft Windows.

Workaround: 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.

(KG-1851) Two Connection Limit in Kaazing Clients for Microsoft .NET

Summary: For any Microsoft .NET application that uses more than one WebSocket connection at a time, the Microsoft .NET 4.0 Framework has a maximum connection limit of two per domain, similar to the browser limitation.

Workaround: Because Kaazing clients for Microsoft .NET may use multiple connections simultaneously, you must either ensure that any WebSocket connection is closed by using WebSocket.Close() before opening another WebSocket connection, or increase the connection limit on the application by updating the maxconnection attribute in the app.config file. See MSDN for more information about the application configuration file and its attributes and elements. Alternatively, you can increase the global System.Net.ServicePointManager.DefaultConnectionLimit property.

Both the maxconnection attribute and the System.Net.ServicePointManager.DefaultConnectionLimit property should be set to be twice (2 times) the number of WebSocket connections required to ensure bidirectional communication when emulation is used, since emulation requires an upstream connection and a downstream connection. For more information, see MSDN and stackoverflow (tuning connection limits per application in the app.config XML file).

Show the Kaazing Silverlight client library support and known issues.

Kaazing Silverlight Client Library

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

Operating System/Browser
IE11 IE10 IE9 IE8 IE7 Firefox current Safari 5+ Chrome current Opera current
Windows 8
N/A N/A
Windows 7
N/A N/A
Windows Vista
N/A N/A N/A
Macintosh OS 10.4.11+ (Intel-based)
N/A N/A N/A N/A N/A

Known Issues for Silverlight Clients

The following are known issues for Microsoft Silverlight clients.

(KG-7114) Silverlight Not Supported on Safari by Microsoft

Summary:When using the Kaazing Silverlight client libraries on Safari for Microsoft Windows, the client may not work properly due to system incompatibility issues. Check the Microsoft Silverlight compatibility chart for more information.

Kaazing Java Client Library

This section includes information about the Java client libraries available in Kaazing WebSocket Gateway. To learn how to build a Java client, which you can then incorporate into your Java application to enable WebSocket communication with a back-end server through the Gateway, see Checklist: Build Java Clients Using Kaazing WebSocket Gateway.

Show the Java client library support and known issues.

The following table summarizes the current Java client library support:

Operating System/Browser
IE11 IE10 IE9 IE8 IE7 Firefox current Safari 5+ Chrome current Opera current
Windows RT
N/A N/A N/A N/A N/A N/A N/A
Windows 8
N/A
Windows 7
N/A
Windows Vista
N/A N/A
Macintosh OS 10.4.11+ (Intel-based)
N/A N/A N/A N/A N/A

Known Issues for Java Clients

There are no known issues specific to Java clients.

API Changes

The following API changes were made in this 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
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.
Java
Html5Util is no longer required. Any references to it should be removed. The setApplet() call is not necessary.

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 appears as shown in line 1:

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

jaas-config.xml

The namespace for jaas-config.xml appears as shown in line 1:

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

Known Issues in Kaazing WebSocket Gateway

The following are known issues in Kaazing WebSocket Gateway - AMQP Edition Release 4.0:

For issues related to client libraries, see: Kaazing Client Libraries.

(KG-10084) If DNS Resolution Fails for Hostname in Connect Clause, the Gateway Does Not Start

Summary: The Gateway does not start if the DNS resolution fails for a hostname in a connect element. This is a change in behavior from previous releases where this DNS resolution was performed after startup, when a client connected to that service.

Workaround: There is no workaround for this issue.

(KG-10317) Performance Data Does Not Always Display on All Platforms (including Solaris)

Summary: When monitoring the Gateway, some performance data may not display on some platforms, like Solaris.

Workaround: There is no workaround for this issue.

Deprecated Features

The following features are deprecated from the Gateway configuration. Avoid using a deprecated feature, because a future release may not include it:

  • WebSocket Version: The <ws.version> element has been deprecated. If you are using an existing configuration that includes the <ws.version> element, you can continue to use it. However, if the scheme of the URI inside the connect element is ws:// or wss://, then the WebSocket version defaults to the RFC-6455 standard and there is no need to explicitly set <ws.version> element.
  • Cluster Mode: The cluster <mode> element has been deprecated. See the topic Clustering and Load Balancing Migration for more information.
  • Management: The <management> element and all of its sub-elements have been deprecated. Use the <management.snmp> and <management.jmx> services instead. See the topic Checklist: Monitor Kaazing WebSocket Gateway for more information.
  • Authorization Constraints: The auth-constraint element from the Gateway configuration has been deprecated in Release 4.0.. Use authorization-constraint instead. See "Error Using the auth-constraint Element for more information.
  • Network Address Mapping: The <network> and <address-mapping> elements are now deprecated. Use protocol.bind instead. See Integrate Kaazing WebSocket Gateway into an Internal Network for more information.
  • session Element: The session element and its properties are now deprecated, including:
    • service-domain
    • authentication-scheme
    • authentication-connect
    • realm-name
    • encryption-key-alias
    • inactivity-timeout

    See session for a description of these changes to the Gateway configuration.

Third-Party Software Notice

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

TOP