PowerPlatform-DataverseServiceClient

Code Replica for Microsoft.PowerPlatform.Dataverse.Client and supporting nuget packages.

MIT License

Stars
279
Committers
6

Bot releases are hidden (Show)

PowerPlatform-DataverseServiceClient - 1.1.32 Nuget release Latest Release

Published by MattB-msft 2 months ago

1.1.32:
Fix for endless retry loop issue in WebAPI calls when specific error states are encountered.
Fix for Logging MSAL telemetry when using ILogger. Previously, Logs for MSAL were not written to the configured ILogger, they would only go to Trace Source and InMemory Logs.
Fix for RequestBuilder to properly honor CrmUserId and AADOid in request builder requests.
Fix for ForceServerMetadataCacheConsistency not being effective until an operation to retrieve current organization version has been executed. If this is set to a value before any organization detail related information is retrieved, it will now cause the organization info to be retrieved from Dataverse. This is done only once.
Updated ServiceClient retry logic to use the server specified RetryAfter for Time and Concurrency throttling fault codes, in addition to Burst.
Updated ConnectionService retry logic to parse RetryAfter header as seconds instead of hours.
Dependency Changes:
Modified:
Microsoft.Identity.Client to 4.61.3
WCF Dependencies now split between 4.x and 6.x depending on version of .net being used.

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.27...1.1.32

PowerPlatform-DataverseServiceClient - 1.1.27 Nuget release

Published by MattB-msft 3 months ago

Fix for Logging MSAL telemetry when using ILogger
Previously, Logs for MSAL were not written to the configured ILogger, they would only go to Trace Source and InMemory Logs.
Fix for RequestBuilder to properly honor CrmUserId and AADOid in request builder requests.
Updated ServiceClient retry logic to use the server specified RetryAfter for Time and Concurrency throttling fault codes, in addition to Burst.
Updated ConnectionService retry logic to parse RetryAfter header as seconds instead of hours.
Dependency Changes:
Modified:
Microsoft.Identity.Client to 4.61.3

Added initial Azure Auth extensions.
Packages and added new WPF Login control for Dataverse ServiceClient.

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.22...1.1.27

PowerPlatform-DataverseServiceClient - 1.1.22 Nuget Release

Published by MattB-msft 6 months ago

Fix for Retry hang introduced in 1.1.21: Fix #442
Dependency Changes:
Added: Fix #446
System.ServiceModel.Http 4.10.3
System.ServiceModel.Primitives 4.10.3

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.21...1.1.22

PowerPlatform-DataverseServiceClient - 1.1.21 Nuget Release notes

Published by MattB-msft 6 months ago

Updated Core SDK to 9.2.24044.9795
Added new ServiceClient method for creating requests called "RequestBuilder" - will allow you to create a request and customized header, user, and other properties as part of there request generation. Addressed #438
Example of Request Builder from Tests is here: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/blob/3af97c1776070c155b416e4488993e49524eaeb2/src/GeneralTools/DataverseClient/UnitTests/CdsClient_Core_Tests/ServiceClientTests.cs#L1722C14-L1722C191

Modified Retry handler to use Task.Delay as called out by #442

Dependency Changes:

  • Removed
    System.Security.Cryptography.Algorithms
    System.Security.Cryptography.ProtectedData
    System.Drawing.Common
  • Modified
    System.Configuration.ConfigurationManager to 6.0.0

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.17...1.1.21

PowerPlatform-DataverseServiceClient - 1.1.17 Nuget release

Published by MattB-msft 9 months ago

1.1.17:
Fix for Request ID not reflecting correctly for some requests.
Fix for RequestAdditionalHeadersAsync interface not being forwarded to Cloned copies of DVSC. GitHub Reported - Fix #419
Fix for Clone being called concurrently causing unnecessary calls to dataverse. GitHub reported - Fix #422
Fix for invalid filenames and paths being created for token cache path when using user interactive mode. Git Hub reported - Fix #406
RENAME (Possible breaking change) MaxBufferPoolSizeOveride parameter name spelling issue, corrected to MaxBufferPoolSizeOverride
Speculative fix object null error reported in #403

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.16...1.1.17

