バックエンド基盤のAppwriteが、2026年5月に11項目の機能追加と改善をまとめて公開しました。リアルタイム協業、ファイル転送、デプロイ運用、認証、ランタイムの各領域が同時に手入れされ、既存プロジェクトでもそのまま恩恵を受けられる変更が中心です。
この記事では、Appwriteの5月アップデートで何が変わったかを整理します。
- Presences APIでオンライン表示や入力中ステータスを扱えるようになったこと
- RustランタイムとStorageの並列アップロードなど、性能面の強化
- データベースのリレーション本番化、BigInt列、デプロイ・認証まわりの運用改善
5月に何が変わったか
Appwriteは、オープンソースのBaaS(Backend as a Service)です。認証、データベース、ストレージ、サーバーレス関数、リアルタイム通信をひとつのプラットフォームで扱えます。5月の更新は、公式ブログのプロダクトアップデートで一覧化され、Appwrite Cloudとセルフホストの両方を対象に展開されています。
開発者が体感しやすい変更は、次の3つに集約できます。
- リアルタイム協業向けのPresences APIが新設された
- Storageアップロードとデータベースリレーションの性能が大きく改善された
- Functions・Sitesのデプロイ運用と認証ポリシーが細かく制御できるようになった
Presences APIで「今誰がいるか」を専用リソースに
https://appwrite.io/blog/post/announcing-presences-api
チャットの入力中表示や共同編集のカーソルは、更新が頻繁で寿命が短いデータです。従来どおりデータベースの行で管理すると、タブを閉じたあともオンライン表示が残る、期限切れレコードの掃除が必要になる、といった運用負荷が出やすくなります。
Presences APIは、この用途専用のリソースとして追加されました。各レコードにはstatus文字列、任意のmetadata、expiresAt(最大30日)が付き、Appwrite標準の権限モデルで読み書きを制御します。変更はpresencesおよびpresences.<presenceId>のRealtimeチャンネルへ配信され、upsert・update・deleteイベントで購読側が追従します。期限切れ時は自動でdeleteイベントが発火するため、クリーンアップ用の定期ジョブは不要です。
クライアントSDK(Web、Flutter、Apple、Android、React Native)からはセッション連携でそのまま利用でき、サーバー側はpresences.readとpresences.writeスコープを持つAPIキーが必要です。Realtimeクエリと組み合わせれば、特定ステータスだけをサーバー側で絞り込んだ購読も可能です。マルチプレイゲームのゾーン単位の在席管理や、ドキュメント単位の共同編集表示にも向いた設計です。
RustランタイムがFunctionsに追加
https://appwrite.io/blog/post/announcing-rust-runtime
Appwrite Functionsは、Webhook署名検証、画像処理、決済フロー、データ変換など、レイテンシと予測可能性が重要な処理向けにRust 1.83ランタイムを正式サポートしました。Appwrite CLIまたはコンソールからデプロイでき、公式のAppwrite Rust SDK(crates.io公開)と組み合わせて型安全な非同期API呼び出しが行えます。
実行ごとに注入される動的APIキーを使えば、関数内からデータベースやストレージへ追加の認証情報なしでアクセスできます。関数テンプレートカタログにはRust向けスターターも追加されています。Appwrite Cloudで本日から利用可能です。
データベース:リレーション本番化とBigInt列
データベースのリレーション機能は、約1年の改善を経てベータから卒業し、本番利用可能な状態になりました(Changelog)。主な変更点は次のとおりです。
- 関連行の読み込みをクエリ選択で明示する方式に変更され、不要なデータ取得を抑えられる
Query.equal('author.name', ['Jake'])のようなドット記法で関連データをフィルタできる- リレーション操作の性能は内部刷新により12〜18倍高速化
- CSVエクスポート時、リレーション列はIDとして出力される
あわせて、64ビット符号付き整数を扱うBigInt列が追加されました。通常の32ビット整数(約±21億)を超えるカウンター、外部システムの64ビットID、高精度タイムスタンプ、金額の整数表現などに使えます。min・max・defaultの指定や、既存整数列と同様のOperatorsによるサーバー側更新にも対応します。
Storageアップロードが最大7.1倍に高速化
Appwrite SDKは、ホスト環境が並列HTTPリクエストを扱える場合、Storageファイルのチャンクを並列アップロードするようになりました。チャンク分割、同時実行数、順序制御はクライアント内部で処理されるため、既存のcreateFile呼び出しを変える必要はありません。
AppwriteのNode SDKベンチマークでは、1.28GBファイルの転送時間が4分44秒から40秒未満に短縮され、最大7.10倍の改善と報告されています。デフォルトの同時実行数は8です。小さなファイルはチャンク数が少ないため、改善幅は比例して小さくなります。
デプロイ運用の細分化
FunctionsとSitesでは、Git連携デプロイのトリガー条件を細かく設定できるようになりました。本番・ステージング・プレビュー向けにブランチフィルタを使い分けたり、特定のFunctionやSiteに関係するパスが変更されたときだけ自動デプロイを走らせたりできます。
非アクティブなデプロイメントの保持期間も設定可能です。deploymentRetentionで日数を指定し、古いビルド成果物を自動削除してストレージ使用量を抑えられます。アクティブなデプロイは常に保持され、0を指定すれば非アクティブ分も永久保存のままにできます。
認証とSitesランタイムの拡張
Appwrite Authにはメールポリシーが追加され、ユーザー作成とメール更新時に、無料メールプロバイダー(GmailやYahooなど)、エイリアス付きアドレス、使い捨てメールの3種類を個別にブロックできます。既存ユーザーのログインは影響を受けません。
Sitesでは、Node系フレームワークのビルドランタイムとしてBun(1.0〜1.3)とDeno(1.40、1.46、2.0、2.5、2.6)が選べるようになりました。FunctionsはDart 3.12、SitesはFlutter 3.44がそれぞれランタイムとして追加され、モバイル・Web・バックエンドをDart系で揃えやすくなっています。
OpenAI Codex向けAppwriteプラグイン
https://appwrite.io/changelog/9
AIコーディングエージェント向けに、OpenAI Codex用のAppwriteプラグインが公開されました。Appwrite CLIと主要SDK向けのエージェントスキル、Sites・Functionsのデプロイガイド、Appwrite Docs MCPサーバーが一括で導入できます。Claude CodeやCursor向けプラグインに続く、AI支援開発の取り組みの延長線上に位置づけられます。
5月更新をどう活かすか
5月のAppwrite更新は、単一の目玉機能というより、プロダクション運用の各所を埋める内容です。協業UIをこれから作るチームはPresences APIから検証する価値が高く、大容量ファイルを扱うサービスはStorage SDKの並列アップロードを早めに試すと効果が見えやすいでしょう。リレーションをベータのまま保留していたプロジェクトは、本番化とクエリ改善を合わせて再評価するタイミングです。RustやCodexプラグインは、性能要件やAI支援開発のワークフローに合わせて段階的に取り込めます。