Skip to content
Sites Hackathon is live / Aug 29 - Sep 12

Changelog

  • 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

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
  • Scale

    From
    $599
    /month

    For teams that handle more complex and large projects and need more control and support.

    Start building
  • Enterprise

    Custom

    For enterprises that need more power and premium support.

    Contact us