Skip to content

feat: .NET SDK update for version 6.0.0#99

Merged
ChiragAgg5k merged 3 commits into
mainfrom
dev
Jul 13, 2026
Merged

feat: .NET SDK update for version 6.0.0#99
ChiragAgg5k merged 3 commits into
mainfrom
dev

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Jul 13, 2026

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version 6.0.0.

What's Changed

  • Breaking: Removed Health service with all its models and enums
  • Breaking: Removed Usage service and UsageEvent/UsageGauge models
  • Breaking: Removed Messaging log methods ListMessageLogs, ListProviderLogs, ListSubscriberLogs, ListTopicLogs
  • Breaking: Removed OS, client, and device fields plus countryCode/countryName from ActivityEvent (country remains)
  • Breaking: Changed spatial attribute/column default parameters from List<object> to typed coordinate lists
  • Breaking: Made Project OAuth2 server properties nullable
  • Added: Organization service methods Get, Update, Delete, and membership CRUD
  • Added: Client.SetBearer for OAuth access token authentication
  • Added: vector query methods Query.VectorDot, Query.VectorCosine, Query.VectorEuclidean
  • Added: Project.UpdateOAuth2Appwrite and Project.UpdateDenyCorporateEmailPolicy methods
  • Added: OIDC prompt and maxAge parameters plus OAuth2 device-flow server options
  • Added: optional specification on TablesDB.Create, newSpecification on Backups.CreateRestoration
  • Added: optional type on ListSpecifications, token on GetDeploymentDownload
  • Added: geolocation and ISP fields on Locale, email classification fields on User
  • Added: DatabaseStatus, BillingPlanGroup, OAuth2OidcPrompt enums and new key scopes
  • Added: billing plan models, Database.Status, BackupPolicy.Type, Block.Mode, Membership.UserAccessedAt

@greptile-apps

greptile-apps Bot commented Jul 13, 2026

Copy link
Copy Markdown

Greptile Summary

This PR upgrades the Appwrite .NET SDK from v5.1.0 to v6.0.0, aligning it with new server-side APIs. The changes are largely auto-generated and follow consistent SDK patterns already established in the codebase.

  • Breaking removals: Health and Usage services (plus their models/enums) are deleted; spatial attribute default parameter types are tightened from List<object> to typed coordinate lists; ActivityEvent loses OS/client/device/country detail fields.
  • New additions: Organization service with CRUD and membership methods; Client.SetBearer for OAuth Bearer authentication (correctly prefixes Bearer ); vector query helpers (VectorDot, VectorCosine, VectorEuclidean); billing plan models and enums; geolocation/ISP fields on Locale.
  • Dependency bump: System.Text.Json updated from 9.0.5 to 9.0.17 alongside the version bump to 6.0.0.

Confidence Score: 5/5

All breaking changes are intentional and documented in CHANGELOG; new code follows established SDK patterns with no logic errors found.

The diff is auto-generated SDK code. Breaking changes (Health/Usage removal, field removals, type narrowing) are all explicitly called out in the CHANGELOG. The new SetBearer method correctly includes the "Bearer " scheme prefix. No missing null guards, incorrect conversions, or mismatched API paths were identified in the changed paths.

No files require special attention; the previously flagged Program model naming issue is tracked in an existing review thread.

Important Files Changed

Filename Overview
Appwrite/Client.cs Added SetBearer method with correct "Bearer " prefix, bumped version strings to 6.0.0, shortened impersonation XML doc summaries.
Appwrite/Appwrite.csproj Version bumped to 6.0.0; System.Text.Json dependency updated from 9.0.5 to 9.0.17.
Appwrite/Query.cs Added VectorDot, VectorCosine, and VectorEuclidean query helpers following existing patterns.
Appwrite/Models/Organization.cs New model for the Organization entity with billing fields; billingLimits is correctly handled as optional.
Appwrite/Models/BillingPlan.cs New model with 68-parameter constructor; references Appwrite.Models.Program which has a known naming collision risk (flagged in prior review).
Appwrite/Models/Program.cs New model named Program; naming conflict with .NET implicit entry-point class was flagged in a prior review thread.
Appwrite/Models/ActivityEvent.cs Removed OS, client, device, countryCode, and countryName fields as a documented breaking change.
Appwrite/Services/Organization.cs Added Get, Update, Delete, and membership CRUD methods for the Organization service.
Appwrite/Services/Health.cs Deleted entirely as a breaking change; documented in CHANGELOG.
Appwrite/Services/Usage.cs Deleted entirely as a breaking change; documented in CHANGELOG.

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

Comment thread Appwrite/Client.cs
namespace Appwrite.Models
{
public class Program
{

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Program conflicts with .NET entry-point class name

Naming a model class Program inside the Appwrite.Models namespace can cause confusing compiler errors for users whose top-level Program class is in the global namespace or in a project that imports Appwrite.Models with a using directive. .NET's implicit Program entry-point class (C# 9+ top-level statements) is also unqualified, so any file that does using Appwrite.Models; and then references Program will see an ambiguity error. Consider renaming to BillingProgram or ProgramDetails to avoid the collision.

Prompt To Fix With AI
This is a comment left during a code review.
Path: Appwrite/Models/Program.cs
Line: 13

Comment:
**`Program` conflicts with .NET entry-point class name**

Naming a model class `Program` inside the `Appwrite.Models` namespace can cause confusing compiler errors for users whose top-level `Program` class is in the global namespace or in a project that imports `Appwrite.Models` with a `using` directive. .NET's implicit `Program` entry-point class (C# 9+ top-level statements) is also unqualified, so any file that does `using Appwrite.Models;` and then references `Program` will see an ambiguity error. Consider renaming to `BillingProgram` or `ProgramDetails` to avoid the collision.

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Codex

@ChiragAgg5k
ChiragAgg5k merged commit 966e0b3 into main Jul 13, 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