-
Notifications
You must be signed in to change notification settings - Fork 327
Appwrite 1.9.5 self-hosted release: blog, changelog, and docs #3064
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,107 @@ | ||
| --- | ||
| layout: post | ||
| title: Announcing Appwrite 1.9.5 for self-hosted deployments | ||
| description: Appwrite 1.9.5 brings the Presences API, BigInt columns, the Rust runtime, X OAuth, email policies, Bun and Deno build runtimes, Git deployment triggers, faster Storage uploads, and broader migrations to self-hosted deployments. | ||
| cover: /images/blog/appwrite-1-9-5-self-hosted-release/cover.avif | ||
| date: 2026-06-29 | ||
| timeToRead: 6 | ||
| author: chirag-aggarwal | ||
| category: announcement | ||
| featured: false | ||
| callToAction: true | ||
| faqs: | ||
| - question: "What is new in Appwrite 1.9.5 for self-hosted deployments?" | ||
| answer: "Appwrite 1.9.5 brings the Presences API, BigInt columns for [Databases](/docs/products/databases), the Rust runtime for [Functions](/docs/products/functions), X OAuth and email policies for [Auth](/docs/products/auth), Bun and Deno build runtimes and Git deployment triggers for [Sites](/docs/products/sites), faster Storage uploads with parallel chunks, and broader migration coverage." | ||
| - question: "What is the Presences API used for?" | ||
| answer: "The Presences API tracks short-lived user states such as online, away, typing, editing, or viewing. You can use it to build online indicators, typing states, collaborative editors, multiplayer features, and live activity feeds without managing presence channels yourself." | ||
| - question: "What are BigInt columns in Appwrite?" | ||
| answer: "BigInt columns store 64-bit signed integers in [Databases](/docs/products/databases). They are suited to large counters, external IDs, high-resolution timestamps, and financial values that need integer precision without floating-point rounding." | ||
| - question: "Can I block disposable or free email addresses at signup?" | ||
| answer: "Yes. Email policies in [Appwrite Auth](/docs/products/auth) let you block disposable inboxes, aliased addresses, and free email providers at user creation and on email updates, either from the Console or through any server SDK." | ||
|
Comment on lines
+15
to
+20
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's cover all our updates here |
||
| - question: "How do I upgrade my self-hosted instance to 1.9.5?" | ||
| answer: "Back up your data, pull the 1.9.5 image, run the upgrade command, and run the migration. Always test the upgrade on a staging environment first." | ||
| --- | ||
|
|
||
| **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. | ||
|
|
||
| {% arrow_link href="/blog/post/announcing-presences-api" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| {% arrow_link href="/blog/post/announcing-bigint-columns" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| {% arrow_link href="/blog/post/announcing-rust-runtime" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| {% arrow_link href="/blog/post/announcing-bun-deno-runtimes" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| {% arrow_link href="/blog/post/announcing-git-deployment-triggers" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| {% arrow_link href="/blog/post/x-oauth2-appwrite" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # Email policies | ||
|
|
||
| Email policies let you restrict which email addresses can create accounts or update their email. Block disposable inboxes to keep throwaway accounts out of your users table, and deny free providers so business products only accept corporate addresses. Each policy is an independent toggle in the Console or any server SDK. | ||
|
|
||
| {% arrow_link href="/blog/post/announcing-email-policies" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| {% arrow_link href="/blog/post/faster-storage-uploads-parallel-chunks" %} | ||
| Read the announcement | ||
| {% /arrow_link %} | ||
|
|
||
| # 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. | ||
|
|
||
| # Upgrade your self-hosted instance | ||
|
|
||
| As with every Appwrite upgrade: | ||
|
|
||
| - Back up your data before upgrading | ||
| - [Install or upgrade your self-hosted instance](/docs/advanced/self-hosting/production/updates#install-next-version) to **Appwrite 1.9.5** | ||
| - [Run the migration](/docs/advanced/self-hosting/production/updates#running-the-migration), even if you are upgrading from 1.9.0 | ||
|
Comment on lines
+95
to
+105
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We need to add a section that also just covers how to self-host Appwrite, for folks who are directly going to self-host Appwrite from this version
Comment on lines
+103
to
+105
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's directly cover the commands here instead |
||
|
|
||
| To view the complete list of changes, fixes, and contributions, check out the full [release notes](https://github.com/appwrite/appwrite/releases/tag/1.9.5). | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a how to self host Appwrite 1.9.5 FAQ too