You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR contains updates to the SDK for version 21.0.0.
What's Changed
Breaking: Renamed project update-canonical-emails, update-disposable-emails, and update-free-emails to update-deny-canonical-email-policy, update-deny-disposable-email-policy, and update-deny-free-email-policy
Breaking: Renamed proxy update-rule-verification to proxy update-rule-status
Breaking: Renamed --provider to --provider-id on project get-o-auth-2-provider
Breaking: Made --variable-id required on functions create-variable and sites create-variable
Added: Introduced bigint create/update commands for legacy Databases attributes
Added: Introduced bigint create/update commands for TablesDB columns
Added: Added --on-duplicate flag on tablesdb upsert-row, create-rows, and upsert-rows
Added: Added --limit flag on vcs list-repository-branches
Added: Code-signed Windows release binaries (appwrite-cli-win-x64.exe and appwrite-cli-win-arm64.exe) via SignPath
Updated: Extended key-list query filters with key, resourceType, resourceId, and secret
Updated: Changed default --duration on project create-ephemeral-key from 1 to 600 seconds
This PR updates the Appwrite CLI SDK to version 21.0.0, bumping package.json, lib/constants.ts, install scripts, and the Scoop manifest. It also adds Windows binary code signing to the publish workflow via SignPath.
API surface changes: New create-big-int-attribute/column and update-big-int-attribute/column commands in databases and tables-db; update-rule-verification renamed to update-rule-status in proxy; email-policy commands renamed from update-canonical/disposable/free-emails to update-deny-*-email-policy in project; --variable-id added as a required option to create-variable in both functions and sites; --key demoted from required to optional on update-variable; pagination/filtering added to several list-* commands.
Publish workflow: Unsigned Windows binaries are uploaded as GitHub artifacts, submitted to SignPath for Authenticode signing (action pinned to commit hash), and verified with osslsigncode before continuing to the release steps.
Migrations: --on-duplicate option added to all three import commands (create-appwrite-migration, create-csv-import, create-json-import).
Confidence Score: 4/5
Safe to merge; changes are a consistent, generated SDK update with one minor usability rough edge in vcs.ts.
The list-repository-branches command exposes --where, --sort-asc, and --sort-desc query options that the endpoint does not support, while the parallel listOAuth2Providers command correctly limits exposed options to only what the backend accepts. Users who reach for those flags will receive confusing backend errors. Every other change in the PR follows established patterns cleanly.
lib/commands/services/vcs.ts — the unsupported query options on list-repository-branches
Important Files Changed
Filename
Overview
lib/commands/services/vcs.ts
Adds pagination and search to list-repository-branches; exposes --where, --sort-asc, --sort-desc options even though the endpoint only supports limit/offset/cursor pagination
lib/commands/services/databases.ts
Adds create-big-int-attribute and update-big-int-attribute commands, consistent with existing attribute-type patterns in the file
lib/commands/services/functions.ts
Adds --variable-id required option to create-variable, makes --key optional on update-variable, and exposes pagination/filtering on list-variables
lib/commands/services/project.ts
Replaces removed update-canonical/disposable/free-emails commands with new update-deny-*-policy variants; renames --provider to --provider-id on get-o-auth-2-provider; adds pagination to list-o-auth-2-providers
lib/commands/services/proxy.ts
Renames update-rule-verification to update-rule-status, removes --search from list-rules, and adds MD5-hash notes to rule-creation descriptions
lib/commands/services/sites.ts
Mirrors functions.ts changes: adds --variable-id to create-variable, makes --key optional on update-variable, exposes pagination on list-variables
lib/commands/services/tables-db.ts
Adds create-big-int-column and update-big-int-column commands, following the same pattern as the new databases.ts bigint commands
lib/commands/services/migrations.ts
Adds --on-duplicate option to create-appwrite-migration, create-csv-import, and create-json-import commands
.github/workflows/publish.yml
Integrates SignPath Windows binary signing into the release workflow; SignPath action is pinned to a commit hash; adds osslsigncode signature verification after signing
lib/constants.ts
Version bump from 20.1.0 to 21.0.0
install.sh
Updates download URL to point to 21.0.0 release
install.ps1
Updates download URLs to point to 21.0.0 release for both x64 and arm64
The --queries description for this endpoint explicitly states "Only supported methods are limit, offset, cursorAfter, and cursorBefore", yet --where, --sort-asc, and --sort-desc are still registered as options and piped into buildQueries. If a user passes --where name=main or --sort-asc name, those queries are serialized and forwarded to the backend, which will either reject them with a confusing error or silently discard them. Compare listOAuth2Providers, which correctly limits exposed options to only --limit and --offset — the two methods its endpoint supports.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains updates to the SDK for version 21.0.0.
What's Changed
project update-canonical-emails,update-disposable-emails, andupdate-free-emailstoupdate-deny-canonical-email-policy,update-deny-disposable-email-policy, andupdate-deny-free-email-policyproxy update-rule-verificationtoproxy update-rule-status--providerto--provider-idonproject get-o-auth-2-provider--variable-idrequired onfunctions create-variableandsites create-variablebigintcreate/update commands for legacy Databases attributesbigintcreate/update commands forTablesDBcolumns--on-duplicateflag ontablesdb upsert-row,create-rows, andupsert-rows--limitflag onvcs list-repository-branchesappwrite-cli-win-x64.exeandappwrite-cli-win-arm64.exe) via SignPathkey,resourceType,resourceId, andsecret--durationonproject create-ephemeral-keyfrom1to600seconds