# Appwrite 2.1.0 — Release & Upgrade Intelligence
- **Product:** Appwrite (https://appwrite.io)
- **Version:** 2.1.0
- **Released:** Sep 11, 2026
- **Impact Score:** 5/10
- **Breaking Changes:** Not verified
- **Canonical Analysis:** https://changelogs.us/appwrite/updates/2.1.0/

## Executive Summary (TL;DR)
Appwrite 2.1.0. Source highlight: Appwrite 2.1 is the first minor release of the 2.x generation. It opens Appwrite Storage to the S3 ecosystem, adds two OAuth2 providers, teaches image previews to find the subject on their own, and folds in six weeks of fixes across auth, databases, storage, compute and realtime. Upgrading from 2.0.

## New Features
- **Error reporting runs on spans.** utopia-php/logger is gone. `_APP_LOGGING_CONFIG` still takes a `sentry://` DSN and now ships every `Span::add()` attribute with the event, and `_APP_LOGGING_FORMAT` picks `pretty` or `json` for container logs. `_APP_LOGGING_PROVIDER` and `_APP_LOGGING_CONFIG_REALTIME` are no longer read. (#13457, #13491)

## Bug Fixes
- Usage breakdowns resolve names for every resource instead of showing truncated IDs beyond eight functions/sites; lookups batch by query length and preserve successful batches when another fails. (appwrite/vibes#343, Console 1.1.78)
- The terminal stays above the phone keyboard. (appwrite/vibes#339, Console 1.1.77)
- The OAuth2 token flow keeps the current session instead of replacing it. (#13602)
- The password recovery endpoint no longer reveals whether an email exists. (#13438)
- Listing a user's MFA factors reports the recovery code factor. (#13531)
- Invalid scrypt-modified options return a 400 instead of a server error. (#13553)
