Skip to main content Skip to complementary content

Qlik Sense .NET SDK Release Notes

v15.5.1

  • BUGFIX: Fixed issue with intellisense documentation not working correctly in Visual Studio.
  • BUGFIX: Fixed issue with close event handling on objects returned as part of a return value structure such as CreateGenericObjectResult.
  • BUGFIX: Instances of the class Qlik.Sense.Client.AppPropertiesObject are now correctly deserialized. Previously such objects were deserialized to instances of GenericObject.

v15.5.0

  • SCHEMA: API endpoints generated based on engine version 12.1036.3 (Qlik Sense August 2021)

v15.4.2

  • BUGFIX: Objects are now correctly removed from memory when a close notification is received, thereby eliminating a potential memory leak.
  • BUGFIX: Improved async behavior of the class AppField. High concurrency use of this class could previously sometimes result in deadlocks.

v15.4.1

  • BUGFIX: Fixed issue related to websocket URL construction that would make the websocket redirect mechanism fail when connection to QCS.

v15.4.0

  • SCHEMA: API endpoints generated based on engine version 12.969.2 (Qlik Sense May 2021)
  • NEW FEATURE: Introduced constructor AbstractStructure(JObject) and method JObject AbstractStructure.GetJObject().
  • NEW FEATURE: Introduced methods ILocation.AsDirectConnection and ILocation.AsDirectConnectionToPersonal with engine port as argument.
  • DEPRECATED: Deprecated extension method used for location configuration. Use non-extension versions instead.
  • DEPRECATED: Deprecated asynchronous location configuration methods. Methods have no asynchronous components. Use synchronous versions instead.

v15.3.4

  • IMPROVEMENT: Improved error message produced when receiving unrecognized push method.
  • IMPROVEMENT: The JSON property name is now explicitly shown as part of property documentation summary.
  • BUGFIX: Direct connection now uses same format for user header as proxy, making it possible to attach to an existing proxy session. Note that such attachment still requires the header X-Qlik-Security header to be set correctly.
  • BUGFIX: Fixed issue when doing non-anonymous authentication against virtual proxy that allow anonymous connections. Previously such authentications would always end up as anonymous.
  • BUGFIX: Fixed issue with SystemNetWebSocketSession.Close that could lead to socket connections leaking.
  • BUGFIX: Fixed issue that in certain extreme cases could result in loss of a UTF-8 character when reading from websocket.

v15.3.0

  • SCHEMA: API endpoints generated based on engine version 12.878.1 (Qlik Sense February 2021)
  • NEW FEATURE: Introduced overload for LocationExtensions.App taking app ID as argument instead of an AppIdentifier instance.
  • IMPROVEMENT: Utilize qGenericType and qGenericId of class Qlik.Engine.ObjectInterface when deserializing QixBaseClass instances thus eliminating the need for an extra engine call to retrieve this information.
  • BUGFIX: Eliminated session object leakage from class Qlik.Sense.Client.AppField. A call to Dispose will now correctly destroy also private session objects of this class.
  • BUGFIX: Eliminated session object leakage from methods GetAppFields, GetSheets and their asynchronous equivalents.
  • DEPRECATED: Deprecated IApp extension methods for master object management. Use engine endpoints for these operations.
  • DEPRECATED: Deprecated class Qlik.Sense.Client.GeoField and associated interface IGeoField. Use AppField and IAppField directly for this functionality.
  • DEPRECATED: Deprecated sheet specific overrides for DidCreateChild and DidDestroyChild. Engine API must be used to emulate client behavior.
  • DEPRECATED: Deprecated client specific accessor extension methods for dimensions, measures, variables and bookmarks. Engine API must be used to emulate client behavior.

v15.2.2

  • BUGFIX: The introduction of the classes GenericSessionObject and GenericSessionVariable accidentally broke backward compatibility. The feature has been rolled back and classes removed.

v15.2.1

  • SCHEMA: API endpoints generated based on engine version 12.811.3 (Qlik Sense November 2020)
  • NEW FEATURE: Introduced class Qlik.Engine.QcsLocation for configuring connections to Qlik Cloud Services.
  • NEW FEATURE: AbstractStructure now overrides ToString.
  • NEW FEATURE: Introduced classes GenericSessionObject and GenericSessionVariable. These classes automatically call the relevant destructor method when disposing. Use-clauses can be leveraged to manage the life span of session objects. (Feature rolled back in v15.2.2)
  • NEW FEATURE: Implemented method QlikSession.RetryOnAbort. The class PropertyContainer leverages this when getting layouts and properties.
  • NEW FEATURE: Virtual proxy path can now be defined directly in the location URI.
  • DEPRECATED: Deprecated parameter proxyUsesSsl in proxy connection configurations. Use property CustomUserHeaders to define Origin header.
  • DEPRECATED: Deprecated parameter extendedSecurityEnvironment in direct connection configurations. Argument should be omitted.
  • DEPRECATED: Deprecated connection method AsDirectConnection with parameter proxySessionId. Use property CustomUserHeaders to define extra headers.
  • DEPRECATED: Deprecated protected method RpcConnection.Location. Location should not be accessed through connection object.

