diff --git a/nuget/Zyan.nuspec b/nuget/Zyan.nuspec index 8f80c8d8..5dcecb51 100644 --- a/nuget/Zyan.nuspec +++ b/nuget/Zyan.nuspec @@ -2,7 +2,7 @@ Zyan - 2.12 + 2.13 Zyan Rainbird,yallie Hagen Siegel @@ -13,28 +13,36 @@ Zyan is a framework that simplifies development of distributed applications for desktop and mobile platforms. With Zyan you can publish any .NET class for remote access over the network. Zyan is highly customizable and provides you with tools to build modular and plugable distributed applications. Amazingly easy distributed application framework for .NET, Mono and Xamarin.Android What's new: + + v2.13: Bugfixes and stability improvements + — #73: RemoveClientServerWires freeze + — #71: Problem with initialization of class TcpCustomServerProtocolSetup + — #70: Update dependencies + — #69: Thread pool starvation on broadcast events + — #67: SRP issue related to missing accounts + v2.12: Bugfixes and stability improvements - - #61: Thread pool queue issue for canceled subscriptions. - - #53: Updated SRP package integration to version 1.0.4. - - #3: Improved the code to synchronize subscriptions when connection is restored. + — #61: Thread pool queue issue for canceled subscriptions. + — #53: Updated SRP package integration to version 1.0.4. + — #3: Improved the code to synchronize subscriptions when connection is restored. v2.11: Security fixes and new features. - - #45: Updated Zyan.SafeDeserializationHelpers package. - - #44: Support for multi-step authentication and SRP-6a protocol. + — #45: Updated Zyan.SafeDeserializationHelpers package. + — #44: Support for multi-step authentication and SRP-6a protocol. v2.10: Security fixes and new features. - - #43: Integrate Zyan.SafeDeserializationHelpers package. - - #40: TcpEx: invalid TCP packet crashing a running server. - - #35: NIC selection for protocols when creating a channel. - - #34: Event arguments transformation support. - - #29: ZyanConnection memory leak. - - #27: Passing null instead of credentials. - - #4: Fix session filters behavior. + — #43: Integrate Zyan.SafeDeserializationHelpers package. + — #40: TcpEx: invalid TCP packet crashing a running server. + — #35: NIC selection for protocols when creating a channel. + — #34: Event arguments transformation support. + — #29: ZyanConnection memory leak. + — #27: Passing null instead of credentials. + — #4: Fix session filters behavior. v2.9: Bugfixes and stability improvements. - - #17: No remote address specified for reconnect. - - #16: Fix errors found by the static analysis tools bug. - - #9: Call interceptors don't always initialize the call context. + — #17: No remote address specified for reconnect. + — #16: Fix errors found by the static analysis tools bug. + — #9: Call interceptors don't always initialize the call context. For more details, see the project website: http://zyan.com.de diff --git a/source/Zyan.Communication/Version.cs b/source/Zyan.Communication/Version.cs index 0825b0b9..ef904e28 100644 --- a/source/Zyan.Communication/Version.cs +++ b/source/Zyan.Communication/Version.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("2.12.0.0")] -[assembly: AssemblyFileVersion("2.12.0.0")] +[assembly: AssemblyVersion("2.13.0.0")] +[assembly: AssemblyFileVersion("2.13.0.0")] diff --git a/source/Zyan.Tests/SessionVariableTests.cs b/source/Zyan.Tests/SessionVariableTests.cs index 07e2804f..a75a4946 100644 --- a/source/Zyan.Tests/SessionVariableTests.cs +++ b/source/Zyan.Tests/SessionVariableTests.cs @@ -40,13 +40,15 @@ public class SessionVariableTests public interface ISessionSample { string Get(string name); + string Get(string name, string defaultValue); void Set(string name, string value); } public class SessionSample : ISessionSample { static ISessionVariableAdapter V => ServerSession.CurrentSession.SessionVariables; - public string Get(string name) => V.GetSessionVariable(name, "failed"); + public string Get(string name) => V.GetSessionVariable(name); + public string Get(string name, string defaultValue) => V.GetSessionVariable(name, defaultValue); public void Set(string name, string value) => V[name] = value; } @@ -65,6 +67,11 @@ public void SessionVariablesAreStoredWithinTheCurrentSession() var proxy = conn.CreateProxy(); proxy.Set("Hello", "World"); Assert.AreEqual("World", proxy.Get("Hello")); + + var temp = proxy.Get("Undefined"); + Assert.IsNull(temp); + proxy.Set("Undefined", "Defined"); + Assert.AreEqual("Defined", proxy.Get("Undefined")); } } }