Microsoft Dynamics CRM 2016 / Dynamics 365 8.x

Web API (OData v4) in production; the Dynamics 365 renaming

If you are maintaining this today

CRM 2016 is out of support. Mainstream support ended on 12 January 2021 and extended support on 13 January 2026, against a release date of 30 November 2015.

The three releases in this family ended at different times, which matters if you are working out whether a particular system was ever on a supported update:

Release Version Support ended
CRM 2016 8.0 10 July 2018
CRM 2016 Service Pack 1 8.1 8 January 2019
Dynamics 365, December 2016 update 8.2 13 January 2026

This is also the release family where Microsoft started telling developers to move off the older endpoints. An 8.x system that still leans on them was already carrying deprecated code before its support ended.

What changed for customizers

Area CRM 2016 / 8.x What came before Modern equivalent
Integration The Web API (OData 4.0) introduced in 8.0 The organization service (SOAP) and the OData v2 organization data service The Dataverse Web API
Endpoints OData v2 deprecated in 8.0; the 2011 SOAP endpoint deprecated in 8.1 Both current Web API, and the SDK for code running in plug-ins
Packaging Solution patches, rolled up into new solution versions Exporting a table exported all of its assets Solutions, plus pipelines and environment variables
Form script Keypress events and auto-completion added in 8.0 Xrm.Page without them formContext

The Web API

Source: the what’s-new topic in the 2016 SDK.

8.0 introduced the Web API, implementing OData 4.0 at [organization uri]/api/data/v8.0/. The SDK set out the reasoning plainly: it works across platforms and languages without downloading SDK assemblies, everything is an HTTP request, and it was meant to reach parity with the organization (SOAP) service, “with a few differences”.

The guidance was to use the Web API for integrations and modern applications. Code running inside a plug-in kept using the SDK assemblies and the organization service.

What was deprecated, and when

Source: the 2016 SDK, in its what’s-new topic and its topic on important changes coming in future releases.

  • 8.0: the organization data service. The OData v2 REST endpoint that arrived with CRM 2011 was deprecated in favour of the Web API, and the SDK recommended that any new code use the Web API instead.
  • 8.1: the CRM 2011 endpoint. The SOAP endpoint for the organization web service was deprecated as of CRM 2016 Service Pack 1 (8.1.0), along with some knowledge management entities. At the time the SDK said the endpoint “will be removed some time after the release of Dynamics 365 version 9”, and that the SDK assemblies and tools would be retargeted to the Web API over later minor releases.

That second point is a plan stated in 2016. On 9.x on-premises, Microsoft’s current documentation still describes the 2011 SOAP endpoint as deprecated rather than removed; see the 9.x on-premises page. In Dataverse it is likewise still deprecated rather than removed, with no removal date announced; see the Dataverse page.

Solution patches

Source: the 2016 SDK, in its what’s-new topic and “Create patches to simplify solution updates”.

Before 8.0, adding a table to a solution and exporting it exported the table with all of its assets: columns, forms, views, relationships, visualizations and the rest. That could modify things you never meant to ship on the target, or drag dependencies along with it.

8.0 added patches. A patch holds only the sub-components you changed, not the whole table. Patches apply to managed or unmanaged solutions, are created from a parent solution with CloneAsPatchRequest, and are stored as solution records whose ParentSolutionId is set. Later, the original solution and its patches can be rolled up into a new version of the solution, which replaces the original. Where patches sit among updates and upgrades is on Customization XML to solutions to pipelines.

Also in 8.1

Source: the what’s-new topic in the 2016 SDK.

  • Customer lookups on any table. Lookups that accept either an account or a contact could now be created on system and custom tables, through the customization tools or CreateCustomerRelationshipsRequest.
  • Web API enhancements, and client API support in the interactive service hub.
  • Azure integration additions: SAS authorization, sending data to an Azure-hosted listener in multiple formats, and integration with event hub publishers.
  • Package Deployer gained more control over how packages are deployed.

Also in 8.2

Source: the what’s-new topic in the 2016 SDK.

  • Editable grids, and client APIs for working offline in the mobile clients and for using native device capabilities.
  • Server-to-server authentication.
  • Web API with Outlook offline: form scripts using the Web API could work against local data in Dynamics 365 for Outlook while offline, which the SOAP and OData v2 endpoints could already do.

What this page still needs

Written from the 2016 SDK and Microsoft’s lifecycle pages. Not yet covered, and not guessed at: plug-in and workflow changes in detail, security changes, the on-premises infrastructure requirements for each release, and the upgrade traps from 2015. They follow as the SDK is read further.

Sources

  1. Dynamics CRM 2016 (Dynamics 365) lifecycle (Microsoft Lifecycle Policy) Microsoft · · Primary, current docs Microsoft support dates for CRM 2016 (Dynamics 365): start 30 November 2015, mainstream support ended 12 January 2021, extended support ended 13 January 2026. Releases: 8.0 from 30 November 2015 to 10 July 2018; 8.1 (Service Pack 1) from 23 May 2016 to 8 January 2019; 8.2 (December 2016 Service Pack) from 16 December 2016 to 13 January 2026. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2021 end-of-support list confirms mainstream support ended 12 January 2021.
  2. Ending Support in 2021 (Microsoft Lifecycle) Microsoft · · Primary, current docs Microsoft’s list of products ending support in 2021. Gives Dynamics CRM 2011 end of support as July 13, 2021, and Dynamics CRM 2016 (Dynamics 365) end of mainstream support as January 12, 2021.
  3. Microsoft Dynamics CRM 2016 / Dynamics 365 SDK (compiled help, Dynamics365SDK.chm, and SDK tree) Microsoft · Primary, archived Private archive: CRM-SDK-Rescue/2016-D365-SDK_from_DESKTOP-Code/SDK Microsoft SDK for the 8.x era, from an owner-held copy: the compiled help (Dynamics365SDK.chm, read as documents, never executed), sample code, schemas and UII material. Its what’s-new topic covers CRM 2016 (8.0), CRM 2016 Service Pack 1 (8.1) and the December 2016 update for Dynamics 365 (8.2). Quote sparingly and cite; do not republish. Its SampleCode/CS/HelperCode/OptionSets.cs lists the component type values the 2016 SDK knew.

Pages covering CRM 2016 / 8.x

Solutions & ALM

APIs & Integration

On-Prem