Microsoft.CrmSdk.XrmTooling.CoreAssembly 9.0.2.7

Microsoft Dynamics 365 SDK Xrm Tooling core assembly

This package contains the official Microsoft.Xrm.Tooling.Connector assembly and has been authored by the Microsoft Dynamics CRM SDK team.

Install-Package Microsoft.CrmSdk.XrmTooling.CoreAssembly -Version 9.0.2.7
dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly --version 9.0.2.7
paket add Microsoft.CrmSdk.XrmTooling.CoreAssembly --version 9.0.2.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

This package contains assemblies for Dynamics 365 (online and on-premises). These assemblies require application development using the Microsoft .NET Framework 4.5.2 or later.

       9.0.2.7:
           Fixed a bug that would occur when using oAuth based login where the same user windows session  ( login to windows ) was used to then connect to more than one user of CDS/CRM in the same domain.
               Example of failure:
                   user contoso\Jdoe (shared account) is used to login into a windows desktop.
                   On that desktop cdsuser1@contoso.com is used to login into CDS,  then a second application is lauched and the user cdsuser2@contoso.com is used to login into CDS.
                   This would result in login failure for the second user with a error indicating that ADAL could not determine which token to use to login.
           Fixed a bug in ExecuteCrmWebRequest where some http success codes would be incorrectly seen as a fault.

           Added new property on CrmServiceClient called MaxConnectionTimeout to allow you to set MaxConnectionTimeout of any given action.
               This property works in conjunction with the existing AppSetting MaxConnectionTimeoutMinuets that can be set in the app.config file.
               if both are set, the property on CrmServiceClient is what is used.
               Note:  this is a global property and cannot be changed once the connection is established.
               Note2: this is subject to network controls imposed by the network between your client and the CDS Service endpoint.

           Added new property on CrmServiceClient called SessionTrackingId to allow you to track all SDK operations made in a process as a given session.
               When set, all operations executed by your application via this CrmServiceClient will be tagged with SessionID you provide.
               This property is primary used by Microsoft Support to help troubleshoot issues, and if available, will speed the identification of issues.

           Updated behavior to block use of token cache files when the setting CacheCredentials = false
           Updated behavior of ExecuteCrmWebRequest to auto include oData 4.0 default headers for CDS.
               This call now includes the following headers automatically:
                   Accept=application/json
       OData-MaxVersion=4.0
       OData-Version=4.0
                   If-None-Match=
               These headers can be overridden by passing the same key with the updated value via the customHeaders parameter.
           Updated behavior of error loggers to include SessionID when present and tag root errors with a visual key " |=> " to allow for parsing.
           
           **POSSIBLE BREAKING CHANGE**
               Updated behavior of connections string to *NOT* use discovery by default. This will require the URL passed to be the correct URL to connect to the CDS instance


9.0.2.5:
Fixed a bug with using ExecuteCrmWebRequest where SkipDiscovery was also used that would cause the command to fail with a malformed URI error.
Fix to support SSO login, issue manifested as unable to execute a SSO login on second attempt.
Fix to make local metadata cache instance aware,
Issue manifested in a single client process where more then one connection was made to different CDS instances and the metadata helpers were used.  The Metadata would not be instance specific.

