Appwrite 1.9.5 is now available for self-hosted deployments.
Over the past few months, we have shipped a steady stream of features across Appwrite Cloud. This release brings them to teams running Appwrite on their own infrastructure.
Here is what is new in Appwrite 1.9.5.
Presences API
The Presences API tracks short-lived user states such as online, away, typing, editing, and viewing. It gives you a managed way to build online indicators, typing states, multiplayer presence, collaborative editors, and live activity feeds, without wiring up presence channels by hand. Entries carry custom metadata and expire automatically, so stale sessions clear themselves.
Read the announcement
BigInt columns
Appwrite Databases now support 64-bit signed integers through the BigInt column type. BigInt is the right choice for large counters, external identifiers, high-resolution timestamps, and financial values that need integer precision without floating-point rounding.
Read the announcement
Rust runtime for Functions
Appwrite Functions now supports Rust as a first-class runtime. You can write and deploy functions in Rust, pair them with the official Appwrite Rust SDK, and use them for performance-sensitive workloads such as webhook verification, image processing, and data transformation.
Read the announcement
Bun and Deno build runtimes for Sites
Appwrite Sites can now build Node-based frameworks with Bun or Deno. You can switch the build runtime per Site from its Runtime settings, and the change applies on the next deployment.
Read the announcement
Git deployment triggers
Git deployment triggers give you control over which changes create a deployment. Use branch filters to separate production, staging, and preview workflows, and path filters so each Function or Site only deploys when relevant files change.
Read the announcement
X OAuth provider
Appwrite Auth now supports signing in with X (formerly Twitter) through OAuth 2.0 with PKCE. You can enable it from the Console by adding your X app credentials, with no additional configuration in your application code.
Read the announcement
Faster uploads with parallel chunks
Appwrite SDKs now upload Storage file chunks in parallel. In our Node SDK benchmark, a 1.28 GB upload dropped from 4 minutes 44 seconds to under 40 seconds, a 7.10x improvement, with no API changes required.
Read the announcement
Improved migrations
Migrations in 1.9.5 carry over far more than your data. Project configuration now transfers alongside it, including API keys, project variables, webhooks, OAuth providers, SMTP settings, email templates, custom domains, and security policies. Moving a project between Appwrite instances, such as from Appwrite Cloud to a self-hosted instance, now reproduces its setup instead of just its records.
Self-host Appwrite 1.9.5
If you are setting up Appwrite for the first time, all you need is Docker installed. Run the installer with the 1.9.5 image, then open http://localhost:20080 to complete the setup wizard.
docker run -it --rm \
--publish 20080:20080 \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:1.9.5
For system requirements and the full walkthrough, see the installation guide.
Upgrade your self-hosted instance
If you are already running Appwrite, back up your data first, then run the upgrade command:
docker run -it --rm \
--publish 20080:20080 \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="upgrade" \
appwrite/appwrite:1.9.5
After the upgrade is complete, run the migration:
cd appwrite/
docker compose exec appwrite migrate
To view the complete list of changes, fixes, and contributions, check out the full release notes.





