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:
- Take all nodes offline.
- Apply the update to all nodes.
- Turn on one node (which will apply the schema changes).
- Verify connectivity to the one enabled node.
- Enable the remaining nodes.
If you did not follow these steps and are now experiencing issues:
- Take all nodes offline.
- Execute this SQL script against your WebSync database.
- 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