Releases: zh54321/GraphBatchRequest
Releases · zh54321/GraphBatchRequest
Release list
V20260921
- Added:
-AccessTokenProviderparameter, a script block that runs before every request (including pagination and retries) so tokens can be refreshed during long-running jobs / pagination. Cannot be combined with-AccessToken - Added: Every result now has a
completeflag. If it is$false, anincompleteReason(PaginationFailed,RequestFailed,NotAttempted,PaginationDisabled) says why, and anextLinkis included when one is known so you can resume - Added: Failed pagination requests are reported through
paginationFailureStatusandpaginationFailureErrorCodeon the affected result - Added: The batch request itself is now retried on transport errors (connection reset, DNS, timeout) and on retryable HTTP statuses (429, 500, 502, 503, 504). With
-AccessTokenProvider, 401 is retried too - Changed: Exactly one result is returned per requested ID, in the order you submitted them. IDs that never got a response are returned as
NotAttemptedinstead of being left out - Changed: Successful results now report the status Graph actually returned (e.g.
201for creates) instead of always200. Range checks still work, but equality checks against200may not - Changed:
-MaxRetriesnow gives failed sub-requests and failed batch requests separate retry budgets, so connection errors cannot use up the retries needed for later 429s - Changed:
-DisablePaginationresults now come back withcomplete = $falseand thenextLink, so you can page yourself - Changed: Status codes that cannot succeed on retry (e.g.
400,403) fail right away instead of waiting through the backoff - Fixed: Non-collection responses (single-object
GET,POSTcreate, action results) now return their actual body. Previously they came back as an emptyvaluearray - Fixed: A batch request that fails no longer throws away the whole run. Results collected so far are returned, and the requests that were never sent are marked
NotAttempted - Fixed: When more than
-MaxBatchSizenext links were fetched in one call, results from all but the last sub-batch were lost - Fixed: The request objects you pass in are no longer modified, so running the same request list again with
-QueryParametersno longer adds the query string twice - Fixed:
queryParametersset on individual requests is no longer sent to Graph as part of the batch body - Fixed: Integer request IDs now match Graph's string IDs when retrying and building results
- Improved: Collecting page results is faster, using
AddRangeinstead of adding items one at a time
Full Changelog: V20260307...V20260921
V20260505
- Added:
-MaxBatchSizeparameter to reduce Graph batch concurrency with a configurable limit from1to20 - Improved: README and comment-based help so parameter documentation and examples match current module behavior
Full Changelog: V20260307...V20260505
V20260307
- Improved: Status messages for retry handling (e.g., HTTP status 429)
- Added:
-SkipCertificateCheckparameter to skip certificate validation in PowerShell 7
Full Changelog: V20260117...V20260307