PowerPlatform-DataverseServiceClient - 1.1.16 Nuget release

Published by MattB-msft 12 months ago

What's Changed

Fixes #384
Fixes #406

Includes changes from 1.1.15.

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.15...1.1.16

PowerPlatform-DataverseServiceClient - 1.1.15 Nuget release

Published by MattB-msft 12 months ago

What's Changed

  • Resync to Shipping code base. by @MattB-msft in https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/408
    Updated Core SDK
    Added new properties to Organization detail to report Schema Type and Deployment Type.
    Dependency changes:
    System.Text.Json moved to 7.0.3
    Microsoft.Identity.Client moved to 4.56.0
    Microsoft.Identity.Client.Extensions.Msal moved to 4.56.0
    Removed System.Security.Cryptography.Xml was transitive include to support CVE which is no longer necessary due to depending package updates
    Removed System.Security.Cryptography.Pkcs was transitive include to support CVE which is no longer necessary due to depending package updates

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.14...1.1.15

PowerPlatform-DataverseServiceClient - 1.1.14 Nuget release

Published by MattB-msft about 1 year ago

What's Changed

Updated Core SDK Libs
Fixed issue with DataCenter ID not populating in Organization Detail object returned by the client.
Fixed a hang problem when parsing multi layered exceptions

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.12...1.1.14

PowerPlatform-DataverseServiceClient - 1.1.12 Nuget release

Published by MattB-msft over 1 year ago

What's Changed

  • Push Update from Main Codebase by @MattB-msft in https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/387
    Refactored CurrentAccessToken property to avoid async call.
    Fix for min version of default client, pre-connection so it is recognized by features that require 9.0 or greater. Fixes #381
    Fix for notification of unsupported features when not 'breaking' to alert as 'warnings' in log vs information.
    Dependency changes:
    Microsoft.Rest.Client moved to 2.3.24 due to CVE-2022-26907.

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.1.9...1.1.12

PowerPlatform-DataverseServiceClient - 1.1.9 Nuget release

Published by MattB-msft over 1 year ago

REMOVED .net 3.1 and .net 5 support as they are out of support frameworks.
Added new DiscoverOnlineOrganizationsAsync which supports CancellationToken
Added new RetrieveSolutionImportResultAsync for retrieving solution import result from Dataverse
Added StageSolution API to Deployment Extensions.
Added Support for "StageSolution" as source for import solution. to use it, you must first stage the solution, then call importsolution passing the staged solution id.
Added GetAsyncOperationStatus API to Deployment Extensions. This provides a simple way to get the status of an async operation.
Added async version of ExecuteWebRequest. Git: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/354 Fix #354
Updated telemetry behavior to remove some unnecessary log noise when cloning connections.
Updated auth flow to reduce access token acquire frequency. Git: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/377 Fix #377
Updated min version of DV required for SessionID Support.
Updated Async via sync calls to support more current patterns. Git: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/372 Fix #372
Fix for cleaning up Last Error reported by Git: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/359 Fix #359
Fix for Object Null exception that occurs when using .Clone under request load in a multi threaded use case. Git issue: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/362 Fix #362
Dependency changes:

System.ServiceModel.Security moved to 4.10.2 due min dependency (transient dependency is vulnerable to CVE-2022-34716).
System.ServiceModel.Http moved to 4.10.2 due min dependency (transient dependency is vulnerable to CVE-2022-34716).

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.0.39...1.1.9

PowerPlatform-DataverseServiceClient - 1.0.39 Nuget Release

Published by MattB-msft over 1 year ago

