Back to blog

See what is new with Appwrite 1.5

Here is a recap off all announcements for Appwrite 1.5.

Appwrite just finished its release announcements for version 1.5 with a week of celebration called Init_, so here's the TLDR on all the announcements we made last week.

Day 0 - Messaging

A new product that allows you to send SMS, email, and push notifications through a variety of 3rd party providers such as Twilio, APNS, Firebase cloud messaging, Vonage, Sendgrid, Mailgun, and more.

With just a few lines of backend code, you can set up a full-functioning messaging service under one unified platform.

TypeScript
messaging.createSms(
    '6541...ea30',
    'Thanks for signing up!',
    ['65415281565570ca1f9c'],
);

With messaging, we also have a fully functional interface for organizing messages, recipients and providers all directly from the console

Messaging Console

Day 1 - SSR

Improved support for server-side rendering authentication patterns. Appwrite was optimized for CSR before the 1.5 release, and now we've added official methods and patterns for using Appwrite authentication with popular frameworks like NextJS, Svelte kit, Nuxt, and others like them.

The big change was that Appwrite now allows you to generate and access sessions server side to set session cookies and use these sessions to authorize future requests.

TypeScript
const session = account.createEmailPasswordSession(email, password)
console.log(session.secret) // Output: 'eyJpZCI...sdfahfkjjy'

Using the new setSession method, we can now retrieve a session secret from our cookies and authorize users to perform authenticated request to our server.

TypeScript
client.setSession(session.secret)
const currentUser = await account.get()

Day 2 - 2FA

With the addition of Two-factor authentication, you can now require users to provide a second authentication factor by choosing between a one-time code sent via phone, email, or TOTP with an authenticator app.

Implementing Two-factor authentication is as easy as creating a challenge using the createChalenge method, which will generate a one-time code, and solving the challenge with the updateChallenge method using the one-time code you received.

TypeScript
const challenge = await account.createChallenge('email')
const challengeId = challenge.$id

account.updateChallenge(challengeId, 'challengeCode'])

Day 3 - Database Operators

Two new database operators for more control and flexibility when writing queries.

  • contains - partial text matches on string attributes, array element matching on array attributes

  • or - write logical OR queries

TypeScript
Query.contains('content', ['happy', 'love'])

Query.or([
    Query.contains('name','ivy'),
    Query.greaterThan('age',30)
  ])

In addition to these key announcements, Appwrite announced Enum SDK support and the addition of more updated runtimes to the Appwrite ecosystem.

Content list

You can find all the official release announcements and documentation for each day of the week below

Day 0: Messaging

Day 1: SSR

Day 2: 2FA & Enum SDK support

Day 3: Database Operators

Day 4: New runtimes

Join us on Discord to be part of the discussion, view our blog and YouTube channel, or visit our GitHub repository to see our open-source code.

Subscribe to our newsletter

Sign up to our company blog and get the latest insights from Appwrite. Learn more about engineering, product design, building community, and tips & tricks for using Appwrite.