WebSync Change Log

3.5.0.8

  • Updated SQL queries to improve locking performance and avoid deadlocks.
  • Updated log4net to latest version 1.2.11.0.

3.5.0.7

  • Fixed bug in SQL idle disconnect query.

3.5.0.6

  • Fixed bug where IE could throw a c00c023f error if hard-disconnecting the network (i.e. by pulling the network plug).
  • Fixed bug where the server might not detect the presence of a RequestHandler and subsequently not initialize a cache (characterized by object reference exceptions in the logs).

3.5.0.5

  • Fixed bug where standalone publishing applications using the RequestHandler would register to receive messages.

3.5.0.4

  • Updated server request handling to better detect improperly formatted messages.
  • Updated server application pool recycle handling to improve long-term stability and message delivery.
  • Fixed bug where processes running WebSync outside IIS without a bounded thread pool could attempt IPC communication.
  • Fixed bug where HttpWebRequestTransfer could exhibit unusual behaviour in a timeout race condition.
  • Fixed bug where invalid path characters in a connection string could cause inter-process communication failure.
  • Fixed bug where thick clients might not fire OnUnhandledReceive.

3.5.0.3

  • Updated request handler to output fatal exceptions if the request manager and/or provider fails to load.
  • Fixed bug related to HTTP serialization of Asian character sets.
  • Fixed bug with Azure Table Storage provider initialization and default DateTime values.

3.5.0.2

  • Added additional SQL safety measures to ensure dangling database client records cannot exist.
  • Fixed bug in client-side HttpWebRequest synchronous state handling for timed out requests.
  • Fixed bug in automatic mutex naming for certain SQL configurations to work around Windows naming restrictions and DirectoryNotFoundException.

3.5.0.1

  • Updated SQL commands to take advantage of XML attribute performance enhancements.
  • Updated HttpWebRequestTransfer to skip unnecessary packet transfers and optimize delivery.
  • Fixed memory leak in HttpWebRequestTransfer.

3.5.0.0

  • Added Java client, publisher, examples and documentation.
  • Added overrideable JavaScript util.getScheme() function to force the scheme for WebSync communication.
  • Added RepeatOnStreamFailures property to ClientConnectArgs.
  • Updated .NET Client to disable the Nagle algorithm and "Expect:100-continue" behaviour which improves performance.
  • Updated JSONP to provide a more meaningful error when the request length exceeds IE's URL length limit.
  • Fixed DateTime serialization bug with Silverlight client.
  • Fixed database schema update bug that caused constraint creation to fail during WebSync upgrades on busy servers.

3.4.2.0

Note: This update includes schema changes for the Sticky SQL Provider. If you are using the Sticky SQL Provider, follow these steps:

  1. Take all nodes offline.
  2. Apply the update to all nodes.
  3. Turn on one node (which will apply the schema changes).
  4. Verify connectivity to the one enabled node.
  5. Enable the remaining nodes.

If you did not follow these steps and are now experiencing issues:

  1. Take all nodes offline.
  2. Execute this SQL script against your WebSync database.
  3. Enable all nodes.

Changes:

  • Added interprocess serialization to streamline overlapped worker processes.
  • Updated iOS deserialization routines to significantly improve performance, especially on large messages.
  • Updated JSON parsing to use native JSON handling when available.
  • Updated Subscribers extensions to better handle cases where the subscription fails.
  • Updated idle detection to handle cases where the system time changes.
  • Updated idle disconnection for the SQL provider to better handle client migrations in multi-server environments.
  • Updated SQL provider schema/indexes to improve performance.
  • Fixed bug where a c00c023f error would show up in Internet Explorer under certain page unload conditions.
  • Fixed miscellaneous bugs in both client and server.

3.4.1.0

  • Updated error handling for IIS request failures.
  • Updated Subscribers extension client after-events to handle failed subscribe/unsubscribe requests.
  • Updated HTML5 postMessage algorithm to work around Firefox iframe caching bug.
  • Fixed indexing bug in JavaScript client.

3.4.0.0

  • Added iOS client for iPhone and iPad applications.
  • Added gzip support for .NET client/publisher.
  • Updated JavaScript client support for Internet Explorer 9.
  • Updated Azure Table provider to support Azure SDK 1.4.
  • Updated default response from request handler to empty GET requests.
  • Updated error handling for XHR aborts.
  • Updated SQL to use NOLOCK hint where possible to avoid deadlocks under heavy load.
  • Updated documentation with more code snippets and diagrams.
  • Fixed bug where string-final slashes in JSON-encoded data strings within message arrays could cause problems with deserialization.
  • Fixed bug where a combination of resubscribes and rebinds after a network failure might not be delivered in the correct order.

3.3.2.0

  • Updated clients to guarantee firing of onSuccess or onFailure after onStreamFailure with willReconnect = true.
  • Updated clients to allow an automatic reconnect in the connect onFailure callback (by setting args.reconnect = true).
  • Updated clients to only fire onStreamFailure once per stream failure.
  • Fixed bug where requests that generated pre-processing fatal error messages would not close.
  • Fixed bug where dashes in an absolute URL would cause problems in the JavaScript client.
  • Fixed bug where escaped special characters in a channel name would not be accepted.
  • Fixed bug where the sync flag in the JavaScript client would be ignored when processed through a queue.
  • Fixed bug where SQL table accesses required the dbo schema.
  • Fixed bug where sending falsey values in XHR utility would send nothing at all.

3.3.1.0

  • Fixed bug where a reconnect after network failure with meta set in the original connect call would alert an error.