What's Changed

  • Release Resync from Main Branch by @MattB-msft in https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/360
    Added .net 6.0 Target for the Client.
    Added implementation for CreateAndReturnAsync variations. Fixed #347
    Updated Default Login flow to use WebAPI to allow for detecting Admin Mode on server during login.
    A Environment in Admin mode will now throw DataverseConnectionException an error with the text "One or more errors occurred. (User does not have required privileges (or role membership) to access the org when it is in Admin Only mode.)". Partial fix for #135
    Updated Improved error reporting of standard HTTP status codes
    Updated ServiceClient Bootstrap to improve startup time.
    Fix (Speculative) for Memory Leak in Retrieve Multiple Fix #305 / Fix #255
    Fix for issue with cross thread calls and dispose were External authentication is used. Fix #306
    Fix for inappropriate retry operations. Unauthorized errors are no longer retried during WebAPI calls
    Fix to enabled GZip Compression for WebAPI requests.
    Dependency changes:
    System.Text.Json moved to 6.0.7 min dependency (transient dependency is vulnerable to CVE-2022-34716).
    System.ServiceModel.Http moved to 4.10.0 due min dependency (transient dependency is vulnerable to CVE-2021-24112).

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.0.26...1.0.39

PowerPlatform-DataverseServiceClient - 1.0.26 Nuget Release

Published by MattB-msft almost 2 years ago

What's Changed

Fix by GIT user 0xced accepted for bug in Integrated user security setting, Code will now properly honor integrated security when attempting to authenticate. See https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/324 for details.

Fixed a number of places where Async Calls did not have a .ConfigureAwait specification. Thanks to user 0xced for prompting this fix.

Fixed a misleading warning message "Client ID not supplied, using SDK Sample Client ID for this connection" that would be incorrectly shown when ExternalAuthentication type was used. Fixes https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/314, Thanks for your report!

Fixed a possible thread contention issue when managing connection context across multiple concurrent threads in the same client. Git issue: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/304 Thanks for your report !

Fixed a memory leak when caused by a logger not being cleaned up when a the creation of the ServiceClient fails. Git issue: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/322

Fixed issue where calling the IOrganizationService* interfaces after the client has been disposed would throw a NullReferenceException. Taking this action will now throw an ObjectDisposedException

Removed a set of exception catch and rethrows to preserve the full callstack to caller. Thanks to Git user 0xceed for prompting ( and sticking with getting us to ) this fix. See: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/248 for details.

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.0.23...1.0.26

PowerPlatform-DataverseServiceClient - 1.0.23 Nuget Release

Published by MattB-msft almost 2 years ago

PowerPlatform-DataverseServiceClient - 1.0.9 Nuget Release

Published by MattB-msft over 2 years ago

Fixed an issue with Custom User Agent headers incorrectly causing a format error when .net core is used. Proper User-Agent format must be used to send requests including the user agent.
Fixed an issue with an Empty OptionSetValue collection causing an ArgumentOutOfRangeException. Empty OptionSetValue collections will now be mapped to Null. Fixes #292
Fixed an issue where EntityReference based operations do not propagate RowVersion when using WebAPI protocol. Fixes #296

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.0.4...1.0.9

PowerPlatform-DataverseServiceClient - 1.0.4 - Nuget Release

Published by MattB-msft over 2 years ago

Fixed an issue with External Authentication and Connection and configuration constructor where external auth was not being respected correctly.
Fixed a bug on clone where Ilogger was not being propagated to the cloned connection correctly
Removed a call to WhoAmI during login flow as process of talking to Dataverse to verify the connection is delt with during get environment information call.
Updated Newtonsoft dependencies to 13.0.1 per https://github.com/advisories/GHSA-5crp-9r3c-p9vr

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/1.0.1...1.0.4

PowerPlatform-DataverseServiceClient - 1.0.1 - Nuget Release

Published by MattB-msft over 2 years ago

1.0 Release of Dataverse Service Client.

Thanks all for your help in getting us to this point... Your feedback over the development and refinement time has been key!

