After months of hard work, +1,800 commits, 650+ pull-requests, and lots of new contributors joining the Appwrite community, we’re excited to announce the release of Appwrite 0.7, our biggest ever release. The new Appwrite version includes over 100 new features, bug fixes, upgrades and security patches, and some major features like Cloud Functions and the new Appwrite CLI.
Cloud Functions is probably the most significant update of the new release. With the new service, you can now quickly deploy your custom backend code to customize your Appwrite server. You can deploy your code using both the Appwrite dashboard our the new Appwrite CLI and execute it using the API, specific system event, predefined schedule, or even from your dashboard.
As per the Appwrite agenda to create a cross-platform solution that is not restricted to a client, server, or coding language, the new service will support seven execution environments, including Node.js, Deno, Ruby, Python, PHP, .NET, and Dart (with more to come soon)!
We’ve also exposed a lot of new environment variables to allow you to customize your server setup to your exact needs. You can learn more about Cloud Functions solution in our tutorials and the new API specs available on the Appwrite documentation. Our team and the community have also created multiple examples in different languages to use as examples and inspiration for designing new Cloud Functions.
Another big addition to the Appwrite stack we’re extremely excited about is the new Appwrite CLI. The Appwrite CLI allows you to interact with the Appwrite server-side APIs and perform server-side tasks quickly using your terminal. A few examples of these tasks including managing resources (documents, files, users), executing and packaging Cloud Functions, and any other operation available through the Appwrite API.
Like with any of our other SDKs, we’ve worked hard to make sure you get that same Appwrite experience. If you’ve used a previous Appwrite SDK, using the new CLI should be a breeze. Besides having a tool for interacting with Appwrite from your terminal, the CLI is also great for integrating Appwrite easily as part of your CI process.
You can install and learn how to use the new CLI in the new dedicate section on the Appwrite documentation.
Huge Performance Boost
Performance is one of the main focuses for the Appwrite team, and starting from version 0.7, you’ll notice a huge boost from the Appwrite API thanks to some internal work our team has done with the Appwrite HTTP server. Some of our tests indicate a ~90% improvement for requests per second compared to version 0.6. In the next few days, we’ll share some public benchmarks to show the difference with more insight about the changes that made this boost possible.
Performance is a huge part of our roadmap, and in the next few releases, we’re going to focus on some more areas to make the Appwrite server even faster on different endpoints and operations. As part of this process, we’ll also automate our benchmarking and share the results on a dedicated platform.
As mentioned above, we really care about performance and are investing heavily in the release of Appwrite 1.0. As part of that effort, the new version will introduce Brotli compression support in our HTTP API. Version 0.6 of Appwrite introduced supports in HTTP 2.0, and together with Brotli compression, the Appwrite response time is expected to be even better.
If you’re new to Brotli, it is a compression algorithm developed by Google optimized for the compression of API and web traffic. Some benchmarks show 14%-21% reduced network traffic with Brotli compared to the classic GZIP.
We have extended our microservices architecture for better scalability and visibility. Each Appwrite process is now a standalone container that has independent logs and rescue usage metrics. The adds lots of observability to your system and makes bugs or bottlenecks easier to detect and debug. In v0.7, the entire Appwrite stack has migrated to Alpine OS base images, resulting in much smaller image sizes and better usage of Docker caching. ARM support is almost in the works, and we plan to introduce multi-architecture support by the next Appwrite release.
The Appwrite Doctor
Inspired by the awesome Flutter Doctor, we’re happy to introduce the Appwrite equivalent. Like the Flutter command, the Appwrite Doctor allows you to debug and analyze your server health quickly.
Using a single terminal command, you will get a full report of your Appwrite server health status. Besides telling you what might not work well on your server, the new command will also tell you whether your server settings are optimal and aligned with some of Appwrite best practices.
You can learn more about the Appwrite doctor and other useful methods to debug your Appwrite server in our dedicated debugging docs.
Support for Flutter Web
Appwrite 0.7, and the new Appwrite Flutter SDK 0.3.0 have added support for Flutter Web. To build web apps that integrate with Appwrite successfully, all you have to do is add a web platform on your Appwrite project’s dashboard and list the domain your website will use to allow communication to the Appwrite API.
We’ve already started working on adding Flutter Desktop support for macOS, Linux and Windows, and we hope to share some exciting news with Flutter fans very soon.
The list of changes and upgrades is indeed long, and it will be best if you’d head over to our change-log to learn more about all the cool new stuff waiting for you in the new Appwrite release. Over the next few days and weeks, we’ll release features spotlight, new tutorials, and use cases of how you can use the new features to maximize your Appwrite stacks.
After you got yourself a copy of the new version of the Appwrite server, you can check some of our getting started guides for Web, Flutter, or Server, and visit our Discord community where we chat about Appwrite non-stop with over 1,200 fellow Appwriters.
If you’re excited about this release, you should probably also track what is coming up next by visiting our Github projects. You can also ask for new features on our Github issues and go over our upcoming feature specs on the Appwrite RFCs repository.