v15.1.1

  • SCHEMA: API endpoints generated based on engine version 12.763.0 (Qlik Sense September 2020)
  • BUGFIX: Location.SessionCookie now returns null instead of throwing an error when the cookie is not set.
  • BUGFIX: The websocket session is now correctly terminated when a program exits. Previously a program would not exit unless the IRpcConnection instance used was explicitly disposed.
  • BUGFIX (.NET Framework only): Fixed issue relating to websocket throwing an error during authentication redirect when connecting to localhost.
  • DEPRECATED: Deprecated storytelling related functionality. Use GenericObject and AbstractStructure to interact with this client functionality.
  • DEPRECATED: Deprecated snapshot related functionality. Use GenericBookmark and AbstractStructure to interact with this client functionality.

v15.0.6

  • BUG FIX: The LocationExtension methods Hub, App, ActiveApp and corresponding async methods now close the websocket connection if an error occurs. Previously the SDK could leak connections if the websocket was successfully established but an error occurred after that. A typical example would be that a call to OpenApp timed out when calling LocationExtension.App

v15.0.5

  • BUG FIX: Removed fixed 5 second timeout on websocket opening. The RpcConnection.Timeout property now affects this operation. This behavior is identical to the timeout behavior used for the .NET Framework version of the SDK for release v14.1.0 and earlier.
  • BUG FIX: Fixed issue with websocket connections sometimes being left open when the websocket connection succeeds, but the method called to open the connection times out.

v15.0.4

  • SCHEMA: API endpoints generated based on engine version 12.674.1 (Qlik Sense June 2020)
  • NEW FEATURE: Added support for JWT Authentication. A Location instance can be configured to use this type of authentication through the new method AsJwtViaProxy.
  • BUG FIX (.NET Core only): Fixed issue with sending websocket messages containing non-ASCII characters.
  • BUG FIX (.NET Core only): Fixed issue with session cookie not being correctly set under certain location configurations.
  • BUG FIX (.NET Core only): Fix potential deadlock issues for certain thread modes (in particular GUI). The infamous ConfigureAwait...
  • BUG FIX (.NET Core only): The property Session.SessionToken is now utilized for configuring headers during websocket connection. The property was previously simply ignored preventing the definition of distinct engine sessions.
  • BUG FIX: Fixed issue with the class Qlik.Sense.Client.ExtendedCurrentSelection that could cause the set of fields returned to be out of sync with the current selection.
  • DEPRECATED: Deprecated promoted layout properties in the Client namespace. Access values through the Properties and Layout properties instead.
  • REMOVED: Removed the class Qlik.Sense.Client.DataContainer as well as client object specific methods in the Sheet class. Deprecated since v13.16.0.
  • REMOVED: Version check mechanism. Deprecated since v13.14.0.
  • REMOVED: Schema validation mechanism. Deprecated since v13.14.0.
  • REMOVED: Methods relating to WinForms binding extension methods. Deprecated since v13.14.0.
  • REMOVED: Removed the following methods in namespace Qlik.Sense.JsonRpc: ILocation.AsServiceAsync, Location.AsServiceAsync, RpcConnection.WebSocketFactory, WebsocketFactory.GetWebSocketFactory. Deprecated since v13.12.0.
  • ENVIRONMENTAL: The .NET Framework version of the SDK no longer has a dependency on the Nuget package Autofac.
  • ENVIRONMENTAL: The .NET Framework version of the SDK no longer require references to the following dlls: Qlik.Sense.Common.dll, BouncyCastle.CryptoExt.dll
  • ENVIRONMENTAL: Dll properties including version information is now correctly set also for the dlls used for .NET Core.

v14.1.0

  • SCHEMA: API endpoints generated based on engine version 12.602.2 (Qlik Sense April 2020)

v14.0.0

  • NEW FEATURE: Added methods for returning selected field value pagers from the ExtendedCurrentSelection class.
  • ENVIRONMENTAL: Moved to MIT license.

