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

  • Node.js 22 upgrade, execution stability, and UX fixes

    We've shipped updates and bug fixes across Functions, Sites, and the Console to improve stability and developer experience.

    What's new

    • Node.js 22 runtime updated from 22.9 → 22.18
    • You can now filter function executions by deploymentId for easier debugging
    • Avatar API favicon endpoint now supports SVG icons

    Fixes and improvements

    • Dynamic keys no longer cause random execution failures
    • Executions with >1MB of logs no longer fail
    • Cookies now work correctly in SSR Appwrite Sites
    • Fixed Flutter onboarding flow that was not working in some cases
    • Fixed newspaper-like fonts in error pages
    • Index length configuration is now accessible to all users
    • Multiple fixes to improve layout, alignment, and responsiveness

    These changes are now live. Let us know if they improve your workflows or if you run into anything unexpected.

    Join the discussion on Discord

  • Announcing Timestamp Overrides: Accurate timelines for production workloads

    We’re excited to announce one more powerful addition to Appwrite Databases: Timestamp Overrides

    In many data workflows, imported records automatically take on the date and time they are added to the new system. While fine for some cases, this can cause issues when migrating data or integrating systems where original timestamps matter for accurate audit trails, analytics, and chronological order.

    With Timestamp Overrides, you can manually set $createdAt and $updatedAtwhen importing or creating documents, ensuring your data history stays true from the start.

    Available on Cloud and will soon be coming to Self-Hosted in the next release.

    Read the announcement to learn more

  • Announcing Appwrite's new pricing plans

    We are updating Appwrite’s pricing as part of Appwrite Cloud’s move from beta to General Availability. For an extended period, Appwrite Cloud beta remained free for all users. As of January 2024, we introduced pricing for beta. Today, we are introducing a new base price and an updated pricing model that aligns with developer needs and industry standards. This will include pricing for Appwrite Sites and Messaging.

    Apwrite’s new pricing

    This new structure and pricing are designed to be more predictable and better aligned with how teams actually use Appwrite. Below is a brief overview of the pricing changes, which we elaborate on in the official announcement.

    Starting 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 will increase by +500%, from 300GB to 2TB per month per project
    • The additional bandwidth price has decreased by 62%, from $40 per 100GB to $15 per 100GB
    • The price for GB hours has decreased by 33%, from $0.09 per GB hour to $0.06 per GB hour
    • The additional storage price has decreased by 6.7%, 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

  • Appwrite Cloud is now Generally Available

    Appwrite Cloud was designed to make it easier to build with Appwrite because we know self-hosting is not for everyone.

    Today, Appwrite Cloud is powering over 300,000 projects, and we are both proud and excited to announce its transition to general availability.

    Read the announcement to learn more

  • Announcing Atomic numeric operations: Safe, server-side increments and decrements

    Introducing: Atomic numeric operations

    A new Database feature that lets you increment or decrement numeric fields directly on the server, without fetching the full document. It’s fast, safe, bandwidth-efficient, and concurrency-friendly.

    Before this feature, updating a number meant fetching the entire document, modifying it on the client, and writing it back, a process prone to race conditions, unnecessary bandwidth use, and extra logic to handle edge cases.

    With Atomic numeric operations, you simply send a delta (like +1 or -3), and Appwrite applies the update atomically on the server. No full document reads, no conflicts, no custom logic. Just consistent, permission-aware updates that work reliably under load.

    This feature is now live for both Appwrite Cloud and Self-Hosted environments.

    Read the announcement to learn more

  • Console and deployment improvements for smoother workflows

    We've shipped several improvements to fix broken flows and clean up the developer experience across Sites, Functions, and the Appwrite Console.

    What's new

    • When creating Sites or Functions, the default Git branch now auto-suggests your GitHub default branch (not the first one).
    • Site screenshots now use the Storage API preview route.
    • The Git deployment modal now auto-fills your production branch.
    • Emails now include preview text for better notification previews.
    • Domain validation status now updates in realtime.

    Fixes

    • No more double Git deployments.
    • Git-related issues no longer cause build failures.
    • Site settings now save correctly even if the first deployment fails.
    • Deployment activation now reflects properly in realtime.
    • DB filters now work as expected.
    • Broken links to API keys path are now fixed.
    • Console no longer adds a null header when executing functions.
    • Fixed a bug where Console project URLs showed "undefined" in self-hosted environments.
    • Multiple UI alignment and responsiveness issues resolved.

    These improvements are now live on Appwrite Cloud, and we'd love to hear about your experience with them.

    Join the discussion on Discord

  • Appwrite Sites now live for everyone.

    We’re excited to announce that Appwrite Sites is now available for everyone to use.

    You can now host your websites and web apps directly from Appwrite.

    Here is a recap of everything we’ve added to Sites:

    • Static hosting: Ideal for single-page applications (SPAs), landing pages, documentation sites, and any project that compiles to static files.
    • Server-side rendering (SSR): Full support for frameworks like Flutter, React, Next.js, Nuxt, SvelteKit, Astro, Remix, and more right out of the box.
    • Git integrations: Connect your GitHub repository to enable automatic deployments on every push.
    • Deployment previews: Get a unique preview URL for each pull request—review, test, and merge with confidence.
    • Global CDN: Distribute your content worldwide with a powerful content delivery network to ensure low-latency access from anywhere.
    • DDoS protection: Built-in protection mechanisms to help safeguard your apps from denial-of-service attacks.
    • The Appwrite Network: Take advantage of many cloud regions, Points of Presence (PoPs), and edge network capabilities, reducing latency and enhancing performance globally.
    • The Appwrite DNS: Appwrite provides a dedicated DNS (Domain Name System) service through its appwrite.zone nameservers to help you manage domain records for your applications.
    • Sites templates: We created ready-to-use customizable templates that you can deploy with one click, directly from Appwrite.

    Read the announcement to learn more

  • Pricing update to Appwrite's Free plan

    Starting September 1st, 2025, the Free plan will be limited to two projects per organization. Projects will never be paused.

    What does this mean for developers on the Free plan?

    If you have more than two projects in your organization on a Free plan, you’ll have full access to all of them until the 1st of September 2025. After that, you’ll need to reduce the number of projects to two or fewer, or upgrade to a paid plan.

    You can pick which ones to keep in your Appwrite Console as of today.

    Everyone on the Free plan has received an email with detailed information. Did you not receive this email? Let us know at billing@appwrite.io.

    Keeping Appwrite sustainable

    We built Appwrite with the help of the open-source community for all developers, from students to enterprises and everything in between. Ensuring that all developers can benefit from Appwrite will always be our priority. Appwrite’s Free plan will continue to provide the tools you need to start building real apps, without compromising on core capabilities. All the core building blocks of Appwrite, Databases, Authentication, Storage, Functions, Messaging, and Sites will remain available on the Free plan.

    If you have questions, need help planning, or want to discuss custom needs, please contact us at billing@appwrite.io. We’re here to support you through the transition and ensure you can keep building without interruptions.

    Thank you for being part of this journey with us.

  • Announcing Auto-increment support: Built-in numeric sequencing for your documents

    We're excited to introduce a new Database feature: Auto-increment support.

    This new feature automatically handles a $sequence column in your collection that increments with each new document insertion. This ensures your data remains ordered without additional manual overhead.

    Auto-increment is perfect for use cases like:

    • Paginated data sets
    • Invoice numbers and activity logs
    • Ordered timelines

    Read the announcement to learn more

  • Announcing Encrypted string attribute support: Built-in encryption for sensitive fields

    We’re adding another layer of security to the Appwrite database: Encrypted string attribute support.

    Now you can mark sensitive fields, like full names, admin notes, or IP addresses, to be encrypted at rest, without writing a single line of encryption logic.

    Key Features:

    • Server-side AES-128-GCM encryption
    • Non-queryable for added protection
    • Simple setup via Appwrite Console

    Available on Appwrite Cloud Pro and Scale plan, and self-hosted.

    Read the announcement to learn more

  • Announcing Database Upsert: Simplify your database interactions

    We're excited to introduce Database Upsert in Appwrite.

    You can now create or update a document in a single API call. If the document does not exist, it is created. If it does, it is updated. The server handles all the logic for you.

    This feature can help reduce the number of network calls and allow race-free writes, simplifying your database interactions overall.

    Read the announcement to learn more

  • Announcing Bulk API: Handle heavy data workloads with ease

    We're excited to introduce another Appwrite Databases feature, Bulk API.

    Previously, writing or modifying large amounts of data in Appwrite Databases required sending one request per document.

    With the new Bulk API, you can create, update, or delete multiple documents in one go, vastly speeding up your workflows and reducing network overhead.

    Read the announcement to learn more

  • Announcing: Document imports from CSV files

    We're introducing a new way to populate your Appwrite databases: document imports from CSV files.

    Using this feature, you can now import documents into your database using just a CSV file without any custom scripts.

    Whether you’re:

    • Migrating data from another tool
    • Seeding test environments
    • Importing FAQs, inventory, or structured content

    You can do it all with a simple CSV file.

    Read the announcement to learn more

  • Introducing Type generation: Automate your type definitions with Appwrite

    Manually creating and maintaining complex type definitions can be tedious, error-prone, and time-consuming.

    With Type generation, Appwrite does the heavy lifting for you. Automatically generate accurate and up-to-date type definitions, ensuring your code always syncs with your database schema.

    Read the announcement to learn more

  • Announcing File Tokens: secure file sharing without the hassle

    Until now, sharing files from Appwrite often meant navigating permissions, managing access, or making files public, even when all you wanted was to send a file to someone outside your project. We introduce a new feature that will make file sharing a whole lot easier.

    Introducing File Tokens.

    This feature lets you share files easily and securely**,** without modifying permissions or changing project access. Just generate a token and share the link.

    Read the announcement to learn more

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