Skip to content

Changelog

  • Announcing Transactions API: Reliable multi-record writes across tables

    Handling multi-step workflows across tables often means dealing with partial writes and manual rollback logic.

    With the new Transactions API, you can now execute multiple operations as a single atomic action, either all succeed or none do.

    What's new:

    • New Transactions API for managing multi-step writes
    • Support for staging multiple create, update, and delete operations across tables
    • Atomic commit and automatic rollback on failure
    • Configurable timeout for idle transactions (default: 5 minutes)

    Benefits:

    • ACID compliance: Ensures atomicity, consistency, isolation, and durability across all staged operations.
    • All-or-nothing writes: Prevents partial data states and inconsistent records.
    • Automatic rollback: Appwrite handles cleanup on failure, no manual scripts required.
    • Reduced race conditions: All operations are validated and committed together.
    • Simplified logic: Consolidate multi-table operations without adding client-side complexity.

    This update is live on Appwrite Cloud.

    Read the announcement to learn more

  • Performance improvements for Functions and static sites

    We've shipped major performance improvements across functions and static sites.

    Function cold starts are now 58% faster in the Frankfurt (FRA) region with more consistent start times across executions.

    Static sites are now served directly through our edge proxies, eliminating the need for dedicated runtimes. This means:

    • No more cold starts for static sites
    • Automatic caching for all static site assets
    • Over 99% of requests served locally from 120+ global PoPs

    These improvements are now live on Appwrite Cloud. Please don't hesitate to share your experience and feedback with us.

    Join the discussion on Discord

  • Announcing API for spatial columns: Build scalable location-aware apps with ease

    Working with geo data usually means storing raw coordinates and writing custom logic that slows down as your dataset grows.

    But now, you can build scalable geo workflows right out of the box.

    What's new:

    • New column types: Point, Line and Polygon
    • New index type: Spatial
    • 12 new geo query operators: crosses, notCrosses, distanceEqual, distanceNotEqual and more.

    Benefits:

    • Native support for geo logic: Handle geofencing, routing, and compliance zones without custom hacks.
    • Scales with your data: Spatial indexes keep queries fast even with a large volume of records.
    • Simpler development: Reduce app-side complexity by keeping geo operations inside the database.

    This update is live on Appwrite Cloud.

    Read the announcement to learn more

  • Announcing Turbopack support for Appwrite Sites

    Appwrite Sites now supports Next.js applications built with Turbopack, with faster builds and better compatibility for your deployments.

    What's new

    • Turbopack support: Deploy Next.js SSR sites using Turbopack bundler for faster builds
    • Better Next.js compatibility: Developers no longer need to disable Turbopack in build commands

    Benefits

    • Faster builds: Turbopack is faster than webpack
    • Better developer experience: No build configuration changes needed when deploying applications that use Turbopack

    This update is live for all Appwrite Cloud users. Self-hosted support will come in an upcoming release.

    Learn more in the announcement post

  • Introducing the Appwrite MCP server for docs

    While the Appwrite docs are constantly getting updated and improved, LLMs often struggle to provide accurate and up-to-date information due to missing context.

    Appwrite's new MCP server for docs solves this problem by enabling AI assistants to access and search through Appwrite's documentation directly.

    With this MCP server, AI assistants can:

    • Search through Appwrite documentation
    • Retrieve specific guides and references
    • Generate code snippets using the latest APIs
    • Provide contextual help for Appwrite features

    This makes it easier for developers to get instant, accurate answers about Appwrite directly from their AI development environment.

    Learn more in the documentation

  • Announcing inversion queries: Exclusion rules made simple

    Excluding data often meant fetching too much and then filtering it out in your app, which wasted reads and added extra logic.

    To make those exclusions simpler and more efficient, we’ve added inversion queries:

    • notSearch
    • notContains
    • notBetween
    • notStartsWith
    • notEndsWith

    With these, you can express “everything except …” rules directly in your queries, keeping them cleaner, reducing wasted reads, and cutting down on payload sizes.

    Now live on Appwrite Cloud + Self-hosted.

    Read the announcement to learn more

  • Announcing time helper queries: Cleaner, more expressive time-based queries

    A new set of database queries, time helper queries, is now live.

    Filtering by time is one of the most common patterns in real-world apps. Until now, this often meant adding extra conditions that made your queries longer and harder to read.

    With time helper queries, you can now handle time-based filtering in a simple and expressive way. You’ll find four new options:

    • createdBefore: Find rows created before a given date
    • createdAfter: Find rows created after a given date
    • updatedBefore: Find rows updated before a given date
    • updatedAfter: Find rows updated after a given date

    That means you can:

    • Reduce boilerplate in your code
    • Write cleaner, more readable queries
    • Make time-based filtering faster and easier to manage

    Available now on Appwrite Cloud and Self-hosted.

    Read the announcement to learn more

  • JavaScript SDKs now use object arguments

    We've updated the Appwrite JavaScript SDKs to support object-based arguments instead of positional ones.

    This change makes SDK calls easier to read, less error-prone, and more maintainable.

    Before (positional arguments):

    JavaScript
    const result = storage.getFilePreview(
      '<BUCKET_ID>',
      '<FILE_ID>',
      undefined, // width
      undefined, // height
      ImageGravity.Center,
      undefined, // quality
      undefined, // borderWidth
      undefined, // borderColor
      undefined, // borderRadius
      undefined, // opacity
      undefined, // rotation
      undefined, // background
      ImageFormat.Jpg,
      '<TOKEN>'
    );
    // Required passing undefined for unused optional parameters
    

    After (object arguments):

    JavaScript
    const result = storage.getFilePreview({
      bucketId: '<BUCKET_ID>',
      fileId: '<FILE_ID>',
      gravity: ImageGravity.Center,
      output: ImageFormat.Jpg,
      token: '<TOKEN>'
    });
    // No more undefined values needed!
    
    What about existing code?

    Positional arguments still work, but they've been marked as deprecated. Your IDE will show warnings, and you can migrate over time.

    This update is now available in the following SDK versions:

    Join the discussion on Discord

  • Appwrite's new pricing goes into effect

    Starting today, September 1st, 2025, the following pricing changes will go into effect:

    • The base price for Pro will go from $15 to $25 per month
    • The per-seat pricing model is moving to a per-project pricing model
    • Resources will be per project instead of per organization, and we will be giving you more resources per project
    • The bandwidth resources on Pro and Scale go from 300GB to 2TB per month per project
    • The additional bandwidth price goes from $40 per 100GB to $15 per 100GB
    • The price for GB hours goes from $0.09 per GB hour to $0.06 per GB hour
    • The additional storage price goes from $3 per 100GB to $2.8 per 100GB
    • Appwrite Messaging and Sites now have resource limits on Free, Pro, and Scale plans

    Read the announcement to learn more

  • Emails verification for Cloud accounts

    Appwrite Cloud will soon require email verification to enhance account authenticity. When we first launched the beta, we focused on streamlining onboarding by skipping this step, but as the platform grows, we’re committed to strengthening security and trust for all users.

    This change is aimed at:

    1. ensuring everyone has a valid email address for billing or support inquiries
    2. enhancing the overall security of our platform
    3. reducing the risk of spam or fraudulent accounts

    In preparation for this change, we encourage you and your team members to verify that your email addresses are correct and working so that you can complete the verification process when email verification becomes required.

    Check your account email

  • Announcing Opt-in relationship loading: Granular control for smarter data fetching

    Announcing Opt-in relationship loading for Appwrite Databases.

    Before this feature, database queries automatically included related documents. This often caused large JSON payloads, higher latency, and wasted bandwidth.

    With Opt-in relationship loading, you now choose exactly which related documents to include, resulting in smaller payloads and faster queries.

    This added control over data fetching helps you deliver faster, more efficient applications.

    Read the announcement to learn more

  • New Cloud region available: San Francisco (SFO)

    We’ve expanded the Appwrite Cloud to a brand-new region.

    Starting today, the San Francisco (SFO) region is now live and ready for your projects.

    This means you can:

    • Create new projects directly in SFO
    • Or migrate your existing projects to take advantage of the new location

    If your users are on the U.S. West Coast, the SFO region will help you deliver a faster and reliable experience to your users.

    Learn more about Regions

  • Announcing new TablesDB UI: A spreadsheet-like way to manage your data

    We’re excited to introduce a completely new TablesDB UI for Appwrite Databases

    Experience a spreadsheet‑like editing workflow, right inside the Console.

    You can now:

    • Edit records inline
    • Perform bulk actions
    • Navigate with arrow keys and shortcuts

    A faster way to patch production, clean up test data, and stay in flow.

    Read the announcement to learn more

  • Introducing the TablesDB API with updated terminology

    Announcing significant updates to Appwrite Databases!

    Appwrite Databases is now transitioning to a more familiar relational model, moving away from the documents and collections terminology.

    Here’s what’s changed:

    • Collections → Tables
    • Documents → Rows
    • Attributes → Columns

    This makes it easy for you to work with structured data while maintaining backwards compatibility.

    To support the terminology change, we’ve added the TablesDB API.

    A new API layer that helps you work with relational database concepts like tables, columns, and rows, without requiring any changes to your existing apps.

    While old collection methods still work with essential security & maintenance. All new features will now land in the TablesDB API.

    Read the announcement to learn more

  • More control and compatibility for custom domains

    We've added new DNS records to improve security and reliability for Appwrite domains.

    What's new

    • CAA records are now included, strengthening security by controlling which certificate authorities can issue SSL certificates for your domains.
    • AAAA records have been added, providing better reliability with IPv6 support.

    These changes give you more flexibility and help reduce the chance of misconfigured certificates or DNS errors.

    Learn more about Appwrite DNS

Start building with Appwrite today

Get started

Our plans

  • Free

    $0

    A great fit for passion projects and small applications.

    Get started
  • Pro

    Most popular
    From
    $25
    /month

    For production applications that need powerful functionality and resources to scale.

    Start building
  • Enterprise

    Custom

    For enterprises that need more power and premium support.

    Contact us