Skip to content

feat: .NET SDK update for version 3.0.0#89

Merged
abnegate merged 2 commits intomainfrom
dev
Apr 16, 2026
Merged

feat: .NET SDK update for version 3.0.0#89
abnegate merged 2 commits intomainfrom
dev

Conversation

@ChiragAgg5k
Copy link
Copy Markdown
Member

@ChiragAgg5k ChiragAgg5k commented Apr 15, 2026

This PR contains updates to the .NET SDK for version 3.0.0.

What's Changed

  • [BREAKING] Renamed Webhook model fields: securitytls, httpUserauthUsername, httpPassauthPassword, signatureKeysecret
  • [BREAKING] Renamed Webhook service parameters to match: securitytls, httpUserauthUsername, httpPassauthPassword
  • [BREAKING] Renamed Webhooks.UpdateSignature() to Webhooks.UpdateSecret() with new optional secret parameter
  • Added Client.GetHeaders() method to retrieve request headers
  • Added secret parameter to Webhook create and update methods
  • Added x OAuth provider to OAuthProvider enum
  • Added userType field to Log model
  • Added purge parameter to UpdateCollection and UpdateTable for cache invalidation
  • Added Project service: platform CRUD, key CRUD, protocol/service status management
  • Added new models: Key, KeyList, Project, DevKey, MockNumber, AuthProvider, PlatformAndroid, PlatformApple, PlatformLinux, PlatformList, PlatformWeb, PlatformWindows, BillingLimits, Block
  • Added new enums: PlatformType, ProtocolId, ServiceId
  • Updated BuildRuntime, Runtime enums with dart-3.11 and flutter-3.41
  • Updated Scopes enum with KeysRead, KeysWrite, PlatformsRead, PlatformsWrite
  • Updated X-Appwrite-Response-Format header to 1.9.1
  • Updated TTL description for list caching in Databases and TablesDB

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 15, 2026

Greptile Summary

This PR is a major version bump (2.0.0 → 3.0.0) adding the Project service (key/platform/protocol/service CRUD), new models (Project, Key, DevKey, BillingLimits, Block, platform variants), renames webhook fields (securitytls, signatureKeysecret), and fixes previously-flagged runtime crashes in GetPlatform and GetColumn/GetAttribute by introducing proper type-discrimination switches.

Confidence Score: 5/5

Safe to merge; previously-flagged runtime crashes are resolved and only a P2 usability concern remains.

The two confirmed runtime-crash bugs from prior review rounds (GetPlatform always using PlatformWeb.From(), GetColumn always using ColumnBoolean.From()) are both fixed with proper type-discrimination switches. The only new finding is that Project.Platforms is List rather than a typed or Dictionary list — a usability inconvenience, not a crash. All P0/P1 items are addressed.

Appwrite/Models/Project.cs (Platforms field type); Appwrite/Services/Webhooks.cs (previously flagged missing secret in Update).

Important Files Changed

Filename Overview
Appwrite/Services/Project.cs New Project service with full platform and key CRUD; GetPlatform now correctly discriminates platform types via type-switch (previously crashing bug is fixed).
Appwrite/Models/Project.cs New Project model with all fields; Platforms embedded list is List losing type information for callers receiving a Project response.
Appwrite/Services/Webhooks.cs Renames security fields to tls/authUsername/authPassword/secret and adds UpdateSecret; Update still omits the secret parameter (previously flagged, CHANGELOG claims it was added).
Appwrite/Services/TablesDB.cs GetColumn now has correct type-discrimination switch (previously crashing bug is fixed); purge parameter added to UpdateTable.
Appwrite/Services/Databases.cs GetAttribute now uses correct type-discrimination switch; purge parameter added to UpdateCollection; arrow-to-block-body reformatting throughout.
Appwrite/Services/Messaging.cs Adds contentAvailable, critical, and priority parameters to CreatePush/UpdatePush; rest is arrow-to-block-body reformatting.
Appwrite/Client.cs Version bumped to 3.0.0, X-Appwrite-Response-Format updated to 1.9.1, and GetHeaders() method added to expose a copy of request headers.
Appwrite/Models/Webhook.cs Breaking field renames: security→tls, httpUser→authUsername, httpPass→authPassword, signatureKey→secret; consistent with CHANGELOG.

Reviews (7): Last reviewed commit: "chore: update .NET SDK to 3.0.0" | Re-trigger Greptile

Comment thread Appwrite/Services/Project.cs
Comment thread Appwrite/Models/Project.cs
@ChiragAgg5k ChiragAgg5k changed the title feat: .NET SDK update for version 2.1.0 feat: .NET SDK update for version 3.0.0 Apr 15, 2026
@ChiragAgg5k ChiragAgg5k changed the title feat: .NET SDK update for version 3.0.0 feat: SDK update for version 3.0.0 Apr 15, 2026
@ChiragAgg5k ChiragAgg5k changed the title feat: SDK update for version 3.0.0 feat: .NET SDK update for version 3.0.0 Apr 15, 2026
@ChiragAgg5k ChiragAgg5k changed the title feat: .NET SDK update for version 3.0.0 feat: SDK update for version 3.0.0 Apr 15, 2026
Comment thread Appwrite/Services/Webhooks.cs
@ChiragAgg5k ChiragAgg5k changed the title feat: SDK update for version 3.0.0 feat: .NET SDK update for version 3.0.0 Apr 15, 2026
Comment thread Appwrite/Services/Project.cs
Comment thread Appwrite/Services/TablesDB.cs
@abnegate abnegate merged commit a0318d0 into main Apr 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants