Version 2.16.5 - 16 Apr 2020
- Update - The validateUserSignature method now includes an overload that accepts expiration: number.
Version 2.16.4 - 04 Feb 2020
- Update - Added JWT signature validation. See the SigUtils.ValidateSignature method.
- Update - The SDK is now strong-named with the same public key as version 2.15.4.
Version 2.16.1 - 22 Dec 2017
- Update - Added GSAuthRequest class for handling requests signed with a JWT authorization header.
Version 2.15.7 - 16 Aug 2017
- Removed Expect:100Continue header from requests
- Added getDynamicSessionSignatureUserSigned to SigUtils to enable generation of Dynamic Session Expiration cookies using an application key and secret pair, instead of the partner secret.
Version 2.15.6 - 08 Jan 2014
- Minor bug fixes
Version 2.15.5 - 10 Nov 2013
- Minor bug fixes
Version 2.15.4 - 09 Sep 2013
- userKey - A new optional parameter in GSRequest constructor. A key of an admin user with extra permissions.
- Bug fixes.
Version 2.15.3 - 06 Nov 2012
- GSRequest.APIDomain - new public property that provides the option to specify a data center to be used for making API calls. For example: "eu1.gigya.com" for Europe data center.
- The SDK is now Strong Named. This means that the SDK's DLL is signed and you may verify its authenticity using the following Public Key:
You may run the DLL with elevated permissions, and put it in your Global Assembly Cache (GAC).
- When all connections are in use and a new request is sent, the SDK now blocks the calling thread until a connection frees up instead of letting .Net queue the request (which can blow up memory and increase response latencies). You may control this behavior using the new static public properties:
- GSRequest.BlockWhenConnectionsExhausted - determines whether to block your thread when you attempt to send a new request while all connections are in use (default is true).
- GSRequest.EnableConnectionPooling - This flag tells the SDK to try and reuse connections to the gigya servers, in order to lower the overheads associated with creating new connections, and to reduce latency (default is true).
- GSRequest.MaxConcurrentConnections - The maximum number of concurrent connections that can remain open to the Gigya servers, assuming EnableConnectionPooling flag (see above) was enabled (default is 100).
- GSResponse.Get - new method that provides the option to use paths instead of simple keys to extract values from a response, e.g. "users.identities.provider".
Version 2.15.1 - 21 June 2012
- Providing improved error details when a client side error is detected in the SDKs.
- When sending a request to the Gigya API, if the SDK detects that the client and server clocks are out of sync, it will automatically adjust the timestamp on outgoing requests to match the server clock.
- If a request parameter is given a null value, the SDK will now serialize it in the query string as an empty string instead of as the literal "null".
Version 2.15 - 10 Apr 2012
- SigUtils.GetDynamicSessionSignature - a new method for implementing dynamic control over login session expiration. Learn more in the Control Session Expiration guide.
- GSRequest.Send(timeout) - a new method (overriding GSRequest.Send()) that receives a timeout parameter. This parameter gives the option to set a response timeout.
- GSRequest.BeginSend - a new method for sending a request asynchronously.
Version 2.14 - 17 Oct 2011
Enabled GZIP compression.
Version 2.13.4 - 17 Aug 2011
- GSDictionary class is deprecated, and is replaced by the following new classes:
- GSObject - New class, used for passing parameters, for example when issuing requests or receiving response data.
- GSArray - New class, used for passing Arrays, for example when issuing requests or receiving response data.
- All the method names now start with an upper-case letter, so as to conform with .NET coding conventions. For example: getParams() changed to GetParams().
Search for all instances of GSDictionary class in your code. Replace each GSDictionary instance with GSObject, and each GSDictionary (array) with GSArray.
Then update all method names to start with an upper-case letter.
Old Code (using GSDictionary):
New Code (using GSObject and GSArray):
Version 2.13 - 26 June 2011
- When sending a request, if useHTTPS is set to 'true', the request is not signed and the secret key is passed instead - this saves CPU of calculating signature, since it's secured by HTTPS.