Appwrite

Developer Tools

An open-source backend platform for web and mobile.

Latest 1.9.6 · by AppwriteWebsiteappwrite/appwrite

Release activity

Release activity — 10 releases across 8 days since Mar 24, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Mar 24, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 20261 release on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 20261 release on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 20261 release on Jun 24, 20261 release on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 20261 release on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

10 releases since Mar 24, 2026, busiest day 3

Changelog

1.9.6

Changed 3
  • Update the self-hosted Console image to 8.7.30 for recent self-hosted VCS, error rendering, build specification, and security fixes
  • Update Open Runtimes Executor to 0.25.4 for recent build and S3 custom endpoint fixes
  • Update the Browser service to 0.3.3 so screenshot headers work with custom internal Appwrite origins
Fixed 7
  • Automatically repair missing providerBranches and providerPaths attributes on Functions and Sites when upgrading from 1.9.5
  • Make migration attribute batches idempotent when some attributes already exist
  • Replace the side-effecting Appwrite container healthcheck with the public version endpoint
  • Respect _APP_SITES_RUNTIMES when listing frameworks and creating or updating Sites
  • Wait for a writable MongoDB replica-set primary before marking the service healthy
  • Correct database and queue connectivity reporting in the doctor task
  • Allow additional time for the self-hosted installer to pull images and start Compose services
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
  • Replace the side-effecting Appwrite container healthcheck with the public version endpoint in #12765
  • Respect _APP_SITES_RUNTIMES when listing frameworks and creating or updating Sites in #12840
  • Wait for a writable MongoDB replica-set primary before marking the service healthy in #12913
  • Correct database and queue connectivity reporting in the doctor task in #12928
  • Allow additional time for the self-hosted installer to pull images and start Compose services in #12747
Miscellaneous
  • Update the self-hosted Console image to 8.7.30 for recent self-hosted VCS, error rendering, build specification, and security fixes
  • Update Open Runtimes Executor to 0.25.4 for recent build and S3 custom endpoint fixes
  • Update the Browser service to 0.3.3 so screenshot headers work with custom internal Appwrite origins
  • Update release metadata and installation examples for 1.9.6
View originalPermalink
How 1.9.6 went

1.9.5

Added 19
  • Added public endpoints for project variables, keys, policies, SMTP, auth methods, mock phones, services, protocols, platforms, OAuth2 providers, and organization projects
  • Added public proxy management endpoints
  • Added JSON import/export references for DocumentsDB and VectorsDB and larger database ID support
  • Added BigInt attributes and columns for Databases and TablesDB
  • Added backup, API key, project variable, webhook, policies, SMTP, custom domains, email templates, and OAuth provider migrations
  • Added migration API support and source host validation
Changed 1
  • 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, #12285, #11860, #11842)

