# Migration v15

Contains 1 breaking change of the SDK interface.

## Changes

- [change to how instrumentation details are provided ](#change-to-instrumentation)

### change to instrumentation

Due to the ability to now provide your own fetch function to make requests within the SDK, the way of providing extra instrumentation details to the SDK has changed. This has been implemented for all services exposed by the SDK.

```diff

const { Subscription } = require('@financial-times/n-membership-sdk')

-	const subscription = new Subscription(configuration, xRequestId);
+	const subscription = new Subscription(configuration, { xRequestId, fetchOverride: myFetchFunction });

```

Both `xRequestId` and `fetchOverride` are optional (but are recommended).

The fetchOverride parameter allows the consumer to inject their own fetch utility for all networks requests the SDK would make. This allows opportunities to augment the fetch library with additional monitoring, tracking, analytics etc.
