Important changes coming in future releases of Microsoft Dynamics 365


Updated: February 21, 2017

Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Use information in this topic as you plan software development for future versions of Microsoft Dynamics 365. For information about changes that administrators and IT professionals should consider in preparing for future versions of Dynamics 365, see TechNet: Important changes coming in future releases of Microsoft Dynamics CRM.

Deprecated means that we intend to remove the feature or capability from any future "major" releases of Dynamics 365. The feature or capability will continue to work and is fully supported until it is officially removed. This deprecation notification can span a few years. After removal, the feature or capability will no longer work. We are notifying you now so you have sufficient time to plan and update your code before the feature or capability is removed.

As of February 2017, the SDK extensions for Microsoft Dynamics 365 is deprecated, and won’t be supported in future releases of Dynamics 365, version 9.0 and beyond. These extensions were added in Dynamics CRM 2013 to provide a simplified connection class, strong type generation for solutions, and web portal capabilities. These have been replaced with newer capabilities. You should instead use the XRM tooling assemblies to build your Windows application for Dynamics 365. More information:  .NET Development: Use XRM Tooling assemblies. For portal capabilities, see Administrator's Guide to portal capabilities for Microsoft Dynamics 365.

If you are looking for an earlier version of SDK extensions documentation, see SDK extensions for Microsoft Dynamics CRM 2015. You can obtain the portal assemblies and tools supported for earlier versions of Dynamics CRM by downloading the SDK extensions NuGet package. These can be used with the December 2016 update for Microsoft Dynamics 365 (online and on-premises).

Beginning with the Dynamics 365 (8.0) release, a new OData 4 endpoint was added to the Dynamics 365 application stack. This endpoint is known as the Web API. The Web API provides a development experience that can be used across a wide variety of programming languages, platforms, and devices. The Web API is intended to replace the CRM 2011 endpoint, also known as the SOAP endpoint, for accessing the Dynamics 365 organization web service and other provided web services.

As of the release of Microsoft Dynamics CRM Online 2016 Update 1 and Microsoft Dynamics CRM 2016 Service Pack 1 (8.1.0), the CRM 2011 endpoint has been deprecated. The 2011 endpoint will be removed some time after the release of Dynamics 365 version 9. We plan to provide updates to the Dynamics 365 SDK assemblies and tools over the next several minor releases, retargeting them to use the Web API instead of the 2011 endpoint.

We strongly encourage developers to use the Web API for accessing Dynamics 365 web services when writing new application code. You must update existing applications to use the Dynamics 365 Web API for accessing Dynamics 365 web services between now and the removal of the 2011 endpoint. When you develop plug-ins and custom workflow activities, continue to link those projects to the Dynamics 365 SDK assemblies. The Dynamics 365 SDK assemblies will be updated to use the Web API. This update will be fully transparent to you and any code written using the SDK itself will be supported.

Additional details will be published in future SDK releases. For more information about the Web API, see Use the Microsoft Dynamics 365 Web API

Some entities used for knowledge management in Dynamics 365 are deprecated: KbArticle, KbArticleComment, and KbArticleTemplate. You must use the newer KnowledgeArticle entity (introduced in CRM Online 2016 Update and Dynamics 365) for knowledge management in Dynamics 365. More information: Knowledge management entities

With Microsoft Dynamics CRM Online 2015 Update 1 we introduced a new form rendering engine (sometimes called "turbo forms") that provides improved performance. This new rendering engine became available for customers with on-premises deployments with Microsoft Dynamics CRM Online 2016 Update and Microsoft Dynamics CRM 2016 (on-premises).

Because such a change can introduce different behaviors in form scripts, we currently provide a Use legacy form rendering option in System Settings so that an organization can opt out if they detect problems. This is intended to be a temporary solution. As documented in TechNet: What's new for administrators and customizers in Microsoft Dynamics CRM 2015 and CRM Online and MSDN: Write code for Microsoft Dynamics CRM forms, we recommend addressing issues as soon as possible.

The Use legacy form rendering option will be removed in the next major release. Legacy form rendering (sometimes called "refresh forms") is deprecated and will no longer be available. Only the rendering option will be removed; the form definition is still supported. Organizations that have not yet resolved issues with their customizations by using the new form rendering engine should take action immediately so they will be able to upgrade to the next major version.

If you have turned on legacy form rendering, please turn it off and test your scripts. During testing, if you see breaking changes in forms that use:

  • The supported client API objects and methods documented in Client-side programming reference, report this to Microsoft Dynamics 365 technical support.

  • Unsupported form objects or methods; remove these customizations or find a different way to achieve the results you want.

Due to changes in the underlying security architecture of Dynamics 365 (online) and its supporting systems, applications that currently use the Microsoft Dynamics CRM 2011 endpoint to authenticate against the Dynamics 365 (online) identity provider must be rebuilt with the most recent releases of the Microsoft Dynamics 365 assemblies to prevent future service outages. For applications built with Microsoft Dynamics 365, link those applications to the version 8.1.0 or later SDK assemblies. Planned updates to the Microsoft Dynamics CRM 2011 SDK, Microsoft Dynamics CRM 2013 SDK, and Microsoft Dynamics CRM 2015 SDK to address this issue will be announced through the CRM Team Blog. Applications that depend on any of the current assemblies will simply need to be re-linked to the updated assemblies to function normally.


This applies only to Microsoft Dynamics 365 (online).

The <CrmParameter> (RibbonDiffXml) element used to compose custom ribbon commands and rules contains a number of properties that provide contextual information for evaluation by the command or rule. Three of these refer to an entity type code value that is problematic for solutions which refer to custom entities. The entity type code value for custom entities is assigned when the entity is created in an organization. The value starts at 10,000 and is incremented by one for each entity created in the organization. This means that the value will probably be different in different organizations. Rather than depend on this unreliable value, use the entity logical name instead.

The following CrmParameter properties are deprecated:

  • PrimaryEntityTypeCode Deprecated. Use PrimaryEntityTypeName instead. A number representing the unique type of entity for a specific Microsoft Dynamics 365 deployment. For custom entities this value will be different for every organization.

  • SelectedEntityTypeCode Deprecated. Use SelectedEntityTypeName instead. A number representing the unique type of entity for a record selected in a grid. The Entity type code will vary between deployments. For custom entities this value will be different for every organization.

  • EntityReference.TypeCode Use EntityReference.TypeName instead.

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. Copyright