Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's New in v2 #146

Closed
AleksandrRogov opened this issue Apr 8, 2023 · 1 comment
Closed

What's New in v2 #146

AleksandrRogov opened this issue Apr 8, 2023 · 1 comment
Assignees
Labels
v2 The issue is a task for v2 development
Milestone

Comments

@AleksandrRogov
Copy link
Owner

AleksandrRogov commented Apr 8, 2023

This issue is to add the description of new features that v2 will have. It will be incorporated either into a README file or Wiki.

DynamicsWebApi v2 has been fully rewritten in TypeScript. The process of rewriting the code made it possible to refactor and improve many modules of the library and organize them in a more logical way as well as to remove redundant features that were no longer needed. As a result, DynamicsWebApi now has many new features such as:

Microsoft Dataverse Search API

v2 brings the power of Search, Suggest and Autocomplete capabilities of Microsoft Dataverse Search API.

AbortController and AbortSignal support (for Node.js 15+ and Browser)

Each request can now be aborted when it's no longer need to be completed via the AbortController.

All requests support Impersonation, NoCache and other common properties

v1 did not have full support of mentioned properties in some requests. v2 fixes that by making all request parameters implement a single BaseRequest interface.

On demand Changesets in Batch Operations

You can now control what requests should be included or excluded from the changesets. By default, all requests (except for GET) are included in a changeset, thus, it does not break the core logic introduced in v1.

CSDL $metadata document

You can now retrieve the org's CSDL $metadata document with a single call of retrieveCsdlMetadata function. The library returns the raw text and does not parse or process it in any way.

NPM Package contents

NPM package now includes a pre-bundled code of DynamicsWebApi to simplify a compilation process of the projects that depend on it. There are 2 different bundles:

  • dist/dynamics-web-api.js - a Browser ready version (to use as a Dynamics 365 web resource) [IIFE] + it's minified version .min.js.
  • dist/cjs/dynamics-web-api.js - a Node.js module [CommonJS].
  • dist/esm/dynamics-web-api.mjs - a Node.js module [ESM].
  • dist/browser/esm/dynamics-web-api.js - a ESM module for a Browser (to use as a Dynamics 365 web resource).

Type definition for the library also moved into the dist folder.

Migration

If you are currently using v1 and planning on migrating to v2 please consult with a list of [breaking changes] #135.

@AleksandrRogov AleksandrRogov converted this from a draft issue Apr 8, 2023
@AleksandrRogov AleksandrRogov self-assigned this Apr 8, 2023
@AleksandrRogov AleksandrRogov added the v2 The issue is a task for v2 development label Apr 8, 2023
@AleksandrRogov AleksandrRogov added this to the v2 milestone Apr 8, 2023
@AleksandrRogov AleksandrRogov changed the title Describe What's New in v2 What's New in v2 Apr 8, 2023
@AleksandrRogov AleksandrRogov moved this from Todo to In Progress in DynamicsWebApi v2 May 12, 2023
@AleksandrRogov
Copy link
Owner Author

Moved the description to a separate .md file here.

@github-project-automation github-project-automation bot moved this from In Progress to Done in DynamicsWebApi v2 Jul 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v2 The issue is a task for v2 development
Projects
No open projects
Status: Done
Development

No branches or pull requests

1 participant