- [BREAKING] Changed
$sequencetype fromfloattostrforRowandDocumentmodels - [BREAKING] Renamed
IndexTypeenum: split intoDatabasesIndexType(with newSPATIALvalue) andTablesDBIndexType - [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_impersonator()method for enabling/disabling user impersonation - Added impersonation support:
set_impersonate_user_id(),set_impersonate_user_email(),set_impersonate_user_phone()onClient - Added
impersonatorandimpersonatoruseridoptional fields 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
- Breaking change: All service methods now return typed Pydantic models instead of
Dict[str, Any] - Breaking change: Models with dynamic fields (e.g.,
Row,Document) now store user-defined data in a typed.dataproperty instead of direct attribute access - Breaking change: Added
pydantic>=2,<3as a required dependency - Breaking change: Minimum Python version raised from 3.5 to 3.9
- Added
AppwriteModelbase class (PydanticBaseModel) for all response models withfrom_dict()andto_dict()helpers - Added 130+ typed model classes under
appwrite/models/(e.g.,Database,Collection,Document,User,Session,File,Bucket, etc.) - Added Generic[T] support for models with dynamic fields (e.g.,
Row,Document) - passmodel_type=YourModelto methods likeget_row()orlist_rows()for type-safe access to user-defined data viaresult.data.field_name - Updated README with
uv add appwriteinstallation example - Updated all doc examples to use typed response models (e.g.,
result: TemplateFunctionList = functions.list_templates(...))
- Added get_console_pausing health endpoint
- Added ttl parameter to list_documents and list_rows for cached responses
- Added optional activate parameter to Sites.create_deployment
- Updated docs and examples to reflect TTL usage and activation
- Updated query filtering docs in Messaging service
- Extended BuildRuntime and Runtime enums with new runtime versions (e.g., node-23/24/25, php-8.4, ruby-3.4/4.0, python-3.13/3.14, python-ml-3.13, deno-2.5/2.6, dotnet-10, java-25, swift-6.2, kotlin-2.3, bun-1.2/1.3, go-1.24/1.25/1.26).
- Added new permission scopes: schedules.read, schedules.write, and events.read.
- Added contains_any and contains_all filter helpers to the Query API (plus enhanced contains with docstrings).
- Added optional encrypt parameter to all string attribute creation methods (e.g., longtext, mediumtext, text, varchar) in Databases to support encryption at rest.
- Updated README to reflect Appwrite server compatibility version 1.8.x.
- Backward-compatible enhancements: no breaking changes.
- Add
dart-3.10andflutter-3.38toBuildRuntimeandRuntimeenums - Fix
Rolesenum removed from Teams service;rolesparameter now acceptslist[str] - Add support for the new
Backupsservice
- Add array-based enum parameters (e.g.,
permissions: list[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 support for dart39 and flutter335 runtimes
- Fix passing of
Noneto nullable parameters
- 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 - Improve deprecation warnings
- Fix adding
Optional[]to optional parameters - Fix passing of
Noneto nullable parameters
- 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
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
- Update sdk to use Numpy-style docstrings