Streamlined .Clone support by removing unneeded WhoAmI validation call.
Added new .Clone override to allow a developer to pass an assembly reference to the .Clone method to use when establishing strong types for that connection.
Added addition error log details when a fault is detected
Added settings to control inline retry of requests when request is failed due to a network related issue.
ApiOperationRetryCountOverride - count of retries before the connection gives up.  default is 3.
ApiOperationRetryDelayOverride - Time the system waits between retries in seconds.  default is 1.

       9.0.2.4:
           Added support for retrying SDK request if the server throws a retriable errors.
           ImportSolutionToCrmAsync –
               Returns an AsyncOperation ID that must be polled for solution Import competition or failure.
               Note, Async jobs are subject to Async queueing and overhead, thus use this with caution.
           DeleteAndPromoteSolutionAsync –
               Returns an AsyncOperation ID that must be polled for competition
               Note: DeleteAndPromote Async support is not generally available to all regions and versions of the platform.  If this not available the async job with fail immediately.
               Note: Async jobs are subject to Async queueing and overhead, thus use this with caution.
           Added support for retrying SDK request if the server throws a retriable errors.
           Modified Package to include Json.net as a proper nuget reference.
           Modified logging to report time lost to threading blocks (threading blocks occur when the service client is being used in a multithreaded application)

       9.0.2.3:
           Added new dependancies:
               Json.net version 6.0.0.0
               Microsoft.Rest.ClientRuntime 3.0.0.0
           Added Support for Caller ID using AAD Object ID of caller -
               Added new property on CrmServiceClient: CallerAADObjectId
               Supported for 8.1 and later.
           Added New Method ExecuteCrmWebRequest
               This method supports using the XRM WebAPI directly from the CRMServiceClient.
               Supports only oAuth and Certificate Auth connection types
               Supported for 8.0 and later.
               Supports Common request types and supports batch execute.
           Added Global Discovery Support for Instance lookup
               Global discovery is now used for all lookup, both regional and global (Online Region = Don't Know) when OAuth is used, except where special region rules are required.
               Note: Germany and North America 2 are not scanned when Online Region = Don't Know is selected.
           Added SkipDiscovery to all connection string variants.
           Added Certificate support for constructor variants.
           Fixed issue with allowing discovery selection using onPrem and OAuth.
           Fixed an issue with older On-Prem ADFS instances that do not require a resource URI.

           **Special notes:
               Added additional telemetry support to connection requests
                   This will add the process name of the calling process (if available) to help with troubleshooting and support requests.
               Added request IDs to all requests to help with troubleshooting and support requests.
                   These will appear only when verbose logging is enabled.
               
           
         9.0.0.7: Fixed to allow External Authentication Type to function in released versions of Xrm.Tooling.Connector.dll
         9.0.0.5: 9.0 Initial Release
         9.0.0.2-Preview:
         Improved cache system for faster reconnects.
         New interfaces to support certificate based auth.
         Added support to skip discovery
         Added Clone connection support of OAuth based connections
         Added New Authentication type to support externally hosted auth.
         **Note: Interface for Xrm.Tooling.Connector is *NOT* Final. there are new API interfaces that will be surfaced before GA.

         8.2.0.5:
         Fix to memory leak in Microsoft.Xrm.Tooling.Connector.TraceLoggerBase.  Trace Listener collection would not be released within a process over a very long time frame over multiple connections. This would manifest as increasing memory consumption over a very long period.
         Fix cleans this up on the .dispose() call on the CrmServiceClient.
         Note: if you have built your own logger based on the Microsoft.Xrm.Tooling.Connector.TraceLoggerBase, you must call .dispose() when you are done with it to clean up the listener collection assigned to it.

         8.2.0.4:
         Added:
         Added Support for United Kingdom CRM GEO

         Added new behavior to DynamicsFileLogTraceListener.  You can now specify a rolling log behavior based on log size.  To enabled this, add the MaxFileSize key set to the size in bytes and the MaxFileCount set to the max number of files to the Microsoft.Xrm.Tooling.Connector.DynamicsFileLogTraceListener in your app.config.

         8.2.0.2: Fix of dependency issue in nuget package. Now properly requires .net 4.5.2 as a baseline
         8.2.0.1: Assembly version changed to 2.2.0.0
         Fixes:
         Connection String support:
         Corrected issues with connection string login to properly support the "never prompt" behavior.
         Corrected issue were the connector would create a new instance of the connection unnecessarily – impacted ONLY connection string process.
         RequireNewInstance=True will now properly create a unique connection instance, RequireNewInstance = false, will now properly reuse the cached instance of the connection,  default is ‘false’

         Streamlined re-use of existing connection code when a new instance is called for by a constructor to remove unnecessary calls.
         Modified Caching support to return the full object from in memory cache vs just the core connection.
         Fixed token cache behavior to work properly when assembly is resident on an Azure WebApp or Function.
         Fixed ADAL nuget dependency issue to allow assembly to consumed directly from nuget into an Azure function.
         Fixed MFA ( multifactor authentication ) to properly handle password expired, and password to MFA scenarios

         Added:
         New Function Utility.GetOrgnameAndOnlineRegionFromServiceUri, Used to parse a Org URL for the correct online region and org name.
         CrmServiceClient now implements IDisposable to allow for the object to be explicitly disposed.

         8.1.0.1: Updated to a newer version of Microsoft.IdentityModel.Clients.ActiveDirectory as required by the Xrm Tooling assemblies
         8.1.0: CRM Online 2016 Update 1
         8.1-preview: Pre-release CRM Online 2016 Update 1
         8.0.2: UR1 (Update Rollup 1)
         8.0.0: RTM

Version History

Version Downloads Last updated
9.0.2.7 7,671 10/24/2018
9.0.2.5 10,543 9/17/2018
9.0.2.4 28,169 7/6/2018
9.0.2.3 21,505 4/25/2018
9.0.0.7 71,094 11/15/2017
9.0.0.5 23,151 10/23/2017
9.0.0.4-Preview 26,477 8/29/2017
8.2.0.5 109,373 4/12/2017
8.2.0.4 14,146 3/22/2017
8.2.0.2 34,827 12/21/2016
8.2.0.1 24,588 12/10/2016
8.1.0.2 59,879 5/26/2016
8.1.0.1 7,300 5/9/2016
8.1.0-preview 375 4/21/2016
8.0.2 6,624 2/20/2016
8.0.0 18,770 12/3/2015
7.1.1.1 24,316 8/26/2015
7.1.0 20,863 4/28/2015
7.1.0-preview 266 3/17/2015
7.0.1 956 3/10/2015
7.0.0.1 2,392 12/2/2014
6.1.1 4,203 9/18/2014
6.1.0.1 461 7/15/2014
6.1.0 1,039 6/17/2014