- Added:
createSesProviderandupdateSesProvidertomessaging - Added:
updateOAuth2Servertoprojectfor OAuth2 server settings - Added:
updatePasswordStrengthPolicyandPolicyPasswordStrengthtoproject - Added:
getAuditsDBhealth check tohealth - Added:
password-strengthtoProjectPolicyId - Added:
apps.readandapps.writetoProjectKeyScopes
- Breaking: Removed
githubImagineandgoogleImaginefromProjectOAuthProviderId - Breaking: Removed
deno-1.21,deno-1.24, anddeno-1.35fromRuntimeandBuildRuntime - Breaking: Dropped numeric suffixes from
StatusCoderedirect members - Added:
Organizationservice for managing projects and API keys - Added:
PolicyDenyAliasedEmail,PolicyDenyDisposableEmail, andPolicyDenyFreeEmailpolicy models - Added:
deny-aliased-email,deny-disposable-email, anddeny-free-emailtoProjectPolicyId - Replaced:
BrowserTheme,HealthQueueName,OrganizationKeyScopes, andRegionenums - Added:
dart-3.12andflutter-3.44runtimes - Added:
ProjectListmodel and new attributes onFunction,Site, andUsageGauge - Updated:
functions,sites,usage,health, andavatarsservices - Updated: Renamed
updatePresencetoupdatein thepresencesservice
- Breaking: Renamed
AuthMethodenum toProjectAuthMethodId - Breaking: Renamed
EmailTemplateTypetoProjectEmailTemplateIdandEmailTemplateLocaletoProjectEmailTemplateLocale - Breaking: Renamed
ServiceIdtoProjectServiceId,ProtocolIdtoProjectProtocolId,SecuretoProjectSMTPSecure,ProjectPolicytoProjectPolicyId - Breaking: Replaced
Scopesenum withProjectKeyScopesfor project key endpoints - Breaking: Removed
Project#update_deny_canonical_email_policy; replaced withupdate_deny_aliased_email_policy,update_deny_disposable_email_policy, andupdate_deny_free_email_policy - Breaking: Removed
AuthProvidermodel; use newProjectOAuthProviderIdenum instead - Added:
Project#getmethod to fetch current project details - Added:
Advisor,Presences, andUsageservices - Added:
Insight,Presence,Report,UsageEvent, andUsageGaugemodels with list variants - Added:
ProjectAuthMethod,ProjectProtocol, andProjectServicemodels - Added:
ProjectOAuthProviderIdandProjectOAuth2GooglePromptenums - Updated:
Project,Database, andOAuth2Googlemodel schemas - Updated:
X-Appwrite-Response-Formatheader to1.9.5
- Added: Introduced
bigintcreate/update APIs for legacy Databases attributes - Added: Introduced
bigintcreate/update APIs forTablesDBcolumns - Updated: Extended key-list query filters with
key,resourceType,resourceId, andsecret
- [BREAKING] Renamed Webhook model fields:
security→tls,httpUser→authUsername,httpPass→authPassword,signatureKey→secret - [BREAKING] Renamed Webhook service parameters to match:
security→tls,httpUser→authUsername,httpPass→authPassword - [BREAKING] Renamed
Webhooks#update_signaturetoWebhooks#update_secretwith new optionalsecretparameter - Added
Client#get_headersmethod to retrieve request headers - Added
secretparameter to Webhook create and update methods - Added
xOAuth provider toOAuthProviderenum - Added
userTypefield toLogmodel - Added
purgeparameter toupdate_collectionandupdate_tablefor 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,Runtimeenums withdart-3.11andflutter-3.41 - Updated
Scopesenum withkeys_read,keys_write,platforms_read,platforms_write - Updated
X-Appwrite-Response-Formatheader to1.9.1 - Updated TTL description for list caching in Databases and TablesDB
- [BREAKING] Changed
$sequencetype frominttostringfor rows and documents - [BREAKING] Renamed
IndexTypeenum: split intoDatabasesIndexType(for Databases) andTablesDBIndexType(for TablesDB) - [BREAKING] Replaced
specificationparameter withbuild_specificationandruntime_specificationinFunctions#create,Functions#update,Sites#create,Sites#update - Added new
Projectservice with full CRUD for project-level environment variables - Added new
Webhooksservice with full CRUD for project webhooks (includingupdate_signature) - Added
WebhookandWebhookListmodels - Added
Users#update_impersonatormethod for enabling/disabling user impersonation - Added impersonation support:
set_impersonate_user_id,set_impersonate_user_email,set_impersonate_user_phoneonClient - Added
impersonatorandimpersonator_user_idfields toUsermodel - Added
deployment_retentionparameter to Functions and Sites create/update - Added
start_commandparameter to Sites create/update - Added
Documentsdb,Vectorsdbvalues toBackupServicesandDatabaseTypeenums - Added
WebhooksRead,WebhooksWrite,ProjectRead,ProjectWritescopes - Removed
get_queue_billing_project_aggregation,get_queue_billing_team_aggregation,get_queue_priority_builds,get_queue_region_manager,get_queue_threatsfromHealthservice - Updated
Logmodel field descriptions to clarify impersonation behavior - Updated
X-Appwrite-Response-Formatheader to1.9.0 - Updated README badge to API version
1.9.0and compatibility to server version1.9.x
- Added get_console_pausing health endpoint to monitor console pausing.
- Added ttl parameter for cached responses in list_documents and list_rows.
- Made activate parameter optional in Sites.create_deployment.
- Updated collection_id doc to reference collection instead of table.
- Added update_relationship_attribute API to update relationship attributes.
- Updated team roles length limit docstrings from 32 to 81 chars.
- Updated subscriber list docs to reflect new query filters.
- Added Ruby example for health get_console_pausing.
- Remove obsolete GitHub issue templates (bug.yaml, documentation.yaml, feature.yaml) to simplify repository maintenance.
- Remove CI workflows for auto-closing external PRs (autoclose.yml) and publishing to RubyGems (publish.yml).
- Cleanup of documentation examples: several outdated docs under docs/examples/health, docs/examples/tablesdb, and docs/examples/databases have been deleted.
- Documentation improvements: updated several create_* attribute example blocks to include encrypt: false where applicable (e.g., longtext/mediumtext/text/varchar attribute examples and related columns).
- Note: This release aligns the gemspec/versioning for a patch release (bump to 21.0.1 in a real patch) to reflect these internal maintenance changes.
- Add support for the new
Backupsservice
- Add array-based enum parameters (e.g.,
permissions: Array<BrowserPermission>). - Breaking change:
Outputenum has been removed; useImageFormatinstead. - Add
getQueueAuditssupport toHealthservice. - Add longtext/mediumtext/text/varchar attribute and column helpers to
DatabasesandTablesDBservices.
- Added ability to create columns and indexes synchronously while creating a table
- Rename
VCSDeploymentTypeenum toVCSReferenceType - Change
create_template_deploymentmethod signature: replaceversionparameter withtype(TemplateReferenceType) andreferenceparameters - Add
get_screenshotmethod toAvatarsservice - Add
Theme,TimezoneandOutputenums
- Add
totalparameter to list queries allowing skipping counting rows in a table for improved performance - Add
Operatorclass for atomic modification of rows via update, bulk update, upsert, and bulk upsert operations - Add
create_resend_providerandupdate_resend_providermethods toMessagingservice
- Add transaction support for Databases and TablesDB
- Deprecate
createVerificationmethod inAccountservice - Add
createEmailVerificationmethod inAccountservice
- Add
incrementDocumentAttributeanddecrementDocumentAttributesupport toDatabasesservice - Add
dart38andflutter332support to runtime models - Add
gifsupport toImageFormatenum - Add
encryptsupport toStringAttributemodel - Add
sequencesupport toDocumentmodel - Add
upsertDocumentsupport toDatabasesservice
- Add
<REGION>to doc examples due to the new multi region endpoints - Add doc examples and methods for bulk api transactions:
createDocuments,deleteDocumentsetc. - Add doc examples, class and methods for new
Sitesservice - Add doc examples, class and methods for new
Tokensservice - Add enums for
BuildRuntime,Adapter,Framework,DeploymentDownloadTypeandVCSDeploymentType - Update enum for
runtimeswith Pythonml312, Dart219, Flutter327 and Flutter329 - Add
tokenparam togetFilePreviewandgetFileViewfor File tokens usage - Add
queriesandsearchparams tolistMembershipsmethod - Remove
searchparam fromlistExecutionsmethod
- Fix requests failing by removing
Content-Typeheader fromGETandHEADrequests
- Fix pong response & chunked upload