You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- A1: retry 0x80071151 customization lock with exponential backoff (5s*2^n, max 5)
- A2: create_lookup_attribute verifies attribute after timeout; success with warning if found
- A3: get_relationships follows @odata.nextLink — custom lookups no longer missed on large tables
- A4: get_attribute_option_set now supports MultiSelectPicklist attributes
Tests: 549 passed (8 new tests added for A1-A4)
Copy file name to clipboardExpand all lines: CHANGELOG.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,55 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) — [Semantic V
5
5
6
6
---
7
7
8
+
## [0.4.1] — 2026-03-06
9
+
10
+
### Fixed
11
+
12
+
-**A1 — Customization lock retry**: `requestWithRetry` now detects HTTP 400 responses with Dataverse error code `0x80071151` (import-job lock) and automatically retries up to 5 times with exponential backoff (5 s → 10 s → 20 s → 40 s → 80 s). Prevents all write tools from failing during concurrent deployments.
13
+
-**A2 — Timeout masking success on `dataverse_create_lookup_attribute`**: A network timeout on the relationship creation POST no longer results in a confusing error. The tool now verifies via `getTableMetadata` whether the attribute was actually created; if found, it returns a success response with a warning and skips publish (the operation was committed server-side).
14
+
-**A3 — `dataverse_get_relationships` missing custom lookups on large tables**: The three relationship navigation properties (`OneToManyRelationships`, `ManyToOneRelationships`, `ManyToManyRelationships`) now follow `@odata.nextLink` pagination. Previously only the first page was fetched; on tables with 100+ relationships (e.g. `lead`) custom lookup columns from page 2 were silently dropped.
15
+
-**A4 — `dataverse_get_attribute_option_set` unsupported on MultiSelectPicklist**: The metadata type list now includes `MultiSelectPicklistAttributeMetadata`, allowing option retrieval for multi-select columns (previously returned a "not a valid option-set attribute" error).
16
+
17
+
---
18
+
19
+
## [0.4.0] — 2026-03-05
20
+
21
+
### Added
22
+
23
+
-**Attribute Management** — 4 new tools:
24
+
-`dataverse_create_attribute` — create columns for String, Memo, Integer, Decimal, Money, DateTime, Boolean, Picklist, MultiSelectPicklist, AutoNumber, Image types with full type-specific parameters (maxLength, precision, picklistOptions, autoNumberFormat, etc.)
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "mcp-dataverse",
3
-
"version": "0.4.0",
3
+
"version": "0.4.1",
4
4
"description": "The most complete MCP server for Microsoft Dataverse. 63 production-ready tools for AI agents: OData & FetchXML queries, CRUD, metadata, solutions, audit, batch operations and more. Zero-config Microsoft device code auth. Works with VS Code Copilot, Claude, Cursor, Windsurf and all MCP clients.",
0 commit comments