Skip to content

feat: Command Line SDK update for version 21.0.0#309

Closed
ChiragAgg5k wants to merge 1 commit into
masterfrom
dev
Closed

feat: Command Line SDK update for version 21.0.0#309
ChiragAgg5k wants to merge 1 commit into
masterfrom
dev

Conversation

@ChiragAgg5k
Copy link
Copy Markdown
Member

@ChiragAgg5k ChiragAgg5k commented May 11, 2026

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

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 11, 2026

Greptile Summary

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

Comments Outside Diff (1)

  1. lib/commands/services/vcs.ts, line 97-115 (link)

    P2 Unsupported query options exposed to users

    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.

Reviews (1): Last reviewed commit: "chore: update Command Line SDK to 21.0.0" | Re-trigger Greptile

@ChiragAgg5k
Copy link
Copy Markdown
Member Author

Superseding with a fresh push built against released sdk-generator 1.28.2 (Windows signing changes were merged upstream).

@ChiragAgg5k ChiragAgg5k deleted the dev branch May 11, 2026 03:36
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.

1 participant