Skip to content

Commit beea121

Browse files
authored
Create v3-upgrade-guide.md (#430)
* Create v3-upgrade-guide.md * Update v3-upgrade-guide.md * Added alternatives to ImplicitMsal
1 parent e238b45 commit beea121

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

changelogs/v3-upgrade-guide.md

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Microsoft JavaScript SDK v3 upgrade guide
2+
3+
- [Breaking Changes](#Breaking-Changes)
4+
- [Enhancements](#Enhancements)
5+
- [Deprecation](#Deprecation)
6+
## Breaking Changes
7+
8+
### Supported Node version and TypeScript update
9+
- Microsoft Graph JS SDK requires Node.js 10 LTS or higher.
10+
- Updated to TypeScript 4.x.
11+
12+
### LargeFileUploadTask
13+
- Modified the `FileObject` interface which now contains the `sliceFile` function. Learn more [LargeFileUploadTask](./docs/tasks/LargeFileUploadTask.md).
14+
- The `FileObject` instance passed on creation of the `LargeFileUploadTask` object should contain the implementation of the `sliceFile` function.
15+
- Added new classes `FileUpload` and `StreamUpload` implementing the `FileObject` interface.
16+
17+
### Removed `timeout` option from `FetchOptions` interface
18+
- Recommended way is to [cancel a request](./docs/CancellingAHTTPRequest.md) by passing a signal.
19+
20+
### Update in the `package.json` entry points.
21+
```json
22+
{
23+
"main": "lib/src/index.js",
24+
"module": "lib/es/src/index.js",
25+
"browser": {
26+
"./lib/es/src/index.js": "./lib/es/src/browser/index.js"
27+
}
28+
}
29+
```
30+
## Removed the `graph-es-sdk.js`
31+
* `graph-es-sdk.js` - the bundled file in ES format will not be shipped anymore as the ES modules are being shipped.
32+
* `graph-js-sdk.js` will be shipped as is.
33+
34+
## Enhancements
35+
36+
### Introducing support for `@azure/identity TokenCredentials`
37+
- Added a `TokenCredentialAuthenticationProvider` enabling the use of `@azure/identity` `credential classes` for authentication purposes.
38+
- The `TokenCredentialAuthenticationProvider` enables server-side authentication using `credential classes` such as `ClientSecretCredential` or `ClientCertificateCredential`.
39+
- Find the samples on how to use `TokenCredentialAuthenticationProvider` here - [TokenCredentialAuthenticationProvider samples](./samples/tokenCredentialSamples)
40+
41+
### LargeFileUploadTask
42+
43+
- Added support for Node.js Stream upload. Learn more [LargeFileUploadTask](./docs/tasks/LargeFileUploadTask.md).
44+
- Added capabilities to track the upload progress using `UploadEventHandlers`.
45+
- Resolved a bug to enable large file uploads to Outlook and Print APIs.
46+
47+
### Added `browser` field in package.json.
48+
- The `browser` field indicates the entry point for client applications using Microsoft Graph JS SDK library.
49+
50+
## Deprecation
51+
52+
### Deprecating `ImplicitMSALAuthenticationProvider`
53+
* Use of `ImplicitMSALAuthenticationProvider`, that is,using the implicit authorization flow is not recommended any more. [OAuth 2.0 Implicit Grant](https://oauth.net/2/grant-types/implicit/).
54+
* Alternatives to `ImplicitMSALAuthenticationProvider` -
55+
* TokenCredentialAuthenticationProvider with the `azure/identity` library. Learn more about [InteractiveBrowserCredential](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/interactive-browser-credential.md)
56+
* A CustomAuthenticationProvider with an auth library of your choice. [Choose a Microsoft Graph authentication provider based on scenario](https://docs.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=CS)
57+

0 commit comments

Comments
 (0)