Skip to content

Releases: zh54321/GraphBatchRequest

V20260921

Choose a tag to compare

@zh54321 zh54321 released this 21 Sep 20:02
  • Added: -AccessTokenProvider parameter, 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 complete flag. If it is $false, an incompleteReason (PaginationFailed, RequestFailed, NotAttempted, PaginationDisabled) says why, and a nextLink is included when one is known so you can resume
  • Added: Failed pagination requests are reported through paginationFailureStatus and paginationFailureErrorCode on 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 NotAttempted instead of being left out
  • Changed: Successful results now report the status Graph actually returned (e.g. 201 for creates) instead of always 200. Range checks still work, but equality checks against 200 may not
  • Changed: -MaxRetries now gives failed sub-requests and failed batch requests separate retry budgets, so connection errors cannot use up the retries needed for later 429s
  • Changed: -DisablePagination results now come back with complete = $false and the nextLink, 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, POST create, action results) now return their actual body. Previously they came back as an empty value array
  • 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 -MaxBatchSize next 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 -QueryParameters no longer adds the query string twice
  • Fixed: queryParameters set 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 AddRange instead of adding items one at a time

Full Changelog: V20260307...V20260921

V20260505

Choose a tag to compare

@zh54321 zh54321 released this 05 May 19:18
  • Added: -MaxBatchSize parameter to reduce Graph batch concurrency with a configurable limit from 1 to 20
  • Improved: README and comment-based help so parameter documentation and examples match current module behavior

Full Changelog: V20260307...V20260505

V20260307

Choose a tag to compare

@zh54321 zh54321 released this 07 Mar 09:34
  • Improved: Status messages for retry handling (e.g., HTTP status 429)
  • Added: -SkipCertificateCheck parameter to skip certificate validation in PowerShell 7

Full Changelog: V20260117...V20260307

V20260117

Choose a tag to compare

@zh54321 zh54321 released this 17 Jan 10:28

Changes

  • Added: New switch DisablePagination
    If specified, prevents the function from automatically following @odata.nextLink for paginated results.
  • Fixed: BatchDelay is now a double which allows to specify values like 0.1