Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
<a name="v2.4.0"></a>
# [v2.4.0](https://github.com/AleksandrRogov/DynamicsWebApi/releases/tag/v2.4.0) - 28 Oct 2025

## What's Changed
* Allowing `@odata.id` to have an alternate key format. It used to force an absolute URL which should have only been done in POST requests to `/$ref`. Fixes [#195](https://github.com/AleksandrRogov/DynamicsWebApi/issues/195) .
:warning: This change may be a breaking change in case you were making an _undocumented_ request that included `@odata.id` in the body of the request which will result in the value of the `@odata.id` to not have an absolute URL. A quick fix could be done by using a new utility function:
* `dynamicsWebApi.Utility.toAbsoluteUrl` - a new utility function that prepends a url from the `dataApi` config to a provided value.

**Full Changelog**: https://github.com/AleksandrRogov/DynamicsWebApi/compare/v2.3.2...v2.4.0

[Changes][v2.4.0]


<a name="v2.3.2"></a>
# [v2.3.2](https://github.com/AleksandrRogov/DynamicsWebApi/releases/tag/v2.3.2) - 20 Aug 2025

Expand Down Expand Up @@ -1141,6 +1154,7 @@ Added:
[Changes][v1.2.0]


[v2.4.0]: https://github.com/AleksandrRogov/DynamicsWebApi/compare/v2.3.2...v2.4.0
[v2.3.2]: https://github.com/AleksandrRogov/DynamicsWebApi/compare/v2.3.1...v2.3.2
[v2.3.1]: https://github.com/AleksandrRogov/DynamicsWebApi/compare/v2.3.0...v2.3.1
[v2.3.0]: https://github.com/AleksandrRogov/DynamicsWebApi/compare/v2.2.1...v2.3.0
Expand Down
1 change: 1 addition & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2863,6 +2863,7 @@ the config option "formatted" will enable developers to retrieve all information
- [X] Background Operations for custom actions. `Added in v2.3.0`
- [X] Support Search API 2.0 [#174](https://github.com/AleksandrRogov/DynamicsWebApi/issues/174). `Added in v2.3.0`
- [ ] [Session token](https://learn.microsoft.com/en-ca/power-apps/developer/data-platform/use-elastic-tables?tabs=webapi#work-with-the-session-token) support. `Coming in v2.3.x`
- [ ] Support for a custom logger + a console fallback debug logging.
- [ ] Custom requests.

Many more features to come!
Expand Down
29 changes: 20 additions & 9 deletions dist/browser/esm/dynamics-web-api.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions dist/browser/esm/dynamics-web-api.js.map

Large diffs are not rendered by default.

29 changes: 20 additions & 9 deletions dist/cjs/dynamics-web-api.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions dist/cjs/dynamics-web-api.js.map

Large diffs are not rendered by default.

14 changes: 13 additions & 1 deletion dist/dynamics-web-api.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*! dynamics-web-api v2.3.2 (c) 2025 Aleksandr Rogov. License: MIT */
/*! dynamics-web-api v2.4.0 (c) 2025 Aleksandr Rogov. License: MIT */
/**
* Microsoft Dataverse Web API helper library for Node.js and Browser.
* It is compatible with: Dataverse, Dynamics 365 (online), Dynamics 365 (on-premise), Dynamics CRM 2016, Dynamics CRM Online.
Expand Down Expand Up @@ -408,6 +408,12 @@ export declare class DynamicsWebApi {
* @returns {string | null} collection name
*/
getCollectionName: (entityName: string) => string | null;
/**
* Adds an absolute Web API URL to the beginning of a provided value.
* @param value The value to modify.
* @returns The absolute URL.
*/
toAbsoluteUrl: (value: string) => string;
};
}
export interface Expand {
Expand Down Expand Up @@ -1058,6 +1064,12 @@ export interface Config {
* You can also set a callback URL per request.
*/
backgroundOperationCallbackUrl?: string;
/**
* Disables enforcement of absolute URLs for @odata.id properties in the request body.
* In some cases, @odata.id has an alternate key format that does not use absolute URLs, for example:
* In an UpsertMultiple action body.
*/
disableODataIdAbsoluteUrl?: boolean;
}
/**Header collection type */
export type HeaderCollection = Record<string, string>;
Expand Down
Loading
Loading