3.3.0.0

  • Added support for binding and unbinding public or private data to and from clients (e.g. user name, email address).
  • Added support for batching client requests together (StartBatch/EndBatch).
  • Added support for wildcards in domains, allowing WebSync-enabled pages to be opened in multiple (unlimited) windows.
  • Added support for a large number of server-side operations to RequestHandler.
  • Added StayConnected property to client connect arguments to force automatic reconnections after network failure.
  • Added Client property to server-side event arguments, simplifying access to client details (bound data, subscribed channels, etc.).
  • Added JSON extension methods for .NET 3.5 to simplify serialization of JSON data to DataJson, MetaJson, and ValueJson properties.
  • Added .NET 2.0 versions of Subscribers/ReturnData extensions.
  • Added stateless SQL provider for SQL on Azure.
  • Added a packaged copy of the website demos to WebSync Server downloads.
  • Updated Subscribers/ReturnData extensions to .NET 3.5.
  • Updated all client callback arguments to include Timestamp, Client ID, extension data, and much more.
  • Updated documentation in the first stage of a major overhaul.
  • Updated WebSync initialization to vastly improve load time.
  • Updated Subscribers extension to include any data bound to the clients.
  • Updated proxy to automatically detect SSL configuration for WebSync On-Demand.
  • Updated all data providers to significantly improve performance and stability.
  • Fixed bug where manually disconnecting and reconnecting could resubscribe to any previously subscribed channels.
  • Fixed bug where multiple calls to reconnect in the client could interfere with each other.
  • Fixed bug where calls to disconnect in the JavaScript client could trigger a reconnection.
  • Fixed bug where automatic disconnection on page unload could trigger an error.
  • Fixed bug where channel subscriptions might fail in the Azure Table provider.
  • Fixed bug where rapidly refreshing might cause failure to connect in Internet Explorer.

3.2.0.0

  • Added automatic timeout monitoring for .NET client/publisher requests.
  • Added significant performance enhancements to WebSync server load management.
  • Added automatic app-pool recycle management to improve process shutdown/transition performance.
  • Added support for server-side modification of subscription arrays.
  • Added a stateless SQL Server provider for environments where sticky load balancing is unavailable (i.e. Azure).
  • Added RequestTimeout property to the .NET client/publisher for setting the request timeout interval.
  • Added StreamRequestTimeout property to the .NET client for setting the stream-request timeout interval.
  • Added StreamRequestUrl property to the .NET client to support streaming on a different domain.
  • Added SessionRequestHandler and SessionClientHandler to WebSync Server for applications that require access to session state.
  • Added more helpful exception handling for Silverlight failures due to cross-domain restrictions.
  • Added timestamp field to all server responses.
  • Added support for applications with session state configured using cookieless="AutoDetect" to work around MS bug.
  • Updated JavaScript client to silently ignore HTML5 postMessage cross-talk.
  • Updated initialization routines so more helpful error messages are generated during the initialization of WebSync.
  • Updated Provider API to allow for better differentiation between stateless and sticky providers.
  • Updated stateless Azure Table provider to improve performance.
  • Updated docs to work via file: protocol in IE so local installations work.
  • Updated docs to include information about tuning IIS6.
  • Fixed bug in the deserialization routine of message arrays.
  • Fixed bug in the client migration routine of the sticky SQL Server provider.
  • Fixed bug in the .NET and JavaScript clients whereby the connected flag would be "true" in the onStreamFailure event.
  • Fixed a few spelling errors and discrepancies in the documentation.

3.1.0.1

  • Fixed IE-specific bug that could cause failure to reconnect after a server reset or network outage.
  • Fixed bug in the JavaScript component of the Subscribers extension that would cause onFailure to fire twice if a subscribe call failed.

3.1.0.0

  • Added support for the .NET Compact Framework 2.0.
  • Added new static method for deserializing incoming messages/publications from an HTTP request.
  • Added new OnRequestCreated event for .NET client and publisher to allow modification of a web request before it is delivered.
  • Added automatic timeout handling for XHR/postMessage so silent network failures allow client reconnection.
  • Updated server with some minor performance enhancements.
  • Updated core serialization to better handle incorrect but salvageable JSON inputs.
  • Updated examples in downloads to synchronize serialization between .NET and JavaScript.
  • Updated StatelessProvider API to take more descriptive ClientRecord parameter for ConnectClient method implementation.
  • Fixed bug in server that allowed disconnected clients to publish messages.
  • Fixed bug in .NET/JavaScript clients whereby multi-channel subscribes would resubscribe multiple times after a network failure.

3.0.2.0

  • Added targetedScan option for WebSync initialization to reduce initial load time and memory consumption.
  • Added performance tuning scripts for machines hosting WebSync Server.
  • Added caching enhancements for JavaScript client to improve load time.
  • Added domain name sanitization to PHP Publisher "domainName" property.
  • Fixed bug in core serialization whereby some characters nested in object strings would cause failure.
  • Fixed bug in JavaScript client whereby reconnect events would not fire after a network failure.
  • Fixed bug in Subscribers extension whereby network failures would trigger a subscribe onFailure event.

3.0.1.0

  • Added extension libraries for Silverlight.
  • Added current capacity query capabilities for WebSync On-Demand.
  • Added BeforeUnsubscribe event triggers for unsubscribes forced by disconnects.
  • Added Forced property to WebSyncEventArgs to identify forced unsubscribes and idle disconnects.
  • Added SSL support to WebSync Server Community Edition.
  • Removed duplicate ExtensionAttribute definition in core extensions libraries to avoid problems with projects compiled for .NET 3.5 and higher.
  • Fixed bug whereby WebSyncEvent/WebSyncScriptModifier-decorated methods in some partial classes would fire twice.

3.0.0.1

  • Fixed bug whereby some POST-capable browsers would use GET under certain conditions.

3.0.0.0

  • Initial v3 release.