All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.13.0-preview.1 - 2026-07-09
ConnectorTriggerPayloadhelper to read trigger callbacks — turns a raw Connector Namespace trigger callback (stringorStream) into a typed payload or decoded file bytes without per-function boilerplate.Read<TPayload>/ReadAsync<TPayload>deserialize metadata triggers (e.g. OneDriveOnNewFilesV2) with case-insensitive property matching, so camelCase wire fields bind correctly instead of silently yielding all-nullitems.TryReadBinaryContent/ReadBinaryContentAsyncdecode binary-content triggers (e.g. OneDriveOnNewFileV2), whose body is a base64 string. TheStreamoverloads read the caller-owned stream without closing it and enforce a generous, overridable body-size limit (DefaultMaxBodySizeBytes, 100 MB);TryReadBinaryContentreturnsfalse(rather than throwing) on malformed JSON. (#190)- Microsoft Dataverse client (
commondataservice) — generated typedCommondataserviceClientexposing the legacy Common Data Model (CDM) REST surface, which is the surface reachable through the Connector Namespace runtime. Covers environment/table discovery (GetDataSetsAsync,GetTablesAsync,GetTableAsync), row operations (GetItemsAsync,GetItemAsync,PostItemAsync,PatchItemAsync,DeleteItemAsync), attachments (CreateAttachmentAsync,GetItemAttachmentsAsync,GetAttachmentContentAsync,DeleteAttachmentAsync), relationships (AssociateRecordsPatchItemAsync,DisassociateRecordsPostItemAsync,DisassociateSingleValueRecordDeleteItemAsync,GetCollectionRelationshipsAsync), choice/metadata discovery, and pagination (GetNextPageAsync). Dataset values are full environment URLs (e.g.,https://contoso.crm.dynamics.com) and are double URL-encoded per the connector'sx-ms-url-encoding: "double"contract. The modern Dataverse Web API routes (/api/data,/getorgs, ...) return HTTP 404 through Connector Namespace and are excluded by the generator's deterministic per-connector route-selection policy, along with the redundant OData-style key-syntax routes.
TriggerCallbackBodyConverter<T>now throws an actionable error for binary-content bodies — when a binary-content trigger callback (a JSON string body, e.g. OneDriveOnNewFileV2) is deserialized into a metadata payload type, the error now explains the cause and points toConnectorTriggerPayload.TryReadBinaryContent/ReadBinaryContentAsyncinstead of failing with a generic token-mismatch message. (#190)
0.12.0-preview.1 - 2026-06-02
- All 1,460
ConnectorNames.*constants renamed to PascalCase — constant names now derive from ARM connector display names viaIdentifierNormalizer.Normalizeinstead of just capitalizing the first character of the raw connector ID. For example:Googledrive→GoogleDrive,Microsoftteams→MicrosoftTeams,Sharepointonline→SharePoint,Office365→Office365Outlook. Brand casing overrides applied where ARM display name differs from official brand:DataBlend,VATCheckApi,MetaTask. Consumers referencing any renamed constant by name must update their references. (#170) - Optional value-type parameters changed to nullable across all generated clients — the generator was updated to use nullable types for optional value-type parameters so that
nullcorrectly represents "unspecified" while0/falseare valid distinct values. Affectsint,bool, anddoubleoptional parameters across many connectors includingTodoClient,TicketmasterClient,ShiftsClient,TeamsClient,SharePointOnlineClient,ServiceBusConnectorClient,WaywedoClient,UniversalPrintClient,TextRequestClient,RevaiClient,SigningHubClient, andSeismicPlannerClient. Callers passing literals still compile (implicit conversion); subclasses that override thesevirtualmethods with the old non-nullable signature must update the parameter type. (#180) Teams.OnGroupMemberChangeResponseItemmodel class and its model factory method removed — Teams connector swagger (v1.0.4) changed the membership trigger response from a named typed definition (OnGroupMemberChangeResponseItemwith aUserIdproperty) to an inline anonymous object array. The generator no longer produces a named class for inline schemas without a definition reference; membership trigger payloads are nowTriggerCallbackPayload<object>. Consumers referencingOnGroupMemberChangeResponseItemdirectly must migrate; theidfield is still present at runtime in the deserialized callback body. (#170)- Dynamic model properties changed from
objecttoJsonElement?— all generated model properties typed asobject(for free-form JSON) are nowJsonElement?. Consumers that assigned arbitrary .NET objects must now pre-serialize toJsonElement. Affects ~493 properties across Kusto, MsGraphGroupsAndUsers, Projectplace, and others. (#157) - Output-only model properties changed from
{ get; internal set; }to{ get; init; }— all generated output-only model properties now useinitsetters. Post-construction assignment (model.Prop = x;) no longer compiles; use object initializers or the generated*ModelFactoryclasses. (#161) IConnectorClientmarker interface removed —ConnectorClientBasenow implementsIDisposabledirectly. Code referencingIConnectorClientmust useConnectorClientBaseinstead. (#183)
- Teams trigger payload types —
TeamsOnNewChannelMessageTriggerPayload,TeamsOnNewChannelMessageMentioningMeTriggerPayload,TeamsOnTeamMemberRemovedTriggerPayload, andTeamsOnTeamMemberAddedTriggerPayloadadded; staticTeamsTriggers.Operationsdictionary maps operation names to payload types for dynamic dispatch (#170) - OpenTelemetry distributed tracing on all generated clients — each generated client has a per-connector
ConnectorActivitySource(e.g.,Azure.Connectors.Sdk.teams,Azure.Connectors.Sdk.office365) and every operation starts anActivity, enabling end-to-end traceability when subscribed throughActivitySourcelisteners or OpenTelemetry exporters. Subscribe toAzure.Connectors.Sdk.*to capture all connector operations. (#183) ConnectorExceptionnow parses the connector error code — the response body's error code is extracted to populateRequestFailedException.ErrorCode, giving callers a structured error code alongsideStatus,Message, andResponseBody(#180)[EditorBrowsable(EditorBrowsableState.Never)]on inheritedObjectmethods — all generated clients now suppressEquals,GetHashCode, andToStringfrom IntelliSense autocomplete, reducing noise when working with client instances (#160)
- Regenerated all 96 connector clients from combined BPM generator improvements: Microsoft copyright header on every generated file (#158),
[EditorBrowsable(EditorBrowsableState.Never)]on inheritedObjectmethods (#160),protectedmock constructors now chain tobase()(#159), and null-guard hardening (#175)
0.11.0-preview.1 - 2026-05-15
TriggerCallbackBody<T>now handles both batch and single-item callback shapes — Connector Namespace delivers trigger callbacks in two shapes depending on the trigger configuration's splitOn setting: batch{"body":{"value":[...]}}and single-item{"body":{...item...}}. The newTriggerCallbackBodyConverter<T>transparently normalizes both shapes intoBody.Valueas a list, preventing silent zero-item processing when splitOn is enabled. All 77+ generatedTriggerCallbackPayload<T>subclasses inherit this fix automatically. (#149)
TriggerCallbackPayload<T>.Bodyis now init-only — the setter changed frompublic settoinit. Post-construction assignment (payload.Body = x;) no longer compiles; use an object initializer orConnectorModelFactory.TriggerCallbackPayload<T>(body)instead.TriggerCallbackBody<T>.Valuesetter is now internal and the type narrowed toIReadOnlyList<T>?— the property changed frompublic List<T>? Value { get; set; }topublic IReadOnlyList<T>? Value { get; internal set; }. External assignments (body.Value = list;) andList<T>-specific mutations no longer compile; useConnectorModelFactory.TriggerCallbackBody<T>(value)to construct instances in tests.- Removed
CamelCaseJSON naming policy fromConnectorClientBase.JsonOptionsandConnectorJsonSerializer— properties without[JsonPropertyName]attributes now serialize using their C# PascalCase names, matching swagger/connector API expectations. Properties with[JsonPropertyName]are unaffected. Also changedJsonStringEnumConverterto use default casing instead of camelCase. (#84, #85) - Renamed
AzuremonitorlogsClienttoAzureMonitorLogsClientandOffice365usersClienttoOffice365UsersClientfor consistent PascalCase naming (#126)- Namespaces updated:
Azure.Connectors.Sdk.Azuremonitorlogs→Azure.Connectors.Sdk.AzureMonitorLogs,Azure.Connectors.Sdk.Office365users→Azure.Connectors.Sdk.Office365Users - DI extension methods renamed:
AddAzuremonitorlogsClient→AddAzureMonitorLogsClient,AddOffice365usersClient→AddOffice365UsersClient - Model factories renamed:
AzuremonitorlogsModelFactory→AzureMonitorLogsModelFactory,Office365usersModelFactory→Office365UsersModelFactory ConnectorNamesconstants renamed:ConnectorNames.Azuremonitorlogs→ConnectorNames.AzureMonitorLogs,ConnectorNames.Office365users→ConnectorNames.Office365Users
- Namespaces updated:
- Made
IPageable<T>internal — this interface is now an internal deserialization contract only; generated clients already returnAsyncPageable<T>from Azure.Core publicly (#127) - Changed
ConnectorClientBase.CreatePageablefromprotectedtoprivate protected— only accessible to derived classes within the assembly; external subclasses ofConnectorClientBasecannot call this method directly (#127) - Made JSON converter types internal —
Iso8601DateTimeConverter,Iso8601TimeSpanConverter,NullableTimeSpanConverterare serialization infrastructure not intended for direct consumer use (#124)
- Constructor overload
(Uri, TokenCredential)withoutClientOptionsparameter onConnectorClientBaseand all 12 generated clients, following the Azure SDK constructor guideline (#123) ConnectorHttpClientnow supports mocking — added protected parameterless constructor and markedSendAsyncas virtual (#125)- 5 new connector clients —
ExcelOnlineClient,AzureEventGridClient,YammerClient,WdatpClient(Microsoft Defender ATP),UniversalPrintClient(#7) - 15 more connector clients (batch 2) —
CampfireClient,ClickSendSmsClient,CloudmersiveConvertClient,EtsyClient,FormstackFormsClient,FreshServiceClient,InfusionsoftClient,InsightlyClient,PipedriveClient,PlivoClient,PlumsailClient,RepliconClient,RevaiClient,SigningHubClient,ZohoSignClient(#7) - 15 more connector clients (batch 3) —
DocuwareClient,ElfsquadDataClient,ImpexiumClient,JedoxOdataHubClient,MeetingRoomMapClient,OrderfulClient,PdfCoClient,ProjectplaceClient,SeismicPlannerClient,StarmindClient,StarrezRestV1Client,TallyfyClient,TextRequestClient,TicketmasterClient,WaywedoClient(#7) - 13 Microsoft 1st-party connector clients (batch 4) —
AzureAutomationClient,AzureDataFactoryClient,AzureDigitalTwinsClient,AzureVMClient,KeyVaultClient,MicrosoftBookingsClient,Office365GroupsClient,Office365GroupsMailClient,OnenoteClient,PlannerClient,PowerBIClient,ShiftsClient,TodoClient(#7) - 11 connector clients (batch 5) —
AzureADClient,AzureIoTCentralClient,MicrosoftFormsClientregenerated with generator bug fixes; plus 8 new clients:AzureQueuesClient,AzureTablesClient,DocumentDbClient,EventHubsClient,ExcelOnlineBusinessClient,OutlookClient,ServiceBusConnectorClient,WordOnlineBusinessClient; also fixes generator bugs #135, #136, #137, #138, #139 (IPageable property name derived from x-ms-summary; array-typed$refdefinitions resolved toList<T>instead of undefined class name) - 25 new connector clients (batch 6) —
BoxClient,DocusignClient,DropboxClient,DynamicsaxClient,EventbriteClient,FtpClient,GithubClient,GooglecalendarClient,GoogledriveClient,GoogletasksClient,JiraClient,MailchimpClient,MondayClient,OnedriveClient(personal OneDrive),RssClient,SalesforceClient,SendgridClient,SlackClient,SqlClient,TrelloClient,TwitterClient,TypeformClient,WebexClient,WordpressClient,ZendeskClient
- Regenerated all 12 connector clients from updated CodefulSdkGenerator with PascalCase name overrides and constructor additions
- Regenerated 15 existing connector clients with latest generator bug fixes —
AzureMonitorLogsClient,AzureTablesClient,DocumentDbClient,ExcelOnlineBusinessClient,ExcelOnlineClient,InfusionsoftClient,Office365Client,Office365GroupsClient,Office365UsersClient,OneDriveForBusinessClient,PipedriveClient,PlumsailClient,SmtpClient,WdatpClient,YammerClient
0.10.0-preview.1 - 2026-05-11
- Removed
CamelCaseJSON naming policy fromConnectorClientBase.JsonOptionsandConnectorJsonSerializer— properties without[JsonPropertyName]attributes now serialize using their C# PascalCase names, matching swagger/connector API expectations. Properties with[JsonPropertyName]are unaffected. Also changedJsonStringEnumConverterto use default casing instead of camelCase. (#84, #85) - Renamed
AzuremonitorlogsClienttoAzureMonitorLogsClientandOffice365usersClienttoOffice365UsersClientfor consistent PascalCase naming (#126)- Namespaces updated:
Azure.Connectors.Sdk.Azuremonitorlogs→Azure.Connectors.Sdk.AzureMonitorLogs,Azure.Connectors.Sdk.Office365users→Azure.Connectors.Sdk.Office365Users - DI extension methods renamed:
AddAzuremonitorlogsClient→AddAzureMonitorLogsClient,AddOffice365usersClient→AddOffice365UsersClient - Model factories renamed:
AzuremonitorlogsModelFactory→AzureMonitorLogsModelFactory,Office365usersModelFactory→Office365UsersModelFactory ConnectorNamesconstants renamed:ConnectorNames.Azuremonitorlogs→ConnectorNames.AzureMonitorLogs,ConnectorNames.Office365users→ConnectorNames.Office365Users
- Namespaces updated:
- Made
IPageable<T>internal — this interface is now an internal deserialization contract only; generated clients already returnAsyncPageable<T>from Azure.Core publicly (#127) - Changed
ConnectorClientBase.CreatePageablefromprotectedtoprivate protected— only accessible to derived classes within the assembly; external subclasses ofConnectorClientBasecannot call this method directly (#127) - Made JSON converter types internal —
Iso8601DateTimeConverter,Iso8601TimeSpanConverter,NullableTimeSpanConverterare serialization infrastructure not intended for direct consumer use (#124)
- Constructor overload
(Uri, TokenCredential)withoutClientOptionsparameter onConnectorClientBaseand all 12 generated clients, following the Azure SDK constructor guideline (#123) ConnectorHttpClientnow supports mocking — added protected parameterless constructor and markedSendAsyncas virtual (#125)- 5 new connector clients —
ExcelOnlineClient,AzureEventGridClient,YammerClient,WdatpClient(Microsoft Defender ATP),UniversalPrintClient(#7) - 15 more connector clients (batch 2) —
CampfireClient,ClickSendSmsClient,CloudmersiveConvertClient,EtsyClient,FormstackFormsClient,FreshServiceClient,InfusionsoftClient,InsightlyClient,PipedriveClient,PlivoClient,PlumsailClient,RepliconClient,RevaiClient,SigningHubClient,ZohoSignClient(#7) - 15 more connector clients (batch 3) —
DocuwareClient,ElfsquadDataClient,ImpexiumClient,JedoxOdataHubClient,MeetingRoomMapClient,OrderfulClient,PdfCoClient,ProjectplaceClient,SeismicPlannerClient,StarmindClient,StarrezRestV1Client,TallyfyClient,TextRequestClient,TicketmasterClient,WaywedoClient(#7) - 13 Microsoft 1st-party connector clients (batch 4) —
AzureAutomationClient,AzureDataFactoryClient,AzureDigitalTwinsClient,AzureVMClient,KeyVaultClient,MicrosoftBookingsClient,Office365GroupsClient,Office365GroupsMailClient,OnenoteClient,PlannerClient,PowerBIClient,ShiftsClient,TodoClient(#7)
- Regenerated all 12 connector clients from updated CodefulSdkGenerator with PascalCase name overrides and constructor additions
0.9.0-preview.1 - 2026-05-08
- Constructor overhaul:
Uriprimary +stringconvenience +ManagedIdentityCredentialdefault (#111)Uriis now the primary constructor parameter type for all generated clients andConnectorClientBasestringconvenience overload delegates toUriconstructor withUri.TryCreatevalidation (throwsArgumentExceptionfor invalid/relative URLs instead ofUriFormatException)- Default credential changed from
DefaultAzureCredentialtoManagedIdentityCredential(SystemAssigned)— deterministic, fails fast on dev machines (CodeQL SM05137) credentialparameter is no longer optional — pass an explicitTokenCredentialor omit forManagedIdentityCredentialdefault- Removed
managedIdentityClientIdconstructor overload — constructManagedIdentityCredentialdirectly and pass it as thecredentialparameter
- Output-only model properties now have
internal set— service-generated properties (ETag, LastModified, *DateTime timestamps) are no longer publicly settable. Use the new per-connector model factory classes to construct instances with these properties in tests (#106) - Made
ExceptionExtensionsinternal —IsFatal()is only used internally inConnectorClientBaseand was never intended as a public API (#108) - Made
HttpExtensionsinternal —ToJsonContent,ReadAsAsync,AddCorrelationId,AddClientRequestIdare internal HTTP utilities, not consumer-facing (#108) - Removed
RetryPolicyclass — dead code; retry configuration moved toClientOptions.Retryin PR #94 (#108) - Removed
ConnectorResponse<T>class andConnectorHttpClient.GetAsync<T>,PostAsync<TRequest, TResponse>,ParseResponseAsync<T>methods — all generated clients useConnectorClientBase.CallConnectorAsync<T>which returnsTask<T>directly; no callers referenced these APIs (#99) - Renamed all namespaces from
Microsoft.Azure.Connectors.*toAzure.Connectors.Sdk.*, dropping theMicrosoft.prefix for consistency with modern Azure SDK conventions and cross-language SDKs (#87)- e.g.,
using Microsoft.Azure.Connectors.Sdk.Office365;→using Azure.Connectors.Sdk.Office365; - NuGet package renamed from
Microsoft.Azure.Connectors.SdktoAzure.Connectors.Sdk - Project/assembly renamed from
Microsoft.Azure.Connectors.SdktoAzure.Connectors.Sdk
- e.g.,
ConnectorClientOptionsnow inherits fromAzure.Core.ClientOptions— retry, transport, and diagnostics are configured via the inheritedRetry,Transport, andDiagnosticsproperties instead of custom properties (#88)- Removed
MaxRetryAttempts,Timeout,UseExponentialBackoff,InitialRetryDelay— useoptions.Retry.MaxRetries,options.Retry.NetworkTimeout,options.Retry.Mode,options.Retry.Delayinstead - Added
ServiceVersionenum for API versioning
- Removed
- Removed
ITokenProviderinterface and all implementations —Azure.Core.TokenCredentialis now the only authentication path. UseDefaultAzureCredential,ManagedIdentityCredential, or any otherTokenCredentialsubclass directly (#95)- Removed
ILoggerparameter andLoggerproperty fromConnectorClientBase— logging and diagnostics are now handled by the Azure.CoreHttpPipeline(configure viaConnectorClientOptions.Diagnostics; subscribe viaAzureEventSourceListener) (#95) - Removed
Microsoft.Extensions.Logging.Abstractionspackage dependency (#95)
- Removed
- Removed
HttpClientparameter from all generated client constructors — inject custom HTTP transport viaoptions.Transport = new HttpClientTransport(httpClient)instead (#88) - Replaced Polly retry with Azure.Core
HttpPipeline— retry, authentication, and diagnostics now use the standard Azure SDK pipeline (#88) - Removed
PollyandMicrosoft.Extensions.Httppackage dependencies (#88)
- Breaking: Generated connector clients now inherit from
ConnectorClientBaseinstead of implementingIDisposabledirectly (#88) - Breaking: Per-connector exception types (e.g.,
Office365ConnectorException,TeamsConnectorException) replaced with unifiedConnectorExceptionbase type withConnectorName,Operation,StatusCode, andResponseBodyproperties (#88) - Breaking: Generated client constructors accept a new optional
ConnectorClientOptionsparameter for configuring retry policy, timeout, and exponential backoff — theHttpClientparameter moved from position 3 to position 4 (#88) - Generated clients now use SDK infrastructure (
ConnectorHttpClient) for authentication, retry with exponential backoff, OpenTelemetry instrumentation, and SSRF-protected URL resolution (#88) - Regenerated all 12 connector clients from CodefulSdkGenerator to ensure consistency with Azure SDK design changes — no manual edits remain in generated files
- Extensible enum types for Swagger enum properties (#115) — string properties with Swagger
enumarrays are now generated asreadonly structtypes following the Azure SDK extensible enum pattern. Each struct provides static members for known values, implicitstringconversion, case-insensitive equality, and a nestedJsonConverterforSystem.Text.Jsonserialization. - DI integration extension methods (
AddOffice365Client,AddTeamsClient, etc.) — register connector clients as singletons from anIConfigurationsection, eliminating ~15 lines of boilerplate per connector in Azure FunctionsProgram.cs. ResolvesTokenCredentialfrom DI or defaults to system-assigned managed identity. (#116) - Per-connector model factory classes (
Office365ModelFactory,TeamsModelFactory, etc.) — static factory methods for constructing model instances with output-only properties, following the Azure SDK mocking guidelines (#106) - Azure Monitor Logs (
azuremonitorlogs) generated typed client for querying Log Analytics workspaces and Application Insights — includes QueryData, QueryDataV2, VisualizeQuery, VisualizeQueryV2 operations with dynamic schema support for query results ConnectorException— unified exception type for all connector API failures (#88)ConnectorClientBasenow providesCallConnectorAsync,ResolveUrl, shared JSON options, and convenience constructors acceptingconnectionRuntimeUrl+TokenCredential(#88)
ITokenProviderinterface — replaced byAzure.Core.TokenCredential(#95)ConnectionStringTokenProvider— no longer needed; was unused outside docs (#95)ManagedIdentityTokenProvider— useManagedIdentityCredentialfromAzure.Identitydirectly (#95)TokenCredentialTokenProvideradapter — no longer needed withoutITokenProvider(#95)TokenProviderCredentialadapter — no longer needed withoutITokenProvider(#95)ConnectorClientBase(ITokenProvider, ...)constructor — useConnectorClientBase(string connectionRuntimeUrl, TokenCredential?, ...)instead (#95)ConnectorHttpClient(ITokenProvider, ...)constructor — use theHttpPipeline-based constructor instead (#95)- Azure Log Analytics (
azureloganalytics) connector removed — the connector and all its user-facing operations are deprecated by Microsoft (see connector docs). Microsoft recommends the Azure Monitor Logs connector as a replacement.
0.8.0-preview.1 - 2026-04-30
- Office 365 Users (
office365users) generated typed client for user profile lookups, manager/reports chain, user search, and trending documents (#75) - Azure Log Analytics (
azureloganalytics) generated typed client for workspace discovery and query schema operations (#74) (removed in next release — connector deprecated by Microsoft) - SMTP (
smtp) generated typed client for sending email via SMTP connectors (#76) - Azure Blob Storage (
azureblob) generated typed client with file and container operations (#80) - IBM MQ (
mq) generated typed client for messaging queue operations (#81) - OpenTelemetry
ActivitySourceinstrumentation inConnectorHttpClientfor distributed tracing of connector API calls (#73)
0.7.0-preview.1 - 2026-04-30
IAsyncEnumerable<T>auto-pagination support for paginated connector operations (#58)IPageable<T>interface for page types withValue+NextLinkpropertiesConnectorPageable<TPage, TItem>implementingIAsyncEnumerable<TItem>with automatic NextLink following andAsPages()for page-level access- Paginated methods:
OnedriveforbusinessClient.ListFolderAsync,TeamsClient.GetMessagesFromChannelAsync,TeamsClient.GetMessagesFromChatAsync
- Paginated methods now return
ConnectorPageable<TPage, TItem>instead ofTask<TPage>(breaking change) CallConnectorAsyncsupports absolute NextLink URLs viaResolveUrlwith SSRF protection (scheme + host + port validation)ManagedIdentityCredentialupdated from deprecated constructor toManagedIdentityIdAPI- SDK
usingdirective conditionally emitted only when needed by generated code
0.6.0-preview.1 - YYYY-MM-DD
- Initial NuGet.org release of the Azure Connectors .NET SDK
0.5.0-preview.1 - 2026-04-15
- MS Graph Groups & Users (
msgraphgroupsanduser) generated typed client with 7 action operations: ListUsers, ListGroupsByDisplayNameSearch, ListSubscribedSkus, ListDirectGroupMembers, GetMemberLicenseDetails, GetGroupProperties, GetMemberGroups - Teams unit tests (constructor, dispose, mocked API call, error handling, serialization round-trips)
0.4.0-preview.1 - 2026-04-09
- OneDrive for Business generated typed client with 22 action operations and 4 trigger operations (#39)
- OneDrive file operations: get/update/delete metadata, get/create file content, copy, move, convert, extract archive (#39)
- OneDrive sharing: create share links by file ID or path (#39)
- OneDrive folder operations: list root folder, list files in folder, find files by search (#39)
- OneDrive trigger payloads and operation constants for file created/modified events (#39)
0.3.0-preview.1 - 2026-04-09
- Simplified all generated operation names by stripping version suffixes (V2, V3, V4) — e.g.,
SendEmailV2Async→SendEmailAsync(#44) - Simplified trigger names to start with
Onprefix and use natural English — e.g.,CalendarGetOnUpdatedItemsV3→OnCalendarUpdatedItems(#44) - Simplified type names with per-connector aliases — e.g.,
ClientSendHtmlMessage→SendEmailInput(#44) - Dropped
OnFlaggedEmailV3trigger (superseded by V4, identical parameters) (#44) - Pruned unreferenced swagger definition types from generated output (#44)
- Removed
samples/SampleConnectorUsage/project (use Connectors-NET-Samples instead) (#44)
- Trigger operation constants for all triggers, including those without response types (e.g.,
OnWebhookMessageReactionTrigger) (#44) - Definition type pruning: generator now only emits types transitively reachable from operations (#44)
- Wire values (operationId strings, JSON property names) remain unchanged — only the C# API surface is simplified (#44)
- README Quick Start and validated-connectors table updated for new names (#44)
- Documentation link updated to point to Connectors-NET-Samples repo (#44)
0.2.0-preview.1 - 2026-04-07
- Azure Data Explorer (Kusto) generated typed client (#37)
- PR template, governance doc, and CI code coverage (#36)
- Standard Microsoft OSS community files (#27)
- Dependabot version updates for NuGet and GitHub Actions (#26)
- Release instructions in README and copilot-instructions (#25)
- Bump Microsoft.Extensions.Http and Microsoft.Extensions.Logging.Abstractions (#33)
- Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.3.0 (#35)
- Bump coverlet.collector from 6.0.4 to 8.0.1 (#32)
- Bump NuGet minor/patch dependencies (#31)
- Bump GitHub Actions: checkout v6.0.2, setup-dotnet v5.2.0, upload-artifact v7.0.0 (#28, #29, #30)
- Update cross-references to public Connectors-NET-Samples and LSP repos (#40)
0.1.0-preview.1 - 2025-12-19
- Initial SDK release with core abstractions (
ConnectorClientBase,IConnectorClient,ConnectorClientOptions) - Token providers:
ManagedIdentityTokenProvider,ConnectionStringTokenProvider - HTTP pipeline with configurable retry policies
- Office 365 connector client (generated)
- SharePoint connector client (generated)
- Teams connector client (generated)