2.2.2

@moozzyk moozzyk released this May 4, 2017 · 3 commits to dev since this release

Bugs Fixed

  • WebSocket connections leak (#3910)
  • Console application using async/await stops receiving after sending (#3895)
  • The client should reuse HttpClient for negotiate and start requests (#3829)
  • ForeverFrame not removed correctly when stopping the connection (#3807)
  • Possible Memory Leak when attempting to Continuously Reconnect (#3793)
  • Redis script uses textual comparison (#3767)
  • Race in Redis scaleout when the connection is restored (#3729)
  • Signalr bower jquery.signalR.min.js missing semicolon in the end (#3516)
  • Transport connection performance counters are wrong after falling back to long polling (#3459)
  • With Redis scale-out, once Send() method runs into an error, the stream will never be opened again until Redis is restarted (#3093)
  • Make scale-out mapping store size configurable (#3031)

Features

  • SignalR.exe should discover hubs in .exe files (#3867)
  • Could not install package 'Microsoft.AspNet.SignalR.Client 2.2.1' to xamarinmac20 (#3851)
  • Redis Scaleout - Default Db from ConnectionString is ignored (#3714)
  • Could not load type 'Microsoft.ServiceBus.Messaging.MessageClientEntity' from assembly 'Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. (#3548)

Downloads

2.2.1

@moozzyk moozzyk released this Jul 18, 2016 · 58 commits to dev since this release

Bugs Fixed

  • TypeLoadException occurring when using Strongly typed Hub (#3594)
  • .Net Client in UWP App (Raspberry PI2) throws HttpRequestException (#3576)
  • UWP client can't connect (#3547)
  • SignalR doesn't plays well with .net Native on Windows 10 (#3529)
  • Fix binary compat issue between 2.1.x and 2.2.0 caused by Hub base class change (#3489)
  • Redis Backplane failure (#3436)
  • Cannot install portable NET client package (#3393)
  • occasional null ref in ServerSentEventsTransport. (#3376)
  • signalR save promise after disconnection (#3338)
  • Signalr UnobservedTaskException (#2960)
  • .Net client throw ArgumentNullException from JToken.FromObject when Invoke hub method with paramater value null (#1655)

Downloads

2.2.0

@DamianEdwards DamianEdwards released this Jan 13, 2015 · 95 commits to dev since this release

Bugs Fixed

  • An unhandled exception in ProcessWebSocketRequestAsync method for request (#3342)
  • Canceled Tasks returned from Groups.Add and Groups.Remove (#3337)
  • TypeLoadException when use strongly typed Hub with an inherited interface (#3311)
  • With Redis scale-out, calling the method Groups.Add(connectionId, groupName).Wait() never completes (#3240)
  • Stack Overflow Exception version 2.1.1 (#3228)
  • In .Net client race condition when connection stopped and heartbeat running (#3212)
  • In .Net client race condition causes ArgumentNullException (#3211)
  • Remove async/await from code that can run with the sync context (#3176)
  • Detect blocks/deadlocks in .NET client receive queue and log an error when it occurs (#3167)
  • Small trace issue in SqlReceiver (#3147)
  • Nightly Microsoft.AspNet.SignalR.Redis package from dev branch still has old dependency BookSleeve (#3137)
  • Add a workaround to make sure Redis connection is reconnected in ConnectionRestored event after Redis restart (#3095)
  • With Redis scale-out, SignalR existing connections will miss some messages after Redis restart (#3091)
  • Issues with large message sizes again (#163) (#3040)
  • Task for Groups.Add never completes (#3037)
  • In perfmon instances of SignalR perf counters for full IIS only show like default web site, doesn't show web application instances (#3002)
  • Memory leaks in IE/Chrome when use SignalR longPolling (#2953)
  • .Net client webSockets fallback wait transportConnectTimeout then start next transport (#2903)
  • JS client fallback wait transportConnectTimeout then start next transport (#2902)
  • Fix references in portable library for Xamarin projects (#2833)
  • Object Expected Error Line : 1285 onInitialized(); When trying to use signalr(forevrframe) with jQuery UI Dialog (#2795)
  • signalr.exe ghp doesn't dispay error message about generating hubproxy javascript for server Hub classes (#2769)
  • MessageBus.Dispose spins on Interlocked.Exchange(ref _gcRunning, 1) == 1 (#1088)
  • consider updating the log info "....a connection lost timeout of " for keepAliveData.timeout (#1084)
  • update log message for foreverFrame when it is not supported (#1057)

Features

  • Change .Catch() to trace to passed in TraceSource (#3107)
  • Support WebSockets on Windows Phone 8.1/Windows Store 8.1 (#3027)
  • Update Redis extension to StackExchange.Redis (#2961)

Downloads

2.1.2

@DamianEdwards DamianEdwards released this Sep 12, 2014 · 240 commits to dev since this release

Bugs Fixed

  • Disable client-side keep alive checking in Long Polling clients by default (#3259)
  • Hubs are mistakenly identified as plain objects by jQuery 2.x (#3210)
  • ObservableDbOperation looking for Insert but receiving Update on new events (#3166)
  • Clients receiving a lot of duplicate messages with SQL scale-out (#2988)

Downloads

1.2.2

@DamianEdwards DamianEdwards released this Aug 29, 2014 · 1333 commits to dev since this release

Bugs Fixed

  • ObservableDbOperation looking for Insert but receiving Update on new events (1.x) (#3197)
  • Clients receiving a lot of duplicate messages with SQL scale-out (1.x) (#3196)
  • Port SQL scale-out fix to 1.x (#2977)

Downloads

2.1.1

@DamianEdwards DamianEdwards released this Jul 25, 2014 · 270 commits to master since this release

Bugs Fixed

  • /start requests deadlock when the PreSendRequestHeaders event is set (#3116)
  • ASP.NET Hub.OnDisconnected not called when .NET client disconnects due to Internet connectivity/process killed (#3115)
  • SignalR 2.1 - JavaScript error: Refused to execute script...because MIME type ('application/json') is not executeable... (#3110)
  • JS Client - No transport can be initialized if /start takes too long to complete (#3104)
  • Unexpected lock reentry in HubConnection.ClearInvocationCallback (#3101)

Breaking Changes

OnDisconnect parameterless overload removed

In 2.1.0 we added an overload of OnDisconnect on PersistentConnection and Hub that takes a boolean indicating whether the disconnect from the client was due to a timeout or not. In making this change we also changed when the existing overload (without the parameter) was called. These changes together resulted in applications not always being called when a client disconnects in a way they were used to expecting. We're resolving this in 2.1.1 by removing the original overload (the parameterless one). OnDisconnect will now always be called when a client disconnects and the flag passed indicates whether it was due to a timeout or not.

Downloads

2.1.0

@DamianEdwards DamianEdwards released this Jun 13, 2014 · 258 commits to release since this release

Bugs Fixed

  • Make HubCallerContext easier to mock for unit testing a Hub (#3012)
  • SignalR perf counter Connections Reconnected doesn't increase after connection reconnected (#3004)
  • Change when connection connect events/methods are raised (#2997)
  • Remove the reconnect message broadcast intended to suppress disconnect events on other servers in scale-out (#2996)
  • .NET Client Not Compatible With Windows Phone 8.1 (#2968)
  • JavaScript call to refresh update panel inside the hub client method fails and logs the error "TypeError: access to strict mode caller function is censored" in the error console. (#2964)
  • SqlScaleout: Sql server runs out of worker threads (#2958)
  • Fix for issue 'Allow for overriding JS json deserializing function' (#1564) does not work in IE9. (#2945)
  • Server Sent Events: Connection.eventSource is undefined on reconnect (#2925)
  • Error performance counters get incremented twice for each invocation of a missing method. (#2859)
  • signalr/hubs should throw an exception with an invalid hub name (#2705)
  • SignalR v2.0.0-rc1 - get state variable in hub from vb is not working (#2620)

Features

Breaking Changes

OnDisconnect server event semantic change

We've changed what happens when a connection is detected as "gone" on the server. In the past, we made efforts to ensure the server-side disconnect events were raised only once, even if a logical connection had actually been alive on more than one server during its life (in the case of a web farm). This involved sending messages between web nodes in the farm which could lead to undue strain on the backplane, especially when the long polling transport was in use (see #2958).

From this version on, the event will always be raised on any server that has seen a connection and then detects it has gone. We've added a new overload (#2998) so that you can handle the cases when the connection stops due to timeout (like if it moves to another server, or loses network connectivity) or due to the stop method being called on the client (aka a graceful close, e.g. when the user closes the browser).

Be sure to factor this change of behavior into your application design.

IHubConnectionContext changed to IHubConnectionContext<T>

To support the new strongly typed client Hubs (#2449) the interfaces IHubConnectionContext and IHubCallerConnectionContext had to be made generic. To continue using these types with a dynamic client method contract, as in previous versions, just specify the generic type argument as dynamic, e.g.

IHubConnectionContext<dynamic> context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();

Downloads

2.0.3

@DamianEdwards DamianEdwards released this Mar 27, 2014 · 442 commits to release since this release

Bugs Fixed

  • SB scale-out still re-try forever for un-recoverable error ConfigurationErrorsException (#2948)
  • Service Bus scaleout null refs (#2937)
  • SB scale-out with multiple streams Send failed "Object reference not set to an instance of an object" (#2933)
  • Optimize RedisMessageBus to increase messages throughput (#2905)
  • Race condition when connection stopped and heartbeat running (#2897)
  • SignalR 2.0.3 package dependency Microsoft.Owin etc version (#2890)
  • JS client foreverFrame doesn't fallback to longPolling but stop when start connection the first time passed 'reconnectWindow' period (#2883)
  • .Net Client connection LastActiveAt not re-set when start HeartbeatMonitor (#2878)
  • JS client script error: "Unable to get property 'pingInterval' of undefined or null reference" (#2865)
  • Potential bug setting HubConnection proxy (#2856)
  • JS client connection.transportConnectTimeout will increase value every time connection is started (#2823)
  • SignalR + ServiceBus calls to clients hitting Microsoft.ServiceBus.Messaging.ServerBusyException (#2803)
  • Connection "freezes" when an exception is thrown from delayed expression returned from Hub method (#2800)
  • Strings containing dates are malformed when sending from .Net client to Hub (#2796)
  • WebSocket end of message bit is always on it's own continuation frame (#2777)
  • SignalR - Large Messages are not being passed from the client to server (#2774)
  • SignalR SB scale-out, the first connection returns error "The stream is not open..." (#2767)
  • Context.User is Null on [Authorized] SignalRHub Task OnDisconnected (#2753)

Downloads

1.2.1

@DamianEdwards DamianEdwards released this Feb 17, 2014 · 12 commits to release1.x since this release

Bugs Fixed

  • on JS client, restarting a connection after disconnected, with longPolling transport it send poll loop without timeout Id (#2840)
  • Restarting the connection after going offline fails in js client (#2824)

Downloads