# Appwrite changelog > An open-source backend platform for web and mobile. - Vendor: Appwrite - Category: Developer Tools - Official site: https://appwrite.io - Tracked by: What's New (https://whatsnew.fyi/product/appwrite) - Harvested from: GitHub (appwrite/appwrite) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### 1.9.6 - Date: 2026-07-22 - Version: 1.9.6 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.6 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.6 - **fixed** — Automatically repair missing providerBranches and providerPaths attributes on Functions and Sites when upgrading from 1.9.5 - **fixed** — Make migration attribute batches idempotent when some attributes already exist - **fixed** — Replace the side-effecting Appwrite container healthcheck with the public version endpoint - **fixed** — Respect _APP_SITES_RUNTIMES when listing frameworks and creating or updating Sites - **fixed** — Wait for a writable MongoDB replica-set primary before marking the service healthy - **fixed** — Correct database and queue connectivity reporting in the doctor task - **fixed** — Allow additional time for the self-hosted installer to pull images and start Compose services - **changed** — Update the self-hosted Console image to 8.7.30 for recent self-hosted VCS, error rendering, build specification, and security fixes - **changed** — Update Open Runtimes Executor to 0.25.4 for recent build and S3 custom endpoint fixes - **changed** — Update the Browser service to 0.3.3 so screenshot headers work with custom internal Appwrite origins ##### What's Changed ###### Notable changes * Automatically repair missing `providerBranches` and `providerPaths` attributes on Functions and Sites when upgrading from 1.9.5. Operators no longer need to apply the metadata and table changes manually. ###### Fixes * Make migration attribute batches idempotent when some attributes already exist in [#12790](https://github.com/appwrite/appwrite/pull/12790) * Replace the side-effecting Appwrite container healthcheck with the public version endpoint in [#12765](https://github.com/appwrite/appwrite/pull/12765) * Respect `_APP_SITES_RUNTIMES` when listing frameworks and creating or updating Sites in [#12840](https://github.com/appwrite/appwrite/pull/12840) * Wait for a writable MongoDB replica-set primary before marking the service healthy in [#12913](https://github.com/appwrite/appwrite/pull/12913) * Correct database and queue connectivity reporting in the `doctor` task in [#12928](https://github.com/appwrite/appwrite/pull/12928) * Allow additional time for the self-hosted installer to pull images and start Compose services in [#12747](https://github.com/appwrite/appwrite/pull/12747) ###### Miscellaneous * Update the self-hosted Console image to [8.7.30](https://github.com/appwrite/console/releases/tag/8.7.30) for recent self-hosted VCS, error rendering, build specification, and security fixes * Update Open Runtimes Executor to [0.25.4](https://github.com/open-runtimes/executor/releases/tag/0.25.4) for recent build and S3 custom endpoint fixes * Update the Browser service to [0.3.3](https://github.com/appwrite/docker-browser/releases/tag/0.3.3) so screenshot headers work with custom internal Appwrite origins * Update release metadata and installation examples for 1.9.6 ### 1.9.5 - Date: 2026-07-01 - Version: 1.9.5 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.5 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.5 - **added** — Added public endpoints for project variables, keys, policies, SMTP, auth methods, mock phones, services, protocols, platforms, OAuth2 providers, and organization projects - **added** — Added public proxy management endpoints - **added** — Added JSON import/export references for DocumentsDB and VectorsDB and larger database ID support - **added** — Added BigInt attributes and columns for Databases and TablesDB - **added** — Added backup, API key, project variable, webhook, policies, SMTP, custom domains, email templates, and OAuth provider migrations - **added** — Added migration API support and source host validation - **added** — Added disposable email blocking and corporate email policies - **added** — Added project password policy settings - **added** — Added X OAuth 2.0 provider - **added** — Added impersonation support through query params and SDK auth metadata - **added** — Added email metadata fields and membership userAccessedAt to user and membership responses - **added** — Added Presences API and console presence support - **added** — Added action channels, logs, richer message payloads, query subscription fixes, and atomic payload handling to Realtime - **added** — Added SES as a messaging provider - **added** — Added 45-minute build timeout support - **added** — Added skip-deployment commit patterns and custom trigger fields - **added** — Added Bun and Deno site runtimes and a Rust starter function template - **added** — Added node modules cache key support for builds - **added** — Added actual file size tracking - **changed** — Improved MFA authenticator ordering and coverage ##### What's Changed Public APIs - Project APIs — Added public endpoints for project variables, keys, policies, SMTP, auth methods, mock phones, services, protocols, platforms, OAuth2 providers, and organization projects (#11615, #11650, #11900, #11964, #11970, #11976, #11981, #11993, #12309, #12317, #12375) - Proxy API — Added public proxy management endpoints (#12208) Databases and migrations - JSON import/export — Added JSON import/export references for DocumentsDB and VectorsDB and larger database ID support (#11646) - BigInt support — Added BigInt attributes and columns for Databases and TablesDB (#11673) - Migration coverage — Added backup, API key, project variable, webhook, policies, SMTP, custom domains, email templates, and OAuth provider migrations (#11632, #12308, #12313, #12314, #12363, #12364, #12368, #12415, #12417) - Migration reliability — Added migration API support, source host validation, and improved failure handling (#11946, #12352, #12382, #12280) - Migration fixes — Fixed schema migration gaps and provider trigger attributes (#11730, #12701) - Database stability — Fixed collection metadata writes against unready data-plane databases, transaction deletes, listRows total casting, and VectorsDB metadata bootstrap flakiness (#12593, #12302, #11967, #11772, #11757) Auth and users - Email policies — Added disposable email blocking and corporate email policies (#10643, #12503) - Password policies — Added project password policy settings (#11825) - OAuth providers — Added X OAuth 2.0 provider (#11611) - OAuth fixes — Fixed OIDC params, Google prompt handling, Yahoo scopes, provider ordering, sparse provider updates, and project cache purging after config updates (#12224, #12263, #11745, #12398, #12646, #12654) - Impersonation — Added impersonation support through query params and SDK auth metadata (#12167, #12492, #12532) - User and membership responses — Added email metadata fields and membership `userAccessedAt` (#12504, #12461) - MFA — Improved MFA authenticator ordering and coverage (#12485) - Teams and sessions — Fixed membership privacy, active membership account deletion, ownership transfer edge cases, email/password session cache races, and refresh session handling (#11979, #11787, #11816, #12228) Messaging, realtime, and presence - Presences API — Added Presences API and console presence support (#11886, #12343, #12393, #12397, #12408, #12412) - Realtime — Added action channels, logs, richer message payloads, query subscription fixes, and atomic payload handling (#12070, #11992, #11767, #11762) - Realtime fixes — Fixed websocket stability, HTTP dependency, and reset behavior (#12540, #11831, #11885) - Amazon SES — Added SES as a messaging provider (#12464) - Messaging scale — Improved fan-out with bounded concurrency and retry handling for throttled recipients (#12465) - SMTP delivery — Improved SMTP email delivery reliability (#11748) Functions, Sites, and Storage - Build timeouts — Added 45-minute build timeout support (#11881, #11934) - Deployment triggers — Added skip-deployment commit patterns and custom trigger fields (#12278, #11955, #12373) - Runtimes and templates — Added Bun and Deno site runtimes and a Rust starter function template (#12337, #12198) - Build caching — Added node modules cache key support for builds (#12555) - File size — Added actual file size tracking (#12344) - Chunked uploads — Improved out-of-order and parallel chunk uploads, S3 multipart ETag handling, chunk permission checks, and deployment chunk upload stability (#12138, #12209, #12585, #12466, #12456, #12574) - Build and rule fixes — Fixed canceled deployment status overwrites, build log parsing, orphaned deployment rules, rule creation races, and rules without deployments (#12569, #12498, #12571, #12307, #11974) - Scheduler and cache fixes — Fixed scheduled function documents, scheduler handling, and storage cache fallback (#11790, #11892 _[Truncated at 4000 characters — full notes: https://github.com/appwrite/appwrite/releases/tag/1.9.5]_ ### 1.9.5-rc.2 - Date: 2026-06-29 - Version: 1.9.5-rc.2 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.5-rc.2 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.5-rc.2 - Labels: Pre-release - **added** — Expose NFT config - **removed** — Remove sunset SDK entries - **changed** — Complete V24 schema migrations - **changed** — Generate installer compose from base compose - **fixed** — Fix Composer source fallback in CI builds ##### What's Changed * Expose NFT config and remove sunset SDK entries by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12691 * Complete V24 schema migrations by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12701 * Generate installer compose from base compose by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12703 * Fix Composer source fallback in CI builds by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12714 **Full Changelog**: https://github.com/appwrite/appwrite/compare/1.9.5-rc.1...1.9.5-rc.2 ### 1.9.5-rc.1 - Date: 2026-06-24 - Version: 1.9.5-rc.1 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.5-rc.1 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.5-rc.1 - Labels: Pre-release - **changed** — Change Usage class from final to non-final - **added** — Add support for blocking disposable email addresses - **fixed** — Update Yahoo OAuth scopes from deprecated scopes - **fixed** — Add CORS headers to error responses - **changed** — Migrate from static Http::setResource() to DI Container - **fixed** — Persist session before purging user cache in email/password login - **fixed** — Ensure realtime event payload is populated for atomic operations - **added** — Add public platform API - **added** — Add public keys API - **added** — Add X OAuth 2.0 provider - **fixed** — Use cURL cookie engine for RFC 6265 compliant cookie handling in e2e client - **added** — Add cache purge parameter and improved ttl semantics to databases - **added** — Distinguish user types in audit logs - **fixed** — Add backwards-compat origin validation for deprecated platform types - **fixed** — Map deprecated platform types in project response - **fixed** — Fix deletion of partially-uploaded pending files - **fixed** — Add missing worker-executions service to compose template - **added** — Extract session alert email into Mails listener - **fixed** — Fix storage preview cache misses and stale cache eviction - **added** — Add tracing spans for storage file preview timing and cache state ##### What's Changed * Change Usage class from final to non-final by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11735 * Update installation commands in readme for 1.9.0 to include self-hosted wizard by @adityaoberai in https://github.com/appwrite/appwrite/pull/11739 * Speed up PHPStan analysis with result caching by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11740 * [codex] Fix PHPStan baseline cleanup issues (part 2) by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11737 * Fix PHPStan baseline and code quality issues by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11754 * Fix flaky vectordb migration test by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11757 * chore: remove phpstan baseline by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11751 * Replace PHPMailer with utopia-php/messaging SMTP adapter by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11748 * feat: add support for blocking disposable email addresses by @eldadfux in https://github.com/appwrite/appwrite/pull/10643 * fix(oauth): update Yahoo OAuth scopes from deprecated scopes by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/11745 * [codex] Fail specs when referenced docs are missing by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11789 * [codex] Fix flaky VectorsDB metadata bootstrap in migrations by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11772 * Improve schedule function logic by @shimonewman in https://github.com/appwrite/appwrite/pull/11790 * fix: add CORS headers to error responses by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11797 * Remove request and response static state by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11798 * Use request-scoped cookie domain resource by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11799 * revert ScheduleFunctions.php updates by @shimonewman in https://github.com/appwrite/appwrite/pull/11805 * feat: migrate from static Http::setResource() to DI Container by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11564 * [codex] Handle null console routes in API middleware by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11809 * [codex] Fix post-merge e2e test regressions by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11810 * Chore: Migrat elabels API by @Meldiron in https://github.com/appwrite/appwrite/pull/11812 * [codex] Bump utopia-php/framework to 0.34.18 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11814 * fix: reset SDK dev branch to base branch before pushing by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11808 * fix appwrite auth broken link in readme by @blueberry-adii in https://github.com/appwrite/appwrite/pull/11794 * fix: persist session before purging user cache in email/password login by @loks0n in https://github.com/appwrite/appwrite/pull/11816 * fix: throw RuntimeException for unresolved response models in spec generation by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11817 * bump utopia-php/database to 5.3.19 and fix shared-mode CI failures by @premtsd-code in https://github.com/appwrite/appwrite/pull/11750 * Feat: public platform API by @Meldiron in https://github.com/appwrite/appwrite/pull/11615 * fix: ensure realtime event payload is populated for atomic operations by @bhardwajparth51 in https://github.com/appwrite/appwrite/pull/11762 * Feat: Public keys API by @Meldiron in https://github.com/appwrite/appwrite/pull/11650 * Chore: Mark project response format sub-formats as public by @Meldiron in https://github.com/appwrite/appwrite/pull/11821 * feat: Add X OAuth 2.0 provider by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/11611 * fix: use cURL cookie engine for RFC 6265 compliant cookie handling in e2e client by @loks0n in https://github.com/appwrite/appwrite/pull/11826 * feat(databases): cache purge parameter and improved ttl semanti _[Truncated at 4000 characters — full notes: https://github.com/appwrite/appwrite/releases/tag/1.9.5-rc.1]_ ### cl-1.9.0-5 - Date: 2026-06-03 - Version: cl-1.9.0-5 - Original notes: https://github.com/appwrite/appwrite/releases/tag/cl-1.9.0-5 - Permalink: https://whatsnew.fyi/product/appwrite/releases/cl-1.9.0-5 - Labels: Pre-release ### 1.9.0 - Date: 2026-04-01 - Version: 1.9.0 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.0 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.0 - **added** — MongoDB support - **added** — New varchar, text, mediumtext, and longtext attribute types for string data - **added** — Integer attributes support int64 format for large numbers - **added** — Expose column bytes used and bytes free per collection/table - **added** — Document list queries can be cached with configurable TTL - **added** — Webhooks API for creating, listing, and managing webhook configurations - **added** — Schedules API endpoints to view and manage scheduled tasks within projects - **added** — User impersonation capability for admins to debug and support - **added** — Project environment variables can be marked public and accessed via API - **added** — Subscribe to realtime channels with query filters for targeted updates - **added** — Track connections, messages, and bandwidth in project usage stats - **added** — Explicit top level TablesDB events for realtime - **added** — Configure JWT expiration time when creating tokens - **added** — Resource-based API keys with granular resource permissions, custom IDs, and list queries - **added** — Tag and organize projects with custom labels - **added** — Track project lifecycle state with project status attribute - **added** — Support multiple domains per project for CORS and OAuth - **added** — Mark projects as trusted for elevated access - **added** — Accept tauri://localhost as an allowed origin - **added** — Improved client IP resolution via _APP_TRUSTED_HEADERS env var - **added** — Sites and functions support custom start commands ##### What's Changed Database support - MongoDB support (#11312) Database features - String types — New varchar, text, mediumtext, and longtext attribute types (#11174) - Int64 format — Integer attributes support int64 format for large numbers (#11123) - Collection/row storage size — Expose column bytes used and bytes free per collection/table (#11254, #11069) - Cached document lists — Document list queries can be cached with configurable TTL (#10832) New admin APIs - Webhooks API — First-class webhooks management endpoints for creating, listing, and managing webhook configurations (#11033, #11566) - Schedules API — New endpoints to view and manage scheduled tasks within projects (#11331) - User impersonation — Admins can now impersonate users for debugging and support (#11533) - Public project variables — Project environment variables can now be marked public and accessed via API (#11577) Realtime - Query subscriptions — Subscribe to realtime channels with query filters for targeted updates (#11202, #11237) - Realtime metrics — Track connections, messages, and bandwidth in project usage stats (#11438, #11488) - TablesDB channels — Explicit top level TablesDB events for realtime (#11404, #11430) Auth & security - Custom JWT duration — Configure JWT expiration time when creating tokens (#11009) - Resource-based API keys — New key structure with granular resource permissions, custom IDs, and list queries (#11003, #11277, #11278) - Project labels — Tag and organize projects with custom labels (#11056) - Project status attribute — Track project lifecycle state (#11291) - Multiple application domains — Support multiple domains per project for CORS and OAuth (#10911) - Trusted console projects — Mark projects as trusted for elevated access (#11248) - Blocked user errors — Changed from 401 to 403 for blocked users/resources (#11469) - OAuth email verification — Enforce email verification when linking OAuth2 providers (#10986) - Tauri origin support — tauri://localhost accepted as an allowed origin (#11589) - Trusted headers — Improved client IP resolution via _APP_TRUSTED_HEADERS env var Compute - Custom start command — Sites and functions support custom start commands (#10842) - Separate build/runtime specs — Configure build and runtime resources independently (#10849) - Deployment retention — Automatic cleanup of old deployments with configurable limits (#10959) - Async screenshots — Screenshot generation moved to a dedicated worker (#11110) - Stale execution cleanup — Automatic cleanup of stale/orphaned function executions (#11146) - Graceful worker shutdown — Workers shut down cleanly without dropping jobs (#11104) - Function queue job TTL — 7-day TTL for functions queue to prevent unbounded growth (#11226) Storage - File encryption/compression parameters — Configure per-file encryption and compression (#11135) - `totalSize` on list responses — List endpoints return total storage size (#11102) Migrations - Site migration — Import sites from other Appwrite instances - Messaging resource migration — Migrate messaging resources between instances (#11495) - Migration resource enums — SDK enums for migration resource types GraphQL - Introspection toggle — Enable/disable GraphQL introspection independently (#11159) SDKs - Rust SDK — New official Rust SDK (#11614) - Cursor plugin SDK — SDK for Cursor IDE integration (#11371) - Agent skills SDK — SDK for AI agent integration - Array param enums — Enum support for array parameters across all SDKs Installer - New web installer UI — Redesigned installer with light/dark modes, progress tracking SSL, certificate checks, migrations built in (#11175, #11247) Refactoring - Migrated to Utopia Platform modules architecture — all HTTP endpoints, workers, and tasks organi _[Truncated at 4000 characters — full notes: https://github.com/appwrite/appwrite/releases/tag/1.9.0]_ ### 1.9.0-rc.6 - Date: 2026-03-31 - Version: 1.9.0-rc.6 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.0-rc.6 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.0-rc.6 - Labels: Pre-release - **fixed** — Clear stale install data before starting new installation ##### What's Changed * (fix): clear stale install data before starting new installation by @abnegate in https://github.com/appwrite/appwrite/pull/11716 **Full Changelog**: https://github.com/appwrite/appwrite/compare/1.9.0-rc.5...1.9.0-rc.6 ### 1.9.0-rc.5 - Date: 2026-03-31 - Version: 1.9.0-rc.5 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.0-rc.5 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.0-rc.5 - Labels: Pre-release - **fixed** — Guard against missing Host header in dispatch ##### What's Changed * (fix): guard against missing Host header in dispatch by @abnegate in https://github.com/appwrite/appwrite/pull/11710 **Full Changelog**: https://github.com/appwrite/appwrite/compare/1.9.0-rc.4...1.9.0-rc.5 ### 1.9.0-rc.4 - Date: 2026-03-31 - Version: 1.9.0-rc.4 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.0-rc.4 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.0-rc.4 - Labels: Pre-release - **fixed** — Revert bulk upsertDocuments auth - **added** — Add Rust SDK support - **changed** — Improve SDK PR summary with platform grouping and clipboard copy - **fixed** — Fix missing deployment on new branch without PR - **fixed** — Fix issues in generated specs - **changed** — Use injected user document for privilege checks - **fixed** — Merge duplicate SDK responses in VCS repository list and detections - **fixed** — Remove INDEX_SPATIAL from DocumentsDB index creation - **fixed** — Fix installer ##### What's Changed * chore: update sdks script by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11638 * fix: revert bulk upsertDocuments auth by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11640 * feat: improve SDK PR summary with platform grouping and clipboard copy by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11639 * Fix: missing deployment on new branch without PR by @Meldiron in https://github.com/appwrite/appwrite/pull/11641 * feat: add Rust SDK support by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11614 * Fix issues in generated specs by @adityaoberai in https://github.com/appwrite/appwrite/pull/11654 * [codex] Move static SDKs off platform specs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11664 * Use injected user document for privilege checks by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11553 * updated db size by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11658 * [codex] Reduce specs task memory retention by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11671 * fix: merge duplicate SDK responses in VCS repository list and detections by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/11674 * fix: remove INDEX_SPATIAL from DocumentsDB index creation by @premtsd-code in https://github.com/appwrite/appwrite/pull/11679 * Fix installer by @abnegate in https://github.com/appwrite/appwrite/pull/11689 **Full Changelog**: https://github.com/appwrite/appwrite/compare/1.9.0-rc.3...1.9.0-rc.4 ### 1.9.0-rc.3 - Date: 2026-03-24 - Version: 1.9.0-rc.3 - Original notes: https://github.com/appwrite/appwrite/releases/tag/1.9.0-rc.3 - Permalink: https://whatsnew.fyi/product/appwrite/releases/1.9.0-rc.3 - Labels: Pre-release - **fixed** — Fix installer state ##### What's Changed * Fix installer state by @abnegate in https://github.com/appwrite/appwrite/pull/11634 **Full Changelog**: https://github.com/appwrite/appwrite/compare/1.9.0-rc.2...1.9.0-rc.3