Installer and self-hosted

  • Release updates — Updated Console image to 8.7.5, kept PostgreSQL disabled by default for fresh installs, and fixed installer database, secret key, and compose release wiring (#12666)
  • Compose generation — Generate installer compose files from base compose and fix Mongo copy failures, dependency rewriting, override loading, and Traefik command preservation (#12703)
  • Installer fixes — Fixed local installer dev flow, missing worker-executions service, and executor config in installer compose output (#12627, #11838, #11874)
  • Installer Docker flow — Fixed MongoDB helper script bind mounts when running the documented Docker installer against the host Docker daemon (#12745)
  • Host validation — Fixed public hostname validation under Swoole DNS and regional endpoint validation (#12431, #12411, #12357)

API and SDKs

  • SDK updates — Added Unity SDK docs/configuration and ping to SDK specs (#12482, #12330, #12604)
  • Auth schemes — Added platform parameter enums, unified auth headers, query/path project auth schemes, and repository branch search pagination (#12358, #12211, #12481, #12554, #12213, #12243)
  • Spec fixes — Fixed generated API metadata, summaries, text responses, enum keys, unresolved models, provider repository discriminators, method IDs, and parameter naming consistency (#12544, #12312, #12402, #11817, #12392, #11924, #12235, #12238, #12244, #12212)
  • SDK compatibility — Fixed legacy database SDK deprecation metadata (#12615)

Reliability and performance

  • Queue workers — Improved queue worker concurrency and made the webhooks worker safer under concurrent load (#12468, #12552)
  • Worker stability — Fixed connection pool behavior, deletes worker connection collisions, and DB worker memory behavior (#12338, #12639, #11749)
  • Request handling — Improved request-scoped resource handling and response state isolation (#12220, #11564, #11798)

Security and dependencies

  • Base images — Bumped Appwrite base images and patched OS package CVEs (#12174, #12201, #12204, #12516, #12546)
  • Dependency fixes — Updated phpseclib for CVEs and fixed a Composer audit issue for GraphQL PHP (#11858, #11887)
  • Runtime and data updates — Upgraded DB-IP Country Lite to 2026-06 and PHP runtimes (#12473, #11731, #12196, #12378)

Notable Fixes

  • GraphQL coroutine-safe responses, batch reset, audit handling, preview assertions, and disabled functional tests
  • Large execution payloads and function execution request metadata
  • Execution log behavior
  • Webhook API security and flaky webhook/site deployment tests
  • VCS typed client exceptions, repository preservation on update, cross-project installation validation, and server-side branch search
  • Platform type backwards compatibility and deprecated origin validation
  • CORS for paused projects and error responses
  • RFC 6265 cookie handling and request-scoped cookie domain behavior
  • Favicon empty-body handling and AVIF preview behavior
  • Cache-control callbacks, query syntax errors, missing console scopes, and double policy scopes
  • Variables API feature parity and project variable ID behavior
  • SMTP template regressions, empty string template params, test email platform vars, and SMTP port type
  • Project delete events and cache health checks

Upgrade Path

  • Upgrade from 1.9.0 to 1.9.5. Use the database migration step in the web installer, the --migrate flag with the upgrade task, or manually run docker compose exec appwrite migrate.
  • Self-hosted users should review generated compose changes before upgrading, especially if using installer-generated compose files or PostgreSQL.
New Contributors

Full Changelog: https://github.com/appwrite/appwrite/compare/1.9.0...1.9.5

View originalPermalink
How 1.9.5 went

1.9.5-rc.2

Pre-release
Added 1
  • Expose NFT config
Changed 2
  • Complete V24 schema migrations
  • Generate installer compose from base compose
Fixed 1
  • Fix Composer source fallback in CI builds
Removed 1
  • Remove sunset SDK entries
What's Changed

Full Changelog: https://github.com/appwrite/appwrite/compare/1.9.5-rc.1...1.9.5-rc.2

View originalPermalink
How 1.9.5-rc.2 went

1.9.5-rc.1

Pre-release
Added 8
  • Add support for blocking disposable email addresses
  • Add public platform API
  • Add public keys API
  • Add X OAuth 2.0 provider
  • Add cache purge parameter and improved ttl semantics to databases
  • Distinguish user types in audit logs
  • Extract session alert email into Mails listener
  • Add tracing spans for storage file preview timing and cache state
Changed 2
  • Change Usage class from final to non-final
  • Migrate from static Http::setResource() to DI Container
Fixed 10
  • Update Yahoo OAuth scopes from deprecated scopes
  • Add CORS headers to error responses
  • Persist session before purging user cache in email/password login
  • Ensure realtime event payload is populated for atomic operations
  • Use cURL cookie engine for RFC 6265 compliant cookie handling in e2e client
  • Add backwards-compat origin validation for deprecated platform types
What's Changed
New Contributors

Full Changelog: https://github.com/appwrite/appwrite/compare/1.9.0...1.9.5-rc.1

View originalPermalink
How 1.9.5-rc.1 went

1.9.0

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 organized into feature modules (#11035, #11049, #11057, #11103, #11208, #11398)
  • Refactored auth to single instance pattern (#10872, #11130)
  • Refactored usage metrics to stateless Bus event publisher pattern (#11449)
  • Removed proxy container — Traefik handled directly (#11039)
  • Consolidated CI workflows with dynamic database/mode matrix (#11531, #11551)
  • Upgraded PHPStan to v2 with full codebase baseline (#11550)
  • Upgraded to PHPUnit 11/12 with PHP 8 attributes

Performance

  • Sparse document updates — updateDocument() sends only changed attributes (#11465)
  • Domain caching via shared Swoole Tables instead of per-worker Config cache (#11346)
  • Memory leak fixes in webhook/stats/event processing (#11067, #11241)
  • SMTP keep-alive for connection reuse across mail jobs (#11496)
  • Static file loading optimization with copy-on-write memory sharing
  • Pre-parsed queries on hot paths
  • Realtime performance improvements (#11251)
  • Simplified repository authorization checks (#11616)

Notable Fixes

  • OAuth fixes for custom domains, redirect schemes, and verified emails
  • MFA recovery code validation fix
  • CORS wildcard and preflight request handling
  • Execution status and timeout reporting
  • Relationship document validation
  • Cache key improvements with attribute/index hash
  • Realtime region handling and error resilience
  • PostgreSQL race condition in shared mode project creation
  • VCS template flow, deployment, and comment fixes
  • Storage health error handling
  • Schedule execution trigger and deletion fixes
  • Abuse rate limiting reset on success

Upgrade Path

  • Upgrade from 1.8.1 to 1.9.0. Use the database migration step in the web installer, the --migrate flag with the upgrade task, or manually run docker compose exec appwrite migrate.
New Contributors

Full Changelog: https://github.com/appwrite/appwrite/compare/1.8.1...1.9.0

View originalPermalink
How 1.9.0 went

1.9.0-rc.4

Pre-release
What's Changed

Full Changelog: https://github.com/appwrite/appwrite/compare/1.9.0-rc.3...1.9.0-rc.4

View originalPermalink
How 1.9.0-rc.4 went
View all

Discussion