v13.19.0

  • SCHEMA: API endpoints generated based on engine version 12.531.4 (Qlik Sense February 2020)
  • NEW FEATURE: .NET Core officially supported.
  • DEPRECATED: Deprecated promoted layout properties. Access values through the Properties and Layout properties instead.
  • DEPRECATED: Deprecated client specific child access methods. Use generic AbstractStructure methods instead.

v13.18.0

  • SCHEMA: API endpoints generated based on engine version 12.475.3 (Qlik Sense November 2019)
  • NEW FEATURE: Added method DataPager.GetAllData to lazily return all data associated with a data pager instance.
  • BUGFIX: Method Qlik.Engine.GenericObjectProperties.GetExtensObjectAsync now throws an exception if the object refers to a master object that does not exist.
  • DEPRECATED: Deprecated class ScriptExtensions. Functionality will not be replaced.
  • DEPRECATED: Deprecated class StructureExpressionExtensions and associated sub classes. Use generic AbstractStructure methods instead.
  • DEPRECATED: Deprecated all storytelling related functionality. Use GenericObject and AbstractStructure to interact with this client functionality.
  • DEPRECATED: Deprecated custom child retrievers for Filterpane. Use GenericObject.GetChild.
  • DEPRECATED: Deprecated enumeration type SheetCellSplitDirection used for internal sheet cell split operation. Functionality will not be replaced.
  • DEPRECATED: Deprecated promoted methods associated with property structure content of engine objects. Use generic methods from object engine type instead.

v13.17.0

  • SCHEMA: API endpoints generated based on engine version 12.421.3 (Qlik Sense September 2019)
  • BUGFIX: Fixed issue with session identifier mismatch with Qlik Sense Client when connecting to a app in Desktop version of Qlik Sense where the app name contained parentheses.
  • DEPRECATED: Deprecated unused class Qlik.Engine.GenericObjectList.
  • DEPRECATED: Deprecated class Qlik.Engine.Extensions.TypeSwitch. Use native C# 7 pattern matching.
  • DEPRECATED: Deprecated mechanism for registering custom client object types. Deprecation applies to the Qlik.Engine.QixClassBase methods RegisterQixType, RegisterQixSubType and GetRegisteredType. Use generic engine type and utilize AbstractStructure for object specific data access.

v13.16.0

  • SCHEMA: API endpoints generated based on engine version 12.338.0 (Qlik Sense June 2019)
  • BUGFIX (.NET Core only): Disable socket keepalive to prevent socket from automatically shutting down.
  • DEPRECATED: Deprecated functionality for creating client objects. Deprecation includes the class Qlik.Sense.Client.DataContainer as well as client object specific methods in the Sheet class.

v13.15.0

  • NEW FEATURE: Added method DebugConsole.Flush.
  • NEW FEATURE: Added functionality for globally specifying custom headers to include in JSON-RPC requests. Functionality provided through property Request.CustomRpcHeaders.
  • BUGFIX (.NET Core only): Fixed issue relating to cookie management when using AsExistingSession authentication configuration.

v13.14.0

  • SCHEMA: API endpoints generated based on engine version 12.334.3 (Qlik Sense April 2019)
  • DEPRECATED: Version check mechanism marked as obsolete. Version check can be performed by comparing EngineApiVersion.Version to Engine version received from API call. Default value for version check has been switched to false. All methods accepting a versionCheck argument (for example ILocation.Hub) are also deprecated. Replace usage with corresponding method without versionCheck argument.
  • DEPRECATED: Schema validation mechanism marked as obsolete. Functionality will be removed. No replacement is planned.
  • DEPRECATED: Methods relating to WinForms binding extension methods marked as obsolete. No replacements are planned.

v13.13.0

  • NEW FEATURE (.NET Core only): Implemented support for websocket redirect.
  • NEW FEATURE (.NET Core only): Implemented support for custom headers for websocket connection.

v13.12.0

  • NEW FEATURE: Added experimental support for .NET Core 2.1.
  • NEW FEATURE: The App extension methods for creating snapshots (CreateSnapshot and CreateSnapshotAsync ) now supports generating snapshots for linked visualizations.
  • BUGFIX: Fixed issue relating to the class Qlik.Sense.Client.SelecctionExtensions preserving current selection state between sessions.
  • DEPRECATED: Deprecated the following methods in namespace Qlik.Sense.JsonRpc: ILocation.AsServiceAsync, Location.AsServiceAsync, RpcConnection.WebSocketFactory, WebsocketFactory.GetWebSocketFactory.

v13.9.0

  • SCHEMA: API endpoints generated based on engine version 12.287.1 (Qlik Sense February 2019)

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!