Main Highlights:
Fixed a "Duplicate Key Error" issue created when manually adding some request parameters to an organization request, while also setting the appropriate property in the client
Fix formatting issue with RequestId and Session Id.
Fix exponential back off issue for WebAPI based calls when retrying based on a throttled connection.
Added implementation for Connection and Configuration constructor.
- Allows for a instance of the service client to be created and configured without initialization the client. The client can then be initialized later using the .Connect() method.
- This constructor accepts 3 parameters
- connectionOptions (ConnectionOptions) = Options necessary to create the connection.
- deferConnection (bool) defaulted to false = When set to true, will configure but not create the connection until .Connect() is called.
- serviceClientConfiguration (ConfigurationOptions) defaulted to null = When populated, pre-configures the connection configuration.
- If deferred connection is set to true, .Connect() must be called before the client is useable.
Added Connect() method for use with the deferred behavior of the Connection and Configuration Constructor.
Activated support for adding additional headers to request when using the Configuration Constructor.
Note: Dataverse will only allow specific headers to be used. Use of this capability requires foreknowledge of this capability and agreement with Power Platform Dataverse team.

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/0.6.6...1.0.1

PowerPlatform-DataverseServiceClient - 0.6.6 Nuget Release

Published by MattB-msft over 2 years ago

What's Changed

0.6.6:
Accepted fixes requested by Git user 0xced - thanks for your contrib's!
Fixed Null ref bug for missing redirect URI (if it gets that far) fix https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/247
Fixed Missing ConfigureAwait's on some Async methods in auth chain. fix https://github.com/microsoft/PowerPlatform-DataverseServiceClient/pull/246
Fixed several issues with Alternate Keys being used for entity references relating to use of Int's OptionSets and DateTime alt Key types. Fixes https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/244, Fixes https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/231
Fixed issue with suppress duplicate detection header not working correctly via WebAPI path. Fixes https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/266
Fixed an issue with DateTime's being incorrectly formatted on non english hosts. Fixes https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/216
Speculative Fix for Date Only types not correctly interpreting TimeZone Offset when in a UTC + Timezone. Fixes https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/143
Added Discovery Filter support for Korea and Norway GEO's

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/0.6.1...0.6.6

PowerPlatform-DataverseServiceClient - 0.6.1 Nuget Release

Published by MattB-msft over 2 years ago

Minor Bump to 0.6.x - Should be last bump prior to 1.0.

  • Added initial support for AD auth for OnPremise. This will work for full framework only.
  • Added new constructor that will accept a ConnectionOptions class and a ConfigurationOptions Options Object. This constructor is currently not fully implemented.
    • This is prep work for a builder process and intended to unify the connection flow to a single constructor at some point in the future.
    • The goal of this work will be to resolve the issues caused by lazy loading hosts.
  • Fixed a bug in Logger when working with Connection Strings where log events would not be correctly generated.
  • Speculative fix for GIT issue #219 and #220
  • Fixed a bug where LastError was not properly reset, fixed Git #229
  • Fixed Error message issue between onPrem and onLine , Fixed Git #232
  • Added configuration support to allow for better memory management of very large return sets, Git #207
    • New AppSetting is called "MaxBufferPoolSizeOveride" - there is currently not a way to set this via code at runtime.
    • Support for configuration of this will be added as part of the new Constructor for .net core, .net framework can use it by setting the appsetting value now.
  • Fixed exceptions not being thrown from several paths during login flows.
PowerPlatform-DataverseServiceClient - 0.5.17 - Nuget Release

Published by MattB-msft almost 3 years ago

Accepted fix requested here: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/issues/205
fixing delete by alternate key request in client.
Fixed dependency issue for System.Security.Premisions (git fixes #203)
Refactored AuthorityResolver to discover AAD authentication authorities to allow for direct access by other clients.

What's Changed

New Contributors

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/0.5.10...0.5.17

PowerPlatform-DataverseServiceClient - 0.5.10 - Nuget release

Published by MattB-msft almost 3 years ago

Added new property "RecommendedDegreesOfParallelism".
This property will report the recommended number of threads for communicating with Dataverse.

Changed internal dependencies to better align with Dataverse Server.
Fixed an issue with updating ManyToOneRelationship based attributes.
Fixed an issue with activity parties relationships.

What's Changed

Full Changelog: https://github.com/microsoft/PowerPlatform-DataverseServiceClient/compare/0.5.7...0.5.10

Package Rankings
Top 8.17% on Proxy.golang.org
Related Projects