- Add
Schemaclass for programmatically pushing and pulling appwrite config - Add client side db generation using
schema.db.generate()command
- Fixes a lot of typescript errors throughout the codebase
- Migrates codebase from JavaScript to TypeScript
Fix type generation for point, lineString and polygon columns
- Change
create-deployment-template'sversionparameter totypeandreference. eg. usage -create-deployment-template --type tag --reference 1.0.0 - Remove
bucket-idparameter fromcreate-csv-exportcommand - Allow enabling or disabling of image
transformationsin a bucket - Fix type generation for
point,lineStringandpolygoncolumns
- Fix duplicate
enumsduring type generation by prefixing them with table name. For example,enum MyEnumwill now be generated asenum MyTableMyEnumto avoid conflicts.
- Add
totalparameter to list queries allowing skipping counting rows in a table for improved performance
- Rename
create-csv-migrationtocreate-csv-importcommand to create a CSV import of a collection/table - Add
create-csv-exportcommand to create a CSV export of a collection/table - Add
create-resend-providerandupdate-resend-providercommands to create and update a Resend Email provider - Fix syncing of tables deleted locally during
push tablescommand - Fix added push command support for cli spatial types
- Fix attribute changing during push
- Replace pkg with @yao-pkg/pkg in dependencies
- Fix
init tablescommand not working - Improve tablesDB resource syncing during
push tablescommand
- Fix
logoutcommand showing duplicate sessions - Fix
logoutcommand showing a blank email even when logged out - Add syncing of
tablesDBresource duringpush tablescommand
- Add transaction support for Databases and TablesDB
- Deprecate
createVerificationmethod inAccountservice - Add
createEmailVerificationmethod inAccountservice
- Fix CLI Dart model generation issues
- Fix row permissions and security sync
- Fix error when pushing columns with relationships
- Fix resource name from attributes to columns for TablesDB indexes
- Breaking: Removed Avatars CLI command and all related subcommands; corresponding examples deleted
- Feat: Geo defaults now accept coordinate arrays for Databases and Tables DB, with automatic normalization
- Feat: Pull command skips deprecated resources by default and shows clearer totals/messages
- Feat: Updated CLI descriptions: Databases marked legacy; added tables-db, projects, and project
- Fix TypeScript type generation now quotes invalid property names to produce valid typings
- Update documentation: Removed Avatars CLI examples and updated help text to reflect new geo defaults and terminology
- Feat: Add support for
appwrite.config.jsonfile- All new projects will be initialized with this configuration file
- Resolves bundler conflicts (e.g., Vite) that incorrectly interpret
.jsonfiles as library imports
- Add
incrementDocumentAttributeanddecrementDocumentAttributesupport toDatabasesservice - Type generation fixes:
- Fix relationships using the relatedCollection's id instead of name
- Update auto generated comment to show relative path instead of absolute path
Note: The existing
appwrite.jsonfile remains fully supported for backward compatibility
- Fix object comparison logic when pushing settings
- Type generation fixes:
- Dart: Fixed import casing to snake_case, removed
extends Documentand hardcoded attributes, removed unnecessary imports - Java: Fixed indentation to 4 spaces, updated imports to
java.util.Objects, fixed enum casing in strict mode as per Oracle official docs - Javascript: Updated optional values formatting from
|nullto| null - Kotlin: Fixed indentation to 4 spaces per Kotlinlang official docs
- PHP: Fixed indentation to 4 spaces per PHP Fig official docs
- Swift: Fixed indentation to 4 spaces, improved
decodeIfPresentusage for optionals, added missingpublictoinitmethod - Typescript: Fixed indentation to 4 spaces per Typescript coding guidelines
- Dart: Fixed import casing to snake_case, removed
- Added
--with-variablesoption to the Sites command for adding/updating environment variables - Fixed Functions environment variables not being pushed with
--with-variables - Removed
awaitPoolswhen wiping old variables
Note: Storing environment variables in the
varsattribute ofappwrite.jsonis now deprecated due to security risks. Variables are now synced directly from the.envfile in the root directory of the function’s or site’s folder.
- Add
encryptattribute support - Add improved warnings on attribute recreation and deletion
- Fix
nullparsing error when using create attribute command - Type generation fixes and improvements:
- Add
--strict/-sflag toappwrite typescommand to generate types in strict mode. This automatically converts the casing of attributes to match the language's naming conventions - Add automatic package import to
dartlanguage which uses package detection to import the correct package - Add
Documentclass extension to generated types indartandjslanguage to support internal attributes like$idand$collectionIdetc. - Add proper enum support to
jslanguage - Fix indentation in
java,kotlinandswiftto use 2 spaces instead of 4 for consistency across all languages - Fix doc comments to use correct syntax in various languages (for eg.
///instead of/*) - Update enums in
dartto use lowerCamelCase instrictmode as per constant_identifier_names
- Add
- Fix circular dependency issue due to usage of
successmethod inutils.jsfile fromparser.jsfile - Type generation fixes:
- Add ability to generate types directly to a specific file by passing a file path to
appwrite types output_path, instead of just a directory - Fix non-required attributes to not be null if default value is provided
- Fix
Modelsimport error - Improve formatting and add auto-generated comments
- Add ability to generate types directly to a specific file by passing a file path to
- Add multi-region support to
initcommand - Update
initcommand to clear previous configuration inappwrite.json - Update localConfig to store multi-region endpoint
- Fix throw error when creating unknown attribute instead of timing out
- Fix equal comparison of large numbers and BigNumber instances using proper equality checks
- Fix duplication of reasons when comparing localConfig with remoteConfig
- Fix
firstOrNull()tofirstOrNullin types generation for dart - Refactor to use
isCloud()method consistently
- Add Type generation fixes:
- Properly handle enum attributes in dart, java and kotlin
- Fix initialisation of null attributes in dart's fromMap method
- Fix relationships and enums in swift
- Add
resourceIdandresourceTypeattributes tocreateRedirectRule - Add
providerReferenceto vcs command for getting repository contents - Add warning comment to
bulk updateDocumentsmethod - Fix type generation for enums in Typescript and PHP language
- Add
typescommand to generate language specific typings for collections. Currently supports -php,swift,dart,js,ts,kotlinandjava - Update bulk operation docs to include experiment feature warnings
- Remove assistant service and commands
- Add
sitescommand - Add
tokenscommand - Add
devKeyssupport toprojectscommand - Add
init site,pull siteandpush sitecommands - Add bulk operation methods like
createDocuments,deleteDocumentsetc. - Add new upsert methods:
upsertDocumentandupsertDocuments - Update GET requests to not include content-type header
- Fix hot swapping error in
python-mlfunction
- Fix GitHub builds by adding
qemu-systempackage - Fix attribute creation timed out
- Add
listOrganizationsmethod toorganizationsservice and fix init project command
- Add specifications support to CLI
- Update package version
- Fix: Missed specifications param when updating a function