From 51618cf9c1b3ec7fca31d387efdeee9b5fb85fa9 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Tue, 2 Jun 2026 20:35:34 +0530 Subject: [PATCH 01/71] Update docs and blogs for tables and rows terminology --- src/partials/auth-security.md | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 68 +-- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 4 +- .../+page.markdoc | 26 +- .../+page.markdoc | 8 +- .../+page.markdoc | 2 +- .../agentic-ai-vs-generative-ai/+page.markdoc | 2 +- .../blog/post/ai-crystal-ball/+page.markdoc | 124 ++-- .../ai-vibe-coding-insights/+page.markdoc | 4 +- .../+page.markdoc | 62 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 60 +- .../+page.markdoc | 32 +- .../announcing-bigint-columns/+page.markdoc | 2 +- .../post/announcing-bulk-api/+page.markdoc | 40 +- .../post/announcing-csv-export/+page.markdoc | 4 +- .../post/announcing-csv-imports/+page.markdoc | 36 +- .../+page.markdoc | 6 +- .../+page.markdoc | 14 +- .../announcing-database-upsert/+page.markdoc | 38 +- .../+page.markdoc | 32 +- .../+page.markdoc | 35 +- .../post/announcing-go-support/+page.markdoc | 19 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 8 +- .../+page.markdoc | 14 +- .../announcing-transactions-api/+page.markdoc | 2 +- .../+page.markdoc | 16 +- .../+page.markdoc | 8 +- .../+page.markdoc | 8 +- .../+page.markdoc | 2 +- .../appwrite-functions-guide/+page.markdoc | 5 +- .../blog/post/appwrite-indexes/+page.markdoc | 19 +- .../post/appwrite-query-api/+page.markdoc | 2 +- .../+page.markdoc | 84 +-- .../+page.markdoc | 5 +- .../+page.markdoc | 16 +- .../+page.markdoc | 2 +- .../+page.markdoc | 4 +- .../post/backend-as-a-service/+page.markdoc | 2 +- .../+page.markdoc | 4 +- .../best-pagination-technique/+page.markdoc | 64 +- .../+page.markdoc | 19 +- .../+page.markdoc | 76 +-- .../+page.markdoc | 2 +- .../+page.markdoc | 82 +-- .../post/build-saas-waitlist/+page.markdoc | 4 +- .../building-custom-auth-flows/+page.markdoc | 14 +- .../building-init-giveaway-app/+page.markdoc | 56 +- .../post/bun-function-resume/+page.markdoc | 2 +- .../blog/post/ccpa-vs-gdpr/+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 12 +- .../+page.markdoc | 2 +- .../ci-cd-examples-in-appwrite/+page.markdoc | 28 +- .../blog/post/claude-design/+page.markdoc | 2 +- .../post/claude-mythos-preview/+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../compliant-architectures/+page.markdoc | 4 +- src/routes/blog/post/cors-error/+page.markdoc | 4 +- .../+page.markdoc | 2 +- .../customer-stories-smartbee/+page.markdoc | 8 +- .../post/customer-stories-undo/+page.markdoc | 2 +- .../customer-story-socialaize/+page.markdoc | 6 +- .../+page.markdoc | 8 +- .../developer-tools-appwrite/+page.markdoc | 10 +- .../+page.markdoc | 52 +- .../post/easiest-file-uploads/+page.markdoc | 2 +- .../+page.markdoc | 66 +-- .../+page.markdoc | 12 +- .../+page.markdoc | 16 +- .../+page.markdoc | 8 +- .../+page.markdoc | 8 +- .../+page.markdoc | 2 +- .../blog/post/google-oauth-expo/+page.markdoc | 17 +- .../hacktoberfest-ideas-2024/+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../hooks-appwrite-databases/+page.markdoc | 8 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 4 +- .../+page.markdoc | 25 +- .../+page.markdoc | 52 +- .../+page.markdoc | 2 +- .../+page.markdoc | 30 +- .../post/image-classification/+page.markdoc | 2 +- .../post/improve-devex-dev-keys/+page.markdoc | 24 +- .../+page.markdoc | 8 +- .../+page.markdoc | 4 +- .../+page.markdoc | 22 +- .../+page.markdoc | 20 +- .../+page.markdoc | 18 +- .../post/messaging-explained/+page.markdoc | 34 +- .../+page.markdoc | 10 +- .../blog/post/new-string-types/+page.markdoc | 80 +-- .../post/offline-first-journal/+page.markdoc | 28 +- .../open-source-contributors-16/+page.markdoc | 2 +- .../+page.markdoc | 4 +- .../personal-chatbot-gpt-4o/+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../product-update-august-2025/+page.markdoc | 16 +- .../+page.markdoc | 3 +- .../product-update-jan-2025/+page.markdoc | 2 +- .../product-update-july-2025/+page.markdoc | 28 +- .../post/product-update-june/+page.markdoc | 4 +- .../product-update-september/+page.markdoc | 12 +- .../post/react-protected-routes/+page.markdoc | 47 +- .../save-weeks-managed-backends/+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 4 +- .../setting-up-google-signin/+page.markdoc | 12 +- .../simplify-messaging-twilio/+page.markdoc | 14 +- .../+page.markdoc | 54 +- .../+page.markdoc | 4 +- .../+page.markdoc | 7 +- .../+page.markdoc | 2 +- .../+page.markdoc | 2 +- .../+page.markdoc | 6 +- .../+page.markdoc | 2 +- .../+page.markdoc | 82 +-- .../uber-clone-nextjs-appwrite/+page.markdoc | 4 +- .../understand-data-queries/+page.markdoc | 40 +- .../post/using-nextjs-wrong/+page.markdoc | 6 +- .../+page.markdoc | 6 +- .../+page.markdoc | 2 +- .../database-reads-and-writes/+page.markdoc | 2 +- .../platform/permissions/+page.markdoc | 47 +- .../production/backups/+page.markdoc | 2 +- .../tutorials/object-detection/+page.markdoc | 9 +- .../products/auth/custom-token/+page.markdoc | 8 +- .../docs/products/auth/labels/+page.markdoc | 22 +- .../products/auth/magic-url/+page.markdoc | 8 +- .../products/auth/multi-tenancy/+page.markdoc | 52 +- .../products/auth/preferences/+page.markdoc | 8 +- .../auth/server-side-rendering/+page.markdoc | 12 +- .../products/auth/team-invites/+page.markdoc | 60 +- .../docs/products/auth/teams/+page.markdoc | 16 +- .../products/avatars/qr-codes/+page.markdoc | 4 +- .../docs/products/databases/+layout.svelte | 2 +- .../atomic-numeric-operations/+page.markdoc | 52 +- .../databases/bulk-operations/+page.markdoc | 42 +- .../databases/csv-imports/+page.markdoc | 2 +- .../databases/databases/+page.markdoc | 2 +- .../databases/operators/+page.markdoc | 126 ++-- .../databases/pagination/+page.markdoc | 40 +- .../products/databases/queries/+page.markdoc | 173 +++--- .../databases/quick-start/+page.markdoc | 4 +- .../databases/relationships/+page.markdoc | 20 +- .../products/databases/rows/+page.markdoc | 15 +- .../products/databases/tables/+page.markdoc | 2 +- .../timestamp-overrides/+page.markdoc | 552 +++++++++--------- .../databases/transactions/+page.markdoc | 4 +- .../products/functions/develop/+page.markdoc | 26 +- .../products/functions/examples/+page.markdoc | 18 +- .../products/functions/execute/+page.markdoc | 32 +- .../products/messaging/apns/+page.markdoc | 32 +- .../docs/products/messaging/fcm/+page.markdoc | 20 +- .../products/messaging/mailgun/+page.markdoc | 84 +-- .../products/messaging/messages/+page.markdoc | 160 ++--- .../products/messaging/msg91/+page.markdoc | 60 +- .../send-email-messages/+page.markdoc | 142 +++-- .../messaging/send-sms-messages/+page.markdoc | 104 ++-- .../products/messaging/sendgrid/+page.markdoc | 46 +- .../products/messaging/smtp/+page.markdoc | 96 +-- .../products/messaging/telesign/+page.markdoc | 64 +- .../messaging/textmagic/+page.markdoc | 64 +- .../products/messaging/topics/+page.markdoc | 29 +- .../products/messaging/twilio/+page.markdoc | 60 +- .../products/messaging/vonage/+page.markdoc | 60 +- .../products/network/caching/+page.markdoc | 20 +- .../network/compression/+page.markdoc | 28 +- .../products/storage/buckets/+page.markdoc | 2 +- .../docs/quick-starts/apple/+page.markdoc | 2 +- src/routes/docs/quick-starts/go/+page.markdoc | 12 +- src/routes/docs/quick-starts/go/prompt.md | 10 +- .../ai/agents/antigravity/+page.markdoc | 4 +- .../ai/agents/claude-code/+page.markdoc | 4 +- .../tooling/ai/agents/codex/+page.markdoc | 4 +- .../tooling/ai/agents/opencode/+page.markdoc | 4 +- .../tooling/ai/agents/vscode/+page.markdoc | 4 +- .../tooling/ai/agents/windsurf/+page.markdoc | 4 +- .../vibe-coding/claude-desktop/+page.markdoc | 4 +- .../ai/vibe-coding/emergent/+page.markdoc | 6 +- .../ai/vibe-coding/zenflow/+page.markdoc | 4 +- .../command-line/commands/+page.markdoc | 2 +- .../command-line/installation/+page.markdoc | 2 +- .../tooling/command-line/tables/+page.markdoc | 8 +- .../resources/webhooks/+page.markdoc | 2 +- .../tutorials/nextjs/step-4/+page.markdoc | 4 +- .../tutorials/nextjs/step-6/+page.markdoc | 24 +- .../+page.markdoc | 8 +- .../+page.markdoc | 8 +- .../lemon-squeezy-payments/+page.markdoc | 2 +- .../replication-rxdb/+page.markdoc | 22 +- .../integrations/search-algolia/+page.markdoc | 20 +- .../stripe-payments/+page.markdoc | 4 +- 204 files changed, 2466 insertions(+), 2326 deletions(-) diff --git a/src/partials/auth-security.md b/src/partials/auth-security.md index 25a18f44e6..354f1a685e 100644 --- a/src/partials/auth-security.md +++ b/src/partials/auth-security.md @@ -23,7 +23,7 @@ You can change the session limit in the **Security** tab of the Auth Service in Security is very important to protect users' data and privacy. Appwrite uses a [permissions model](/docs/advanced/platform/permissions) coupled with user sessions to ensure users need correct permissions to access resources. -With all Appwrite services, including databases and storage, access is granted at the collection, bucket, document, or file level. +With all Appwrite services, including databases and storage, access is granted at the table, bucket, row, or file level. These permissions are enforced for client SDKs and server SDKs when using JWT, but are ignored when using a server SDK with an API key. # Password history {% #password-history %} diff --git a/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc b/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc index acbef39aa7..bef4618f3d 100644 --- a/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc +++ b/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc @@ -150,7 +150,7 @@ A backend that ships all seven under one model is the difference between a weeke [Appwrite Cloud](https://cloud.appwrite.io) is shaped for this exact list. - [Auth](/docs/products/auth) handles email and password, OAuth, magic URL, email and phone OTP, MFA, sessions, and [Teams](/docs/products/auth/teams) for the multi-user ideas. -- [Databases](/docs/products/databases) cover tables, typed columns, rows, relationships, queries, transactions, and per-document permissions. +- [Databases](/docs/products/databases) cover tables, typed columns, rows, relationships, queries, transactions, and row-level permissions. - [Storage](/docs/products/storage) gives you buckets with size and MIME limits, antivirus, encryption, image transformations, and signed URLs. - [Functions](/docs/products/functions) cover server-side logic in Node, Python, Go, PHP, Dart, Ruby, Deno, Rust, and more, with execution logs, env vars, CRON triggers, and event triggers. - [Sites](/docs/products/sites) hosts the frontend with custom domains, env vars, rollbacks, and build logs. diff --git a/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc b/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc index 488dcb0193..80801a7004 100644 --- a/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc +++ b/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc @@ -16,7 +16,7 @@ faqs: - question: "How does the Go runtime compare to Node.js or Python in Appwrite Functions?" answer: "In Appwrite's internal benchmarks, the Go runtime had up to 3x faster cold starts and roughly 5x lower memory usage than several interpreted runtimes including Node.js, Deno, Ruby, and Python. Build times can be slower because Go is compiled, but the runtime performance gains usually pay off for production workloads." - question: "Can I trigger Go Appwrite Functions from events?" - answer: "Yes. Like every Appwrite Function, a Go function can be triggered by HTTP requests, CRON schedules, or events emitted by Appwrite products (user creation, document changes, file uploads, etc.). The event payload is delivered to your handler so you can route on it." + answer: "Yes. Like every Appwrite Function, a Go function can be triggered by HTTP requests, CRON schedules, or events emitted by Appwrite products (user creation, row changes, file uploads, etc.). The event payload is delivered to your handler so you can route on it." - question: "How do I deploy a Go Appwrite Function via CI/CD?" answer: "Connect your GitHub repository to your function in the Appwrite console and pick a branch. Every push to that branch triggers a new build and deployment automatically. You can also deploy from the Appwrite CLI by running `appwrite push functions` from your local project." - question: "Can I develop Appwrite Go functions locally before deploying?" @@ -38,11 +38,11 @@ Our Go runtime (just like our other runtimes) has been developed by our team and ## Event-driven nature -Appwrite Functions can be executed by various types of events, which allows you to integrate them into your applications in many different ways. These events include all HTTP actions (to consume like a REST API), CRON schedules (to run them on set time periods), and any events across the various Appwrite products in your project (for example, user creation, document deletion, or file upload). +Appwrite Functions can be executed by various types of events, which allows you to integrate them into your applications in many different ways. These events include all HTTP actions (to consume like a REST API), CRON schedules (to run them on set time periods), and any events across the various Appwrite products in your project (for example, user creation, row deletion, or file upload). ## Global environment variables -Aside from environment variables at the function level, Appwrite also allows you to environment variables at the project level so that they can be shared across multiple functions in a single project. +Aside from environment variables at the function level, Appwrite also allows you to environment variables at the project level so that they can be shared across multiple functions in a single project. ## Permissions system @@ -64,7 +64,7 @@ Once your function is set up, we can try some examples: ## Example 1: AI Chatbot using GPT-3.5 -The first example is a simple chatbot function that accepts a prompt in the request body and returns an answer in the response from the ChatGPT API. +The first example is a simple chatbot function that accepts a prompt in the request body and returns an answer in the response from the ChatGPT API. To do this, we must first add the `go-openai` dependency to our project’s `mod` file. @@ -151,7 +151,7 @@ You can then deploy this function using the `appwrite deploy function` command. ## Example 2: HTML Resume -The second example is an online HTML-based resume that you can deliver online through the function. +The second example is an online HTML-based resume that you can deliver online through the function. For this, the first thing we do is create a `static` directory in the function folder and add a file, `resume.html` with the contents of our resume. You can [copy our template](https://github.com/appwrite-community/go-function-examples/blob/main/functions/go-resume/static/resume.html) if you’d like. @@ -191,7 +191,7 @@ You can then deploy this function using the `appwrite deploy function` command. ## Example 3: URL Shortener -The third example is a personal URL shortener that stores your shortened URL path and long URL in an Appwrite Database and redirects the consumer to the appropriate long URL on pinging the shortened URL. +The third example is a personal URL shortener that stores your shortened URL path and long URL in an Appwrite database table and redirects the consumer to the appropriate long URL on pinging the shortened URL. To build this function, create a `services` directory in the function folder and add a file `setup.go`. Here, we will add the necessary functions to initialize our Appwrite database. @@ -199,62 +199,62 @@ To build this function, create a `services` directory in the function folder and package services import ( - "github.com/appwrite/sdk-for-go/databases" "github.com/appwrite/sdk-for-go/permission" + "github.com/appwrite/sdk-for-go/tablesdb" "github.com/open-runtimes/types-for-go/v4/openruntimes" ) -func DoesDatabaseExist(dbs databases.Databases, dbId string) bool { - _, err := dbs.Get(dbId) +func DoesDatabaseExist(tablesDB tablesdb.TablesDB, dbId string) bool { + _, err := tablesDB.Get(dbId) if err != nil { return false } return true } -func DoesCollectionExist(dbs databases.Databases, dbId string, collId string) bool { - _, err := dbs.GetCollection(dbId, collId) +func DoesTableExist(tablesDB tablesdb.TablesDB, dbId string, tableId string) bool { + _, err := tablesDB.GetTable(dbId, tableId) if err != nil { return false } return true } -func DoesAttributeExist(dbs databases.Databases, dbId string, collId string, attribId string) bool { - _, err := dbs.GetAttribute(dbId, collId, attribId) +func DoesColumnExist(tablesDB tablesdb.TablesDB, dbId string, tableId string, columnId string) bool { + _, err := tablesDB.GetColumn(dbId, tableId, columnId) if err != nil { return false } return true } -func InitialiseDatabase(Context openruntimes.Context, dbs databases.Databases, dbId string, collId string) { - doesDbExist := DoesDatabaseExist(dbs, dbId) +func InitialiseDatabase(Context openruntimes.Context, tablesDB tablesdb.TablesDB, dbId string, tableId string) { + doesDbExist := DoesDatabaseExist(tablesDB, dbId) if !doesDbExist { - dbs.Create( + tablesDB.Create( dbId, "URL Databases", ) } - doesCollExist := DoesCollectionExist(dbs, dbId, collId) - if !doesCollExist { - dbs.CreateCollection( + doesTableExist := DoesTableExist(tablesDB, dbId, tableId) + if !doesTableExist { + tablesDB.CreateTable( dbId, - collId, + tableId, "URLs", - dbs.WithCreateCollectionPermissions([]string{permission.Read("any")}), + tablesDB.WithCreateTablePermissions([]string{permission.Read("any")}), ) } - doesAttribExist := DoesAttributeExist(dbs, dbId, collId, "longUrl") - if !doesAttribExist { - dbs.CreateUrlAttribute( + doesColumnExist := DoesColumnExist(tablesDB, dbId, tableId, "longUrl") + if !doesColumnExist { + tablesDB.CreateUrlColumn( dbId, - collId, + tableId, "longUrl", true, - dbs.WithCreateUrlAttributeArray(false), + tablesDB.WithCreateUrlColumnArray(false), ) } } @@ -289,12 +289,12 @@ func Main(Context openruntimes.Context) openruntimes.Response { appwrite.WithKey(Context.Req.Headers["x-appwrite-key"]), ) - databases := appwrite.NewDatabases(client) + tablesDB := appwrite.NewTablesDB(client) dbId := "urlDatabase" - collId := "urlCollection" + tableId := "urlTable" - services.InitialiseDatabase(Context, *databases, dbId, collId) + services.InitialiseDatabase(Context, *tablesDB, dbId, tableId) if Context.Req.Method == "POST" { var requestBody RequestBody @@ -307,9 +307,9 @@ func Main(Context openruntimes.Context) openruntimes.Response { }, Context.Res.WithStatusCode(400)) } - _, err = databases.CreateDocument( + _, err = tablesDB.CreateRow( dbId, - collId, + tableId, requestBody.ShortId, map[string]interface{}{ "longUrl": requestBody.LongUrl, @@ -339,7 +339,7 @@ func Main(Context openruntimes.Context) openruntimes.Response { shortId := path[1:] - document, err := databases.GetDocument(dbId, collId, shortId) + row, err := tablesDB.GetRow(dbId, tableId, shortId) if err != nil { Context.Error(err) @@ -347,7 +347,7 @@ func Main(Context openruntimes.Context) openruntimes.Response { } var responseBody ResponseBody - document.Decode(&responseBody) + row.Decode(&responseBody) return Context.Res.Redirect(responseBody.LongUrl, Context.Res.WithStatusCode(302)) } @@ -358,7 +358,7 @@ func Main(Context openruntimes.Context) openruntimes.Response { You can then deploy this function using the `appwrite deploy function` command. -After deployment, go to the Settings tab on the Function page in your Appwrite project and enable the following scopes for the dynamic API key: `databases.read`, `databases.write`, `collections.read`, `collections.write`, `attributes.read`, `attributes.write`, `documents.read`, `documents.write`, +After deployment, go to the Settings tab on the Function page in your Appwrite project and enable the following scopes for the dynamic API key: `databases.read`, `databases.write`, `tables.read`, `tables.write`, `columns.read`, `columns.write`, `rows.read`, `rows.write`, # More resources diff --git a/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc b/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc index 982a613f03..d3b9f23693 100644 --- a/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc +++ b/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc @@ -104,7 +104,7 @@ The second prompt gives the model a language, a framework, specific libraries, e The developers getting the most out of AI tools aren't the ones who use it the most. They're the ones who've learned to communicate precisely. Prompting is a communication skill. The better you get at it, the more leverage you get from every AI tool in your workflow. -If you're building applications with AI features and want a backend that keeps up, [Appwrite](https://appwrite.io) gives you auth, databases, storage, and serverless functions in one platform. Appwrite also works with the [Model Context Protocol](/docs/tooling/mcp), so your AI assistant can interact directly with your backend, creating collections, querying data, and managing functions through natural language. It's a practical way to pair better prompting with better tooling. +If you're building applications with AI features and want a backend that keeps up, [Appwrite](https://appwrite.io) gives you auth, databases, storage, and serverless functions in one platform. Appwrite also works with the [Model Context Protocol](/docs/tooling/mcp), so your AI assistant can interact directly with your backend, creating tables, querying data, and managing functions through natural language. It's a practical way to pair better prompting with better tooling. # More resources - [Appwrite MCP server](/docs/tooling/mcp) diff --git a/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc b/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc index cbe6fe825e..42eb50cf42 100644 --- a/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc +++ b/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc @@ -16,7 +16,7 @@ faqs: - question: "How does Appwrite help with GDPR compliance?" answer: "Appwrite hashes passwords with Argon2, encrypts data in transit over TLS, supports MFA on [Appwrite Auth](/docs/products/auth), and lets you delete user accounts (and their data) on request. Appwrite Cloud also offers EU regions so personal data of EU users can stay within the EU, simplifying data transfer compliance." - question: "What is the right to be forgotten and how do I implement it?" - answer: "Users have the right to request deletion of their personal data. In Appwrite, you can delete a user via the Users API, which removes their identity record. You still need to delete documents, files, and other user-tied records in your collections and buckets, which you can do in an [Appwrite Function](/docs/products/functions) triggered by the user deletion event." + answer: "Users have the right to request deletion of their personal data. In Appwrite, you can delete a user via the Users API, which removes their identity record. You still need to delete rows, files, and other user-tied records in your tables and buckets, which you can do in an [Appwrite Function](/docs/products/functions) triggered by the user deletion event." - question: "Do I need a Data Processing Agreement (DPA) with my backend provider?" answer: "Yes. If your backend provider processes personal data on your behalf, GDPR requires a DPA. Appwrite Cloud customers can request a DPA covering Appwrite's role as a data processor. Self-hosted Appwrite means you are processor and controller for your own data." - question: "How quickly must I report a data breach under GDPR?" diff --git a/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc b/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc index 294ae13e7a..7d7a3cceec 100644 --- a/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc +++ b/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc @@ -17,7 +17,7 @@ faqs: - question: "What is Claude Projects?" answer: "Projects is a feature in Claude that lets the model retain context across sessions. You can give it background about your codebase, your team's conventions, and the constraints you work under, and it carries that forward into every conversation inside the project. This removes the repetitive setup of re-explaining your stack at the start of each chat." - question: "What is the Model Context Protocol (MCP) in Claude?" - answer: "MCP gives Claude the ability to connect to external systems like databases, APIs, and services, and actually act on them rather than just describing what it would do. With the Appwrite MCP server, for example, Claude can create users, query collections, manage storage, and trigger functions directly inside an Appwrite project." + answer: "MCP gives Claude the ability to connect to external systems like databases, APIs, and services, and actually act on them rather than just describing what it would do. With the Appwrite MCP server, for example, Claude can create users, query tables, manage storage, and trigger functions directly inside an Appwrite project." - question: "Can Claude analyze images and generate code from them?" answer: "Yes. Claude understands images and can take screenshots of UIs, mockups, diagrams, or schemas drawn on a whiteboard, then describe what it sees and generate code to match. This is useful for design-to-code workflows, where a Figma screenshot or screen recording of a broken UI can produce a matching layout or pinpoint where the CSS is off." - question: "What is Claude Code?" @@ -64,7 +64,7 @@ It's worth trying for tasks that would normally take you an afternoon of focused The **Model Context Protocol (MCP)** gives Claude the ability to connect to external systems, your database, your APIs, your services, and actually interact with them. Not just describe what it would do, but do it. -With the [Appwrite MCP server](/docs/tooling/mcp), for example, Claude can create users, query collections, manage storage, and trigger functions directly inside your Appwrite project. You describe what you need in plain language, and Claude handles the operation. No copy-pasting API responses. No switching tabs to check the console. +With the [Appwrite MCP server](/docs/tooling/mcp), for example, Claude can create users, query tables, manage storage, and trigger functions directly inside your Appwrite project. You describe what you need in plain language, and Claude handles the operation. No copy-pasting API responses. No switching tabs to check the console. This is what [agentic AI](/blog/post/agentic-ai-vs-generative-ai) actually looks like in practice: the model connected to real systems, taking real actions. If you've only ever used Claude in a chat window, adding MCP changes the category of work it can handle. diff --git a/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc b/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc index 4093fa2388..7e92bf3222 100644 --- a/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc +++ b/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc @@ -10,17 +10,17 @@ category: tutorial featured: false faqs: - question: "Why use Meilisearch instead of Appwrite's built-in queries?" - answer: "[Appwrite Databases](/docs/products/databases) supports basic queries, including a `search` operator on indexed string columns, which is sufficient for many apps. Meilisearch adds typo tolerance, ranking, faceted filtering, and instant search-as-you-type that is a step up for product search or large content catalogues. Use the built-in queries until you hit limits, then introduce Meilisearch." + answer: "[Appwrite Databases](/docs/products/databases) supports basic queries, including a `search` operator on indexed text columns, which is sufficient for many apps. Meilisearch adds typo tolerance, ranking, faceted filtering, and instant search-as-you-type that is a step up for product search or large content catalogues. Use the built-in queries until you hit limits, then introduce Meilisearch." - question: "What is an Appwrite Function template?" answer: "Function templates are pre-built [Appwrite Functions](/docs/products/functions) you can deploy in a few clicks. They cover common integrations like Stripe, OpenAI, Meilisearch, and more. You configure the required environment variables, connect a Git repo, and the function is deployed and ready to call." - - question: "How does the Meilisearch sync function stay in sync with new documents?" - answer: "By default the template syncs documents on demand when the function runs. To keep the index up to date automatically, configure the function to trigger on database events (document.create, document.update, document.delete) so every change is mirrored to Meilisearch in near real time." + - question: "How does the Meilisearch sync function stay in sync with new rows?" + answer: "By default the template syncs rows on demand when the function runs. To keep the index up to date automatically, configure the function to trigger on database row events so every change is mirrored to Meilisearch in near real time." - question: "Do I need to self-host Meilisearch to use this template?" answer: "No. Meilisearch Cloud is the easiest option and the template works against either Cloud or a self-hosted instance. You just need a Meilisearch endpoint URL, an admin API key for indexing, and a search key for client-side queries." - question: "Can I run the Meilisearch sync function on a schedule?" answer: "Yes. Appwrite Functions support CRON schedules, so you can run the sync every 5 minutes, every hour, or whatever cadence your use case needs. For most production cases, combining a periodic full sync with event-driven incremental updates gives you both consistency and freshness." - - question: "Is there a way to search documents directly in Appwrite without Meilisearch?" - answer: "Yes. Appwrite Databases supports a `Query.search` operator on string attributes that have a fulltext index. It is enough for simple search UIs. Meilisearch (or another dedicated search engine) is the right move once you need typo tolerance, custom ranking, or faceted filters." + - question: "Is there a way to search rows directly in Appwrite without Meilisearch?" + answer: "Yes. Appwrite Databases supports a `Query.search` operator on text columns that have a fulltext index. It is enough for simple search UIs. Meilisearch (or another dedicated search engine) is the right move once you need typo tolerance, custom ranking, or faceted filters." --- Function templates are pre-built Appwrite Functions that can be integrated into your Appwrite project with just a few clicks. Using them, you can easily incorporate new features and integrations into your app without writing additional code or managing infrastructure. @@ -29,14 +29,14 @@ One such integration you can implement using Appwrite Functions is **Searching** # Setting up the Template -Meilisearch is a flexible and powerful user-focused search engine that can be added to any website or application. The purpose of this function template is to sync documents in an Appwrite database collection to a Meilisearch index. Using this function template, users can explore, search, and retrieve information from the connected database collection. Through this template, documents from the Appwrite collection are systematically indexed within Meilisearch. +Meilisearch is a flexible and powerful user-focused search engine that can be added to any website or application. The purpose of this function template is to sync rows in an Appwrite database table to a Meilisearch index. Using this function template, users can explore, search, and retrieve information from the connected database table. Through this template, rows from the Appwrite table are systematically indexed within Meilisearch. To use the function, you need the following set of keys: - `APPWRITE_KEY` - API Key to talk to Appwrite backend APIs.To generate API Keys you can follow the documentation [here](https://appwrite.io/docs/getting-started-for-server#apiKey) - `APPWRITE_ENDPOINT` - To get the Appwrite endpoint, you need to go to [Appwrite](https://cloud.appwrite.io/) and find it under “Settings” -- `APPWRITE_DATABASE_ID` - The ID of the Appwrite database that contains the collection to sync. You can find the documentation [here](https://appwrite.io/docs/databases). -- `APPWRITE_COLLECTION_ID` - The ID of the collection in the Appwrite database to sync. +- `APPWRITE_DATABASE_ID` - The ID of the Appwrite database that contains the table to sync. You can find the documentation [here](/docs/products/databases). +- `APPWRITE_TABLE_ID` - The ID of the table in the Appwrite database to sync. To use Meilisearch, you can either self-host it using the command 👇 @@ -63,12 +63,12 @@ Here’s the keys you need: ![Keys](/images/blog/add-a-search-function-to-your-app/connect.avif) -- `MEILISEARCH_INDEX_NAME` - Name of the Meilisearch index to which the documents will be synchronized. For e.g, in the above picture, the Index name is `Newindex`. You can also find it under `Settings` as `Index Name`. +- `MEILISEARCH_INDEX_NAME` - Name of the Meilisearch index to which the rows will be synchronized. For e.g, in the above picture, the Index name is `Newindex`. You can also find it under `Settings` as `Index Name`. ## Preparing the Function -The function template syncs documents in an Appwrite database collection to a Meilisearch index. It should get you up and running, but you will need to add real data to build a useful search index. +The function template syncs rows in an Appwrite database table to a Meilisearch index. It should get you up and running, but you will need to add real data to build a useful search index. If you want to see the source code, you can find it on our [templates GitHub repository](https://github.com/appwrite/templates/tree/main/node/sync-with-meilisearch). Now, let’s navigate to our functions page on **[Appwrite](https://cloud.appwrite.io/)**. From there, we will select the **Templates** tab, search for and select the **Sync with Meilisearch** function template. @@ -76,7 +76,7 @@ If you want to see the source code, you can find it on our [templates GitHub re ![templates](/images/blog/add-a-search-function-to-your-app/templates.avif) -The function requires `APPWRITE_API_KEY`, `APPWRITE_DATABASE_ID`, `APPWRITE_COLLECTION_ID` , `MEILISEARCH_ENDPOINT`, `MEILISEARCH_ADMIN_API_KEY`, `MEILISEARCH_SEARCH_API_KEY`, `MEILISEARCH_INDEX_NAME`. Once you have added them you can proceed to the Connect step. +The function requires `APPWRITE_API_KEY`, `APPWRITE_DATABASE_ID`, `APPWRITE_TABLE_ID`, `MEILISEARCH_ENDPOINT`, `MEILISEARCH_ADMIN_API_KEY`, `MEILISEARCH_SEARCH_API_KEY`, `MEILISEARCH_INDEX_NAME`. Once you have added them you can proceed to the Connect step. Select **Create a new repository** (this will generate a GitHub repository for you with the function), and leave the production branch and root settings as default to create this function. @@ -97,7 +97,7 @@ Visit the **Domains** tab on the function page and copy the domain URL to test We’ve added search functionality to our app and opened up many possibilities to improve the experience of our app’s users. How can the *template* be extended ? -- Using events to automatically index new collections +- Using events to automatically index new tables - Using weights and other meilisearch features to optimise search such as excluding certain fields from indexing Some examples are: @@ -109,6 +109,6 @@ Be sure to check out the other available Function Templates. We’ve created mul For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: These documents provide more information on how to use Appwrite Functions. +1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: Learn more about how to use Appwrite Functions. 2. **[Functions Announcement](https://dev.to/appwrite/serverless-your-way-unleashing-appwrite-functions-true-potential-2l4f)**: Read the full announcement on Functions 1.4. 3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/adding-url-shortener-function/+page.markdoc b/src/routes/blog/post/adding-url-shortener-function/+page.markdoc index 4adfdecbf2..7acf1a5dc2 100644 --- a/src/routes/blog/post/adding-url-shortener-function/+page.markdoc +++ b/src/routes/blog/post/adding-url-shortener-function/+page.markdoc @@ -14,13 +14,13 @@ faqs: - question: "How do I create a custom domain for my URL shortener function?" answer: "Use the Domains tab of the function to attach a custom domain like `s.example.com`. Once configured, all generated short URLs will use that domain instead of the default Appwrite Function URL, which is what most production shorteners need." - question: "Can I add analytics or click tracking?" - answer: "Yes. Extend the template so that on each redirect it writes a row to a `clicks` collection with the timestamp, IP, referrer, and user agent. You can then query that collection (or wire it into a dashboard) for click-through rates and geographic data. The original function template intentionally keeps this minimal." + answer: "Yes. Extend the template so that on each redirect it writes a row to a `clicks` table with the timestamp, IP, referrer, and user agent. You can then query that table (or wire it into a dashboard) for click-through rates and geographic data. The original function template intentionally keeps this minimal." - question: "Where are the shortened URLs stored?" - answer: "The function template stores them as documents in an [Appwrite Databases](/docs/products/databases) collection in your project. That gives you a query-able list of all generated short URLs with their target destinations and creation timestamps." + answer: "The function template stores them as rows in an [Appwrite Databases](/docs/products/databases) table in your project. That gives you a query-able list of all generated short URLs with their target destinations and creation timestamps." - question: "Is the URL shortener function open source?" answer: "Yes, the template source code is available in the [Appwrite templates repo](https://github.com/appwrite/templates/tree/main/node/url-shortener). You can fork it, customize the slug generator, add authentication, or rewrite it in another runtime." - question: "Can I limit who can create short URLs?" - answer: "Yes. By default the function endpoint is open, but you can require an Appwrite session by reading the user context from the function execution. Combine that with permission rules on the underlying collection so only authenticated users can create entries." + answer: "Yes. By default the function endpoint is open, but you can require an Appwrite session by reading the user context from the function execution. Combine that with permission rules on the underlying table so only authenticated users can create entries." --- Appwrite Functions are user-defined functions that can start small and scale big, deploying automatically from source control. With the introduction of function templates, you can quickly add new integrations into your app without writing additional code or managing infrastructure. Function templates are pre-built Appwrite Functions that can be integrated into your Appwrite project with just a few clicks. @@ -68,6 +68,6 @@ Be sure to check out the other available Function Templates. We’ve created man For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: These documents provide more information on how to use Appwrite Functions. +1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: Learn more about how to use Appwrite Functions. 2. **[Functions Announcement](https://dev.to/appwrite/serverless-your-way-unleashing-appwrite-functions-true-potential-2l4f)**: Read the full announcement on Functions 1.4. 3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/agency-backend-standardization/+page.markdoc b/src/routes/blog/post/agency-backend-standardization/+page.markdoc index e0069082e6..d119d374ed 100644 --- a/src/routes/blog/post/agency-backend-standardization/+page.markdoc +++ b/src/routes/blog/post/agency-backend-standardization/+page.markdoc @@ -59,7 +59,7 @@ Agencies that have standardized their backend stack typically follow a pattern: 4. **Use the platform's organizational features.** Most backend platforms offer organizations, teams, or workspaces for managing multiple projects. Use them consistently so there's a clear structure that any team member can navigate. -5. **Document your patterns, not just the platform.** Your team's specific conventions (how you name collections, how you structure permissions, how you handle file uploads) should be documented alongside the platform documentation. +5. **Document your patterns, not just the platform.** Your team's specific conventions (how you name tables, how you structure permissions, how you handle file uploads) should be documented alongside the platform documentation. # Evaluating a backend platform for agency use diff --git a/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc b/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc index d785fae047..3c87d4aa3c 100644 --- a/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc +++ b/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc @@ -17,7 +17,7 @@ faqs: - question: "What role does MCP play in agentic AI?" answer: "[Model Context Protocol](/blog/post/what-is-mcp) (MCP) is a standard that lets agents connect to external tools, APIs, and data sources in a consistent way. Without MCP, every tool needs a custom integration. With it, an agent can use the same wire protocol to talk to GitHub, Appwrite, Stripe, and your internal services." - question: "How do I expose an Appwrite project to an AI agent?" - answer: "Use the [Appwrite MCP server](/docs/tooling/mcp/api). It exposes Appwrite Auth, Databases, Storage, and Functions as tools an MCP-compatible agent can call. The agent can then create users, query collections, upload files, or trigger functions as part of its plan." + answer: "Use the [Appwrite MCP server](/docs/tooling/mcp/api). It exposes Appwrite Auth, Databases, Storage, and Functions as tools an MCP-compatible agent can call. The agent can then create users, query tables, upload files, or trigger functions as part of its plan." - question: "Do I need agentic AI for my product, or is generative AI enough?" answer: "If your use case is summarization, content drafting, or chat, generative AI is usually enough. Reach for agentic systems when your task requires multiple steps, calling external systems, or adapting based on intermediate results, e.g., a research assistant, a code-writing agent, or an ops automation tool." - question: "Are agentic AI systems reliable enough for production?" diff --git a/src/routes/blog/post/ai-crystal-ball/+page.markdoc b/src/routes/blog/post/ai-crystal-ball/+page.markdoc index 69377ac672..c5321227c7 100644 --- a/src/routes/blog/post/ai-crystal-ball/+page.markdoc +++ b/src/routes/blog/post/ai-crystal-ball/+page.markdoc @@ -17,7 +17,7 @@ faqs: - question: "How do I prevent abuse of an OpenAI API key on the frontend?" answer: "Never call OpenAI directly from the client. Instead, expose your own endpoint via an [Appwrite Function](/docs/products/functions) that holds the API key server-side, validates the authenticated user, and applies rate limits. The client only ever talks to your function, not to OpenAI." - question: "How do permissions work for the shareable destiny link?" - answer: "The `destiny` collection in the post grants `read` permission to `Any` and `create` permission to `Users`, so any anonymous visitor can read a destiny by document ID but only logged-in users can create new ones. This is the standard Appwrite permission pattern for share links." + answer: "The `destiny` table in the post grants `read` permission to `Any` and `create` permission to `Users`, so any anonymous visitor can read a destiny by row ID but only logged-in users can create new ones. This is the standard Appwrite permission pattern for share links." - question: "Can I build this entirely without writing my own backend?" answer: "Largely yes. [Appwrite Functions](/docs/products/functions) hosts the OpenAI call, [Appwrite Databases](/docs/products/databases) stores the data, and [Appwrite Auth](/docs/products/auth) handles GitHub OAuth. The only piece you write is the SvelteKit frontend and the single function that talks to GPT-4." --- @@ -33,7 +33,7 @@ In order to build this application, we have a few prerequisites. We must set up - OpenAI API key - GitHub OAuth app - Appwrite OAuth adapter for GitHub -- Appwrite collections to store GitHub data and destinies +- Appwrite tables to store GitHub data and destinies ## OpenAI @@ -72,35 +72,35 @@ To implement GitHub OAuth, we must visit the **Auth** page on the Appwrite proje ## Appwrite Database -We must create a database with the ID `crystalball` and two collections with the IDs `githubData` and `destiny` in the Appwrite project with the following details: +We must create a database with the ID `crystalball` and two tables with the IDs `githubData` and `destiny` in the Appwrite project with the following details: -#### The `githubData` collection +#### The `githubData` table -Create the collection and add the following attributes: +Create the table and add the following columns: | Key | Type | Size | Required | Array | | --- | --- | --- | --- | --- | -| languages | String | 2000 | - | Yes | +| languages | Text | 2000 | - | Yes | | followers | Integer | - | Yes | - | | following | Integer | - | Yes | - | -| username | String | 255 | Yes | - | +| username | Text | 255 | Yes | - | -Visit the collection settings, enable **Document security,** and set the following (collection-level) **Permissions**: +Visit the table settings, enable **Row security,** and set the following (table-level) **Permissions**: | Role | Create | Read | Update | Delete | | --- | --- | --- | --- | --- | | Users | Yes | - | - | - | -#### The `destiny` collection +#### The `destiny` table -Create the collection and add the following attributes: +Create the table and add the following columns: | Key | Type | Size | Required | | --- | --- | --- | --- | -| destiny | String | 25000 | Yes | -| username | String | 255 | Yes | +| destiny | Text | 25000 | Yes | +| username | Text | 255 | Yes | -Visit the collection settings, enable **Document security,** and set the following (collection-level) **Permissions**: +Visit the table settings, enable **Row security,** and set the following (table-level) **Permissions**: | Role | Create | Read | Update | Delete | | --- | --- | --- | --- | --- | @@ -136,15 +136,15 @@ Lastly, we must create a `.env` file at the root of the directory and add the fo PUBLIC_APPWRITE_ENDPOINT= PUBLIC_APPWRITE_PROJECT_ID= PUBLIC_APPWRITE_DATABASE_ID= -PUBLIC_APPWRITE_COLLECTION_ID_GITHUBDATA= -PUBLIC_APPWRITE_COLLECTION_ID_DESTINY= +PUBLIC_APPWRITE_TABLE_ID_GITHUBDATA= +PUBLIC_APPWRITE_TABLE_ID_DESTINY= SECRET_OPENAI_API_KEY= ``` After the environment variables are created, we can set up the Appwrite SDK by creating a file `./src/lib/appwrite.js` and adding the following: ```js -import { Client, Account, Databases, OAuthProvider } from 'appwrite'; +import { Client, Account, TablesDB, OAuthProvider } from 'appwrite'; import { env } from '$env/dynamic/public'; const client = new Client() @@ -152,7 +152,7 @@ const client = new Client() .setProject(env.PUBLIC_APPWRITE_PROJECT_ID); export const account = new Account(client); -export const databases = new Databases(client); +export const tablesDB = new TablesDB(client); export { OAuthProvider }; ``` @@ -281,23 +281,23 @@ export const github = { } ``` -At this point, we also want to create our Database library using the Appwrite SDK, so that we can store the information from the GitHub API. For that, we shall create a file `./src/lib/databases.js` and add the following: +At this point, we also want to create our database library using the Appwrite SDK, so that we can store the information from the GitHub API. For that, we shall create a file `./src/lib/tables-db.js` and add the following: ```js import { Permission, Role, ID } from 'appwrite'; -import { databases } from './appwrite'; +import { tablesDB } from './appwrite'; import { env } from '$env/dynamic/public'; const databaseId = env.PUBLIC_APPWRITE_DATABASE_ID; -const githubDataCollectionId = env.PUBLIC_APPWRITE_COLLECTION_ID_GITHUBDATA; +const githubDataTableId = env.PUBLIC_APPWRITE_TABLE_ID_GITHUBDATA; export const db = { - getUserData: async(documentId) => { + getUserData: async(rowId) => { try{ - return await databases.getDocument({ + return await tablesDB.getRow({ databaseId, - collectionId: githubDataCollectionId, - documentId + tableId: githubDataTableId, + rowId }); } catch(err){ return false; @@ -305,10 +305,10 @@ export const db = { }, addUserData: async(userId, username, followers, following, languages) => { - return await databases.createDocument({ + return await tablesDB.createRow({ databaseId, - collectionId: githubDataCollectionId, - documentId: userId, + tableId: githubDataTableId, + rowId: userId, data: { username, followers, @@ -514,44 +514,36 @@ Since our UI has already been prepared in the previous step, we need not make an Lastly, to share our destiny with the rest of the world, we must create an additional page that gets destiny data from the Appwrite Database and displays it. For this, we must first add functions to add and get destinies from the Appwrite Database to our Database library. To do so, we visit `./src/lib/databases/js` and add the following functions to our export: ```js -. -. -. -const destinyCollectionId = env.PUBLIC_APPWRITE_COLLECTION_ID_DESTINY; - -export const db = {** -. -. -. - addDestiny: async(username, destiny) => { - return await databases.createDocument({ - databaseId, - collectionId: destinyCollectionId, - documentId: ID.unique(), - data: { - username, - destiny - } - }) - }, - - getDestiny: async(documentId) => { - try{ - return await databases.getDocument({ - databaseId, - collectionId: destinyCollectionId, - documentId - }); - } catch(err){ - return { - username: 'Not found', - destiny: 'Not found' - } - } - } -. -. -. +const destinyTableId = env.PUBLIC_APPWRITE_TABLE_ID_DESTINY; + +export const destinyDb = { + addDestiny: async (username, destiny) => { + return await tablesDB.createRow({ + databaseId, + tableId: destinyTableId, + rowId: ID.unique(), + data: { + username, + destiny + } + }); + }, + + getDestiny: async (rowId) => { + try { + return await tablesDB.getRow({ + databaseId, + tableId: destinyTableId, + rowId + }); + } catch (err) { + return { + username: 'Not found', + destiny: 'Not found' + }; + } + } +}; ``` After that, we will create a new directory `./src/routes/destiny/[slug]` and add the following @@ -624,4 +616,4 @@ The web app is still live and can be tried at the following link: [aicrystalball You can find the application’s complete source code at this [GitHub Repo](https://github.com/adityaoberai/AI-Crystal-Ball/). -[Join us on Discord](https://appwrite.io/discord) to be the first to get updates and to be part of a vibrant community! \ No newline at end of file +[Join us on Discord](https://appwrite.io/discord) to be the first to get updates and to be part of a vibrant community! diff --git a/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc b/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc index 4e84d95308..932c570e5d 100644 --- a/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc +++ b/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc @@ -13,7 +13,7 @@ faqs: - question: "Which AI coding tools do developers use most?" answer: "Survey responses from the Appwrite community show ChatGPT, GitHub Copilot, Claude, and Cursor as the most-used tools, with Warp AI CLI gaining traction in the terminal. Most developers combine two or three of these depending on the task: in-editor completions, longer reasoning, and quick one-off questions." - question: "How can I use AI to build with Appwrite?" - answer: "Use the [Appwrite MCP server](/docs/tooling/mcp/api) to give AI assistants direct access to your project. They can create collections, manage users, deploy functions, and run queries through natural language. The [Appwrite plugin for Claude Code](/blog/post/announcing-appwrite-claude-code-plugin) bundles this together for Claude users." + answer: "Use the [Appwrite MCP server](/docs/tooling/mcp/api) to give AI assistants direct access to your project. They can create tables, manage users, deploy functions, and run queries through natural language. The [Appwrite plugin for Claude Code](/blog/post/announcing-appwrite-claude-code-plugin) bundles this together for Claude users." - question: "Should I worry about security when vibe coding?" answer: "Yes. Vibe-coded apps often skip auth, permissions, and rate limiting because the AI does not bring them up by default. Read the [backend checklist for vibe-coded apps](/blog/post/backend-checklist-vibe-coded-apps) before you ship, and keep API keys server-side in an [Appwrite Function](/docs/products/functions) rather than the browser." - question: "Is vibe coding suitable for production apps?" @@ -97,7 +97,7 @@ This gap doesn’t necessarily mean senior developers aren’t interested, it ma Many developers are already pairing AI tools with Appwrite for backend tasks like databases, authentication, and hosting. In fact, **Appwrite was the most‑mentioned backend in the survey**, ahead of other options like Supabase. -The **Appwrite MCP server** builds on this by letting AI assistants interact directly with Appwrite, creating collections, managing functions, and running queries through natural language. +The **Appwrite MCP server** builds on this by letting AI assistants interact directly with Appwrite, creating tables, managing functions, and running queries through natural language. > As one developer noted, *“Appwrite MCP connecting with AI tools could be a game‑changer for building full‑stack apps faster.”* > diff --git a/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc b/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc index 473f97220b..32681807c4 100644 --- a/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc @@ -12,19 +12,19 @@ faqs: - question: "What is TablesDB in Appwrite?" answer: "TablesDB is the updated naming and API layer for [Appwrite Databases](/docs/products/databases). It maps the familiar relational vocabulary (tables, rows, columns) onto Appwrite's existing data model. The storage engine itself has not changed, only the terminology and the new method names exposed in the SDKs and Console." - question: "Do I have to migrate my code to the new TablesDB API?" - answer: "No. The old document-based methods like `createDocument` and `listDocuments` continue to work and are fully backwards compatible. They are marked as deprecated and will receive security patches but not new features, so we recommend the TablesDB methods for new projects." - - question: "What is the mapping between the old and new Database terms?" - answer: "Collections become tables, attributes become columns, and documents become rows. Methods follow the same pattern: `createCollection` becomes `createTable`, `createDocument` becomes `createRow`, `listDocuments` becomes `listRows`, and so on. The underlying behavior of each call is unchanged." + answer: "TablesDB is the recommended API for new projects. Existing projects can adopt it at their own pace, and new tutorials, SDK snippets, and Console workflows use the TablesDB methods." + - question: "What data model does TablesDB use?" + answer: "TablesDB uses databases, tables, columns, and rows. Methods follow the same pattern: `createTable`, `createTextColumn`, `createRow`, `listRows`, and so on. The underlying behavior is consistent across the Console, SDKs, and API." - question: "Does the new TablesDB UI replace the existing Databases section in the Console?" answer: "Yes. The Databases section in the Appwrite Console has been redesigned around the TablesDB UI, with browsing, editing, and managing data built around tables, rows, and columns. Existing projects automatically open in the new UI without any migration step." - - question: "Can I still use Appwrite Databases as a document store?" - answer: "Yes. The rename is purely a terminology and API change, not a switch to a strict relational engine. You can still store flexible row data, use the same query operators, and apply per-row permissions. The relational vocabulary is meant to make the model easier to reason about for developers used to SQL." + - question: "Can I store flexible row data in Appwrite Databases?" + answer: "Yes. You can store flexible row data, use the same query operators, and apply per-row permissions. The relational vocabulary is meant to make the model easier to reason about for developers used to SQL." - question: "Where can I learn the new TablesDB methods in detail?" - answer: "The [Databases documentation](/docs/products/databases) covers every TablesDB method with examples for each server and client SDK. The deprecated document methods remain documented for reference, but new tutorials and references default to the TablesDB naming." + answer: "The [Databases documentation](/docs/products/databases) covers every TablesDB method with examples for each server and client SDK." --- -As Appwrite has grown, so has the diversity of developers building with it, from document-based systems to others deeply familiar with relational data structures. To make the platform more intuitive and consistent for everyone, we’re evolving how Appwrite Databases is presented and managed. This update also adds the ability to generate dummy data for faster prototyping, and we’re actively working on features like AI-powered suggestions to help you design your structure even faster. +As Appwrite has grown, so has the diversity of developers building with it, from teams shipping fast prototypes to teams deeply familiar with relational data structures. To make the platform more intuitive and consistent for everyone, we’re evolving how Appwrite Databases is presented and managed. This update also adds the ability to generate dummy data for faster prototyping, and we’re actively working on features like AI-powered suggestions to help you design your structure even faster. -Appwrite Databases now adopts a more familiar **relational model** across the Console, API, SDKs, and beyond, moving away from the documents and collections terminology rooted in our JSON-based API. The new model introduces conventional data concepts like **tables**, **rows**, and **columns**, making it easier to work with structured data while maintaining full backward compatibility. +Appwrite Databases now adopts a more familiar **relational model** across the Console, API, SDKs, and beyond. The model uses conventional data concepts like **tables**, **rows**, and **columns**, making it easier to work with structured data while maintaining full backward compatibility. As part of this shift, the Appwrite Console has been completely redesigned. The new **TablesDB UI** was built specifically to support the upgraded database experience, making browsing, editing, and managing data more intuitive. @@ -32,35 +32,11 @@ We’re also introducing the **TablesDB API,** a new API layer designed to bridg # What’s new -This release brings both **terminology changes** and a **completely reimagined data management interface**. Let’s dive in. +This release brings a **completely reimagined data management interface** and a dedicated **TablesDB API**. Let’s dive in. -# Updated terminology & the TablesDB API +# TablesDB API -Until now, Appwrite Databases used terminology that made sense in a JSON-document world but could be unintuitive for developers used to relational data concepts. We’re introducing a parallel set of API endpoints and terms aligned with relational database language to make the platform more approachable. - -| Previous terms | New terms | -| --- | --- | -| Collections | Tables | -| Attributes | Columns | -| Documents | Rows | - -Functionality remains the same, but the developer experience becomes clearer and more consistent for anyone familiar with structured data workflows. - -# New TablesDB methods - -Alongside these terminology updates, the **TablesDB API** introduces new method names that map directly to common CRUD operations in a relational model: - -| Previous methods | New methods | -| --- | --- | -| `createCollection` | `createTable` | -| `createDocument` | `createRow` | -| `createAttribute` | `createColumn` | -| `updateDocument` | `updateRow` | -| `deleteDocument` | `deleteRow` | -| `getDocument` | `getRow` | -| `listDocuments` | `listRows` | - -These methods make it easier to understand exactly what an operation does at a glance, while still running on the same powerful API that Appwrite has always used. +The **TablesDB API** introduces method names that map directly to common CRUD operations in a relational model. Methods like `createTable`, `createTextColumn`, `createRow`, `updateRow`, `deleteRow`, `getRow`, and `listRows` make it easier to understand exactly what an operation does at a glance, while still running on the same powerful API that Appwrite has always used. Here’s an example of how you can use the new SDK methods: @@ -86,11 +62,11 @@ async function main() { name: '' }); - const nameColumn = await tablesDB.createStringColumn({ + const nameColumn = await tablesDB.createTextColumn({ databaseId: database.$id, tableId: table.$id, key: 'name', - size: 255 + required: true }); const row = await tablesDB.createRow({ @@ -104,15 +80,9 @@ async function main() { main(); ``` -# What happens to the existing methods? - -The old document-based methods are now deprecated and will no longer receive major upgrades. They will continue to receive security patches and essential maintenance, and we are ensuring backwards compatibility with those methods for the API, so there’s no need to migrate immediately if a specific issue arises. - -However, we recommend adopting the new TablesDB API for future projects to take advantage of ongoing improvements and new capabilities. - # The new TablesDB UI -The TablesDB UI changes the way you interact with your data in the Console. The previous Databases view was read-only and required multiple clicks to edit a single record, fine for small fixes, but inefficient for larger updates. +The TablesDB UI changes the way you interact with your data in the Console. It gives you a fast, spreadsheet-like surface for browsing and editing rows. With TablesDB UI, now you can: @@ -127,9 +97,9 @@ Watch this [product tour](https://www.youtube.com/watch?v=b80BXqj5CJE) to learn # What changes in your workflow? -**For the new terminology and TablesDB API:** +**For the TablesDB API:** -The existing `Collections` API will continue to function as expected. The new `TablesDB` API introduces a parallel, relational model experience. +The `TablesDB` API introduces a relational model experience. Key changes include: diff --git a/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc b/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc index ba23c4cf70..cd628de0c8 100644 --- a/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc @@ -18,7 +18,7 @@ faqs: - question: "How does the GitHub integration with Appwrite Functions work?" answer: "The GitHub integration connects an Appwrite project to a GitHub repository so that pushes to a branch automatically deploy your [Function](/docs/products/functions). It also powers function templates: you can pick a template, and Appwrite forks the source repo into your GitHub account before deploying." - question: "Can I use Stripe or Lemon Squeezy for subscriptions with Appwrite?" - answer: "Yes. Stripe and Lemon Squeezy both have step-by-step integration guides that use [Appwrite Functions](/docs/products/functions) to handle webhooks and a Database collection to store subscription state. Functions sit between your client and the payment provider, so you do not have to run a separate backend." + answer: "Yes. Stripe and Lemon Squeezy both have step-by-step integration guides that use [Appwrite Functions](/docs/products/functions) to handle webhooks and a database table to store subscription state. Functions sit between your client and the payment provider, so you do not have to run a separate backend." - question: "How are OAuth2 providers added to a project?" answer: "OAuth2 providers are configured per project in the Appwrite Console under [Auth](/docs/products/auth). You add your client ID and secret from the provider (Google, GitHub, Discord, and so on), enable the provider, and then call `createOAuth2Session` from a client SDK to start the login flow." --- diff --git a/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc b/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc index b375b0dbd7..f9ea39f3b1 100644 --- a/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc @@ -13,7 +13,7 @@ faqs: - question: "What does Appwrite Cloud being HIPAA compliant mean for me?" answer: "Appwrite Cloud has the technical and organizational safeguards in place (encryption, access controls, audit logging, backups, MFA on internal access) to act as a HIPAA-compliant backend. You can build healthcare apps on Appwrite without having to run that infrastructure yourself." - question: "Do I still have to make my own app HIPAA compliant?" - answer: "Yes. Appwrite covers the platform layer, but you remain responsible for how your application collects, displays, and shares PHI. That includes things like configuring permissions correctly, restricting who can read sensitive collections, training your staff, and obtaining consent where required." + answer: "Yes. Appwrite covers the platform layer, but you remain responsible for how your application collects, displays, and shares PHI. That includes things like configuring permissions correctly, restricting who can read sensitive tables, training your staff, and obtaining consent where required." - question: "Can I get a Business Associate Agreement (BAA) with Appwrite?" answer: "BAAs are required for any service that processes PHI on your behalf. If you are building a HIPAA-regulated app on Appwrite Cloud, contact Appwrite via the [contact form](/contact-us) to discuss a BAA before going live with PHI." - question: "Is self-hosted Appwrite HIPAA compliant?" diff --git a/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc b/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc index 91ad258820..7628f86d33 100644 --- a/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc @@ -16,7 +16,7 @@ faqs: - question: "What is the difference between topics, users, and targets in Messaging?" answer: "A target is a specific destination (an email address, phone number, or device push token). A user holds all the targets associated with a single Appwrite account. A topic is a named group of targets that you can publish a message to in one call. Newsletters typically use topics, alerts use users, and location-specific notifications use individual targets." - question: "Can I send a message from an Appwrite Function?" - answer: "Yes. You can call any Messaging method from a server SDK inside an [Appwrite Function](/docs/products/functions). Combine this with event triggers (for example, on user creation or document update) to send automated welcome emails, login alerts, order confirmations, and other transactional messages." + answer: "Yes. You can call any Messaging method from a server SDK inside an [Appwrite Function](/docs/products/functions). Combine this with event triggers (for example, on user creation or row update) to send automated welcome emails, login alerts, order confirmations, and other transactional messages." - question: "Can I schedule messages for later?" answer: "Yes. Each Messaging API call accepts a scheduled send time, and you can also pick a date in the Appwrite Console when drafting a message. This is useful for appointment reminders, time-zoned promos, and announcements that should land at a specific moment." - question: "Does Messaging work the same on Appwrite Cloud and self-hosted?" diff --git a/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc b/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc index c7c77d39b6..9a14b6cb7a 100644 --- a/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc +++ b/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Announcing Atomic numeric operations: Safe, server-side increments and decrements" -description: Safely update numeric fields like counters, stock levels, or credits without fetching or rewriting the document. +description: Safely update numeric columns like counters, stock levels, or credits without fetching or rewriting the row. date: 2025-08-04 cover: /images/blog/announcing-atomic-numeric-operations/cover.avif timeToRead: 5 @@ -10,33 +10,33 @@ category: announcement featured: false faqs: - question: "What are atomic numeric operations in Appwrite?" - answer: "Atomic numeric operations let you increment or decrement a numeric field on a document directly on the server using `incrementDocumentAttribute` and `decrementDocumentAttribute`. Each delta is applied in a single write under concurrency control, so concurrent updates do not overwrite each other." + answer: "Atomic numeric operations let you increment or decrement a numeric column on a row directly on the server using `incrementRowColumn` and `decrementRowColumn`. Each delta is applied in a single write under concurrency control, so concurrent updates do not overwrite each other." - question: "Why are atomic increments safer than read-modify-write?" answer: "With a read-modify-write loop, two clients can read the same value, both add 1, and both write back the same new value. One increment is lost. Atomic operations send only the delta to the server, where the database applies the change in one locked step, eliminating the race condition." - question: "Where would I use atomic numeric operations?" answer: "Anywhere you mutate a number that multiple clients can touch at once: likes and follower counts, API quotas, stock levels, game scores, retry counters, and rate limits. The feature is especially valuable in real-time and high-concurrency scenarios." - question: "Can I set min and max bounds on the value?" answer: "Yes. Each operation accepts optional `min` and `max` constraints. If the resulting value would fall outside the bounds, the update is rejected instead of silently clamping. This is useful for rules like \"stock cannot go below zero\" or \"credits cannot exceed a cap\"." - - question: "Do atomic operations respect document permissions?" - answer: "Yes. The same [Appwrite permissions](/docs/products/databases) that gate `updateDocument` apply to increments and decrements. If a user is not allowed to write to the document, the atomic operation also fails. No special role is added by using the new method." + - question: "Do atomic operations respect row permissions?" + answer: "Yes. The same [Appwrite permissions](/docs/products/databases) that gate `updateRow` apply to increments and decrements. If a user is not allowed to write to the row, the atomic operation also fails. No special role is added by using the new method." - question: "Are atomic operations available on both Cloud and self-hosted Appwrite?" answer: "Yes. Atomic numeric operations work the same on Appwrite Cloud and self-hosted installations. You can call them from any [Appwrite SDK](/docs/sdks) that has been updated to expose the new methods." --- In high-concurrency systems like social apps, games, and usage-tracked services, even updating a single number such as a like, retry count, or quota, can lead to consistency issues. When multiple clients try to update the same value simultaneously, it’s easy to end up with conflicting writes, lost updates, or inaccurate data. -Most setups require you to fetch the document, change the number on the client, and then write it back. This process is slow, error-prone, and wastes bandwidth, especially when you're only trying to change a single field. +Most setups require you to fetch the row, change the number on the client, and then write it back. This process is slow, error-prone, and wastes bandwidth, especially when you're only trying to change a single column. To change this, we introduce **Atomic numeric operations** in Appwrite. -A new 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. +A new feature that lets you increment or decrement numeric columns directly on the server, without fetching the full row. It’s fast, safe, bandwidth-efficient, and concurrency-friendly. # Race-free numeric updates -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. +Before this feature, updating a number meant fetching the entire row, 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. +With **Atomic numeric operations,** you simply send a delta (like `+1` or `-3`), and Appwrite applies the update atomically on the server. No full row reads, no conflicts, no custom logic. Just consistent, permission-aware updates that work reliably under load. # Built for real-time, multi-user systems @@ -54,63 +54,63 @@ Use it for: # Performing an atomic operation -Use the `incrementDocumentAttribute` and `decrementDocumentAttribute` methods to perform atomic numeric operations. The server will apply these changes atomically under concurrency control. +Use the `incrementRowColumn` and `decrementRowColumn` methods to perform atomic numeric operations. The server will apply these changes atomically under concurrency control. ## Increment a field {% #increment-field %} ```client-web -import { Client, Databases } from "appwrite"; +import { Client, TablesDB } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID -const databases = new Databases(client); +const tablesDB = new TablesDB(client); -const result = await databases.incrementDocumentAttribute( - '', - '', - '', - 'likes', // attribute - 1 // value -); +const result = await tablesDB.incrementRowColumn({ + databaseId: '', + tableId: '', + rowId: '', + column: 'likes', + value: 1 +}); ``` ## Decrement a field {% #decrement-field %} ```client-web -import { Client, Databases } from "appwrite"; +import { Client, TablesDB } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID -const databases = new Databases(client); +const tablesDB = new TablesDB(client); -const result = await databases.decrementDocumentAttribute( - '', - '', - '', - 'credits', // attribute - 5 // value -); +const result = await tablesDB.decrementRowColumn({ + databaseId: '', + tableId: '', + rowId: '', + column: 'credits', + value: 5 +}); ``` # Immediate benefits This feature solves a common problem with a clean, built-in approach. You don’t need to write custom logic to handle concurrency, retries, or limits. It’s a simple API call that replaces a lot of complex edge-case handling. And it just works. -- **Atomic by default:** Every delta is applied in a single server-side write. The document is locked during the update, so there’s no room for race conditions or overlapping writes, even under heavy concurrency. +- **Atomic by default:** Every delta is applied in a single server-side write. The row is locked during the update, so there’s no room for race conditions or overlapping writes, even under heavy concurrency. - **Supports both increments and decrements:** You're not limited to just adding `+1`. You can apply any positive or negative delta, whether you're increasing API credits or reducing stock levels after a purchase. - **Built-in constraints:** You can define optional `min` and `max` bounds on the value. If the update would push the value outside that range, it’s rejected. Great for enforcing limits like “stock can’t go below zero” or “credits can't exceed a cap.” -- **Respects permissions:** This works just like any other Appwrite document update. If the user doesn’t have permission to modify the document, the update doesn’t go through. No exceptions. +- **Respects permissions:** This works just like any other Appwrite row update. If the user doesn’t have permission to modify the row, the update doesn’t go through. No exceptions. Atomic numeric operations are live for both **Appwrite Cloud** and **Self-Hosted** environments. -This is a core building block for modern, concurrent-safe applications and it’s now built into Appwrite’s document system. +This is a core building block for modern, concurrent-safe applications and it’s now built into Appwrite’s row update flow. # More resources diff --git a/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc b/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc index f86f655e1b..d498a92e1b 100644 --- a/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc +++ b/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post -title: "Announcing Auto-increment support: Built-in numeric sequencing for your documents" -description: Get reliable, sequential ordering across your collections with fast, indexed auto-increment IDs. +title: "Announcing Auto-increment support: Built-in numeric sequencing for your rows" +description: Get reliable, sequential ordering across your tables with fast, indexed auto-increment IDs. date: 2025-07-15 cover: /images/blog/announcing-auto-increment-support/cover.avif timeToRead: 5 @@ -9,29 +9,29 @@ author: jake-barnby category: announcement featured: false faqs: - - question: "What is the `$sequence` field on Appwrite documents?" - answer: "`$sequence` is a numeric field that Appwrite automatically assigns to each document at insertion time. It starts at one for the first row in a collection and increases by one with every new insert, giving you a strictly ascending, indexed identifier without writing any counter logic." + - question: "What is the `$sequence` field on Appwrite rows?" + answer: "`$sequence` is a numeric field that Appwrite automatically assigns to each row at insertion time. It starts at one for the first row in a table and increases by one with every new insert, giving you a strictly ascending, indexed identifier without writing any counter logic." - question: "How is `$sequence` different from `$id`?" answer: "`$id` is a string identifier that is either generated as a unique slug (`ID.unique()`) or set by the caller. `$sequence` is a numeric, monotonically increasing counter managed by Appwrite. Use `$id` for lookups and references and `$sequence` when you need ordering or numeric IDs like invoice numbers." - - question: "How do I sort documents by insertion order?" - answer: "Query the collection with `Query.orderAsc('$sequence')` (or `orderDesc` for newest-first). The field is fully indexed, so sorting and pagination by `$sequence` perform efficiently even on large collections. The full reference lives in the [order documentation](/docs/products/databases/order#sequence-ordering)." + - question: "How do I sort rows by insertion order?" + answer: "Query the table with `Query.orderAsc('$sequence')` (or `orderDesc` for newest-first). The field is fully indexed, so sorting and pagination by `$sequence` perform efficiently even on large tables. The full reference lives in the [order documentation](/docs/products/databases/order#sequence-ordering)." - question: "Can I modify the `$sequence` value?" answer: "No. `$sequence` is read-only by design. That guarantees the values are consistent, monotonically increasing, and tamper-resistant, which is what makes it suitable for audit logs, invoice numbers, and other use cases that require stable ordering." - question: "When should I use timestamps instead of `$sequence`?" - answer: "Use `$createdAt` when you need wall-clock ordering and are comfortable with millisecond resolution. Use `$sequence` when you need a strict numeric identifier or guaranteed insertion order, since two documents created in the same millisecond will have distinct sequence numbers but identical timestamps." + answer: "Use `$createdAt` when you need wall-clock ordering and are comfortable with millisecond resolution. Use `$sequence` when you need a strict numeric identifier or guaranteed insertion order, since two rows created in the same millisecond will have distinct sequence numbers but identical timestamps." - question: "Is auto-increment available on self-hosted Appwrite?" - answer: "Yes. Auto-increment support is available on both Appwrite Cloud and self-hosted installations of the supported version. Existing collections automatically expose `$sequence` for newly inserted documents going forward." + answer: "Yes. Auto-increment support is available on both Appwrite Cloud and self-hosted installations of the supported version. Existing tables automatically expose `$sequence` for newly inserted rows." --- Managing ordered data can often be complex and error-prone, especially when it requires manual counters or timestamp-based sorting, which can introduce inconsistencies and unpredictability. To tackle this issue, we're introducing **Auto-increment support.** -This new feature automatically handles a `$sequence` column within your documents, incrementing reliably with each new insertion. This ensures your data remains ordered and clear without additional manual overhead. +This new feature automatically handles a `$sequence` column within your rows, incrementing reliably with each new insertion. This ensures your data remains ordered and clear without additional manual overhead. # Automatic, predictable ordering -Previously, maintaining consistent insertion order and generating numeric identifiers required either manual increments, complex logic, or dependence on timestamps, which weren't always accurate or reliable. Appwrite’s new Auto-increment support feature solves these issues seamlessly, providing a built-in numeric identifier that increases predictably with every new document added. +Maintaining consistent insertion order and generating numeric identifiers can require manual increments, complex logic, or dependence on timestamps, which are not always accurate or reliable. Appwrite’s Auto-increment support feature solves these issues seamlessly, providing a built-in numeric identifier that increases predictably with every new row added. Whether you're creating paginated data sets, managing invoice numbers, logging activities, or building real-time feeds, Appwrite's Auto-increment support feature offers effortless numeric sequencing. This means less manual work, fewer bugs, and significantly improved reliability. @@ -50,21 +50,21 @@ Integrating Auto-increment support into your Appwrite Databases makes your backe # How it works -For numeric ordering based on insertion order, you can use the `$sequence` field, which Appwrite automatically adds to all documents. This field increments with each new insert. +For numeric ordering based on insertion order, you can use the `$sequence` field, which Appwrite automatically adds to all rows. This field increments with each new insert. ```client-web -import { Client, Databases, Query } from "appwrite"; +import { Client, TablesDB, Query } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); -const databases = new Databases(client); +const tablesDB = new TablesDB(client); -databases.listDocuments({ +tablesDB.listRows({ databaseId: '', - collectionId: '', + tableId: '', queries: [ Query.orderAsc('$sequence'), ] @@ -77,4 +77,4 @@ databases.listDocuments({ - [Read the documentation to get started](/docs/products/databases/order) - [Explore best practices for database pagination](/blog/post/best-pagination-technique) -- [Secure sensitive database fields with encrypted attributes](/blog/post/encrypted-attributes-for-sensitive-fields) +- [Secure sensitive database fields with encrypted columns](/blog/post/encrypted-attributes-for-sensitive-fields) diff --git a/src/routes/blog/post/announcing-bigint-columns/+page.markdoc b/src/routes/blog/post/announcing-bigint-columns/+page.markdoc index 90933b2658..5aaaa26159 100644 --- a/src/routes/blog/post/announcing-bigint-columns/+page.markdoc +++ b/src/routes/blog/post/announcing-bigint-columns/+page.markdoc @@ -182,7 +182,7 @@ In the Appwrite Console, open your table, head to the **Columns** tab, and click ## From a Server SDK -Appwrite [Server SDKs](/docs/sdks#server) require an [API key](/docs/advanced/platform/api-keys) with `tables.write` (or `collections.write` for the legacy API). +Appwrite [Server SDKs](/docs/sdks#server) require an [API key](/docs/advanced/platform/api-keys) with `tables.write` and `columns.write`. {% multicode %} diff --git a/src/routes/blog/post/announcing-bulk-api/+page.markdoc b/src/routes/blog/post/announcing-bulk-api/+page.markdoc index 307096690c..118eb8aaf6 100644 --- a/src/routes/blog/post/announcing-bulk-api/+page.markdoc +++ b/src/routes/blog/post/announcing-bulk-api/+page.markdoc @@ -10,14 +10,14 @@ category: announcement featured: false faqs: - question: "What is the Appwrite Bulk API?" - answer: "The Bulk API lets you create, update, upsert, or delete many documents in a single request using `createDocuments`, `updateDocuments`, `upsertDocuments`, and `deleteDocuments`. It is much faster than sending one request per document and reduces network overhead for batch workloads." + answer: "The Bulk API lets you create, update, upsert, or delete many rows in a single request using `createRows`, `updateRows`, `upsertRows`, and `deleteRows`. It is much faster than sending one request per row and reduces network overhead for batch workloads." - question: "Why is the Bulk API restricted to server-side SDKs?" answer: "Bulk operations typically involve high-volume data changes that should be authorized by trusted code, not by end users. Restricting the API to server SDKs (which use API keys) prevents clients from issuing mass writes or deletes against your project." - - question: "When should I use the Bulk API instead of single-document calls?" - answer: "Reach for the Bulk API any time you are processing data in batches: importing CSV files, syncing from another database, applying changes from a scheduled job, or cleaning up stale records. For interactive UI writes (one document at a time), the regular methods are usually clearer." + - question: "When should I use the Bulk API instead of single-row calls?" + answer: "Reach for the Bulk API any time you are processing data in batches: importing CSV files, syncing from another database, applying changes from a scheduled job, or cleaning up stale records. For interactive UI writes, the regular methods are usually clearer." - question: "How does Appwrite handle partial failures in a bulk request?" - answer: "Bulk operations are transactional at the document level, so individual document validations (such as permissions or schema mismatches) are reported alongside successes. Check the response to see which documents were processed and which failed, then retry only the failures." - - question: "Are there limits on how many documents I can send in one bulk call?" + answer: "Bulk operations are transactional at the row level, so individual row validations (such as permissions or schema mismatches) are reported alongside successes. Check the response to see which rows were processed and which failed, then retry only the failures." + - question: "Are there limits on how many rows I can send in one bulk call?" answer: "Yes. There is a maximum batch size per request that depends on payload size and the underlying database engine. The [bulk operations documentation](/docs/products/databases/bulk-operations) lists the current limits and recommended batch sizes for large imports." - question: "Does Bulk API work with self-hosted Appwrite?" answer: "Yes. Bulk API is available on both Appwrite Cloud and self-hosted installations that run the supporting version. You call the same methods from your server SDK regardless of where Appwrite is hosted." @@ -27,9 +27,9 @@ We're excited to introduce another Appwrite Databases feature, **Bulk API**. Exp # Faster development with bulk actions -Previously, writing or modifying large amounts of data in Appwrite Databases required sending one request per document. This method was inefficient, slow, and resource-intensive, especially when dealing with thousands of records. +Writing or modifying large amounts of data in Appwrite Databases can require many row-level operations. Sending one request per row is inefficient for batch workloads, especially when dealing with thousands of records. -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. +With the Bulk API, you can create, update, or delete multiple rows in one go, vastly speeding up your workflows and reducing network overhead. # Optimized for server-side workloads @@ -49,12 +49,12 @@ Bulk operations can only be performed via the server-side SDKs. The client-side Utilizing the Bulk API is straightforward. You can use it to: -- Create multiple documents in a single request using the `createDocuments` method -- Update multiple documents in a single request using the `updateDocuments` method -- Delete multiple documents in a single request using the `deleteDocuments` method -- Upsert multiple documents in a single request using the `upsertDocuments` method +- Create multiple rows in a single request using the `createRows` method +- Update multiple rows in a single request using the `updateRows` method +- Delete multiple rows in a single request using the `deleteRows` method +- Upsert multiple rows in a single request using the `upsertRows` method -Here is a code example for creating multiple documents in a single request: +Here is a code example for creating multiple rows in a single request: ```server-nodejs @@ -65,22 +65,22 @@ const client = new sdk.Client() .setProject('') .setKey(''); -const databases = new sdk.Databases(client); +const tablesDB = new sdk.TablesDB(client); -const result = await databases.createDocuments( - '', - '', - [ +const result = await tablesDB.createRows({ + databaseId: '', + tableId: '', + rows: [ { $id: sdk.ID.unique(), - name: 'Document 1', + name: 'Row 1', }, { $id: sdk.ID.unique(), - name: 'Document 2', + name: 'Row 2', } ] -); +}); ``` diff --git a/src/routes/blog/post/announcing-csv-export/+page.markdoc b/src/routes/blog/post/announcing-csv-export/+page.markdoc index 077ddd6efc..f6c6b3d718 100644 --- a/src/routes/blog/post/announcing-csv-export/+page.markdoc +++ b/src/routes/blog/post/announcing-csv-export/+page.markdoc @@ -14,7 +14,7 @@ faqs: - question: "Can I export only filtered rows instead of the entire table?" answer: "Yes, CSV exports respect the filters and search parameters you've applied to the table view. This lets you export targeted slices of data without writing custom scripts. You can also choose specific columns to keep the output lean." - question: "What customization options are available for CSV exports?" - answer: "You can pick columns, apply queries, set a custom delimiter, include or skip the header row, and get notified by email when the export completes. Related documents are exported as IDs by default to keep the data structured. This makes the same export usable for engineering, analytics, or non-technical teammates." + answer: "You can pick columns, apply queries, set a custom delimiter, include or skip the header row, and get notified by email when the export completes. Related rows are exported as IDs by default to keep the data structured. This makes the same export usable for engineering, analytics, or non-technical teammates." - question: "Are CSV exports available on self-hosted Appwrite?" answer: "CSV exports launched first on Appwrite Cloud and will be coming to self-hosted in a later release. If you self-host, watch the Appwrite changelog and upgrade once the feature lands in a stable version." - question: "How does Appwrite handle large CSV exports without timing out?" @@ -58,7 +58,7 @@ You can: - Include or skip headers: Add an optional header row for readability. - Run in the background: Appwrite processes exports asynchronously, so you can continue working while it completes. - Get notified: Receive an email with a short-lived download link when the export is ready. -- Handle relationships cleanly: Related documents are exported as IDs by default, ensuring your data stays structured and easy to use. +- Handle relationships cleanly: Related rows are exported as IDs by default, ensuring your data stays structured and easy to use. This flexibility makes CSV exports powerful enough for developers and simple enough for non-technical team members. diff --git a/src/routes/blog/post/announcing-csv-imports/+page.markdoc b/src/routes/blog/post/announcing-csv-imports/+page.markdoc index 54974be0c3..3740b738bb 100644 --- a/src/routes/blog/post/announcing-csv-imports/+page.markdoc +++ b/src/routes/blog/post/announcing-csv-imports/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Announcing CSV Import: Bring in large datasets to Appwrite with ease" -description: Learn how to import documents into your Appwrite collections using a simple CSV file, a new feature built on top of Appwrite's migration APIs. +description: Learn how to import rows into your Appwrite tables using a simple CSV file, a new feature built on top of Appwrite's migration APIs. date: 2025-07-01 # update this cover later, once available! cover: /images/blog/announcing-csv-imports/cover.avif @@ -10,42 +10,42 @@ author: darshan-pandya category: announcement featured: false faqs: - - question: "How do I import a CSV file into an Appwrite collection?" - answer: "Create a collection with the attributes you want, then upload a CSV file whose first row contains matching attribute names. You can upload a new file during import or pick an existing one from your storage bucket. [Appwrite](/docs/products/databases) validates each row before importing and runs the job in the background." - - question: "Can I assign custom document IDs when importing from CSV?" - answer: "Yes, include an optional `$id` column in the CSV and Appwrite will use those values as document IDs. If you omit the column, Appwrite generates unique IDs automatically. Custom IDs are useful when migrating from another system that already has stable identifiers." + - question: "How do I import a CSV file into an Appwrite table?" + answer: "Create a table with the columns you want, then upload a CSV file whose first row contains matching column names. You can upload a new file during import or pick an existing one from your storage bucket. [Appwrite](/docs/products/databases) validates each row before importing and runs the job in the background." + - question: "Can I assign custom row IDs when importing from CSV?" + answer: "Yes, include an optional `$id` column in the CSV and Appwrite will use those values as row IDs. If you omit the column, Appwrite generates unique IDs automatically. Custom IDs are useful when migrating from another system that already has stable identifiers." - question: "What format does the CSV file need to follow?" - answer: "The first row must be a header containing attribute names that exactly match your collection's attributes. Each subsequent row represents a document, with values separated by commas. All required attributes must be present, or the row will fail validation." + answer: "The first row must be a header containing column names that exactly match your table's columns. Each subsequent row represents a row, with values separated by commas. All required columns must be present, or the row will fail validation." - question: "How does Appwrite handle very large CSV imports?" answer: "The CSV import system runs as a background task and performs per-row validation, so it can handle production-scale files without blocking the Console. Built on top of [Appwrite's migration APIs](/docs/products/databases), it's designed for reliability across both small datasets and large imports." - question: "What happens if a row in my CSV fails validation?" - answer: "Appwrite validates each row before importing it, so invalid rows are flagged and skipped rather than corrupting your collection. Common causes are missing required attributes, type mismatches, or values that violate length or enum constraints. Fix the source CSV and re-run the import for those rows." + answer: "Appwrite validates each row before importing it, so invalid rows are flagged and skipped rather than corrupting your table. Common causes are missing required columns, type mismatches, or values that violate length or enum constraints. Fix the source CSV and re-run the import for those rows." - question: "What are common use cases for CSV imports?" answer: "CSV imports are useful for migrating user data from external systems, importing inventory records, seeding test environments, and onboarding structured content like FAQs or product catalogs. They're also handy when prototyping with realistic data from spreadsheets or third-party tools." --- -We're introducing a new way to populate your Appwrite databases: **document imports from CSV files**. +We're introducing a new way to populate your Appwrite databases: **row imports from CSV files**. -Built on top of Appwrite's migration APIs, this feature makes it easy to bring in large datasets, seed collections, or migrate structured data using only a CSV file. +Built on top of Appwrite's migration APIs, this feature makes it easy to bring in large datasets, seed tables, or migrate structured data using only a CSV file. -The CSV document import is useful for migrating user data from external systems, importing inventory records, seeding test environments, or onboarding structured content such as FAQs. +The CSV row import is useful for migrating user data from external systems, importing inventory records, seeding test environments, or onboarding structured content such as FAQs. # How it works -To get started, create a collection and define its attributes in the Appwrite Console. Your CSV file should follow a standard format: +To get started, create a table and define its columns in the Appwrite Console. Your CSV file should follow a standard format: -- The first row must be a header containing attribute names that match your collection -- Each subsequent row represents a document, with values separated by commas +- The first row must be a header containing column names that match your table +- Each subsequent row represents a row, with values separated by commas {% info title="Good to know" %} -You can optionally include the `$id` column to assign custom document IDs. +You can optionally include the `$id` column to assign custom row IDs. {% /info %} -![Collections screen](/images/blog/announcing-csv-imports/csv-import.avif) +![Tables screen](/images/blog/announcing-csv-imports/csv-import.avif) -All required attributes must be present in the CSV, and Appwrite will validate each row before importing it. +All required columns must be present in the CSV, and Appwrite will validate each row before importing it. -For example, if your collection contains attributes like `title`, `author`, `year`, and `available`, a valid CSV file would look like this: +For example, if your table contains columns like `title`, `author`, `year`, and `available`, a valid CSV file would look like this: ```text $id,title,author,year,available @@ -60,7 +60,7 @@ v42cj0quxp,Pride and Prejudice,Jane Austen,1813,true ## Uploading your CSV file You can upload a new file during import or select an existing one from your project's storage bucket. -The Console provides a guided interface to help you select the CSV and link it to your target collection. Once uploaded, the import process begins immediately. +The Console provides a guided interface to help you select the CSV and link it to your target table. Once uploaded, the import process begins immediately. ## Designed for scale diff --git a/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc b/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc index 487699609f..5d29b73443 100644 --- a/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc +++ b/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc @@ -18,11 +18,11 @@ faqs: - question: "Will AI suggestions overwrite an existing table's schema?" answer: "No, Database AI suggestions are only offered when you're creating a new table. Existing tables stay untouched. If you want to evolve a schema, you can add columns and indexes manually or use [Appwrite's migration APIs](/docs/products/databases)." - question: "Why use AI suggestions instead of designing the schema by hand?" - answer: "Schemas designed by hand often miss timestamps, soft-delete fields, or indexes that you only realize you need later. AI suggestions bake those best practices in from the start, reduce naming inconsistencies across collections, and turn a slow setup step into a few seconds of review." + answer: "Schemas designed by hand often miss timestamps, soft-delete fields, or indexes that you only realize you need later. AI suggestions bake those best practices in from the start, reduce naming inconsistencies across tables, and turn a slow setup step into a few seconds of review." - question: "Is Database AI Suggestions available on self-hosted Appwrite?" answer: "Database AI Suggestions launched first on [Appwrite Cloud](/docs/products/databases). Check the Appwrite changelog for self-hosted availability, since features that depend on AI services are typically rolled out to Cloud before being available in self-hosted releases." --- -In many development workflows, setting up a database schema is one of the first and often one of the slowest steps. Starting with a blank schema, juggling naming conventions, remembering which fields need indexes, or ensuring every collection follows best practices can quickly become a chore. +In many development workflows, setting up a database schema is one of the first and often one of the slowest steps. Starting with a blank schema, juggling naming conventions, remembering which fields need indexes, or ensuring every table follows best practices can quickly become a chore. Whether spinning up a new project, designing an operational table for a feature, or standardizing schemas across multiple services, the setup should be fast, consistent, and reliable. @@ -51,7 +51,7 @@ This UI update complements Database AI Suggestions by making the schema design a Resulting in benefits such as: - **Faster setup:** Go from table name to sensible schema in seconds. -- **Consistency:** Keep field names and types aligned across collections. +- **Consistency:** Keep field names and types aligned across tables. - **Best practices baked in:** Get timestamps, soft-delete fields, enums, and indexes without having to remember them. - **Fewer errors:** Avoid schema issues that cause analytics problems or require migrations later. diff --git a/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc b/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc index 11a63dabba..56ac5abaeb 100644 --- a/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc +++ b/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc @@ -12,13 +12,13 @@ featured: false callToAction: true faqs: - question: "How does Appwrite count database read and write operations?" - answer: "Most operations are counted by the number of documents affected, not the number of API calls. Fetching a collection of 50 documents in one call counts as 50 read operations. A query that returns no documents counts as a single operation. Writes are counted per document on create, update, and delete." + answer: "Most operations are counted by the number of rows affected, not the number of API calls. Fetching a table of 50 rows in one call counts as 50 read operations. A query that returns no rows counts as a single operation. Writes are counted per row on create, update, and delete." - question: "What's included in the free database operation quota?" answer: "The Free plan includes 500,000 read operations and 250,000 write operations per month. The Pro plan includes 1,750,000 reads and 750,000 writes monthly, and Enterprise has custom limits. Operations beyond the included quota are billed at $0.060 per 100,000 reads and $0.10 per 100,000 writes. See the [pricing page](/pricing) for details." - question: "How can I reduce my database operation usage?" answer: "Filter data server-side instead of fetching large datasets and filtering on the client. Use the `limit` and `offset` parameters to paginate so you only retrieve what you need. Cache frequently accessed data in your app or CDN, and monitor usage in the [Appwrite Console](/docs/products/databases) to spot inefficient query patterns." - question: "Where can I see my current database operation usage?" - answer: "You can review usage in your organization's usage page or in the usage section of a specific database. This shows reads and writes over time, broken down so you can identify which collections or workloads drive the most operations. Use this data to plan ahead before crossing the included quota." + answer: "You can review usage in your organization's usage page or in the usage section of a specific database. This shows reads and writes over time, broken down so you can identify which tables or workloads drive the most operations. Use this data to plan ahead before crossing the included quota." - question: "Does the pricing apply to self-hosted Appwrite?" answer: "No, the read and write operation pricing applies only to [Appwrite Cloud](/pricing). Self-hosted Appwrite has no per-operation billing because you provide the infrastructure. The same database APIs work in both, so you can develop locally on self-hosted and deploy to Cloud without code changes." - question: "Why is Appwrite charging for database operations now?" @@ -54,16 +54,16 @@ Database operations in Appwrite are categorized into two types: ## Read operations Any action that retrieves data from your database, including: -- Fetching documents with `getDocument` or `listDocuments`. +- Fetching rows with `getRow` or `listRows`. ## Write operations Any action that modifies data in your database, including: -- Creating documents with `createDocument`. -- Updating documents with `updateDocument`. -- Deleting documents with `deleteDocument`. +- Creating rows with `createRow`. +- Updating rows with `updateRow`. +- Deleting rows with `deleteRow`. -Most operations are counted based on the number of documents affected. For example, if you fetch a collection of 50 documents with a single API call, this counts as 50 read operations, not as a single operation. However, if your query returns no documents, it will count as a single operation. +Most operations are counted based on the number of rows affected. For example, if you fetch a table of 50 rows with a single API call, this counts as 50 read operations, not as a single operation. However, if your query returns no rows, it will count as a single operation. # Your usage diff --git a/src/routes/blog/post/announcing-database-upsert/+page.markdoc b/src/routes/blog/post/announcing-database-upsert/+page.markdoc index e5c52237fc..265eabe8ab 100644 --- a/src/routes/blog/post/announcing-database-upsert/+page.markdoc +++ b/src/routes/blog/post/announcing-database-upsert/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Announcing Database Upsert: Simplify your database interactions" -description: A cleaner, faster, and atomic way to manage your documents in Appwrite. +description: A cleaner, faster, and atomic way to manage your rows in Appwrite. date: 2025-07-08 cover: /images/blog/announcing-database-upsert/cover.avif timeToRead: 5 @@ -10,26 +10,26 @@ category: announcement featured: false faqs: - question: "What is an upsert?" - answer: "Upsert is a database operation that creates a document if it doesn't exist and updates it if it does. It removes the need to check for existence yourself or branch between create and update calls. The server handles both paths atomically in a single request." + answer: "Upsert is a database operation that creates a row if it doesn't exist and updates it if it does. It removes the need to check for existence yourself or branch between create and update calls. The server handles both paths atomically in a single request." - question: "How do I use upsert in Appwrite?" - answer: "Call `upsertDocument` on the [Appwrite Databases](/docs/products/databases) SDK with a database ID, collection ID, document ID, and the data you want to write. If the document with that ID exists, it's updated, otherwise it's created. This works the same across Cloud and self-hosted." + answer: "Call `upsertRow` on the [Appwrite Databases](/docs/products/databases) SDK with a database ID, table ID, row ID, and the data you want to write. If the row with that ID exists, it's updated, otherwise it's created. This works the same across Cloud and self-hosted." - question: "When should I use upsert instead of create or update?" - answer: "Use upsert when you don't know (or don't care) whether the document already exists, like syncing data from a mobile client, processing a background job, or ingesting events from IoT devices. It removes a round trip and a class of race conditions caused by checking existence before writing." + answer: "Use upsert when you don't know (or don't care) whether the row already exists, like syncing data from a mobile client, processing a background job, or ingesting events from IoT devices. It removes a round trip and a class of race conditions caused by checking existence before writing." - question: "Is upsert atomic in Appwrite?" - answer: "Yes, [Appwrite's](/docs/products/databases) upsert is fully atomic: the existence check and the write happen in the same operation on the server. That means two clients calling upsert on the same document ID can't both succeed in creating it, avoiding the classic check-then-write race condition." + answer: "Yes, [Appwrite's](/docs/products/databases) upsert is fully atomic: the existence check and the write happen in the same operation on the server. That means two clients calling upsert on the same row ID can't both succeed in creating it, avoiding the classic check-then-write race condition." - question: "Is upsert idempotent?" - answer: "Calling upsert with the same document ID and payload produces the same final state regardless of how many times the request runs. That makes retries safe, which is useful for unreliable networks, background workers, or anywhere you want at-least-once delivery semantics without duplicate data." + answer: "Calling upsert with the same row ID and payload produces the same final state regardless of how many times the request runs. That makes retries safe, which is useful for unreliable networks, background workers, or anywhere you want at-least-once delivery semantics without duplicate data." - question: "Can I upsert in bulk?" - answer: "Single-document upsert is available via `upsertDocument`. For larger workloads, look at [Appwrite's Bulk API](/docs/products/databases) and CSV imports, which let you write many documents in one operation. Pick the approach that matches the size and shape of your data." + answer: "Single-row upsert is available via `upsertRow`. For larger workloads, look at [Appwrite's Bulk API](/docs/products/databases) and CSV imports, which let you write many rows in one operation. Pick the approach that matches the size and shape of your data." --- -Working with databases often involves small but repetitive decisions like checking if a document exists, choosing between creating or updating, handling errors that come from guessing wrong. These steps are not difficult on their own, but over time they add complexity to your code and friction to your workflow. +Working with databases often involves small but repetitive decisions like checking if a row exists, choosing between creating or updating, handling errors that come from guessing wrong. These steps are not difficult on their own, but over time they add complexity to your code and friction to your workflow. To simplify this, we introduce Database Upsert in Appwrite. # How it works -Upsert allows you to create or update a document using a single API call. If the document does not exist, it is created. If it does, it is updated. You no longer need to write separate logic to check for existence or handle 404 responses. The server handles that for you. +Upsert allows you to create or update a row using a single API call. If the row does not exist, it is created. If it does, it is updated. You no longer need to write separate logic to check for existence or handle 404 responses. The server handles that for you. This change removes the need for client-side conditionals, reduces the number of requests between your app and the database, and helps avoid potential race conditions. It is a small shift in how you interact with the database, but one that can make your code cleaner and your application logic easier to follow. @@ -49,26 +49,26 @@ This brings you immediate benefits such as: Implementing Upsert is straightforward and intuitive: ```javascript -import { Client, Databases } from "appwrite"; +import { Client, TablesDB } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); -const databases = new Databases(client); +const tablesDB = new TablesDB(client); -const result = await databases.upsertDocument( - '', - '', - '', - { +const result = await tablesDB.upsertRow({ + databaseId: '', + tableId: '', + rowId: '', + data: { 'status': 'succeeded', 'amount': 4999, 'currency': 'usd', 'invoiceId': 'in_1Rd...', 'checks': ['cvc', 'zip'], } -) +}) ``` Database Upsert was developed to enhance developer productivity and satisfaction, providing a feature that matches or surpasses competitive solutions. Whether using Appwrite Cloud or a self-hosted setup, Database Upsert integrates smoothly into your development workflow. @@ -77,7 +77,7 @@ This feature simplifies your database interactions, enhancing efficiency, reduci # More resources -- [Read the documentation to get started](/docs/products/databases/documents) +- [Read the documentation to get started](/docs/products/databases/rows) - [Announcing Bulk API: Handle heavy data workloads with ease](/blog/post/announcing-bulk-api) - [Build a personal CRM with SvelteKit and Appwrite Databases](/blog/post/build-personal-crm-sveltekit) -- [Announcing: Document imports from CSV files](/blog/post/announcing-csv-imports) +- [Announcing: CSV imports for Appwrite Databases](/blog/post/announcing-csv-imports) diff --git a/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc b/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc index 97e9c7fa77..f0cda63dfb 100644 --- a/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc +++ b/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post -title: "Announcing Encrypted string attribute support: Built-in encryption for sensitive fields" -description: Easily encrypt sensitive string fields at rest, with no manual encryption logic. +title: "Announcing encrypted text column support: Built-in encryption for sensitive fields" +description: Easily encrypt sensitive text fields at rest, with no manual encryption logic. date: 2025-07-10 lastUpdated: 2026-05-22 cover: /images/blog/announcing-encrypted-string-attributes/cover.avif @@ -12,20 +12,20 @@ featured: false faqs: - question: "What is encryption at rest and why does it matter?" answer: "Encryption at rest means data is encrypted on disk when stored, so an attacker who gains access to the underlying database files still can't read the raw values. It matters for fintech, healthcare, messaging, and any app handling personal or regulated data. It's a baseline requirement for many compliance frameworks." - - question: "How do I encrypt a string attribute in Appwrite?" - answer: "Mark the string attribute as encrypted when you create it in your [Appwrite Databases](/docs/products/databases) collection. From that point, Appwrite encrypts the value before writing it to disk and decrypts it transparently when you read it. Your client code stays exactly the same." - - question: "What encryption algorithm does Appwrite use for encrypted attributes?" + - question: "How do I encrypt a text column in Appwrite?" + answer: "Mark the text column as encrypted when you create it in your [Appwrite Databases](/docs/products/databases) table. From that point, Appwrite encrypts the value before writing it to disk and decrypts it transparently when you read it. Your client code stays exactly the same." + - question: "What encryption algorithm does Appwrite use for encrypted columns?" answer: "Appwrite uses AES-128 in Galois/Counter Mode (GCM), an industry-standard authenticated encryption algorithm. The encryption is applied server-side before the value reaches the database, and Appwrite manages keys for you. Deployments that require FIPS-compliant environments are also supported." - - question: "Can I query or filter on encrypted string attributes?" - answer: "No, encrypted attributes can't be queried or used in filters. Encryption is intentionally one-way for queries to prevent leaking sensitive information through search patterns. If you need to look up records by a sensitive value, store a separate hashed or tokenized field for lookups." + - question: "Can I query or filter on encrypted text columns?" + answer: "No, encrypted columns can't be queried or used in filters. Encryption is intentionally one-way for queries to prevent leaking sensitive information through search patterns. If you need to look up records by a sensitive value, store a separate hashed or tokenized column for lookups." - question: "Do I need to manage encryption keys myself?" - answer: "No, [Appwrite](/docs/advanced/security) handles key management transparently. You don't generate, store, or rotate keys yourself, which removes a common source of implementation errors. The clients see encrypted fields as regular strings." - - question: "Is encrypted string attribute support available on the Free plan?" - answer: "Encrypted string attributes are available on Appwrite Cloud's Pro and Enterprise plans, plus all self-hosted deployments. If you're on the Free plan, you'd need to upgrade or self-host to use this feature." + answer: "No, [Appwrite](/docs/advanced/security) handles key management transparently. You don't generate, store, or rotate keys yourself, which removes a common source of implementation errors. The clients see encrypted fields as regular text values." + - question: "Is encrypted text column support available on the Free plan?" + answer: "Encrypted text columns are available on Appwrite Cloud's Pro and Enterprise plans, plus all self-hosted deployments. If you're on the Free plan, you'd need to upgrade or self-host to use this feature." --- -Appwrite is secure by default. We build every single product and feature with the highest regard for security. +Appwrite is secure by default. We build every single product and feature with the highest regard for security. -With this in mind, we introduce **Encrypted string attribute support** for Appwrite Databases, a new feature to enhance your databases’ security. +With this in mind, we introduce **encrypted text column support** for Appwrite Databases, a new feature to enhance your databases’ security. This critical addition lets you store sensitive data securely, encrypted at rest, directly within your databases. @@ -33,7 +33,7 @@ This critical addition lets you store sensitive data securely, encrypted at rest Previously, storing confidential or sensitive data required manual encryption and decryption. This not only increased complexity but also introduced potential security risks from implementation errors. -With Encrypted string attribute support, Appwrite handles encryption transparently using industry-standard AES-GCM encryption. Your data remains secure, encrypted server-side, without additional effort or complex custom code. Additionally, Appwrite ensures compliance with common security standards, including support for environments requiring FIPS compliance. +With encrypted text column support, Appwrite handles encryption transparently using industry-standard AES-GCM encryption. Your data remains secure, encrypted server-side, without additional effort or complex custom code. Additionally, Appwrite ensures compliance with common security standards, including support for environments requiring FIPS compliance. # Serving security-focused industries @@ -42,15 +42,15 @@ It is essential for creating secure apps in fintech, healthcare, messaging, and Key features entail: - **Server-side encryption at rest**: Your data is encrypted on the server automatically. -- **Transparent encryption**: Clients see and interact with encrypted fields just like regular strings. +- **Transparent encryption**: Clients see and interact with encrypted fields just like regular text values. - **Zero-effort protection**: No need to implement manual encryption or key management. - **Secure by design**: Fields can't be queried, ensuring sensitive data stays protected. # Setting the security standard -Appwrite delivers comprehensive, secure, easy-to-use encryption that is seamlessly integrated into your workflow. When a string attribute is marked as encrypted, Appwrite applies AES-128 encryption in Galois/Counter Mode (GCM) before writing it to the database. +Appwrite delivers comprehensive, secure, easy-to-use encryption that is seamlessly integrated into your workflow. When a text column is marked as encrypted, Appwrite applies AES-128 encryption in Galois/Counter Mode (GCM) before writing it to the database. -This new feature is available on Appwrite Cloud Pro and Enterprise plans, and self-hosted. Encrypted string attribute support significantly enhances your application's security posture, making Appwrite a trusted choice for handling sensitive data. +This new feature is available on Appwrite Cloud Pro and Enterprise plans, and self-hosted. Encrypted text column support significantly enhances your application's security posture, making Appwrite a trusted choice for handling sensitive data. # More resources diff --git a/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc b/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc index 024c6367a6..9359c1cace 100644 --- a/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc +++ b/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc @@ -28,7 +28,7 @@ When you’re spinning up a new feature, environment, or test pipeline, schema c That’s exactly why we’re announcing **Full Schema Creation** for Appwrite Databases. -With Full Schema Creation, you can define an entire table, its attributes and indexes, in a **single, synchronous request**. When the call returns, the table is immediately ready for reads and writes. If anything fails along the way, nothing is created. No partial schemas. No waiting. No brittle setup scripts. +With Full Schema Creation, you can define an entire table, its columns and indexes, in a **single, synchronous request**. When the call returns, the table is immediately ready for reads and writes. If anything fails along the way, nothing is created. No partial schemas. No waiting. No brittle setup scripts. # One request. One outcome. Fully usable. @@ -45,39 +45,6 @@ This step-wise flow introduced delays, race conditions in automation scripts, an With Full Schema Creation, all of that collapses into a single operation. You define everything upfront, Appwrite validates it all together, and either the entire schema is created successfully, or nothing is. -```js -const table = await tablesDB.createTable({ - databaseId: 'contacts_db', - tableId: 'contacts', - name: 'Contacts', - columns: [ - { - key: 'email', - type: 'email', - required: true - }, - { - key: 'name', - type: 'string', - size: 255, - required: true - }, - { - key: 'is_active', - type: 'boolean', - required: true - }, - ], - indexes: [ - { - key: 'idx_email', - type: 'unique', - attributes: ['email'] - } - ] -}); -``` - # How it works Full Schema Creation introduces an atomic, synchronous way to provision database schemas. Here’s what happens under the hood: diff --git a/src/routes/blog/post/announcing-go-support/+page.markdoc b/src/routes/blog/post/announcing-go-support/+page.markdoc index cdf3da51d9..d356ed5369 100644 --- a/src/routes/blog/post/announcing-go-support/+page.markdoc +++ b/src/routes/blog/post/announcing-go-support/+page.markdoc @@ -229,7 +229,7 @@ func Main(Context openruntimes.Context) openruntimes.Response { } ``` -Some of our API endpoints such as the ones that return preferences from the Accounts and Teams APIs as well as the ones the return documents from the Appwrite Database are loosely typed because they can be customised by user. For these, the structs offer a `Decode()` method, as seen in the following example. +Some of our API endpoints such as the ones that return preferences from the Accounts and Teams APIs as well as the ones that return rows from Appwrite Databases are loosely typed because they can be customised by user. For these, the structs offer a `Decode()` method, as seen in the following example. ```go package handler @@ -238,19 +238,20 @@ import ( "log" "os" - "github.com/open-runtimes/types-for-go/v4/openruntimes" "github.com/appwrite/sdk-for-go/appwrite" + "github.com/appwrite/sdk-for-go/models" + "github.com/open-runtimes/types-for-go/v4/openruntimes" ) type Profile struct { - *models.Document + *models.Row Name string `json:"name"` Verified bool `json:"verified"` } type ProfileList struct { - *models.DocumentList - Documents []Profile `json:"documents"` + *models.RowList + Rows []Profile `json:"rows"` } func Main(Context openruntimes.Context) openruntimes.Response { @@ -260,9 +261,9 @@ func Main(Context openruntimes.Context) openruntimes.Response { appwrite.WithKey(Context.Req.Headers["x-appwrite-key"]), ) - databases := appwrite.NewDatabases(client) + tablesDB := appwrite.NewTablesDB(client) - response, err := databases.ListDocuments("main", "profiles") + response, err := tablesDB.ListRows("main", "profiles") if err != nil { Context.Error(err) return Context.Res.Text("Internal error" Context.Res.WithStatusCode(500)) @@ -275,11 +276,11 @@ func Main(Context openruntimes.Context) openruntimes.Response { return Context.Res.Text("Internal error", Context.Res.WithStatusCode(500)) } - for _, profile := range profiles.Documents { + for _, profile := range profiles.Rows { Context.Log(profile.Id, profile.Name, profile.Verified) } - return Context.Res.Json(profiles.Documents) + return Context.Res.Json(profiles.Rows) } ``` diff --git a/src/routes/blog/post/announcing-inversion-queries/+page.markdoc b/src/routes/blog/post/announcing-inversion-queries/+page.markdoc index d03780bded..5eaa21dd40 100644 --- a/src/routes/blog/post/announcing-inversion-queries/+page.markdoc +++ b/src/routes/blog/post/announcing-inversion-queries/+page.markdoc @@ -22,7 +22,7 @@ faqs: - question: "Are inversion queries available on self-hosted Appwrite?" answer: "Yes, inversion queries are available on both Appwrite Cloud and self-hosted deployments. If you're on a recent self-hosted version, the new `NOT` operators are exposed through your client SDKs just like the existing query operators." --- -When you need to exclude certain records, the usual approach is to fetch a broad set of rows, sometimes even the entire collection, and then filter them in your application code. +When you need to exclude certain records, the usual approach is to fetch a broad set of rows, sometimes even the entire table, and then filter them in your application code. It works, but it also means you are moving more data across the network than necessary, increasing payload sizes, and adding extra logic to your client. In smaller projects this might not be noticeable, but as your datasets grow, it quickly becomes inefficient. diff --git a/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc b/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc index 0e720a9747..49e76051f7 100644 --- a/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc +++ b/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc @@ -23,7 +23,7 @@ faqs: answer: "Chain `.update()` (or `.create()`, `.delete()`) on the channel helper to filter by event type. For example, `Channel.tablesdb('db').table('t').row().update()` only delivers events when an existing row is updated, not when one is created or deleted." --- -If you've built realtime features in your apps, you've likely written channel strings by hand: concatenating IDs, formatting wildcards, and hoping you didn't introduce a typo that would silently break your subscription. While writing channel strings like `databases.*.tables.*.rows.*` works, it's error-prone and harder to maintain as your application grows. +If you've built realtime features in your apps, you've likely written channel strings by hand: concatenating IDs, formatting wildcards, and hoping you didn't introduce a typo that would silently break your subscription. While writing channel strings like `tablesdb.*.tables.*.rows.*` works, it's error-prone and harder to maintain as your application grows. To make realtime subscriptions clearer and safer, Appwrite is introducing **Channel helpers**: a type-safe, fluent API for building realtime channel subscriptions. diff --git a/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc b/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc index f9405ce931..33921851ec 100644 --- a/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc +++ b/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc @@ -11,7 +11,7 @@ featured: false faqs: - question: "What are time helper queries in Appwrite Databases?" answer: "Time helper queries are dedicated operators (`createdBefore`, `createdAfter`, `updatedBefore`, `updatedAfter`) that filter rows by their `$createdAt` and `$updatedAt` timestamps. They replace verbose range comparisons against system attributes with a more direct, intent-revealing syntax." - - question: "How do I filter Appwrite documents by date?" + - question: "How do I filter Appwrite rows by date?" answer: "Use the time helper queries with an ISO-8601 date string, for example `Query.createdAfter(new Date('2024-01-01').toISOString())`. You can combine multiple helpers in the same query to express a range, such as everything created in a specific month or updated after a given backup." - question: "What is ISO-8601 date format?" answer: "ISO-8601 is the international standard for representing dates and times, for example `2024-10-05T14:48:00Z`. The `Z` suffix denotes UTC. Appwrite expects timestamps in ISO-8601 because it is unambiguous and sorts correctly as a string, which makes it ideal for queries and APIs." @@ -26,11 +26,11 @@ If you’ve ever built a feed, a dashboard, or an audit report, you know how oft These time-based queries show up in so many of the apps you build, and when you’re working with dates, you naturally think in terms of *before* and *after*. -To make this workflow smoother, we’re excited to announce **time helper queries:** A new way to filter your documents by creating and updating times using simple, expressive syntax. +To make this workflow smoother, we’re excited to announce **time helper queries:** A new way to filter rows by creation and update times using simple, expressive syntax. # A better way to query by dates -Many workflows depend on knowing when a document was created or last updated. Whether you’re loading new items into a feed, exporting data that has changed since the previous run, or applying retention rules, you often need to filter by time. +Many workflows depend on knowing when a row was created or last updated. Whether you’re loading new items into a feed, exporting data that has changed since the previous run, or applying retention rules, you often need to filter by time. Previously, this meant comparing against `$createdAt` or `$updatedAt` using range operators. That approach works, but it adds extra noise to your queries. To make this more direct, you can now use dedicated helpers that map exactly to these common cases: @@ -66,7 +66,7 @@ Time-based filtering shows up in countless scenarios: - **Analytics dashboards:** Chart data for “last 7 days” or “last quarter.” - **Exports & reports:** Generate monthly summaries or audits. - **Archival & compliance:** Isolate data for retention or deletion policies. -- **Incremental jobs:** Process only documents updated after your last run. +- **Incremental jobs:** Process only rows updated after your last run. # Immediate benefits diff --git a/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc b/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc index 0f3645afe1..2decabef48 100644 --- a/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc +++ b/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc @@ -10,11 +10,11 @@ category: announcement featured: false faqs: - question: "What are timestamp overrides in Appwrite Databases?" - answer: "Timestamp overrides let you set `$createdAt` and `$updatedAt` manually when creating or importing documents instead of having Appwrite auto-stamp the current time. This is useful for migrating historical data, preserving original event order, and maintaining accurate audit trails." + answer: "Timestamp overrides let you set `$createdAt` and `$updatedAt` manually when creating or importing rows instead of having Appwrite auto-stamp the current time. This is useful for migrating historical data, preserving original event order, and maintaining accurate audit trails." - question: "Why do I need to override timestamps in Appwrite?" answer: "When you import data from another system, automatic timestamps make every record look brand new, which breaks analytics, feeds, and user-facing timelines. Overrides keep the original event time so a user's join date or an order's placement time stays accurate after the migration." - question: "How do I set a custom $createdAt value in Appwrite?" - answer: "Include `$createdAt` (and/or `$updatedAt`) as fields in your document payload when calling a privileged API. The value must be a valid ISO-8601 string like `2023-10-05T14:48:00Z`. Omit the fields and Appwrite stamps them automatically as usual." + answer: "Include `$createdAt` (and/or `$updatedAt`) as fields in your row payload when calling a privileged API. The value must be a valid ISO-8601 string like `2023-10-05T14:48:00Z`. Omit the fields and Appwrite stamps them automatically as usual." - question: "Can I set custom timestamps from a client SDK?" answer: "No. Timestamp overrides require an API key or Console access via the CSV Import wizard for security reasons. Allowing arbitrary client-set timestamps would let users forge audit trails, so the feature is restricted to privileged callers." - question: "What is ISO-8601 and why does Appwrite require it?" @@ -26,11 +26,11 @@ In many data workflows, imported records automatically take on the time they are Whether it is maintaining accurate audit trails, reliable analytics, proper chronological order, or a customer’s “joined on” date, every detail matters. -That’s why we’re introducing **Timestamp Overrides**. A simple but powerful way to set `$createdAt` and `$updatedAt` manually when importing or creating documents, so your history stays accurate without extra steps. This means your data looks exactly how it should from day one, with no extra scripts or workarounds. +That’s why we’re introducing **Timestamp Overrides**. A simple but powerful way to set `$createdAt` and `$updatedAt` manually when importing or creating rows, so your history stays accurate without extra steps. This means your data looks exactly how it should from day one, with no extra scripts or workarounds. # Preserve timestamps without extra workarounds -Appwrite has always managed timestamps automatically, setting `$createdAt` and `$updatedAt` to the current time whenever a document is created or updated. That’s perfect for most workflows, like building new apps or adding fresh data, because it’s accurate, automatic, and requires zero extra effort. +Appwrite has always managed timestamps automatically, setting `$createdAt` and `$updatedAt` to the current time whenever a row is created or updated. That’s perfect for most workflows, like building new apps or adding fresh data, because it’s accurate, automatic, and requires zero extra effort. Migrations and bulk imports, however, require a different approach. When you import existing data, automatic timestamps overwrite the original ones, making every record look new and breaking analytics, feeds, and user-facing timelines. @@ -52,10 +52,10 @@ This change isn’t just about convenience. It unlocks a few tangible benefits f Before you go ahead and start using this feature, here are a few important points about how Timestamp Overrides work: - **Privileged-only:** This feature requires an API key or Console access via CSV Import. It isn’t available through client-side SDK calls for security reasons. -- **Opt-in per document:** If you leave `$createdAt` or `$updatedAt` out of your payload, Appwrite will auto-stamp them as usual. +- **Opt-in per row:** If you leave `$createdAt` or `$updatedAt` out of your payload, Appwrite will auto-stamp them as usual. - **Validation:** Both fields must be valid ISO-8601 strings (e.g., `2023-10-05T14:48:00Z`). Invalid values are rejected. - **Partial override:** You can set one field and let Appwrite handle the other; for example, preserve `$createdAt` but allow `$updatedAt` to update automatically. -- **SDK usage:** Include the fields inside the document data itself; no new API parameters or endpoints are required. +- **SDK usage:** Include the fields inside the row data itself; no new API parameters or endpoints are required. # Built for enterprise‑grade data integrity @@ -70,6 +70,6 @@ Whether importing a few thousand records or years of historical data, this featu It’s available now on **Cloud**, and will be coming to **Self-Hosted** in the next release. # More resources -- [Read the documentation to learn more](/docs/products/databases/documents#custom-timestamps) +- [Read the documentation to learn more](/docs/products/databases/rows#custom-timestamps) - [Announcing CSV Import: Bring in large datasets to Appwrite with ease](/blog/post/announcing-csv-imports) - [Announcing Bulk API: Handle heavy data workloads with ease](/blog/post/announcing-bulk-api) diff --git a/src/routes/blog/post/announcing-transactions-api/+page.markdoc b/src/routes/blog/post/announcing-transactions-api/+page.markdoc index a8b37e52c3..cb7ce12022 100644 --- a/src/routes/blog/post/announcing-transactions-api/+page.markdoc +++ b/src/routes/blog/post/announcing-transactions-api/+page.markdoc @@ -56,7 +56,7 @@ When ready, commit the transaction. Appwrite validates all staged operations (pe You can explicitly abort a transaction or let it expire. Idle transactions are automatically cleaned up after a configurable timeout, anywhere between 1 minute and 1 hour, with a default of 5 minutes, to avoid resource leaks or incomplete workflows. -This flow isolates your changes until you're confident they’re valid, giving you a safe way to manage complex, interdependent writes, especially useful in scenarios like user provisioning, multi-collection updates, or third-party sync operations. +This flow isolates your changes until you're confident they’re valid, giving you a safe way to manage complex, interdependent writes, especially useful in scenarios like user provisioning, multi-table updates, or third-party sync operations. # Example diff --git a/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc b/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc index 741b217a7d..c35830b474 100644 --- a/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc +++ b/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Introducing Type generation: Automate your type definitions with Appwrite" -description: "Automatically generate types from your collections with support for multiple languages." +description: "Automatically generate types from your tables with support for multiple languages." date: 2025-06-24 cover: /images/blog/type-generation-feature/cover.avif timeToRead: 4 @@ -9,20 +9,20 @@ author: chirag-aggarwal category: announcement faqs: - question: "What is Appwrite type generation?" - answer: "Type generation is a CLI command that produces type definitions in your project's language directly from your Appwrite collections and tables. It keeps client code in sync with your database schema, reducing the chance of typos and stale types when the schema changes." + answer: "Type generation is a CLI command that produces type definitions in your project's language directly from your Appwrite tables. It keeps client code in sync with your database schema, reducing the chance of typos and stale types when the schema changes." - question: "Which languages does Appwrite type generation support?" answer: "The Appwrite CLI generates types for TypeScript, JavaScript, PHP, Swift, Dart, Java, and Kotlin. The CLI detects your project's language automatically, or you can pass options to specify it explicitly. More languages are added over time." - - question: "How do I generate types from my Appwrite collections?" - answer: "Install the [Appwrite CLI](/docs/tooling/command-line/installation), initialize your project, run `appwrite pull collections`, then run `appwrite types `. The CLI writes the generated type definitions into the specified folder, ready to import in your application code." + - question: "How do I generate types from my Appwrite tables?" + answer: "Install the [Appwrite CLI](/docs/tooling/command-line/installation), initialize your project, run `appwrite pull tables`, then run `appwrite types `. The CLI writes the generated type definitions into the specified folder, ready to import in your application code." - question: "Do I need to regenerate types every time my schema changes?" - answer: "Yes. After updating columns, indexes, or relationships in your [Appwrite Databases](/docs/products/databases), run `appwrite pull collections` followed by `appwrite types` to refresh the generated definitions. You can wire this into a CI step or pre-commit hook to keep types current." + answer: "Yes. After updating columns, indexes, or relationships in your [Appwrite Databases](/docs/products/databases), run `appwrite pull tables` followed by `appwrite types` to refresh the generated definitions. You can wire this into a CI step or pre-commit hook to keep types current." - question: "Why use generated types instead of writing them manually?" answer: "Manual types drift from the schema over time as columns are added, renamed, or removed, leading to subtle runtime bugs. Generation guarantees the types always reflect the current schema, which catches mismatches at compile time and removes a tedious manual sync step from your workflow." - question: "Does Appwrite type generation work with self-hosted Appwrite?" answer: "Yes. Type generation works against any Appwrite project the CLI can authenticate to, whether on Appwrite Cloud or self-hosted. The same commands and output formats apply, so your local workflow stays consistent regardless of deployment target." --- -We're excited to announce Appwrite’s newest CLI feature, **Type generation**. Designed specifically to enhance your developer experience. Type generation automates the creation of type definitions directly from your database collections, seamlessly integrating with your preferred programming language. +We're excited to announce Appwrite’s newest CLI feature, **Type generation**. Designed specifically to enhance your developer experience. Type generation automates the creation of type definitions directly from your database tables, seamlessly integrating with your preferred programming language. # Say goodbye to manual mapping @@ -36,10 +36,10 @@ Whether you work with PHP, Swift, Dart, TypeScript, JavaScript, Java, or Kotlin, Using Type generation is straightforward. -First, ensure you have the [Appwrite CLI](/docs/tooling/command-line/installation#getting-started) installed and your project is [initialised](/docs/tooling/command-line/installation#initialization). Then, run the following command in your terminal to pull collections from your Appwrite project: +First, ensure you have the [Appwrite CLI](/docs/tooling/command-line/installation#getting-started) installed and your project is [initialised](/docs/tooling/command-line/installation#initialization). Then, run the following command in your terminal to pull tables from your Appwrite project: ```bash -appwrite pull collections +appwrite pull tables ``` To generate types, you can use the Appwrite CLI command: diff --git a/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc b/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc index 5c88fd005d..fca27565f0 100644 --- a/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc +++ b/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc @@ -11,7 +11,7 @@ faqs: - question: "What is new in Appwrite 1.8.0 for self-hosted users?" answer: "Appwrite 1.8.0 introduces TablesDB, a Transactions API, spatial columns, CSV import, a Bulk API, Database Upsert, auto-increment support, opt-in relationship loading, and new time-based and inversion queries for [Databases](/docs/products/databases). It also adds new runtimes and performance improvements across the self-hosted stack." - question: "What is TablesDB in Appwrite?" - answer: "TablesDB is a relational-style API on top of Appwrite [Databases](/docs/products/databases). It introduces tables, columns, and rows alongside the existing collections and documents model, with endpoints like createTable, createColumn, and createRow for developers who prefer a structured schema." + answer: "TablesDB is a relational-style API on top of Appwrite [Databases](/docs/products/databases). It uses tables, columns, and rows, with endpoints like createTable, createTextColumn, and createRow for developers who prefer a structured schema." - question: "How do Appwrite database transactions work?" answer: "You stage multiple operations across one or more tables and only commit them when you are ready. If every step succeeds, Appwrite commits atomically. If anything fails (permissions, conflicts, validation), Appwrite rolls back the entire transaction so your data stays consistent." - question: "Can I use Appwrite to store and query geographic data?" @@ -35,9 +35,9 @@ Over the past two months, we've been rolling out a series of major database upgr ## Introducing TablesDB -Meet **TablesDB.** A major step forward in how Appwrite handles structured data. It introduces familiar **relational concepts** like tables, columns, and rows, along with a new **TablesDB API** that aligns with standard CRUD patterns such as `createTable`, `createRow`, and `createColumn`. +Meet **TablesDB.** A major step forward in how Appwrite handles structured data. It introduces familiar **relational concepts** like tables, columns, and rows, along with a new **TablesDB API** that aligns with standard CRUD patterns such as `createTable`, `createRow`, and `createTextColumn`. -Built for developers who prefer a more structured model, TablesDB offers the clarity of relational databases while remaining fully compatible with Appwrite's existing collections and documents. It's ideal for analytics, structured datasets, and complex relationships, giving you more control and flexibility when modelling data at scale. +Built for developers who prefer a more structured model, TablesDB offers the clarity of relational databases while keeping existing projects compatible. It's ideal for analytics, structured datasets, and complex relationships, giving you more control and flexibility when modelling data at scale. [Learn more about TablesDB](/blog/post/announcing-appwrite-databases-new-ui) @@ -60,7 +60,7 @@ With this new API, you can store points, lines, and polygons directly in Appwrit ## CSV import -CSV import is a new way to populate your Appwrite databases from CSV files. Built on top of Appwrite's migration APIs, this feature makes it easy to bring in large datasets, seed collections, or migrate structured data using only a CSV file. +CSV import is a new way to populate your Appwrite databases from CSV files. Built on top of Appwrite's migration APIs, this feature makes it easy to bring in large datasets, seed tables, or migrate structured data using only a CSV file. [Learn more about CSV import](/blog/post/announcing-csv-imports) diff --git a/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc b/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc index 20fac797fc..bc69dfc54d 100644 --- a/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc +++ b/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc @@ -217,9 +217,9 @@ New Database operators `contains` and `or`, providing greater control and flexib The contains operator is a great addition to the existing text search operators such as startsWith & endsWith, and can be used in combination with these two. ```js -db.listDocuments({ +tablesDB.listRows({ databaseId: '', - collectionId: '', + tableId: '', queries: [ Query.contains('content', ['happy', 'love']) ] @@ -229,9 +229,9 @@ db.listDocuments({ To use the OR operator pass Query.or([...]) to the queries array and provide at least two queries within the nested array. ```js -db.listDocuments({ +tablesDB.listRows({ databaseId: '', - collectionId: '', + tableId: '', queries: [ Query.or([ Query.contains('name','ivy'), diff --git a/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc b/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc index 873f2e6dde..d998814007 100644 --- a/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc +++ b/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc @@ -85,7 +85,7 @@ Appwrite provides structured databases with built-in APIs and permissions, allow Appwrite provides scalable databases with built-in APIs and permissions. Developers benefit from type safety when working with database tables and rows through generic methods, and can specify custom model types for full type safety when interacting with databases. The Appwrite API layer is designed to be extremely fast by leveraging in-memory caching. -Instead of managing database servers and writing API layers manually, developers can create collections, store application data, and define access rules directly through the Appwrite dashboard or APIs. +Instead of managing database servers and writing API layers manually, developers can create tables, store application data, and define access rules directly through the Appwrite dashboard or APIs. ## File storage diff --git a/src/routes/blog/post/appwrite-functions-guide/+page.markdoc b/src/routes/blog/post/appwrite-functions-guide/+page.markdoc index 1a27f49e61..753b528376 100644 --- a/src/routes/blog/post/appwrite-functions-guide/+page.markdoc +++ b/src/routes/blog/post/appwrite-functions-guide/+page.markdoc @@ -137,7 +137,10 @@ const execution = await functions.createExecution({ async: true }); // execution.status will be "waiting" or "processing" -// poll later with functions.getExecution(functionId, execution.$id) +// poll later with functions.getExecution({ +// functionId, +// executionId: execution.$id +// }) ``` HTTP-triggered functions always behave synchronously from the HTTP client's perspective: the connection stays open until the function returns a response or times out. diff --git a/src/routes/blog/post/appwrite-indexes/+page.markdoc b/src/routes/blog/post/appwrite-indexes/+page.markdoc index cf32465c96..4b717ee63a 100644 --- a/src/routes/blog/post/appwrite-indexes/+page.markdoc +++ b/src/routes/blog/post/appwrite-indexes/+page.markdoc @@ -13,13 +13,13 @@ faqs: - question: "What is a database index in Appwrite?" answer: "An index is a separate, sorted data structure that the database (MariaDB under the hood) maintains alongside your table. It stores the values of one or more columns with pointers back to the matching rows, so queries can jump directly to results instead of scanning the entire table. Indexes are essential for keeping queries fast as your data grows." - question: "Which index types does Appwrite support?" - answer: "Appwrite supports four index types: key indexes for equality, range, and ordering queries; unique indexes which add a uniqueness constraint on top of a key index; fulltext indexes which are required for Query.search on string columns; and spatial indexes for geographic Point, Line, and Polygon columns used with geo queries." + answer: "Appwrite supports four index types: key indexes for equality, range, and ordering queries; unique indexes which add a uniqueness constraint on top of a key index; fulltext indexes which are required for Query.search on text columns; and spatial indexes for geographic Point, Line, and Polygon columns used with geo queries." - question: "Which columns should I index?" - answer: "Index columns you filter on with Query.equal, Query.greaterThan, Query.between, and similar operators, columns you sort on with Query.orderAsc or Query.orderDesc, columns that must be unique like emails or slugs, and string columns you run Query.search against. Spatial columns used in geo queries should have a spatial index." + answer: "Index columns you filter on with Query.equal, Query.greaterThan, Query.between, and similar operators, columns you sort on with Query.orderAsc or Query.orderDesc, columns that must be unique like emails or slugs, and text columns you run Query.search against. Spatial columns used in geo queries should have a spatial index." - question: "Can adding too many indexes hurt performance?" answer: "Yes. Every index has to be updated on inserts, updates, and deletes, so a table with many redundant indexes pays a write-time cost that scales with the index count. Add indexes for queries you actually run, drop ones you do not use, and prefer composite indexes over multiple single-column indexes when several columns are queried together." - question: "How do I create an index in Appwrite?" - answer: "You can create indexes from the Console by opening the table and using the Indexes tab, or programmatically with the Databases API by calling createIndex with a key, type, attributes array, and orders array. Indexes are built asynchronously and report a processing status until ready, which can take time on large tables." + answer: "You can create indexes from the Console by opening the table and using the Indexes tab, or programmatically with the TablesDB API by calling createIndex with a key, type, columns array, and orders array. Indexes are built asynchronously and report a processing status until ready, which can take time on large tables." --- If your Appwrite queries are slow, or getting slower as your data grows, the most likely fix is an index. Without indexes, every filtered or sorted query requires a full table scan: the database reads every row and checks whether it matches your conditions. That is fine for a table with 100 rows. It becomes a serious problem at 100,000. @@ -55,7 +55,7 @@ Unique indexes are enforced at the database level, not just in your application ## Fulltext index -A fulltext index is required for [`Query.search`](/docs/products/databases/queries). It enables word-level text search across string columns. Without a fulltext index on the target column, `Query.search` returns an error. +A fulltext index is required for [`Query.search`](/docs/products/databases/queries). It enables word-level text search across text columns. Without a fulltext index on the target column, `Query.search` returns an error. Fulltext indexes are suited for content columns like `title`, `body`, or `description`. They are not appropriate for short identifiers or numeric fields. @@ -67,7 +67,7 @@ Without a spatial index, geo queries will still run but will perform a full scan # Creating an index -You can create indexes from the Appwrite Console or programmatically using the Databases API. In the Console, navigate to your database, open the table, and go to the Indexes tab. Select the index type, choose the column, and save. +You can create indexes from the Appwrite Console or programmatically using the TablesDB API. In the Console, navigate to your database, open the table, and go to the Indexes tab. Select the index type, choose the column, and save. Using the Appwrite Node.js SDK: @@ -86,8 +86,9 @@ await tablesDB.createIndex({ tableId: "", key: "status_index", // Index ID type: "key", // Index type: "key", "unique", or "fulltext" - attributes: ["status"], // Columns to index + columns: ["status"], // Columns to index orders: ["ASC"], // Sort order per column + lengths: [32], // Prefix length for text columns }); ``` @@ -99,8 +100,9 @@ await tablesDB.createIndex({ tableId: "", key: "email_unique", type: "unique", - attributes: ["email"], + columns: ["email"], orders: ["ASC"], + lengths: [255], }); ``` @@ -134,8 +136,9 @@ await tablesDB.createIndex({ tableId: "", key: "status_author_index", type: "key", - attributes: ["status", "authorId"], + columns: ["status", "authorId"], orders: ["ASC", "ASC"], + lengths: [32, 36], }); ``` diff --git a/src/routes/blog/post/appwrite-query-api/+page.markdoc b/src/routes/blog/post/appwrite-query-api/+page.markdoc index be23431ca0..9a282c8b6d 100644 --- a/src/routes/blog/post/appwrite-query-api/+page.markdoc +++ b/src/routes/blog/post/appwrite-query-api/+page.markdoc @@ -180,7 +180,7 @@ A few practical rules when working with the Query API: # Start building with Appwrite Databases -The Query API covers the full range of what you need for data retrieval: precise filtering, flexible sorting, and two pagination strategies suited to different scales. The same `Query` class works across all Appwrite Database APIs. +The Query API covers the full range of what you need for data retrieval: precise filtering, flexible sorting, and two pagination strategies suited to different scales. The same `Query` class works across Appwrite TablesDB APIs. To go further: diff --git a/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc b/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc index d3eb6939d1..9fbaa36bae 100644 --- a/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc +++ b/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc @@ -10,13 +10,13 @@ category: tutorial lastUpdated: 2025-10-14 faqs: - question: "What is Appwrite Realtime, and how does it work?" - answer: "Appwrite Realtime lets your app respond instantly to changes, like new database entries or deleted documents, without needing manual refreshes. You simply subscribe to events (e.g., document creation, updates, or deletions), and Appwrite automatically pushes updates to your app via a WebSocket connection." + answer: "Appwrite Realtime lets your app respond instantly to changes, like new database entries or deleted rows, without needing manual refreshes. You simply subscribe to events (e.g., row creation, updates, or deletions), and Appwrite automatically pushes updates to your app via a WebSocket connection." - question: "How does Realtime improve Flutter app performance?" answer: "Realtime keeps your app's state instantly in sync with the backend. Instead of constantly polling APIs for updates, your app reacts to live events, reducing unnecessary requests and improving responsiveness. It's perfect for features like chats, dashboards, or collaborative tools." - question: "Can I use Appwrite Realtime without a database?" answer: "Yes. While databases are a common use case, Realtime can also subscribe to other Appwrite services, like authentication sessions, storage changes, or function executions. You can listen to almost any event happening inside your Appwrite project." - question: "Is Realtime secure?" - answer: "Yes. Appwrite Realtime enforces the same permissions and roles as other Appwrite services. Users only receive updates for documents or data they are allowed to access, ensuring security and privacy even in live data streams." + answer: "Yes. Appwrite Realtime enforces the same permissions and roles as other Appwrite services. Users only receive updates for rows or data they are allowed to access, ensuring security and privacy even in live data streams." - question: "Can I use Appwrite Realtime with other frameworks or just Flutter?" answer: "Realtime works across all SDKs that Appwrite supports, including Web, Android, and iOS. Flutter is just one example. The same logic applies universally: subscribe to channels and react to incoming data." --- @@ -39,24 +39,24 @@ On the databases page, click on the **Create database** button. In the dialog that pops up, enter a name and database ID, and click **Create to create the database and show the database page**. Make sure to note down the database ID next to the database name as we will need that later in our code. -Once on the database page, click on the **Create collection** button. +Once on the database page, click on the **Create table** button. -![Create collection](/images/blog/appwrite-realtime-with-flutter/2.avif) +![Create table](/images/blog/appwrite-realtime-with-flutter/2.avif) -In the dialog that pops up, set the collection name to **Items** and click on the **Create** button to create the collection, and you will be redirected to the new collection's page. +In the dialog that pops up, set the table name to **Items** and click on the **Create** button to create the table, and you will be redirected to the new table's page. -Switch to the Attributes tab and create the following attribute. Also note down the **Collection ID** from the top of the page next to the collection name. +Switch to the Columns tab and create the following column. Also note down the **Table ID** from the top of the page next to the table name. -- Type: String -- Attribute Key: name +- Type: Text +- Column Key: name - Size: 25 - Default: null - Required: true - Array: false - ![Create String](/images/blog/appwrite-realtime-with-flutter/3.avif) + ![Create text column](/images/blog/appwrite-realtime-with-flutter/3.avif) -Switch to the Settings tab and scroll down to **Permissions** to configure the permissions for the collection. Add the **Any** role and check create, read, update, and delete so that anyone can read and write. +Switch to the Settings tab and scroll down to **Permissions** to configure the permissions for the table. Add the **Any** role and check create, read, update, and delete so that anyone can read and write. ![Set permissions](/images/blog/appwrite-realtime-with-flutter/4.avif) @@ -96,7 +96,7 @@ By registering a new platform, you are allowing your app to communicate with the # Home page -We will start by creating a simple stateful widget that will list all the items from our items collection and allow adding new items and deleting existing items. Our home page will also connect to Appwrite's Realtime service and display changes in the collection of items by updating the UI as they happen. So, let's create our **HomePage** widget. Modify the code in **lib/main.dart** as follows: +We will start by creating a simple stateful widget that will list all the items from our items table and allow adding new items and deleting existing items. Our home page will also connect to Appwrite's Realtime service and display changes in the table of items by updating the UI as they happen. So, let's create our **HomePage** widget. Modify the code in **lib/main.dart** as follows: ```dart import 'package:flutter/material.dart'; @@ -184,7 +184,7 @@ class _HomePageState extends State { ``` -In the **initState** function of the HomePage, we will create and initialize our Appwrite client, as well as subscribe to real-time changes in documents in our **items** collection. +In the **initState** function of the HomePage, we will create and initialize our Appwrite client, as well as subscribe to real-time changes in rows in our **items** table. ```dart RealtimeSubscription? subscription; @@ -206,33 +206,33 @@ dispose(){ } ``` -Now, let us set up different variables and functions to load the initial data, listen to changes in the collection documents, and update the UI to reflect the changes in real time. +Now, let us set up different variables and functions to load the initial data, listen to changes in the table rows, and update the UI to reflect the changes in real time. -First, initialize our database ID and items collection ID and set up a function to load initial data when the application first starts. For that, we will also set up an Appwrite database service. +First, initialize our database ID and items table ID and set up a function to load initial data when the application first starts. For that, we will also set up an Appwrite TablesDB service. ```dart final database = 'default'; // your database id - final itemsCollection = 'items'; // your collection id - late final Databases databases; + final itemsTable = 'items'; // your table id + late final TablesDB tablesDB; @override initState() { super.initState(); client = Client().setProject('delete'); // your project id - databases = Databases(client); + tablesDB = TablesDB(client); loadItems(); subscribe(); } loadItems() async { try { - final res = await databases.listDocuments( + final res = await tablesDB.listRows( databaseId: database, - collectionId: itemsCollection, + tableId: itemsTable, ); setState(() { items = - List>.from(res.documents.map((e) => e.data)); + List>.from(res.rows.map((e) => e.data)); }); } on AppwriteException catch (e) { print(e.message); @@ -240,14 +240,14 @@ First, initialize our database ID and items collection ID and set up a function } ``` -Now, we will set up our subscribe function, which will listen to changes to documents in our items collection. +Now, we will set up our subscribe function, which will listen to changes to rows in our items table. ```dart void subscribe() { final realtime = Realtime(client); subscription = realtime.subscribe([ - 'documents' // subscribe to all documents in every database and collection + Channel.tablesdb(database).table(itemsTable).row().toString() ]); // listen to changes @@ -269,15 +269,15 @@ Now, we will set up our subscribe function, which will listen to changes to docu } ``` -Finally, let's modify our `_addItem` function to add items to Appwrite's database and see how the view updates in real time. +Finally, let's modify our `_addItem` function to add items to Appwrite's table and see how the view updates in real time. ```dart void _addItem(String name) async { try { - await databases.createDocument( + await tablesDB.createRow( databaseId: database, - collectionId: itemsCollection, - documentId: ID.unique(), + tableId: itemsTable, + rowId: ID.unique(), data: {'name': name}, ); } on AppwriteException catch (e) { @@ -294,10 +294,10 @@ Let us also modify our `ListTile` widget to add a delete button that will allo trailing: IconButton( icon: const Icon(Icons.delete), onPressed: () async { - await databases.deleteDocument( + await tablesDB.deleteRow( databaseId: database, - collectionId: itemsCollection, - documentId: item['\$id'], + tableId: itemsTable, + rowId: item['\$id'], ); }, ), @@ -342,27 +342,27 @@ class _HomePageState extends State { RealtimeSubscription? subscription; late final Client client; final database = 'default'; // your database id - final itemsCollection = 'items'; // your collection id - late final Databases databases; + final itemsTable = 'items'; // your table id + late final TablesDB tablesDB; @override initState() { super.initState(); client = Client().setProject('delete'); // your project id - databases = Databases(client); + tablesDB = TablesDB(client); loadItems(); subscribe(); } loadItems() async { try { - final res = await databases.listDocuments( + final res = await tablesDB.listRows( databaseId: database, - collectionId: itemsCollection, + tableId: itemsTable, ); setState(() { items = - List>.from(res.documents.map((e) => e.data)); + List>.from(res.rows.map((e) => e.data)); }); } on AppwriteException catch (e) { print(e.message); @@ -373,7 +373,7 @@ class _HomePageState extends State { final realtime = Realtime(client); subscription = realtime.subscribe([ - 'documents' // subscribe to all documents in every database and collection + Channel.tablesdb(database).table(itemsTable).row().toString() ]); // listen to changes @@ -412,10 +412,10 @@ class _HomePageState extends State { trailing: IconButton( icon: const Icon(Icons.delete), onPressed: () async { - await databases.deleteDocument( + await tablesDB.deleteRow( databaseId: database, - collectionId: itemsCollection, - documentId: item['\$id'], + tableId: itemsTable, + rowId: item['\$id'], ); }, ), @@ -459,10 +459,10 @@ class _HomePageState extends State { void _addItem(String name) async { try { - await databases.createDocument( + await tablesDB.createRow( databaseId: database, - collectionId: itemsCollection, - documentId: ID.unique(), + tableId: itemsTable, + rowId: ID.unique(), data: {'name': name}, ); } on AppwriteException catch (e) { diff --git a/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc b/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc index 16c7c9971b..c443f2e55f 100644 --- a/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc +++ b/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc @@ -64,7 +64,10 @@ const account = new Account(client); const tablesDB = new TablesDB(client); // Log in -await account.createEmailPasswordSession("user@example.com", "password"); +await account.createEmailPasswordSession({ + email: "user@example.com", + password: "password" +}); // Read data, scoped to what this user can access const docs = await tablesDB.listRows({ diff --git a/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc b/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc index 355cd505a4..8e2ab5fb6d 100644 --- a/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc +++ b/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc @@ -53,13 +53,15 @@ const client = new Client() const storage = new Storage(client); const bucket = await storage.createBucket( - ID.unique(), // bucketId - 'User Uploads', // name - ['any'], // permissions (covered below) - true, // fileSecurity - true, // enabled - 10000000, // maximumFileSize (10 MB) - ['image/jpeg', 'image/png', 'application/pdf'] // allowedFileExtensions (MIME types or extensions, e.g. 'jpg') + { + bucketId: ID.unique(), + name: 'User Uploads', + permissions: ['any'], + fileSecurity: true, + enabled: true, + maximumFileSize: 10000000, + allowedFileExtensions: ['image/jpeg', 'image/png', 'application/pdf'] +} // allowedFileExtensions (MIME types or extensions, e.g. 'jpg') ); ``` diff --git a/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc b/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc index ebebd403ab..8b15d3a8a9 100644 --- a/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc +++ b/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc @@ -37,7 +37,7 @@ Around that, Convex layers a broader platform: - HTTP actions for webhook endpoints and custom clients. - A document-style database with optional schemas, indexes, and paginated queries. - Realtime that is automatic as long as you read data through query functions and client libraries. -- File Storage with upload, store, serve, and delete, referenced from database documents. +- File Storage with upload, store, serve, and delete, referenced from database rows. - Scheduled Functions and Cron Jobs for durable scheduling, plus higher-level Workpool, Workflow, and Cron components for larger scale. - Authentication via Clerk, WorkOS AuthKit, Auth0, Custom OIDC, or the beta Convex Auth library. - Self-hosting under an FSL Apache 2.0 license that converts to Apache 2.0 after two years. diff --git a/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc b/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc index 6ac50347a8..25f7daa1cd 100644 --- a/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc +++ b/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc @@ -10,7 +10,7 @@ category: product featured: false faqs: - question: "What's new in Appwrite 1.9.0?" - answer: "Appwrite 1.9.0 adds MongoDB as a supported database option for self-hosted deployments, better handling of large integers, new string column types, configurable caching, and improved database observability. Real-time, auth, and infrastructure all got updates too." + answer: "Appwrite 1.9.0 adds MongoDB as a supported database option for self-hosted deployments, better handling of large integers, new text column types, configurable caching, and improved database observability. Real-time, auth, and infrastructure all got updates too." - question: "Can I now use MongoDB with Appwrite?" answer: "Yes, on self-hosted Appwrite starting with version 1.9.0. You can run Appwrite directly on your existing MongoDB infrastructure while keeping the same SDKs and APIs. Backups, monitoring, and scaling tools you've built around MongoDB carry over." - question: "How does the new message-based Realtime work?" @@ -49,7 +49,7 @@ You can run Appwrite directly on your existing MongoDB infrastructure while keep Reuse your existing backups, monitoring, and scaling setup while staying fully open source and self hosted. -This release also includes improvements across Databases, Realtime, Auth, and infrastructure. You get better handling of large integers, new string column types, configurable caching, and improved observability for database usage. +This release also includes improvements across Databases, Realtime, Auth, and infrastructure. You get better handling of large integers, new text column types, configurable caching, and improved observability for database usage. [Read the announcement](https://appwrite.io/blog/post/appwrite-mongodb-partnership-self-hosted) diff --git a/src/routes/blog/post/backend-as-a-service/+page.markdoc b/src/routes/blog/post/backend-as-a-service/+page.markdoc index 4984d5af12..4d1474e802 100644 --- a/src/routes/blog/post/backend-as-a-service/+page.markdoc +++ b/src/routes/blog/post/backend-as-a-service/+page.markdoc @@ -27,7 +27,7 @@ faqs: Typical BaaS bundles expose these capabilities through HTTP APIs and SDKs: - **Auth:** accounts, sessions, OAuth, MFA, password recovery, and sometimes SAML/SCIM on enterprise tiers. -- **Database:** managed logical data store with per-row/collection permissions: SQL (Postgres) or document/NoSQL APIs depending on vendor. +- **Database:** managed logical data store with per-row or resource-level permissions: SQL (Postgres) or NoSQL APIs depending on vendor. - **Storage:** object/file storage with signed URLs, access rules, and often image transforms. - **Functions:** event-driven or HTTP-invoked compute for business logic and integrations. - **APIs:** REST and/or GraphQL surfaces generated or maintained by the platform, plus realtime channels where offered. diff --git a/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc b/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc index 0f2aecfccd..aed7b7ac16 100644 --- a/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc +++ b/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc @@ -66,7 +66,7 @@ Manual deployments. Manual backups. Manual log reviews. These feel manageable wh # 6. Letting backend inconsistency accumulate across features -In fast-moving teams, backend inconsistencies creep in gradually: different naming conventions across collections, different data modeling patterns for similar concepts, different permission logic applied to features built three sprints apart. Each one is minor in isolation. Together, they mean every new feature requires a developer to interpret what came before rather than extend a consistent pattern, and interpretation costs time. +In fast-moving teams, backend inconsistencies creep in gradually: different naming conventions across tables, different data modeling patterns for similar concepts, different permission logic applied to features built three sprints apart. Each one is minor in isolation. Together, they mean every new feature requires a developer to interpret what came before rather than extend a consistent pattern, and interpretation costs time. **What to do instead:** Define backend standards early. Naming conventions, data modeling guidelines, permission defaults, environment structure. Consistency reduces cognitive load across the entire team, and that compounds into real velocity over time. @@ -86,7 +86,7 @@ For small teams, Appwrite directly addresses the backend mistakes outlined above - **Consistent backend foundation across projects.** Appwrite's project-based structure gives every application the same set of backend primitives from day one, no stack debates, no rebuilding auth or storage from scratch. - **Integrated backend services without glue code.** Auth, databases, storage, functions, and messaging are built to work together out of the box, reducing the integration surface area that accumulates across multi-vendor backends. -- **Granular permissions as a first-class primitive.** Appwrite's permission system lets you define access at the collection, document, bucket, and file level, making it practical to enforce least-privilege access from the start rather than retrofitting it later. +- **Granular permissions as a first-class primitive.** Appwrite's permission system lets you define access at the table, row, bucket, and file level, making it practical to enforce least-privilege access from the start rather than retrofitting it later. - **Open-source and fully transparent.** Every backend infrastructure decision Appwrite makes can be verified directly in the source code. No vendor trust required. - **Self-hosting for teams with data residency requirements.** Deploy Appwrite within your own infrastructure when required, without switching backend stacks. diff --git a/src/routes/blog/post/best-pagination-technique/+page.markdoc b/src/routes/blog/post/best-pagination-technique/+page.markdoc index a195b324f1..15f1d12434 100644 --- a/src/routes/blog/post/best-pagination-technique/+page.markdoc +++ b/src/routes/blog/post/best-pagination-technique/+page.markdoc @@ -58,9 +58,9 @@ To get the second page, we keep the limit at 10 (this doesn't change since we wa In the SQL world, such a query would be written as `SELECT * FROM posts OFFSET 10 LIMIT 10`. -Some websites implementing offset pagination also show the page number of the last page. How do they do it? Alongside results for each page, they also tend to return a `sum` attribute telling you how many rows there are in total. Using `limit`, `sum`, and a bit of math, you can calculate last page number using `lastPage = ceil(sum / limit)` +Some websites implementing offset pagination also show the page number of the last page. How do they do it? Alongside results for each page, they also tend to return a `sum` field telling you how many rows there are in total. Using `limit`, `sum`, and a bit of math, you can calculate last page number using `lastPage = ceil(sum / limit)` -As convenient as this feature is for the user, developers struggle to scale this type of pagination. Looking at `sum` attribute, we can already see that it can take quite some time to count all rows in a database to the exact number. **Alongside that, the `offset` in databases is implemented in a way that loops through rows to know how many should be skipped.** That means that the higher our offset is, the longer our database query will take. +As convenient as this feature is for the user, developers struggle to scale this type of pagination. Looking at `sum`, we can already see that it can take quite some time to count all rows in a database to the exact number. **Alongside that, the `offset` in databases is implemented in a way that loops through rows to know how many should be skipped.** That means that the higher our offset is, the longer our database query will take. Another downside of offset pagination is that it doesn't play well with real-time data or data that changes often. Offset says how many rows we want to skip but doesn't account for row deletion or new rows being created. Such an offset can result in showing duplicate data or missing data. @@ -94,47 +94,45 @@ This is a really rare condition and only occurs if the row's ID that you are abo [Appwrite](https://appwrite.io/) is an open-source backend-as-a-service that abstracts all the complexity involved in building a modern application by providing you with a set of REST APIs for your core backend needs. Appwrite handles user authentication and authorization, databases, file storage, cloud functions, webhooks, messaging, and more. You can extend Appwrite using your favorite backend language if anything is missing. -Appwrite Database lets you store any text-based data that needs to be shared across your users. Appwrite's database allows you to create multiple collections (tables) and store multiple documents (rows) in it. Each collection has attributes (columns) configured to give your dataset a proper schema. You can also configure indexes to make your search queries more performant. When reading your data, you can use powerful queries, filter them, sort them, limit the number of results, and paginate over them. +Appwrite Database lets you store any text-based data that needs to be shared across your users. Appwrite's database allows you to create multiple tables and store multiple rows in it. Each table has columns configured to give your dataset a proper schema. You can also configure indexes to make your search queries more performant. When reading your data, you can use powerful queries, filter them, sort them, limit the number of results, and paginate over them. -Appwrite's pagination supports both offset and cursor pagination. Let's imagine you have a collection with ID `articles`. You can get documents from this collection with either offset or cursor pagination: +Appwrite's pagination supports both offset and cursor pagination. Let's imagine you have a table with ID `articles`. You can get rows from this table with either offset or cursor pagination: ```jsx -// Setup -import { Appwrite, Databases, Query } from "appwrite"; +import { Client, TablesDB, Query } from "appwrite"; -const client = new Appwrite(); -client +const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('articles-demo'); // Your project ID -const databases = new Databases(client); +const tablesDB = new TablesDB(client); // Offset pagination -databases.listDocuments( - 'main', // Database ID - 'articles', // Collection ID - [ - Query.limit(10), // Limit, total documents in the response - Query.offset(500), // Offset, amount of documents to skip +tablesDB.listRows({ + databaseId: 'main', + tableId: 'articles', + queries: [ + Query.limit(10), // Limit, total rows in the response + Query.offset(500), // Offset, amount of rows to skip ] -).then((response) => { +}).then((response) => { console.log(response); }); // Cursor pagination -databases.listDocuments( - 'main', // Database ID - 'articles', // Collection ID - [ - Query.limit(10), // Limit, total documents in the response - Query.cursorAfter('61d6eb2281fce3650c2c', // ID of document I want to paginate after +tablesDB.listRows({ + databaseId: 'main', + tableId: 'articles', + queries: [ + Query.limit(10), // Limit, total rows in the response + Query.cursorAfter('61d6eb2281fce3650c2c'), // ID of row I want to paginate after ] -).then((response) => { +}).then((response) => { console.log(response); }); ``` -First, we import the Appwrite SDK and set up an instance that connects to our Appwrite Cloud project. Then, we list 10 documents using offset pagination. Right after, we write the exact same list documents query, but this time using `cursor` instead of offset pagination. +First, we import the Appwrite SDK and set up an instance that connects to our Appwrite Cloud project. Then, we list 10 rows using offset pagination. Right after, we write the exact same list rows query, but this time using `cursor` instead of offset pagination. ## Benchmarks @@ -142,7 +140,7 @@ We’ve frequently mentioned the term "performance" in this article without prov > You can find complete source code in the [GitHub repository.](https://github.com/appwrite) -First, you set up Appwrite, register a user, create a project and create a collection called `posts` with read permission set to `any`. To learn more about this process, visit the [Appwrite docs](https://appwrite.io/docs). You should now have Appwrite ready to go. +First, you set up Appwrite, register a user, create a project and create a table called `posts` with read permission set to `any`. To learn more about this process, visit the [Appwrite docs](https://appwrite.io/docs). You should now have Appwrite ready to go. Use the following script to load data into our MariaDB database and prepare for the benchmark. We could use Appwrite SDK, but talking directly to MariaDB offers more optional write queries for large datasets. @@ -174,7 +172,7 @@ for(let i = 0; i < 100; i++) { index++; } - const query = `INSERT INTO _project_${config.projectId}_collection_posts (_uid, _read, _write) VALUES ${queryValues.join(", ")}`; + const query = `INSERT INTO posts (_uid, _read, _write) VALUES ${queryValues.join(", ")}`; promises.push(connection.execute(query)); } @@ -188,9 +186,9 @@ console.error(`🌟 Successfully finished`); > We used two layers for loops to increase the speed of the script. First for loop creates query executions that need to be awaited, and the second loop creates a long query holding multiple insert requests. Ideally, we would want everything in one request, but that is impossible due to MySQL configuration, so we split it into 100 requests. -Now you have 1 million documents inserted in less than a minute, and are ready to start the benchmarks. We will be using the [k6](https://k6.io/) load-testing library for this demo. +Now you have 1 million rows inserted in less than a minute, and are ready to start the benchmarks. We will be using the [k6](https://k6.io/) load-testing library for this demo. -Let's benchmark the well-known and widely used offset pagination first. During each test scenario, we try to fetch a page with 10 documents, from different parts of our dataset. We will start with offset 0 and go all the way to an offset of 900k in increments of 100k. The benchmark is written in a way that makes only one request at a time to keep it as accurate as possible. We will also run the same benchmark ten times and measure average response times to ensure statistical significance. We'll be using k6's HTTP client to make requests to Appwrite's REST API. +Let's benchmark the well-known and widely used offset pagination first. During each test scenario, we try to fetch a page with 10 rows, from different parts of our dataset. We will start with offset 0 and go all the way to an offset of 900k in increments of 100k. The benchmark is written in a way that makes only one request at a time to keep it as accurate as possible. We will also run the same benchmark ten times and measure average response times to ensure statistical significance. We'll be using k6's HTTP client to make requests to Appwrite's REST API. ```jsx // script_offset.sh @@ -211,7 +209,7 @@ export default function () { const offset = Query.offset(__ENV.OFFSET); const limit = 10; - http.get(`${config.endpoint}/databases/main/collections/posts/documents?queries[]=${offset}&queries[]=${limit}`, { + http.get(`${config.endpoint}/tablesdb/main/tables/posts/rows?queries[]=${offset}&queries[]=${limit}`, { headers: { 'content-type': 'application/json', 'X-Appwrite-Project': config.projectId @@ -256,9 +254,9 @@ Within a minute, all benchmarks finished, providing me with the average response | 90% offset | 482.71 | ![Cursor pagination benchmark](/images/blog/best-pagination-technique/graph.avif) -As you can see, offset 0 was pretty fast, responding in less than 4ms. The first jump was to offset 100k, and the change was drastic, increasing response times to 52ms. With each increase in the offset, the duration went up, resulting in almost 500ms to get ten documents after an offset of 900k documents. That is crazy! +As you can see, offset 0 was pretty fast, responding in less than 4ms. The first jump was to offset 100k, and the change was drastic, increasing response times to 52ms. With each increase in the offset, the duration went up, resulting in almost 500ms to get ten rows after an offset of 900k rows. That is crazy! -Now let's update our script to use cursor pagination. We will update our script to use a cursor instead of offset and update our bash script to provide a cursor (document ID) instead of an offset number. +Now let's update our script to use cursor pagination. We will update our script to use a cursor instead of offset and update our bash script to provide a cursor (row ID) instead of an offset number. ```jsx // script_cursor.js @@ -279,7 +277,7 @@ export default function () { const cursor = Query.cursorAfter(__ENV.CURSOR); const limit = 10; - http.get(`${config.endpoint}/databases/main/collections/posts/documents?queries[]=${offset}&queries[]=${limit}`, { + http.get(`${config.endpoint}/tablesdb/main/tables/posts/rows?queries[]=${cursor}&queries[]=${limit}`, { headers: { 'content-type': 'application/json', 'X-Appwrite-Project': config.projectId @@ -346,4 +344,4 @@ Do you know what is better than reading about pagination? Trying it out! I would - [Is offset pagination dead? Why cursor pagination is taking over](https://uxdesign.cc/why-facebook-says-cursor-pagination-is-the-greatest-d6b98d86b6c0) - [Offset pagination vs Cursor pagination](https://stackoverflow.com/questions/55744926/offset-pagination-vs-cursor-pagination) - [How to implement cursors for pagination in an api](https://stackoverflow.com/questions/18314687/how-to-implement-cursors-for-pagination-in-an-api) -- [How to Implement Cursor Pagination Like a Pro](https://medium.com/swlh/how-to-implement-cursor-pagination-like-a-pro-513140b65f32) \ No newline at end of file +- [How to Implement Cursor Pagination Like a Pro](https://medium.com/swlh/how-to-implement-cursor-pagination-like-a-pro-513140b65f32) diff --git a/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc b/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc index 4a3c9b2f57..13be91be30 100644 --- a/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc +++ b/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc @@ -53,7 +53,7 @@ The **Appwrite MCP server** gives Cursor access to your Appwrite project so it c ## 1. Create an API Key in Appwrite Cloud * Log in to [Appwrite Cloud](https://cloud.appwrite.io). * Create a **new API key** with the following scopes: - - `databases.read` and `databases.write` (or `tables.read` and `tables.write`) + - `tables.read`, `tables.write`, `rows.read`, and `rows.write` - `users.read` and `users.write` * Copy the key. @@ -260,12 +260,18 @@ export async function login(email: string, password: string) { await deleteAllSessions(); try { - await account.createEmailPasswordSession(email, password); + await account.createEmailPasswordSession({ + email: email, + password: password + }); } catch (err: any) { const msg = err?.message?.toLowerCase() ?? ''; if (msg.includes('session') && msg.includes('active')) { await deleteAllSessions(); - await account.createEmailPasswordSession(email, password); + await account.createEmailPasswordSession({ + email: email, + password: password + }); } else { throw err; } @@ -275,7 +281,12 @@ export async function login(email: string, password: string) { } export async function signup(email: string, password: string, name?: string) { - await account.create(ID.unique(), email, password, name); + await account.create({ + userId: ID.unique(), + email, + password, + name + }); return await login(email, password); } diff --git a/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc b/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc index 141897c481..a4e7e10a20 100644 --- a/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc +++ b/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc @@ -15,9 +15,9 @@ faqs: - question: "Can I use Appwrite with TypeScript in Svelte?" answer: "Yes. The Appwrite Web SDK ships with full TypeScript types. The tutorial uses JavaScript for simplicity, but you can swap in TypeScript by picking that option in sv create and importing types directly from the appwrite package." - question: "How do I enforce that users only see their own data?" - answer: "Enable Document Security on your collection and set per-document permissions when creating rows. Use the user's ID as the read/write permission so other users can't access their data. [Appwrite Databases](/docs/products/databases) handles the permission checks automatically." - - question: "What's the difference between collection-level and document-level permissions?" - answer: "Collection-level permissions apply to all documents in the collection. Document-level (Document Security) lets each row carry its own permissions, which is what you want for multi-tenant data like a personal expense tracker. Enable Document Security to use it." + answer: "Enable row security on your table and set per-row permissions when creating rows. Use the user's ID as the read/write permission so other users can't access their data. [Appwrite Databases](/docs/products/databases) handles the permission checks automatically." + - question: "What's the difference between table-level and row-level permissions?" + answer: "Table-level permissions apply to all rows in the table. Row-level (Row security) lets each row carry its own permissions, which is what you want for multi-tenant data like a personal expense tracker. Enable Row security to use it." - question: "Do I need to host Svelte and Appwrite separately?" answer: "Not necessarily. You can deploy the SvelteKit frontend on [Appwrite Sites](/docs/products/sites) and use the same project for backend services, keeping everything under one console. Or you can deploy SvelteKit elsewhere (Netlify, Vercel) and point at Appwrite for the backend." --- @@ -74,7 +74,7 @@ Our application needs to communicate with [Appwrite](https://cloud.appwrite.io/? PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 PUBLIC_APPWRITE_PROJECT_ID=your-project-id PUBLIC_APPWRITE_DATABASE_ID=expense-db -PUBLIC_APPWRITE_COLLECTION_ID=expenses +PUBLIC_APPWRITE_TABLE_ID=expenses ``` The `PUBLIC_` prefix makes these variables available to our client-side code in Svelte. You'll need to replace `your-project-id` with your actual Appwrite project ID, which we'll create in the next step. @@ -85,28 +85,28 @@ Before we continue with the frontend implementation, we need to configure our Ap 1. Create a new project 2. Open the **Databases** tab from the sidebar and create a database with the ID "expense-db" -3. In your new database, create a collection with the ID "expenses" +3. In your new database, create a table with the ID "expenses" -The expenses collection needs several attributes to store the expense data effectively. Open the **Attributes** tab of your new collection and add the following attributes: +The expenses table needs several columns to store the expense data effectively. Open the **Columns** tab of your new table and add the following columns: ```md -- `userId` (String, required) +- `userId` (Text, required) - `amount` (Float, required) - `category` (Enum, required) - Elements: "food", "rent", "transportation", "entertainment", "shopping", "healthcare", "utilities", "education", "other" -- `description` (String, required) +- `description` (Text, required) - `date` (DateTime, required) - `createdAt` (DateTime, required) - `updatedAt` (DateTime, required) ``` -Notice that the `category` attribute is an enumerated type with a set of predefined values. This structured approach helps us organize and filter expenses effectively. We have both a `date` attribute and a `createdAt` attribute because when an expense is created is not necessarily the same as when it occurred. +Notice that the `category` column is an enumerated type with a set of predefined values. This structured approach helps us organize and filter expenses effectively. We have both a `date` column and a `createdAt` column because when an expense is created is not necessarily the same as when it occurred. -To ensure that users can only access their own expenses, Open the collection's **Settings** tab and scroll to **Permissions**. Click **Add role**, select **Users** and check **Create** permission. +To ensure that users can only access their own expenses, Open the table's **Settings** tab and scroll to **Permissions**. Click **Add role**, select **Users** and check **Create** permission. -Next, enable **Document Security** to allow users to access their documents. We'll ensure this by giving users the **Read** permission when creating documents in our code. +Next, enable **Row security** to allow users to access their rows. We'll ensure this by giving users the **Read** permission when creating rows in our code. -![permissions-document-security](/images/blog/build-fullstack-svelte-appwrite/permissions-document-security.avif) +![permissions-row-security](/images/blog/build-fullstack-svelte-appwrite/permissions-document-security.avif) ## Project structure @@ -173,12 +173,12 @@ This template provides the basic structure for our application. The `data-svelte Let's set up our connection to Appwrite. If you haven't already, create a new file in the `src/lib` directory named `appwrite.js`. We'll use this file to configure the Appwrite client and provide access to our database and account services. ```js -import { Client, Account, Databases } from 'appwrite' +import { Client, Account, TablesDB } from 'appwrite' import { PUBLIC_APPWRITE_ENDPOINT, PUBLIC_APPWRITE_PROJECT_ID, PUBLIC_APPWRITE_DATABASE_ID, - PUBLIC_APPWRITE_COLLECTION_ID + PUBLIC_APPWRITE_TABLE_ID } from '$env/static/public' const client = new Client() @@ -186,17 +186,17 @@ const client = new Client() client.setEndpoint(PUBLIC_APPWRITE_ENDPOINT).setProject(PUBLIC_APPWRITE_PROJECT_ID) export const account = new Account(client) -export const databases = new Databases(client) +export const tablesDB = new TablesDB(client) -// Collection IDs from environment variables -export const EXPENSES_COLLECTION_ID = PUBLIC_APPWRITE_COLLECTION_ID +// Table IDs from environment variables +export const EXPENSES_TABLE_ID = PUBLIC_APPWRITE_TABLE_ID export const DATABASE_ID = PUBLIC_APPWRITE_DATABASE_ID ``` -This configuration file initializes our connection to Appwrite. The `Client` class creates a new Appwrite client instance, which we configure with our endpoint and project ID from our environment variables. We then create instances of the `Databases` and `Account` services, which we'll use throughout our application for database operations and user authentication. +This configuration file initializes our connection to Appwrite. The `Client` class creates a new Appwrite client instance, which we configure with our endpoint and project ID from our environment variables. We then create instances of the `TablesDB` and `Account` services, which we'll use throughout our application for database operations and user authentication. -Finally, we export the collection IDs from our environment variables so that we can use them in other parts of our application. +Finally, we export the table IDs from our environment variables so that we can use them in other parts of our application. ## Managing authentication state @@ -270,7 +270,9 @@ Finally, we'll add a `logout` function to the `auth.js` file to handle user logo ```js export async function logout() { try { - await account.deleteSession('current') + await account.deleteSession({ + sessionId: 'current' + }) user.set(null) } catch (error) { console.error('Logout error:', error) @@ -546,7 +548,7 @@ We'll start with our imports and state management: @@ -89,15 +89,15 @@ const client = new Appwrite.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID -const database = new Appwrite.Databases(client); +const tablesDB = new Appwrite.TablesDB(client); document.querySelector('button').addEventListener('click', async () => { const promises = []; for (let i = 0; i < 200; i++) { - const promise = database.createDocument({ + const promise = tablesDB.createRow({ databaseId: 'testDb', // Your database ID - collectionId: 'testCollection', // Your collection ID - documentId: Appwrite.ID.unique(), + tableId: 'testTable', // Your table ID + rowId: Appwrite.ID.unique(), data: { number: i + i } }); promises.push(promise); @@ -108,7 +108,7 @@ document.querySelector('button').addEventListener('click', async () => { }); ``` -If you open the HTML page in your browser and click on the `Add documents` button, you will notice numerous errors in the console with the HTTP code `429`, as Appwrite's rate limits allow one client to create 120 requests per minute for this API endpoint. +If you open the HTML page in your browser and click on the `Add rows` button, you will notice numerous errors in the console with the HTTP code `429`, as Appwrite's rate limits allow one client to create 120 requests per minute for this API endpoint. ## Step 3: Create dev key @@ -127,7 +127,7 @@ const client = new Appwrite.Client() ## Step 4: Test the app -Reopen the HTML page in your browser. Clicking the `Add documents` button will allow all 200 requests to execute successfully. +Reopen the HTML page in your browser. Clicking the `Add rows` button will allow all 200 requests to execute successfully. # Next steps diff --git a/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc b/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc index 048c918af9..2b0f840dc4 100644 --- a/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc +++ b/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc @@ -146,7 +146,7 @@ async function authLogic(email, password) { if (password === '123456') { return await getUser(email); } else { - returns null; + return null; } } catch (err) { console.error(err); @@ -262,7 +262,9 @@ We will create a file `./src/routes/+page.svelte` and add the following code: token = ''; session = ''; currentState = state[0]; - await account.deleteSession('current'); + await account.deleteSession({ + sessionId: 'current' + }); } onMount(async () => { @@ -317,5 +319,5 @@ And with that, our demo project to try custom token authentication in Appwrite i Additionally, if you would like to learn more about Appwrite Auth, here are some resources: -- [Appwrite Auth docs](https://appwrite.io/docs/products/auth): These documents provide more information on how to use Appwrite Auth. +- [Appwrite Auth docs](https://appwrite.io/docs/products/auth): Learn more about how to use Appwrite Auth. - [Appwrite Discord](https://discord.com/invite/appwrite): Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc b/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc index e35fb16fd1..8e4626c7a0 100644 --- a/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc +++ b/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc @@ -45,7 +45,7 @@ To combat this, we've introduced automatically generated, short-lived API keys f Here's how you can use them: ```jsx -import { Client, Databases } from 'node-appwrite'; +import { Client, TablesDB } from 'node-appwrite'; export default async ({ req, res }) => { const client = new Client() @@ -53,7 +53,7 @@ export default async ({ req, res }) => { .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(req.headers['x-appwrite-key']); - const databases = new Databases(client); + const tablesDB = new TablesDB(client); // Your function logic here diff --git a/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc b/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc index e70b235977..dd531d54e2 100644 --- a/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc +++ b/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc @@ -14,7 +14,7 @@ faqs: - question: "How do I test an Appwrite Function locally?" answer: "Install Docker, run `appwrite run` against your function, and the CLI will spin up the runtime container on your machine. You can iterate without redeploying after every change. See [Appwrite Functions](/docs/products/functions)." - question: "Does the CLI overwrite my database when I push?" - answer: "No. The new push command syncs changes in a non destructive way, which is a big improvement over the previous CLI behaviour where deploying collections wiped existing data." + answer: "No. The new push command syncs changes in a non destructive way, which is a big improvement over the previous CLI behaviour where deploying tables wiped existing data." - question: "Can I use the Appwrite CLI in CI/CD?" answer: "Yes. Headless login lets you authenticate non interactively using an API key, so the CLI works inside GitHub Actions, GitLab CI, or any other automation system without prompting for input." - question: "What is `appwrite.config.json`?" @@ -22,15 +22,15 @@ faqs: - question: "Can I work with multiple Appwrite accounts from one CLI?" answer: "Yes. Running `appwrite login` again adds a second account, and you can switch between them as needed. This is useful when you have separate accounts for personal projects and work." --- -We're excited to announce the new Appwrite CLI. This iteration focuses on local development and an enhanced CI/CD experience. Now, you can test changes to your functions locally, and easily apply changes to your Appwrite collection. +We're excited to announce the new Appwrite CLI. This iteration focuses on local development and an enhanced CI/CD experience. Now, you can test changes to your functions locally, and easily apply changes to your Appwrite table. Let’s dive into the updates to the new Appwrite CLI and how it will improve your building experience. # Understanding past limitations -Appwrite developers use the current generation of Appwrite CLI to initialize functions and collections and deploy those resources. +Appwrite developers use the current generation of Appwrite CLI to initialize functions and tables and deploy those resources. -When deploying collections, the only option is to override and delete all the collection's existing data, which is not the use case for most scenarios. +When deploying tables, the only option is to override and delete all the table's existing data, which is not the use case for most scenarios. The only way to test an Appwrite function is to continue deploying the function changes to the Appwrite instance, which can be aggravating for small changes. @@ -102,7 +102,7 @@ Appwrite CLI is now in listening mode. Try changing your code and seeing how the GitOps is a common way of tracking and migrating database changes. The latest Appwrite CLI generation includes a few features to help you migrate your database changes easily. -When running `appwrite push collection`, the CLI will compare your local `appwrite.config.json` collection definition against the currently deployed remote collection and will present you with a detailed table awaiting your decision, for example: +When running `appwrite push table`, the CLI will compare your local `appwrite.config.json` table definition against the currently deployed remote table and will present you with a detailed table awaiting your decision, for example: ``` Key │ Action │ Reason @@ -113,24 +113,24 @@ time │ adding │ Field isn't available on the remote server ──────────┼────────────┼───────────────────────────────────────────── timezone │ recreating │ size changed from 256 to 255 -ℹ Info: Attribute deletion will cause loss of data -ℹ Info: Attribute recreation will cause loss of data +ℹ Info: Column deletion will cause loss of data +ℹ Info: Column recreation will cause loss of data ? Would you like to apply these changes? Type "YES" to confirm. ``` -In this example, we can see that because we've renamed the attribute `times` to `time,` it will get deleted and read. We must also recreate the `timezone` attribute because we've changed its size from 256 to 255. +In this example, we can see that because we've renamed the column `times` to `time,` it will get deleted and re-added. We must also recreate the `timezone` column because we've changed its size from 256 to 255. To help with the decision, you can notice two warnings: deleting or recreating a field will cause data loss. -It's important to know that the data loss will affect only the recreated/deleted attribute and not the whole collection. +It's important to know that the data loss will affect only the recreated/deleted column and not the whole table. -As you can read in the next section, when pushing collections in CI/CD pipelines, you'll need to add the `--force` flag. +As you can read in the next section, when pushing tables in CI/CD pipelines, you'll need to add the `--force` flag. # CI/CD Adapting CI/CD pipelines ensures robust deployments. To support this, we have rewritten many parts of our CLI to fully accommodate non-interactive actions for all deployment-related commands. -You can add the `--force` flag to any command that may ask you questions, such as `appwrite push collections,` to pre-answer all of them with `YES.` Additionally, you can use the `--all` flag to push/pull all services' available resources. +You can add the `--force` flag to any command that may ask you questions, such as `appwrite push tables,` to pre-answer all of them with `YES.` Additionally, you can use the `--all` flag to push/pull all services' available resources. Till this generation, Appwrite CLI supported non-interactive login for API-key-based authorization only, as follows: diff --git a/src/routes/blog/post/introducing-new-database-operators/+page.markdoc b/src/routes/blog/post/introducing-new-database-operators/+page.markdoc index aee6ee8eda..80b66694b1 100644 --- a/src/routes/blog/post/introducing-new-database-operators/+page.markdoc +++ b/src/routes/blog/post/introducing-new-database-operators/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Introducing new Database operators: or & contains query methods" -description: What is a database without queries? Not a lot. That's why we’re happy to announce a new set of query methods, array contains, string contains, and OR operators to Appwrite Databases. +description: What is a database without queries? Not a lot. That's why we’re happy to announce a new set of query methods, array contains, text contains, and OR operators to Appwrite Databases. date: 2024-02-29 cover: /images/blog/db-operators-overview.avif timeToRead: 5 @@ -10,9 +10,9 @@ category: product, announcement featured: false faqs: - question: "What does the contains query do?" - answer: "`Query.contains` matches a substring inside a string attribute or an element inside an array attribute. It complements `startsWith` and `endsWith` and is the right choice when you don't know where in the value the match will appear. See [Appwrite Databases](/docs/products/databases)." + answer: "`Query.contains` matches a substring inside a text column or an element inside an array column. It complements `startsWith` and `endsWith` and is the right choice when you don't know where in the value the match will appear. See [Appwrite Databases](/docs/products/databases)." - question: "How does the OR operator work in Appwrite queries?" - answer: "Pass two or more queries inside `Query.or([...])` and any document that satisfies at least one of them is returned. You can nest it with other queries to build expressions like 'category equals X AND (name contains Y OR rating greater than 4)'." + answer: "Pass two or more queries inside `Query.or([...])` and any row that satisfies at least one of them is returned. You can nest it with other queries to build expressions like 'category equals X AND (name contains Y OR rating greater than 4)'." - question: "Can I combine contains and OR in the same request?" answer: "Yes. Both operators are regular query expressions, so you can pass several of them in the same queries array, or nest `Query.contains` calls inside a `Query.or` block." - question: "Does contains do a full text search?" @@ -20,14 +20,14 @@ faqs: - question: "When did these operators ship?" answer: "Both `contains` and `or` shipped as part of the Appwrite 1.5 release on Appwrite Cloud and self hosted Appwrite in March 2024. They are available across every SDK." - question: "Are there performance implications when using contains?" - answer: "Substring matches can't always use an index, so very large collections will be slower than equality queries. Where possible, narrow the result set first with indexed attributes (equality, ranges) and then apply contains to filter further." + answer: "Substring matches can't always use an index, so very large tables will be slower than equality queries. Where possible, narrow the result set first with indexed columns (equality, ranges) and then apply contains to filter further." --- We've added two new query methods, `or` and `contains`, to Appwrite Databases. By adding array element matches, partial text matches, as well as logical OR queries, we allow for more flexibility in managing your data. These two query methods have been highly requested by the Appwrite community, and we’re excited to show you how to use them, so let’s jump in and take a look! -- `contains` - partial text matches on string attributes, array element matching on array attributes +- `contains` - partial text matches on text columns, array element matching on array columns - `or` - write logical OR queries # Contains operator @@ -35,16 +35,16 @@ These two query methods have been highly requested by the Appwrite community, an The contains operator is a great addition to the existing text search operators such as `startsWith` & `endsWith`, and can be used in combination with these two. With contains, we can now perform a broader search by matching against any text within a substring. This is extremely useful when searching a large body of text or when the placement of keywords is unknown. ```js -db.listDocuments({ +tablesDB.listRows({ databaseId: '', - collectionId: '', + tableId: '', queries: [ Query.contains('content', ['happy', 'love']) ] }); ``` -It’s important to note that the contains operator also works on array attributes as well. For example, if we set a string attribute to act as an array, you could search this array in the same way you would search any other string. +It’s important to note that the contains operator also works on array columns as well. For example, if we set a text column to act as an array, you could search this array in the same way you would search any other text value. ```js Query.contains('tags', ['mystery', 'comedy', 'PG-13']) @@ -58,9 +58,9 @@ The logical OR operator allows us to nest queries in an OR condition. This gives To use the OR operator pass `Query.or([...])` to the queries array and provide at least two queries within the nested array. ```js -db.listDocuments({ +tablesDB.listRows({ databaseId: '', - collectionId: '', + tableId: '', queries: [ Query.or([ Query.contains('name','ivy'), diff --git a/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc b/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc index b72f979509..d41a29e4d8 100644 --- a/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc +++ b/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc @@ -14,21 +14,21 @@ faqs: - question: "Can I create and modify Labels from the client SDK?" answer: "No, Labels can only be created or modified from the Appwrite Console or a Server SDK. Teams, on the other hand, can be created and modified from both Client and Server SDKs. This is a deliberate restriction to prevent users from granting themselves additional permissions from the client." - question: "How do permissions work with Teams in Appwrite?" - answer: "You assign permissions to a Team (or specific roles within a Team) on any resource like a document, file, or function. Every user added to that Team inherits those permissions automatically. If a user has a role inside the Team, they also inherit any permissions granted to that role. Learn more in the [Appwrite Auth docs](/docs/products/auth)." + answer: "You assign permissions to a Team (or specific roles within a Team) on any resource like a row, file, or function. Every user added to that Team inherits those permissions automatically. If a user has a role inside the Team, they also inherit any permissions granted to that role. Learn more in the [Appwrite Auth docs](/docs/products/auth)." - question: "When should I use a Label instead of a Team?" answer: "Use a Label when you need to flag individual users with an attribute that controls access, like a subscription tier or paid course access. Removing the Label revokes access without removing the user from any group. Labels are ideal for per user gating, while Teams shine when multiple users collaborate on shared resources." - question: "Can a user belong to multiple Teams and have multiple Labels?" answer: "Yes, a user can be a member of many Teams (with different roles in each) and can carry multiple Labels at the same time. Appwrite combines permissions from all their Teams, roles, and Labels when checking access on a resource. This lets you compose access rules without writing custom permission logic." - - question: "How do I assign Team or Label permissions on a document or file?" + - question: "How do I assign Team or Label permissions on a row or file?" answer: "In the Appwrite Console, open the resource's settings and add a permission row, then choose a Team or Label as the role. You can also do this from any [Appwrite SDK](/docs/sdks) by setting the permissions array when creating or updating the resource. Use role helpers like Role.team(id) or Role.label(name) for clarity." --- -Teams and Labels allow us to categorize and group users together, allowing us to set permissions to resources at the Team and label level instead of at the individual user level. Grouping users together makes managing permissions to documents, files and functions much more efficient this way. +Teams and Labels allow us to categorize and group users together, allowing us to set permissions to resources at the Team and label level instead of at the individual user level. Grouping users together makes managing permissions to rows, files and functions much more efficient this way. ![Labels vs Teams](/images/blog/manage-user-permissions-with-labels-and-teams/labels3.avif) -To think of this in real-world terms, imagine for a second we were building the next social media application. Teams can be used to create admins and moderators, and these admins and moderators would have permission to delete and flag posts that don’t meet community guidelines. The owner at the document level would have the ability to update and delete this post, but anyone who is on the moderator Team would also have the ability to delete the post, something that is normally restricted to only the owner of the post. We can also change which users have these permissions at any point by adding and removing users and updating the group-level permissions. +To think of this in real-world terms, imagine for a second we were building the next social media application. Teams can be used to create admins and moderators, and these admins and moderators would have permission to delete and flag posts that don’t meet community guidelines. The owner at the row level would have the ability to update and delete this post, but anyone who is on the moderator Team would also have the ability to delete the post, something that is normally restricted to only the owner of the post. We can also change which users have these permissions at any point by adding and removing users and updating the group-level permissions. Another example we can take a look at would be a streaming service like Amazon Video. How do we give users access to a movie or show they paid for? This is where Teams and Labels make our lives easier. By simply adding Labels to users we could decide which users have access to specific resources like movies or shows in our application. @@ -91,7 +91,7 @@ Let's start with creating a new Team, adding members, and assigning roles to tho 2 - Once your Team is created, you can add a Member to the Team by selecting the “Members” tab and clicking “Create Membership”. Here you will enter the user's email address (name can be left blank) and assign a role to the member. Roles are optional, so you can leave this part blank. -That’s it for creating a Team and adding members from the appwrite console. Now you can assign document, storage, and function permissions to your Teams. As an example, for collection level permissions, you can go to the “settings'' tab in a collection, and in the “permissions” section, choose “Select Teams'' to give permissions to an entire Team or “Custom permissions” if you want to assign permission to only users with a particular role within the Team. +That’s it for creating a Team and adding members from the Appwrite Console. Now you can assign row, storage, and function permissions to your Teams. As an example, for table-level permissions, you can go to the “settings'' tab in a table, and in the “permissions” section, choose “Select Teams'' to give permissions to an entire Team or “Custom permissions” if you want to assign permission to only users with a particular role within the Team. ## Labels @@ -115,11 +115,11 @@ Client SDK - Yes ```javascript import { Client, Teams } from "appwrite"; -const client = //... +const client = new Client(); // ... -const Teams = new Teams(client); +const teams = new Teams(client); -const promise = Teams.create({ +const promise = teams.create({ teamId: '', name: '' }); @@ -135,7 +135,7 @@ Client SDK - No ```javascript const sdk = require('node-appwrite'); -const client = //... +const client = new sdk.Client(); // ... const users = new sdk.Users(client); diff --git a/src/routes/blog/post/messaging-explained/+page.markdoc b/src/routes/blog/post/messaging-explained/+page.markdoc index b6070c21be..109a40d18a 100644 --- a/src/routes/blog/post/messaging-explained/+page.markdoc +++ b/src/routes/blog/post/messaging-explained/+page.markdoc @@ -17,7 +17,7 @@ faqs: - question: "Can I schedule messages with Appwrite Messaging?" answer: "Yes, when you create a message you can include a scheduled at timestamp. An internal scheduler checks for due messages every minute and queues them for delivery. This works for emails, SMS, and push notifications across topics and direct targets." - question: "How does Appwrite send messages under the hood?" - answer: "When you call the API, Appwrite validates the input, creates a message document, and creates a schedule document for delivery timing. A worker picks up due messages, resolves topic targets, selects the right provider for each target, and dispatches the message. Failures are logged so you can debug delivery issues from the Console." + answer: "When you call the API, Appwrite validates the input, creates a message record, and creates a schedule record for delivery timing. A worker picks up due messages, resolves topic targets, selects the right provider for each target, and dispatches the message. Failures are logged so you can debug delivery issues from the Console." - question: "What are common use cases for Appwrite Messaging?" answer: "Common use cases include transactional notifications (payment receipts, password resets), marketing campaigns through topics, real time alerts to drive engagement, and custom security flows like OTP delivery. Combining Messaging with [Appwrite Functions](/docs/products/functions) lets you trigger messages from app events without managing extra infrastructure." --- @@ -76,18 +76,16 @@ const client = new sdk.Client() .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key const messaging = new sdk.Messaging(client); -. -. -. -const message = await messaging.createSms( - sdk.ID.unique(), - 'Hello from Appwrite Messaging!', - [smsTopic], // topic to send SMS to - [], - [], - false, - '' -); + +const message = await messaging.createSms({ + messageId: sdk.ID.unique(), + content: 'Hello from Appwrite Messaging!', + topics: [smsTopic], + users: [], + targets: [], + draft: false, + scheduledAt: '' +}); ``` You can also watch the [product tour](https://www.youtube.com/watch?v=QdDgPeuBZ1I) on YouTube to get a full overview of Messaging from the Console. @@ -100,10 +98,10 @@ Here's a step-by-step breakdown of how Appwrite Messaging works: 1. Validate input on API request - The process starts when the Appwrite API is called to create a message, which validates the input. -2. Create message document - - A document containing details about the message, including recipients and content, is created on the internal database. -3. Create schedule document - - A schedule document is created on the internal database, specifying when the message should be sent. This document is necessary for the message scheduler. +2. Create message record + - A record containing details about the message, including recipients and content, is created in the internal database. +3. Create schedule record + - A schedule record is created in the internal database, specifying when the message should be sent. This record is necessary for the message scheduler. 4. Queue the message via the message scheduler - Every minute, the scheduler checks the internal database for scheduled messages. - For each scheduled message, it checks if the message should be sent at that time. @@ -123,4 +121,4 @@ We hope this blog improved your understanding of how Appwrite Messaging works. W - [Best practices for sending push notifications](https://appwrite.io/blog/post/push-notifications-best-practices) - [How Twilio simplifies messaging for developers](https://appwrite.io/blog/post/simplify-messaging-twilio) - [Documentation](https://appwrite.io/docs/products/messaging) -- [Product video tour](https://www.youtube.com/watch?v=QdDgPeuBZ1I) \ No newline at end of file +- [Product video tour](https://www.youtube.com/watch?v=QdDgPeuBZ1I) diff --git a/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc b/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc index 63aba59da4..23f2833bbd 100644 --- a/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc +++ b/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc @@ -11,11 +11,11 @@ faqs: - question: "How do I migrate from Firebase to Appwrite?" answer: "Use Appwrite Migrations from the Console. Create a new project, open the Migrations tab in Project Settings, select Firebase as the source, paste your Firebase Admin SDK service account JSON, choose which resources to import, and start the migration. The process runs in the background and handles users and files automatically." - question: "What gets migrated automatically from Firebase to Appwrite?" - answer: "Appwrite Migrations automatically moves user accounts and files from Firebase. Documents and cloud functions need extra work because their data models and runtimes differ. Nested documents need to be transformed into Appwrite relationships, usually with a small migration script." + answer: "Appwrite Migrations automatically moves user accounts and files from Firebase. Firestore data and cloud functions need extra work because their data models and runtimes differ. Nested Firestore records need to be transformed into Appwrite relationships, usually with a small migration script." - question: "Do I need to rewrite my Firebase Cloud Functions?" answer: "Yes, [Appwrite Functions](/docs/products/functions) use different syntax, runtimes, and deployment methods, so most Firebase Cloud Functions need partial rewrites. The pattern is similar to standard HTTP controllers, so the lift is manageable. Appwrite supports more runtimes and flexible execution triggers than Firebase." - question: "How does Appwrite handle nested data compared to Firebase?" - answer: "Firebase stores nested documents directly, while Appwrite uses [database relationships](/docs/products/databases) (one to one, one to many, many to many) to model linked data. You typically restructure nested Firebase data into separate Appwrite collections connected by relationships. This makes querying more predictable and easier to optimize." + answer: "Firebase stores nested records directly, while Appwrite uses [database relationships](/docs/products/databases) (one to one, one to many, many to many) to model linked data. You typically restructure nested Firebase data into separate Appwrite tables connected by relationships. This makes querying more predictable and easier to optimize." - question: "Is Appwrite Migrations free?" answer: "Yes, the Migrations tool is included with every Appwrite project and there is no extra fee for running migrations. You pay for the storage and usage of the resulting resources just like any other project. Self hosted Appwrite users get the same Migrations functionality at no cost." - question: "What do I do after the migration finishes?" @@ -31,8 +31,8 @@ Moving is frustrating. Packing, unpacking, renting a truck, wondering if your be Just like moving houses, not every piece of old furniture will suit your new house. You’ll need some creative rearranging or maybe some new furniture. Appwrite is different from Firebase in a similar sense. -- Appwrite automatically moves user accounts or files, but documents and cloud functions will require some work to move. -- Nested documents will require some clever engineering to be transformed into Appwrite relationships. In a future version, they might be added automatically, but you will need to migrate them with a script for now. +- Appwrite automatically moves user accounts or files, but Firestore data and cloud functions require some work to move. +- Nested Firestore records require some planning to be transformed into Appwrite relationships. In a future version, they might be added automatically, but you need to migrate them with a script for now. - Appwrite Functions also use different syntax and deployment methods than Firebase’s Cloud Functions. These will need the most work to migrate and likely need to be partially rewritten. ## Prepare for your move @@ -68,4 +68,4 @@ Finally, learn about [Appwrite Functions](/docs/products/functions/quick-start) ## Join the discussion -We’re always having a blast on [Discord](https://appwrite.io/discord). With members in the community from all over the world, you’ll always find someone to support and share your Appwrite journey. \ No newline at end of file +We’re always having a blast on [Discord](https://appwrite.io/discord). With members in the community from all over the world, you’ll always find someone to support and share your Appwrite journey. diff --git a/src/routes/blog/post/new-string-types/+page.markdoc b/src/routes/blog/post/new-string-types/+page.markdoc index a5ac49411c..2b17e37912 100644 --- a/src/routes/blog/post/new-string-types/+page.markdoc +++ b/src/routes/blog/post/new-string-types/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post -title: "Introducing new string column types for Appwrite Databases" -description: Appwrite Databases now supports varchar, text, mediumtext, and longtext column types, giving you explicit control over how string data is stored and indexed. The legacy string type is now deprecated. +title: "Introducing new text column types for Appwrite Databases" +description: Appwrite Databases now supports varchar, text, mediumtext, and longtext column types, giving you explicit control over how text data is stored and indexed. The legacy string type is now deprecated. date: 2026-02-12 cover: /images/blog/new-string-types/cover.avif timeToRead: 5 @@ -9,25 +9,25 @@ author: eldad-fux category: announcement featured: false faqs: - - question: "What new string types does Appwrite Databases support?" - answer: "[Appwrite Databases](/docs/products/databases) now supports four explicit string column types: varchar, text, mediumtext, and longtext. Each has a defined maximum size and indexing behavior, so you can pick the right one based on how the data is used. The legacy string type is deprecated but still supported." + - question: "What new text types does Appwrite Databases support?" + answer: "[Appwrite Databases](/docs/products/databases) now supports four explicit text column types: varchar, text, mediumtext, and longtext. Each has a defined maximum size and indexing behavior, so you can pick the right one based on how the data is used. The legacy string type is deprecated but still supported." - question: "What is the difference between varchar and text columns?" answer: "varchar is stored inline in the row and counts toward the 64KB row size budget, but it can be fully indexed if the size is under 768 characters. text is stored off page with just a 20 byte pointer in the row, so it doesn't consume row space, but it only supports prefix indexing. Use varchar for short queryable fields and text for longer content." - question: "When should I use mediumtext or longtext?" answer: "Use mediumtext for content up to about 4 million characters, like article bodies or longer notes. Use longtext for content up to about 1 billion characters, like full logs or serialized payloads. Both are stored off page and support prefix indexing only." - - question: "Is the old string column type still supported?" - answer: "Yes, the string type is deprecated but Appwrite will continue to maintain full backward support for it. Existing string columns will keep working without changes. For new columns, use the explicit varchar, text, mediumtext, or longtext types to make storage and indexing intentions clear." - - question: "Why did Appwrite introduce explicit string types?" + - question: "Is the legacy string type still supported?" + answer: "Yes, the legacy string type is deprecated but Appwrite will continue to maintain full backward support for existing schemas. For new columns, use the explicit varchar, text, mediumtext, or longtext types to make storage and indexing intentions clear." + - question: "Why did Appwrite introduce explicit text types?" answer: "The single string type hid important storage details, including how large values were stored and which row width limits applied. This made it hard for developers and AI agents to make informed schema decisions. Explicit types expose those tradeoffs so the right choice is visible at design time." - - question: "Can I migrate existing string columns to the new types?" - answer: "Existing string columns continue to work, and you can add new columns using the explicit types alongside them. There is no forced migration path. If you need to switch, plan a data migration by creating new columns with the desired type and copying data over with a script." + - question: "Can I migrate existing legacy string fields to the new types?" + answer: "Existing legacy schemas continue to work, and you can add new columns using the explicit types alongside them. There is no forced migration path. If you need to switch, plan a data migration by creating new columns with the desired type and copying data over with a script." --- Until now, Appwrite offered a single `string` column type that abstracted away four different storage types, based on the size you specified. This meant you had no visibility into how your data was actually stored, how it could be indexed, or why certain size limits existed. -Today, we're introducing four explicit string column types: `varchar`, `text`, `mediumtext`, and `longtext`. +Today, we're introducing four explicit text column types: `varchar`, `text`, `mediumtext`, and `longtext`. -# The new string types +# The new text types Each type has a clear purpose and a defined maximum size: @@ -57,10 +57,10 @@ When we originally designed the `string` type, the intent was to simplify things The issue was that the `string` type hid storage behavior that developers needed to see in order to make informed decisions about their data structures. This led to problems for both human engineers and AI agents alike. - **Hidden storage behavior.** The `string` type required you to specify a size, but gave no indication of how that size mapped to actual storage. There was no way to know that `size: 10000` would produce a `VARCHAR(10000)` stored inline, while `size: 20000` would quietly switch to a `TEXT` column stored off-page. Developers were making sizing decisions without seeing the consequences. -- **Invisible row width limits.** Appwrite uses MariaDB under the hood, which has a fixed 64KB maximum row width. Varchar columns are stored inline and count towards that limit. A developer creating a `string` column with `size: 10000` (a Varchar internally) for something like blog content would unknowingly consume a large chunk of the row budget, limiting how many other columns the table could have. +- **Invisible row width limits.** Appwrite uses MariaDB under the hood, which has a fixed 64KB maximum row width. Varchar columns are stored inline and count towards that limit. A developer creating a `string` column with `size: 10000` (a Varchar internally) for something like blog content would unknowingly consume a large chunk of the row budget, limiting how many other columns the table could have. - **Difficult for AI agents to reason about.** When AI agents provision database schemas, they need clear type semantics to make good decisions. The `string` type gave them nothing to work with, no signal about storage trade-offs, no way to differentiate between a short identifier and a long-form text field. -We saw both sides of this problem firsthand while building [Imagine](https://imagine.dev), our AI-powered builder for web apps, which uses Appwrite under the hood for out-of-the-box server functionality. Imagine runs an Appwrite Cloud agent that provisions database resources on your behalf using the Appwrite CLI and `appwrite.json` as the schema. The agent is trained to build sophisticated architectures, and it would easily create just enough string columns to hit the row width limit. +We saw both sides of this problem firsthand while building [Imagine](https://imagine.dev), our AI-powered builder for web apps, which uses Appwrite under the hood for out-of-the-box server functionality. Imagine runs an Appwrite Cloud agent that provisions database resources on your behalf using the Appwrite CLI and `appwrite.json` as the schema. The agent is trained to build sophisticated architectures, and it would easily create just enough inline text columns to hit the row width limit. We could have fixed this with better prompting for Imagine, but that would only solve it for one tool. Instead, we made the types themselves more explicit, so the right choice is obvious whether you're writing code by hand, using the Console, or letting an AI agent provision your schema. With the new types, both developers and agents can now see exactly what they're working with and make better decisions around their data structures. @@ -81,30 +81,36 @@ const tablesDB = new sdk.TablesDB(client); await tablesDB.createTable({ databaseId: '', tableId: '', - name: 'articles', - columns: [ - { - key: 'title', - type: 'varchar', - size: 255, - required: true - }, - { - key: 'summary', - type: 'text', - required: false - }, - { - key: 'body', - type: 'mediumtext', - required: false - }, - { - key: 'raw_data', - type: 'longtext', - required: false - } - ] + name: 'articles' +}); + +await tablesDB.createVarcharColumn({ + databaseId: '', + tableId: '', + key: 'title', + size: 255, + required: true +}); + +await tablesDB.createTextColumn({ + databaseId: '', + tableId: '', + key: 'summary', + required: false +}); + +await tablesDB.createMediumtextColumn({ + databaseId: '', + tableId: '', + key: 'body', + required: false +}); + +await tablesDB.createLongtextColumn({ + databaseId: '', + tableId: '', + key: 'raw_data', + required: false }); ``` diff --git a/src/routes/blog/post/offline-first-journal/+page.markdoc b/src/routes/blog/post/offline-first-journal/+page.markdoc index 22a4935659..8d8a32e353 100644 --- a/src/routes/blog/post/offline-first-journal/+page.markdoc +++ b/src/routes/blog/post/offline-first-journal/+page.markdoc @@ -12,8 +12,8 @@ faqs: - question: "What is RxDB and why use it with Appwrite?" answer: "RxDB is a local-first, reactive NoSQL database for JavaScript apps. Pairing it with [Appwrite Databases](/docs/products/databases) gives you local storage with automatic two way sync, so your app keeps working offline and pushes changes to the server when connectivity returns." - question: "Does RxDB officially support Appwrite?" - answer: "Yes. RxDB ships a replication plugin specifically for Appwrite Databases. It handles the push and pull replication loop, so you only need to configure the database, collection, and a few schema fields." - - question: "Why does the entries collection need a `deleted` boolean field?" + answer: "Yes. RxDB ships a replication plugin specifically for Appwrite Databases. It handles the push and pull replication loop, so you only need to configure the database, table, and a few schema fields." + - question: "Why does the entries table need a `deleted` boolean field?" answer: "RxDB does not hard delete records. It uses soft deletes via a `deleted` flag so the deletion can replicate to other clients without losing data in offline scenarios. Without this field, sync will not work correctly." - question: "Can I use a framework other than SvelteKit for this pattern?" answer: "Yes. RxDB runs in any JavaScript environment, including React, Vue, Angular, React Native, and Electron. The replication plugin for Appwrite is framework agnostic, so the same sync logic carries over." @@ -55,21 +55,21 @@ Our tech stack for this app will be: ## Configure your Appwrite project -First, [create an Appwrite Cloud account](https://cloud.appwrite.io/) if you haven’t already. Once your project is ready, go to the **Settings** page and copy your project ID and API endpoint for further usage. Next, go to the **Databases** page from the left sidebar, create a new database with the ID `journals`, and then a collection with the ID `entries` (save both IDs for further usage). +First, [create an Appwrite Cloud account](https://cloud.appwrite.io/) if you haven’t already. Once your project is ready, go to the **Settings** page and copy your project ID and API endpoint for further usage. Next, go to the **Databases** page from the left sidebar, create a new database with the ID `journals`, and then a table with the ID `entries` (save both IDs for further usage). -Next, head to the **Attributes** tab and add the following: +Next, head to the **Columns** tab and add the following: | Key | Type | Size | Required | | --- | --- | --- | --- | -| `title` | String | 100 | Yes | -| `content` | String | 20000 | Yes | +| `title` | Text | 100 | Yes | +| `content` | Text | 20000 | Yes | | `createdAt` | Integer | | Yes | | `updatedAt` | Integer | | Yes | | `deleted` | Boolean | | Yes | -> **Note:** The `deleted` attribute is necessary to add because RxDB does not hard delete any data, only soft deletes to prevent data loss in offline scenarios. +> **Note:** The `deleted` column is necessary to add because RxDB does not hard delete any data, only soft deletes to prevent data loss in offline scenarios. -Then, head to the **Settings** tab of your collection, scroll down to the **Permissions** section, and add the following: +Then, head to the **Settings** tab of your table, scroll down to the **Permissions** section, and add the following: | Role | Create | Read | Update | Delete | | --- | --- | --- | --- | --- | @@ -116,7 +116,7 @@ In the root directory of your app, create a `.env` file and add the information PUBLIC_APPWRITE_ENDPOINT=your-appwrite-cloud-endpoint PUBLIC_APPWRITE_PROJECT_ID=your-project-id PUBLIC_APPWRITE_DATABASE_ID=your-database-id -PUBLIC_APPWRITE_COLLECTION_ID=your-collection-id +PUBLIC_APPWRITE_TABLE_ID=your-table-id ``` Next, in the `src/lib` subdirectory, create a file `appwrite.js` and add the following code: @@ -127,14 +127,14 @@ import { PUBLIC_APPWRITE_ENDPOINT, PUBLIC_APPWRITE_PROJECT_ID, PUBLIC_APPWRITE_DATABASE_ID, - PUBLIC_APPWRITE_COLLECTION_ID + PUBLIC_APPWRITE_TABLE_ID } from '$env/static/public'; export const appwriteConfig = { endpoint: PUBLIC_APPWRITE_ENDPOINT, projectId: PUBLIC_APPWRITE_PROJECT_ID, databaseId: PUBLIC_APPWRITE_DATABASE_ID, - collectionId: PUBLIC_APPWRITE_COLLECTION_ID + tableId: PUBLIC_APPWRITE_TABLE_ID }; export const client = new Client() @@ -221,7 +221,7 @@ export const getDB = async () => { // Add collections await db.addCollections({ - entries: { // Name must match the collection ID from Appwrite + entries: { // Name must match the table ID from Appwrite schema: journalSchema } }); @@ -251,7 +251,7 @@ const setupReplication = async (db) => { replicationIdentifier: 'journals-replication', client, databaseId: appwriteConfig.databaseId, - collectionId: appwriteConfig.collectionId, + collectionId: appwriteConfig.tableId, deletedField: 'deleted', collection: db.entries, pull: { @@ -889,4 +889,4 @@ Learn more about RxDB and Appwrite: - [RxDB docs for Appwrite](https://rxdb.info/replication-appwrite.html#do-other-things-with-the-replication-state) - [Appwrite offline sync docs](/docs/products/databases/offline) -- [RxDB in the Integrations catalog](/integrations/replication-rxdb) \ No newline at end of file +- [RxDB in the Integrations catalog](/integrations/replication-rxdb) diff --git a/src/routes/blog/post/open-source-contributors-16/+page.markdoc b/src/routes/blog/post/open-source-contributors-16/+page.markdoc index bec9f102a1..b0196b1501 100644 --- a/src/routes/blog/post/open-source-contributors-16/+page.markdoc +++ b/src/routes/blog/post/open-source-contributors-16/+page.markdoc @@ -45,7 +45,7 @@ We appreciate the work of everyone involved, from coding and translations to doc - removed unnecessary plus icon in [#1283](https://github.com/appwrite/console/pull/1283) - deleted expired tags per project in [#8239](https://github.com/appwrite/appwrite/pull/8239) - added tests to validate headers aren’t being overridden in [#8228](https://github.com/appwrite/appwrite/pull/8228) - - added `default` to collection attributes in [#8271](https://github.com/appwrite/appwrite/pull/8271) + - added `default` to table columns in [#8271](https://github.com/appwrite/appwrite/pull/8271) - fixed document APIs that don't support redirects in [#8233](https://github.com/appwrite/appwrite/pull/8233) - fixed the domain check in [#8472](https://github.com/appwrite/appwrite/pull/8472) - updated Appwrite versions in [#884](https://github.com/appwrite/sdk-generator/pull/884) diff --git a/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc b/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc index 13e4e80039..065d8e9723 100644 --- a/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc +++ b/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc @@ -40,7 +40,7 @@ One of the biggest differences between Appwrite Sites and Vercel is how they fit **Vercel** focuses primarily on frontend deployment. It excels at handling static assets and serverless-rendered content, especially from Next.js. It also supports other frontend frameworks like Astro, SvelteKit, Nuxt, and Remix, although it's deeply optimized for Next.js and includes native support for features like ISR (Incremental Static Regeneration) and Edge Middleware. -**Appwrite Sites**, on the other hand, is part of a **complete development platform**. You're not just deploying your frontend. You're deploying it in the same environment that already knows about your database collections, users, sessions, cloud functions, storage buckets, and APIs. That means the same platform handles everything from user auth to file uploads to server-side logic, and your frontend can interact with it all without any manual configuration. +**Appwrite Sites**, on the other hand, is part of a **complete development platform**. You're not just deploying your frontend. You're deploying it in the same environment that already knows about your database tables, users, sessions, cloud functions, storage buckets, and APIs. That means the same platform handles everything from user auth to file uploads to server-side logic, and your frontend can interact with it all without any manual configuration. This level of integration also means less risk of misconfiguration when connecting your services. Your environment variables, domain rules, CORS policies, and secrets are all managed within one project scope, reducing the friction between your frontend and backend. @@ -142,7 +142,7 @@ Both platforms offer strong environment variable support, with scope control and These built-in variables make it much easier to integrate your front end with the rest of your Appwrite services. You don't have to manually pass your API endpoint or project ID because it's already available. -Appwrite also provides a **dynamic API key automatically**, scoped and injected for both the build process and runtime (for SSR). This makes it easier to create or configure collections at build time, or securely perform server-to-server operations during SSR. If you were deploying on Vercel, you’d need to manually generate an Appwrite API key, store it as a secret, and rotate it regularly to maintain security. +Appwrite also provides a **dynamic API key automatically**, scoped and injected for both the build process and runtime (for SSR). This makes it easier to create or configure tables at build time, or securely perform server-to-server operations during SSR. If you were deploying on Vercel, you’d need to manually generate an Appwrite API key, store it as a secret, and rotate it regularly to maintain security. # Domains, CORS, and routing diff --git a/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc b/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc index c6ec52c045..f8b6200fe4 100644 --- a/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc +++ b/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc @@ -284,5 +284,5 @@ And with that, you have successfully deployed your personal chatbot powered by G Additionally, if you would like to learn more about Appwrite Functions, here are some resources: -- [Appwrite Functions docs](https://appwrite.io/docs/functions): These documents provide more information on how to use Appwrite Functions. +- [Appwrite Functions docs](https://appwrite.io/docs/functions): Learn more about how to use Appwrite Functions. - [Appwrite Discord](https://discord.com/invite/appwrite): Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc b/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc index 0b58d97c82..754aa32289 100644 --- a/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc +++ b/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc @@ -13,7 +13,7 @@ faqs: - question: "Can I run raw SQL queries on Appwrite Databases?" answer: "No. Appwrite exposes a query API and SDKs instead of direct SQL access. You can model tables, indexes, and relationships, and run filtered, paginated queries, but the underlying SQL layer is not exposed to users." - question: "How do permissions work in Appwrite Databases?" - answer: "You set permissions at the database, collection, and document level using roles like `any`, `users`, `team`, or specific user IDs. This means access control lives next to the data rather than in a separate rules engine." + answer: "You set permissions at the database, table, and row level using roles like `any`, `users`, `team`, or specific user IDs. This means access control lives next to the data rather than in a separate rules engine." - question: "Does Appwrite handle backups automatically?" answer: "Yes. Appwrite Cloud takes automated backups, and there is a manual database backup feature for on demand snapshots. You can restore from backups without downtime, including on the free plan." - question: "Can I self-host Appwrite Databases?" diff --git a/src/routes/blog/post/product-update-august-2025/+page.markdoc b/src/routes/blog/post/product-update-august-2025/+page.markdoc index 7afcf0ea5f..3d3d5a4e4f 100644 --- a/src/routes/blog/post/product-update-august-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-august-2025/+page.markdoc @@ -14,9 +14,9 @@ faqs: - question: "What does Appwrite Cloud GA mean for existing users?" answer: "GA means the beta tag is gone and Appwrite Cloud is now a generally available product backed by formal availability and support commitments. Nothing changes for existing projects, but you get the assurance that the platform is production stable." - question: "What is TablesDB?" - answer: "TablesDB is a new API layer for [Appwrite Databases](/docs/products/databases) that uses relational terminology: tables, rows, and columns instead of collections, documents, and attributes. It also ships with a spreadsheet style console UI for inline editing and bulk actions." - - question: "Do I need to migrate from the document API to TablesDB?" - answer: "No. The document based methods continue to work and remain backwards compatible. They are deprecated for major upgrades, but they still receive security patches. New projects should adopt TablesDB to access future improvements." + answer: "TablesDB is a new API layer for [Appwrite Databases](/docs/products/databases) that uses relational terminology: tables, rows, and columns. It also ships with a spreadsheet style console UI for inline editing and bulk actions." + - question: "Do I need to migrate existing projects to TablesDB?" + answer: "No. Existing projects continue to work and remain backwards compatible. New projects should adopt TablesDB to access future improvements." - question: "Where is the new San Francisco cloud region available?" answer: "San Francisco (SFO) is available on all Free, Pro, and Enterprise plans. You can create new projects there or migrate existing projects using Appwrite Cloud migrations." - question: "What are atomic numeric operations?" @@ -77,17 +77,13 @@ Want to switch to a new region? Here are some resources to help you: Appwrite Databases now feels more relational. We’ve updated the terminology to match the relational model that developers are most familiar with. -Here’s what’s changed: - -- Collections are now Tables -- Documents are now Rows -- Attributes are now Columns +The updated wording now centers Appwrite Databases around tables, rows, and columns. 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. -The old document-based methods are now deprecated and will no longer receive major upgrades. They will continue to receive security patches and essential maintenance, and we are ensuring backwards compatibility with those methods for the API, so there’s no need to migrate immediately if a specific issue arises. +The older Databases methods are now deprecated and will no longer receive major upgrades. They will continue to receive security patches and essential maintenance, and we are ensuring backwards compatibility for the API, so there’s no need to migrate immediately if a specific issue arises. However, we recommend adopting the new TablesDB API for future projects to take advantage of ongoing improvements and new capabilities. @@ -113,7 +109,7 @@ You can now: This new database feature optimizes your app’s performance and saves you time. -You can safely update numeric fields (likes, retries, stock, or scores) directly on the server, without conflicts or race conditions. No need to fetch the full document just for a single increment/decrement operation. +You can safely update numeric fields (likes, retries, stock, or scores) directly on the server, without conflicts or race conditions. No need to fetch the full row just for a single increment/decrement operation. [Learn more](/blog/post/announcing-atomic-numeric-operations) diff --git a/src/routes/blog/post/product-update-december-2024/+page.markdoc b/src/routes/blog/post/product-update-december-2024/+page.markdoc index ab54b92128..b40a39acb7 100644 --- a/src/routes/blog/post/product-update-december-2024/+page.markdoc +++ b/src/routes/blog/post/product-update-december-2024/+page.markdoc @@ -59,7 +59,7 @@ Integrate with popular AI tools like Pinecone, OpenAI and Perplexity, among othe A CLI can be your best friend if done right. The [new version](https://appwrite.io/blog/post/introducing-new-appwrite-cli) was a more than welcome addition and has made developing applications with Appwrite a lot more enjoyable. -No more overwriting or deleting existing collection data during deployments. With the new Appwrite CLI, you can test functions locally and push or pull data between Appwrite and your CLI seamlessly without affecting existing data. +No more overwriting or deleting existing table data during deployments. With the new Appwrite CLI, you can test functions locally and push or pull data between Appwrite and your CLI seamlessly without affecting existing data. ## Improved SSR support - Implement SSR authentication with ease @@ -162,4 +162,3 @@ If you'd like to participate in next month's Community Recognitions, [join our D As we look to 2025, we are grateful to our community and are focused on improving Appwrite to help developers build solutions that solve real problems. Here’s to another year of making software development accessible and enjoyable for all developers. Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. - diff --git a/src/routes/blog/post/product-update-jan-2025/+page.markdoc b/src/routes/blog/post/product-update-jan-2025/+page.markdoc index e770e0e15c..8a18d34dd0 100644 --- a/src/routes/blog/post/product-update-jan-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-jan-2025/+page.markdoc @@ -77,7 +77,7 @@ Push Notifications just got a major upgrade this month. Now, you can run backgro ## Billing improvements, UI fixes, and performance updates -We believe little things make big things happen. That’s why we rolled out small yet impactful updates, including a clearer billing system, UI improvements, and fixes for collections and mobile experiences, all aimed at improving your overall Appwrite experience. +We believe little things make big things happen. That’s why we rolled out small yet impactful updates, including a clearer billing system, UI improvements, and fixes for tables and mobile experiences, all aimed at improving your overall Appwrite experience. [Go to changelog](https://appwrite.io/changelog/entry/2025-01-03) diff --git a/src/routes/blog/post/product-update-july-2025/+page.markdoc b/src/routes/blog/post/product-update-july-2025/+page.markdoc index d3d6781468..fe7db8c370 100644 --- a/src/routes/blog/post/product-update-july-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-july-2025/+page.markdoc @@ -11,15 +11,15 @@ featured: false callToAction: true faqs: - question: "What major features did Appwrite ship in July 2025?" - answer: "July included the general availability of [Appwrite Sites](/docs/products/sites), CSV import for Databases, the Bulk API, Database Upsert, encrypted string attribute support, and auto-increment columns. The release also included Console and deployment improvements plus richer OTP email previews." + answer: "July included the general availability of [Appwrite Sites](/docs/products/sites), CSV import for Databases, the Bulk API, Database Upsert, encrypted text column support, and auto-increment columns. The release also included Console and deployment improvements plus richer OTP email previews." - question: "What is the Bulk API in Appwrite Databases?" - answer: "The Bulk API lets you create, update, delete, or upsert many documents in a single request instead of looping through individual calls. It is useful for migrations, seeding, and syncing data between systems." + answer: "The Bulk API lets you create, update, delete, or upsert many rows in a single request instead of looping through individual calls. It is useful for migrations, seeding, and syncing data between systems." - question: "What is a database upsert and when should I use it?" - answer: "Upsert is a single operation that creates a document if it does not exist or updates it if it does. It removes the need to do a read followed by a conditional write, which simplifies idempotent sync flows and reduces round trips." + answer: "Upsert is a single operation that creates a row if it does not exist or updates it if it does. It removes the need to do a read followed by a conditional write, which simplifies idempotent sync flows and reduces round trips." - question: "What does CSV import do in [Appwrite Databases](/docs/products/databases)?" - answer: "CSV import lets you bring a CSV file directly into an Appwrite collection through the migration APIs. It is built for seeding collections, onboarding legacy data, and bulk loading without writing a custom script." - - question: "How does encrypted string attribute support work?" - answer: "Appwrite can encrypt string attributes at rest in [Databases](/docs/products/databases) and [Storage](/docs/products/storage), so you do not have to implement encryption logic in your application code. You enable it on the attribute from the Console." + answer: "CSV import lets you bring a CSV file directly into an Appwrite table through the migration APIs. It is built for seeding tables, onboarding legacy data, and bulk loading without writing a custom script." + - question: "How does encrypted text column support work?" + answer: "Appwrite can encrypt text columns at rest in [Databases](/docs/products/databases), so you do not have to implement encryption logic in your application code. You enable encryption on the column from the Console." - question: "What changed with OTP email previews?" answer: "Appwrite now surfaces the OTP code in the email preview, so end users can read the code from the notification without opening the message. This reduces friction on phones and improves login completion rates." --- @@ -49,7 +49,7 @@ You can now host your applications directly from the Appwrite console, making Ap ![CSV imports](/images/blog/announcing-csv-imports/cover.avif) -We started July with CSV import. Built on top of Appwrite's migration APIs, this Databases feature makes it easy to bring in large datasets, seed collections, or migrate structured data using only a CSV file. +We started July with CSV import. Built on top of Appwrite's migration APIs, this Databases feature makes it easy to bring in large datasets, seed tables, or migrate structured data using only a CSV file. [Learn more](/blog/post/announcing-csv-imports) @@ -57,7 +57,7 @@ We started July with CSV import. Built on top of Appwrite's migration APIs, thi ![Bulk API](/images/blog/announcing-bulk-api/cover.avif) -You can now handle heavy data workloads with greater ease. With Bulk API, you can create, update, delete, or upsert multiple documents in a single API call. +You can now handle heavy data workloads with greater ease. With Bulk API, you can create, update, delete, or upsert multiple rows in a single API call. This is especially useful for managing large datasets or syncing data between systems without multiple API calls. @@ -67,15 +67,15 @@ This is especially useful for managing large datasets or syncing data between sy ![Database Upsert](/images/blog/announcing-database-upsert/cover.avif) -Database Upsert lets you create or update a document with a single API call. If the document exists, it’s updated; if not, it’s created. This removes the need for manual existence checks, reduces extra requests, and simplifies your logic. +Database Upsert lets you create or update a row with a single API call. If the row exists, it’s updated; if not, it’s created. This removes the need for manual existence checks, reduces extra requests, and simplifies your logic. [Learn more](/blog/post/announcing-database-upsert) -# Encrypted string attribute support +# Encrypted text column support ![Encrypted ](/images/blog/announcing-encrypted-string-attributes/cover.avif) -We’ve added an extra layer of security to Appwrite Databases and Storage. This feature allows you to encrypt string attributes at rest directly from the Appwrite console, without needing to implement manual encryption. +We’ve added an extra layer of security to Appwrite Databases. This feature allows you to encrypt text columns at rest directly from the Appwrite console, without needing to implement manual encryption. [Learn more](/blog/post/announcing-encrypted-string-attributes) @@ -83,7 +83,7 @@ We’ve added an extra layer of security to Appwrite Databases and Storage. This ![Auto-increment](/images/blog/announcing-auto-increment-support/cover.avif) -Appwrite Databases now support auto-increment fields. A `$sequence` column is automatically managed in your collection, increasing with each new document. This helps keep your data ordered without requiring manual handling. +Appwrite Databases now support auto-increment fields. A `$sequence` column is automatically managed in your table, increasing with each new row. This helps keep your data ordered without requiring manual handling. [Learn more](/blog/post/announcing-auto-increment-support) @@ -134,8 +134,8 @@ If you'd like to participate in next month's Community Recognitions, [join our D **Read** - [Building with Appwrite Sites templates](/blog/post/building-with-sites-templates) -- [Using $sequence to track document order in Appwrite](/blog/post/track-document-order-with-sequence) -- [Secure sensitive database fields with encrypted string attributes](/blog/post/encrypted-attributes-for-sensitive-fields) +- [Using $sequence to track row order in Appwrite](/blog/post/track-document-order-with-sequence) +- [Secure sensitive database fields with encrypted columns](/blog/post/encrypted-attributes-for-sensitive-fields) **Watch** diff --git a/src/routes/blog/post/product-update-june/+page.markdoc b/src/routes/blog/post/product-update-june/+page.markdoc index 83d5bc4b48..d2cda72075 100644 --- a/src/routes/blog/post/product-update-june/+page.markdoc +++ b/src/routes/blog/post/product-update-june/+page.markdoc @@ -79,7 +79,7 @@ Big shoutout to [Manjunath0408](https://github.com/Manjunath0408) and [Darshan]( - Improved Console loading bar - [Throw an error if invalid domain is added to a function](https://github.com/appwrite/console/pull/1115) by [Manjunath0408](https://github.com/Manjunath0408) - [Fix for inconsistent build logs](https://github.com/appwrite/appwrite/issues/6237) by [Darshan](https://github.com/ItzNotABug) -- [Fix for migration of collections, attributes and indexes of Databases](https://github.com/appwrite/appwrite/issues/8044) +- [Fix for Databases migration](https://github.com/appwrite/appwrite/issues/8044) # Open source community recognitions @@ -114,4 +114,4 @@ If you’ve checked out our public roadmap, you might have seen what we’ve bee - An updated version of [Pink design](https://pink.appwrite.io/) is in the works - A new release means a new Init… keep an eye out for the announcement! -Follow us on [socials](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. \ No newline at end of file +Follow us on [socials](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. diff --git a/src/routes/blog/post/product-update-september/+page.markdoc b/src/routes/blog/post/product-update-september/+page.markdoc index 7af11fd9dd..470297cbc3 100644 --- a/src/routes/blog/post/product-update-september/+page.markdoc +++ b/src/routes/blog/post/product-update-september/+page.markdoc @@ -15,8 +15,8 @@ faqs: answer: "CCPA is a California privacy law that gives consumers rights over how their personal data is collected and used. Appwrite being CCPA compliant means the platform meets those requirements, which makes it easier for you to satisfy your own obligations to California users." - question: "What landed in Appwrite 1.6 for self-hosted?" answer: "Self-hosted 1.6 includes local development tooling, the new Appwrite CLI, binary executions, dynamic keys, delayed executions, the Go SDK and runtime, and session alerts. These are the same features that shipped on Cloud during Init." - - question: "Can I update existing collection attribute names and sizes in Appwrite?" - answer: "Yes. You can rename an attribute or change its size directly from the Console without recreating the attribute or running a manual migration. This makes schema iteration much less painful." + - question: "Can I update existing table column names and sizes in Appwrite?" + answer: "Yes. You can rename a column or change its size directly from the Console without recreating the column or running a manual migration. This makes schema iteration much less painful." - question: "What was the 1.5.11 security patch about?" answer: "An issue in open-runtimes/executor caused error stack traces to leak into build and execution logs. Cloud was patched and affected keys were rotated by the team, and self-hosted users should upgrade to 1.5.11 to apply the fix." --- @@ -94,11 +94,11 @@ If you are using a self-hosted Appwrite instance, we strongly recommend upgradin [Check out the changelog for more details.](https://appwrite.io/changelog/entry/2024-09-17) -## Updating collection attribute names and sizes +## Updating table column names and sizes -You can now update attribute names and sizes directly from your Cloud Console. +You can now update column names and sizes directly from your Cloud Console. -This update provides better flexibility in managing your data models, allowing you to adjust attributes without needing to recreate them or handle complicated migrations. +This update provides better flexibility in managing your data models, allowing you to adjust columns without needing to recreate them or handle complicated migrations. This is just one in a series of updates we plan to release for Appwrite databases over the next few weeks. @@ -138,4 +138,4 @@ October will be jam-packed with announcements and new features, so stay tuned! - A certain Backups teaser made waves on our [Discord channel](https://appwrite.io/discord)… - And we filmed some exciting new stuff while at our Camp in Barcelona! -Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. \ No newline at end of file +Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. diff --git a/src/routes/blog/post/react-protected-routes/+page.markdoc b/src/routes/blog/post/react-protected-routes/+page.markdoc index 30a0c76256..6ba1aea901 100644 --- a/src/routes/blog/post/react-protected-routes/+page.markdoc +++ b/src/routes/blog/post/react-protected-routes/+page.markdoc @@ -18,7 +18,7 @@ faqs: - question: "How can I plug Appwrite Auth into a React protected route?" answer: "Call [`account.get()`](/docs/products/auth) inside the wrapper component, store the result in state, and render `` if it succeeds or `` if it throws. Wrap the call in a loading state to avoid a flash of redirect while the request is in flight." - question: "Should I check authentication on the client only?" - answer: "No. Client-side protected routes are about UX, not security. Always enforce permissions on the backend, either through [Appwrite document permissions](/docs/products/databases) or your own server logic, since anyone can bypass a client-only check." + answer: "No. Client-side protected routes are about UX, not security. Always enforce permissions on the backend, either through [Appwrite row permissions](/docs/products/databases) or your own server logic, since anyone can bypass a client-only check." --- In this tutorial, we will explore a straightforward method for implementing protected routes in a React application. The aim is to ensure that users can only access certain pages, such as home and profile, after passing an authentication check. If a user is not authenticated, they will be redirected to the login page. @@ -33,13 +33,13 @@ First, create a new file named `ProtectedRoutes.jsx`. In this file, you will imp Below is a basic structure for the `ProtectedRoutes` component: ```jsx - -import { Outlet, navigate } from 'react-router-dom'; +import { Outlet, Navigate } from 'react-router-dom'; const ProtectedRoutes = () => { const user = null; // Simulate an unauthenticated user - return user ? : // Redirect to login if not authenticated - + return user ? : ; // Redirect to login if not authenticated +}; + export default ProtectedRoutes; ``` @@ -49,25 +49,26 @@ export default ProtectedRoutes; With the `ProtectedRoutes` component created, the next step is to wrap the routes we want to protect. We can nest all child routes by using the standard `` component and by passing in `` as the element into the parent route. ```jsx -//App.jsx -... import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import ProtectedRoutes from './utils/ProtectedRoutes'; - -function App(){ - return - - - } path="/login"'/> - - {/* 👇 Wrap your protected routes */} - }> - <Route element={} path="/"/> - <Route element= {} path="/profile"/> - - - - +import Login from './Login'; +import Home from './Home'; +import Profile from './Profile'; + +function App() { + return ( + + + } path="/login" /> + + {/* Wrap your protected routes */} + }> + } path="/" /> + } path="/profile" /> + + + + ); } ``` @@ -87,4 +88,4 @@ In summary, you have implemented protected routes in your React application. By - [Protected routes in React video tutorial](https://www.youtube.com/watch?v=pyfwQUc5Ssk) - [React quick start with Appwrite](https://appwrite.io/docs/quick-starts/react-native) - [Set up Google auth in React](https://appwrite.io/blog/post/set-up-google-auth-appwrite-react) -- [Build a cross-platform application in React Native](https://appwrite.io/blog/post/building-cross-platform-applications-with-react-native) \ No newline at end of file +- [Build a cross-platform application in React Native](https://appwrite.io/blog/post/building-cross-platform-applications-with-react-native) diff --git a/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc b/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc index 5d8e432a6b..f87b52cea3 100644 --- a/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc +++ b/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc @@ -70,7 +70,7 @@ Setting up a queue-based job processing system or serverless function infrastruc With a managed backend platform like Appwrite, the same components are available on day one: - **Authentication** is configured in the console and available via SDK. Adding OAuth providers takes minutes per provider. MFA, password policies, and session limits are toggle configurations. -- **Database** is set up by creating collections with defined schema and indexes. The query API is available immediately. No API layer to build. +- **Database** is set up by creating tables with defined schema and indexes. The query API is available immediately. No API layer to build. - **File storage** is configured in a storage bucket with permission settings. The SDK handles chunking, validation, and serving files. - **Messaging** (push notifications, email, SMS) is available via the Messaging service with configured providers. - **Serverless functions** deploy from a connected Git repository and are triggered by HTTP, events, or schedules. diff --git a/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc b/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc index eb53de4d9a..e1c5db67f1 100644 --- a/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc +++ b/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc @@ -144,7 +144,7 @@ Large deployment packages slow down the function initialization process and incr Ensure only authorized users can execute your functions. Appwrite provides built-in authentication and authorization features that you can leverage to secure your functions. This is important for protecting sensitive data and preventing your functions from being misused or easily exploited. -You must ensure that authorization is enforced on your serverless functions and not solely on the client side. Client-side authorization can be bypassed, leading to security vulnerabilities. Appwrite Databases and Storage services can be configured to enforce access control rules. For example, you can restrict read and write access to documents by navigating to your database collection settings in the Appwrite Console and setting the appropriate permissions. It looks like this: +You must ensure that authorization is enforced on your serverless functions and not solely on the client side. Client-side authorization can be bypassed, leading to security vulnerabilities. Appwrite Databases and Storage services can be configured to enforce access control rules. For example, you can restrict read and write access to rows by navigating to your database table settings in the Appwrite Console and setting the appropriate permissions. It looks like this: ![Functions-authorization](/images/blog/serverless-functions/3.avif) diff --git a/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc b/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc index 2f002935b5..1837c1be95 100644 --- a/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc +++ b/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc @@ -146,7 +146,9 @@ export const loginWithGoogle = async () => { export const logoutUser = async () => { try { - await account.deleteSession('current') + await account.deleteSession({ + sessionId: 'current' + }) } catch (error) { console.error(error) } diff --git a/src/routes/blog/post/setting-up-google-signin/+page.markdoc b/src/routes/blog/post/setting-up-google-signin/+page.markdoc index 7309a9ad23..a0a0ff42c1 100644 --- a/src/routes/blog/post/setting-up-google-signin/+page.markdoc +++ b/src/routes/blog/post/setting-up-google-signin/+page.markdoc @@ -124,9 +124,11 @@ const account = new Account(client); // Go to OAuth provider login page account.createOAuth2Session( - OAuthProvider.Google, // provider - 'https://example.com/success', // redirect here on success - 'https://example.com/failed', // redirect here on failure + { + provider: OAuthProvider.Google, + success: 'https://example.com/success', + failure: 'https://example.com/failed' +}, // redirect here on failure ); ``` @@ -137,7 +139,9 @@ If you're facing problems where cookies are not being set after authentication, You can use the following method to get more information about the current logged-in session. ```jsx -const session = await account.getSession('current'); +const session = await account.getSession({ + sessionId: 'current' +}); ``` The `getSession()` method will provide you with all the information about the session of the current logged-in user. diff --git a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc index 11964bb62e..98acd5d059 100644 --- a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc +++ b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc @@ -98,12 +98,14 @@ client ; const promise = await messaging.updateTwilioProvider( - '', // providerId - '', // name (optional) - false, // enabled (optional) - '', // accountSid (optional) - '', // authToken (optional) - '' // from (optional) + { + providerId: '', + name: '', + enabled: false, + accountSid: '', + authToken: '', + from: '' +} // from (optional) ); ``` diff --git a/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc b/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc index 61aa9d53f3..7e8a5431d9 100644 --- a/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc +++ b/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: Simplify your data management with relationships -description: Learn how to simplify your collection management and save time and effort with database relationships. +description: Learn how to simplify your table management and save time and effort with database relationships. date: 2024-01-05 cover: /images/blog/simplify-your-data-management-with-relationships/cover.avif timeToRead: 6 @@ -9,22 +9,22 @@ author: jake-barnby category: accessibility faqs: - question: "What relationship types does Appwrite Databases support?" - answer: "Four: one-to-one, one-to-many, many-to-one, and many-to-many. You pick the type when creating the relationship attribute, and Appwrite enforces the cardinality so you do not have to model it manually with join tables or ID arrays." + answer: "Four: one-to-one, one-to-many, many-to-one, and many-to-many. You pick the type when creating the relationship column, and Appwrite enforces the cardinality so you do not have to model it manually with join tables or ID arrays." - question: "When should I use a one-way vs two-way relationship?" answer: "Use a one-way relationship when only one side needs to know about the other (for example, a movie that lists its reviews but reviews do not need to expose the movie). Use two-way when both sides need to traverse the link in queries. Two-way costs slightly more storage and write overhead, so do not enable it by default." - question: "Does Appwrite support relationships across [Databases](/docs/products/databases) products?" - answer: "Relationships are defined within a single Appwrite database between tables in that database. You cannot create a relationship attribute that points to a row in a different database, so model related entities in the same database." + answer: "Relationships are defined within a single Appwrite database between tables in that database. You cannot create a relationship column that points to a row in a different database, so model related entities in the same database." - question: "What are the deletion behaviors for related rows?" answer: "Appwrite lets you choose how related rows behave when a parent is deleted: restrict (block the delete), cascade (delete the children), or set null (clear the relationship). Pick based on your data model. Cascade is convenient but irreversible, restrict is safer when child data has independent value." - question: "Should I model everything with relationships or denormalize?" - answer: "Use relationships when the related data has its own lifecycle, is shared across parents, or is too large to embed. Denormalize (duplicate small, rarely-changing fields onto the parent) when you mainly need a label or a couple of attributes in a list view and want to avoid the extra lookup. Both patterns coexist comfortably in Appwrite." + answer: "Use relationships when the related data has its own lifecycle, is shared across parents, or is too large to embed. Denormalize (duplicate small, rarely-changing fields onto the parent) when you mainly need a label or a couple of columns in a list view and want to avoid the extra lookup. Both patterns coexist comfortably in Appwrite." - question: "Do relationships replace the need to write joins?" answer: "For most reads, yes. Appwrite resolves related rows in the response when you query the parent, so you do not need to perform a separate fetch and merge in your code. For complex aggregations or filters across multiple relationships, you may still want to break the work into multiple queries." --- -Managing collections of data is an essential task for any application, but it can quickly become complex when you need to keep track of the relationships between different collections. For instance, if you have two collections of data, such as movies and reviews, you may need to retrieve all the reviews associated with a particular movie. However, writing complex code to retrieve this data and merge it together manually can be time-consuming and prone to errors. +Managing tables of data is an essential task for any application, but it can quickly become complex when you need to keep track of the relationships between different tables. For instance, if you have two tables, such as movies and reviews, you may need to retrieve all the reviews associated with a particular movie. However, writing complex code to retrieve this data and merge it together manually can be time-consuming and prone to errors. -That's where one of Appwrite’s newest features comes in. Database relationships help you manage the links between your collections of data more easily. With this feature, you can create links between different collections by simply adding a new attribute to them. You can choose from four types of relationships: one-to-one, one-to-many, many-to-one, and many-to-many. +That's where one of Appwrite’s newest features comes in. Database relationships help you manage the links between your tables more easily. With this feature, you can create links between different tables by simply adding a new column to them. You can choose from four types of relationships: one-to-one, one-to-many, many-to-one, and many-to-many. # Relationship Types @@ -32,25 +32,25 @@ That's where one of Appwrite’s newest features comes in. Database relationship ![one to one](/images/blog/simplify-your-data-management-with-relationships/one-to-one.avif) -A one-to-one relationship means that each record in one collection is associated with only one record in another collection. For example, if you have a collection of users and a collection of profiles, each user can have only one profile, and each profile can belong to only one user. +A one-to-one relationship means that each row in one table is associated with only one row in another table. For example, if you have a table of users and a table of profiles, each user can have only one profile, and each profile can belong to only one user. ## One to Many ![one to many](/images/blog/simplify-your-data-management-with-relationships/one-to-many.avif) -A one-to-many relationship is when each record in one collection can be associated with multiple records in another collection. For instance, if you have a collection of artists and a collection of albums, each artist can have many albums released, but each album can only be released by one artist. +A one-to-many relationship is when each row in one table can be associated with multiple rows in another table. For instance, if you have a table of artists and a table of albums, each artist can have many albums released, but each album can only be released by one artist. ## Many To One ![many to one](/images/blog/simplify-your-data-management-with-relationships/many-to-one.avif) -In contrast, many-to-one relationships are when multiple records in one collection can be associated with a single record in another collection. Inversely to the previous example, if you have a collection of albums and a collection of artists, many albums can be released by a single artist. While this may seem the same as a one-to-many relationship, it differs once you take the direction into account. A many-to-one relationship that is one-way can be used to represent a relationship that is only seen on the many side. +In contrast, many-to-one relationships are when multiple rows in one table can be associated with a single row in another table. Inversely to the previous example, if you have a table of albums and a table of artists, many albums can be released by a single artist. While this may seem the same as a one-to-many relationship, it differs once you take the direction into account. A many-to-one relationship that is one-way can be used to represent a relationship that is only seen on the many side. ## Many to Many ![many to many](/images/blog/simplify-your-data-management-with-relationships/many-to-many.avif) -Finally, many-to-many relationships describe a scenario where multiple records in one collection can be associated with multiple records in another collection. For example, if you have a collection of books and a collection of authors, each book can have multiple authors, and each author can write multiple books. +Finally, many-to-many relationships describe a scenario where multiple rows in one table can be associated with multiple rows in another table. For example, if you have a table of books and a table of authors, each book can have multiple authors, and each author can write multiple books. By understanding the differences between these relationship types, you can choose the best one that suits your application's needs and create a more efficient database management system. @@ -60,7 +60,7 @@ Appwrite relationships offer a high degree of flexibility and customization, all ## One Way -One-way relationships are a type of relationship where only the collection where the relationship attribute was created will see the relationship. For example, suppose a developer creates a one-way relationship between a movies collection and a reviews collection. In that case, the movies collection will have an attribute containing the related reviews, but the reviews collection will not have an attribute containing the related movie. This type of relationship is useful in scenarios where the parent collection holds all the necessary information, and the child collection only needs to access the parent's data. +One-way relationships are a type of relationship where only the table where the relationship column was created will see the relationship. For example, suppose a developer creates a one-way relationship between a movies table and a reviews table. In that case, the movies table will have a column containing the related reviews, but the reviews table will not have a column containing the related movie. This type of relationship is useful in scenarios where the parent table holds all the necessary information, and the child table only needs to access the parent's data. The movie response: @@ -68,7 +68,7 @@ The movie response: { "$id": "642b9afc785532a807d8", "$databaseId": "marvel", - "$collectionId": "movies", + "$tableId": "movies", "$createdAt": "2023-04-04T03:35:24.493+00:00", "$updatedAt": "2023-04-04T03:35:24.493+00:00", "$permissions": [ @@ -79,7 +79,7 @@ The movie response: { "$id": "642b9d627d866e646602", "$databaseId": "marvel", - "$collectionId" :"reviews", + "$tableId" :"reviews", "$createdAt": "2023-04-04T03:45:38.514+00:00", "$updatedAt": "2023-04-04T03:45:38.514+00:00", "$permissions": [ @@ -92,13 +92,13 @@ The movie response: ``` -The review response, notably with no review attribute: +The review response, notably with no review column: ```json { "$id": "642b9d627d866e646602", "$databaseId": "marvel", - "$collectionId": "reviews" + "$tableId": "reviews" "$createdAt": "2023-04-04T03:45:38.514+00:00", "$updatedAt": "2023-04-04T03:45:38.514+00:00", "$permissions": [], @@ -109,7 +109,7 @@ The review response, notably with no review attribute: ## Two Way -On the other hand, a two-way relationship is a type of relationship where both collections will see the relationship. In the same example, if a two-way relationship is created between the movies and reviews collections, both collections will have attributes containing the related data. This type of relationship is beneficial in scenarios where both the parent and child collections need to access each other's data. +On the other hand, a two-way relationship is a type of relationship where both tables will see the relationship. In the same example, if a two-way relationship is created between the movies and reviews tables, both tables will have columns containing the related data. This type of relationship is beneficial in scenarios where both the parent and child tables need to access each other's data. The movie response: @@ -117,7 +117,7 @@ The movie response: { "$id": "642b9afc785532a807d8", "$databaseId": "marvel", - "$collectionId": "movies", + "$tableId": "movies", "$createdAt": "2023-04-04T03:35:24.493+00:00", "$updatedAt": "2023-04-04T03:35:24.493+00:00", "$permissions": [], @@ -126,7 +126,7 @@ The movie response: { "$id": "642b9d627d866e646602", "$databaseId": "marvel", - "$collectionId": "reviews", + "$tableId": "reviews", "$createdAt": "2023-04-04T03:45:38.514+00:00", "$updatedAt": "2023-04-04T03:45:38.514+00:00", "$permissions": [], @@ -137,13 +137,13 @@ The movie response: ``` -The review response, now with the movie attribute: +The review response, now with the movie column: ```json { "$id": "642b9d627d866e646602", "$databaseId": "marvel", - "$collectionId": "reviews", + "$tableId": "reviews", "$createdAt": "2023-04-04T03:45:38.514+00:00", "$updatedAt": "2023-04-04T03:45:38.514+00:00", "$permissions": [], @@ -151,7 +151,7 @@ The review response, now with the movie attribute: "movie": { "$id": "642b9afc785532a807d8", "$databaseId": "marvel", - "$collectionId": "movies", + "$tableId": "movies", "$createdAt": "2023-04-04T03:35:24.493+00:00", "$updatedAt": "2023-04-04T03:35:24.493+00:00", "$permissions": [], @@ -161,7 +161,7 @@ The review response, now with the movie attribute: ``` -One-way and two-way relationships offer different advantages and disadvantages, depending on the specific requirements of the application. In some cases, one-way relationships can provide better performance by reducing the amount of data that needs to be stored and accessed. However, two-way relationships can provide more flexibility by allowing both collections to access each other's data. +One-way and two-way relationships offer different advantages and disadvantages, depending on the specific requirements of the application. In some cases, one-way relationships can provide better performance by reducing the amount of data that needs to be stored and accessed. However, two-way relationships can provide more flexibility by allowing both tables to access each other's data. # On Delete Behavior @@ -169,23 +169,23 @@ Managing related data can still be challenging, especially when deleting data. T ## Restrict -If you select the restrict option, you won't be able to delete a parent document if it has any related child documents. This option is helpful if you want to ensure that data integrity is maintained and that you don't accidentally delete data that is still relevant. +If you select the restrict option, you won't be able to delete a parent row if it has any related child rows. This option is helpful if you want to ensure that data integrity is maintained and that you don't accidentally delete data that is still relevant. ## Cascade -If you choose cascade, deleting a parent document will also delete all related child documents. This option can be helpful if you want to remove all data associated with a particular parent record, such as when you want to delete a user and all their associated data. +If you choose cascade, deleting a parent row will also delete all related child rows. This option can be helpful if you want to remove all data associated with a particular parent row, such as when you want to delete a user and all their associated data. ## Set Null -Finally, the set null option means that deleting a parent document will remove the relationship to the parent document for all of its related children. This can be useful if you want to retain the child's records but simply remove the relationship. +Finally, the set null option means that deleting a parent row will remove the relationship to the parent row for all of its related children. This can be useful if you want to retain the child's rows but simply remove the relationship. Each of these options has its own use cases, and the choice ultimately depends on your specific application requirements. By providing these different options, Appwrite allows you to manage related data in a flexible and intuitive way, making it easier for you to build complex applications without worrying about data management. # Other Benefits -In addition to simplifying your collection management, database relationships also provide several other benefits. First, they can help to ensure data consistency and integrity by enforcing referential constraints between related collections. This means that you can prevent orphaned documents or other data inconsistencies that might arise if you were to manage the relationships between collections manually. Additionally, using relationships can also improve the performance of your requests and reduce the amount of code you need to write, since you can retrieve related data in a single request rather than having to fetch it separately. +In addition to simplifying your table management, database relationships also provide several other benefits. First, they can help to ensure data consistency and integrity by enforcing referential constraints between related tables. This means that you can prevent orphaned rows or other data inconsistencies that might arise if you were to manage the relationships between tables manually. Additionally, using relationships can also improve the performance of your requests and reduce the amount of code you need to write, since you can retrieve related data in a single request rather than having to fetch it separately. -Overall, database relationships are a powerful tool that simplifies your collection management and saves you time and effort. By easily linking your collections and retrieving related data, you can focus on developing your application's core features. Check out the [docs](/docs/databases-relationships) for more information. We encourage you to give it a try today and see how it can benefit your development process. +Overall, database relationships are a powerful tool that simplifies your table management and saves you time and effort. By easily linking your tables and retrieving related data, you can focus on developing your application's core features. Check out the [docs](/docs/products/databases/relationships) for more information. We encourage you to give it a try today and see how it can benefit your development process. - [Appwrite GitHub](https://github.com/appwrite) - [Appwrite Docs](/docs) diff --git a/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc b/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc index 7789ad3855..ec6621dad7 100644 --- a/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc +++ b/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc @@ -16,7 +16,7 @@ faqs: - question: "How can Appwrite speed up side project development?" answer: "Appwrite gives you the backend pieces most side projects need out of the box, including [Auth](/docs/products/auth), [Databases](/docs/products/databases), [Storage](/docs/products/storage), [Functions](/docs/products/functions), [Messaging](/docs/products/messaging), and [Sites](/docs/products/sites) for hosting. You can have a working backend in minutes instead of spending days on infrastructure." - question: "How long does it take to launch a side project with Appwrite?" - answer: "A realistic timeline is around three days. Day one for project setup, auth, and database collections. Day two for the core feature. Day three for a basic UI, deployment, and sharing with a small group of users. The point is to learn fast, not ship perfect." + answer: "A realistic timeline is around three days. Day one for project setup, auth, and database tables. Day two for the core feature. Day three for a basic UI, deployment, and sharing with a small group of users. The point is to learn fast, not ship perfect." - question: "When should I launch my side project?" answer: "Launch as soon as the core feature works and a real user can do something meaningful with it. If your project feels polished and complete before launch, you probably waited too long. Real users will reshape your roadmap in ways you cannot predict from the inside." - question: "Should I worry about scale on day one of a side project?" @@ -79,7 +79,7 @@ Launching quickly doesn't mean cutting corners. It means being deliberate about A realistic fast-launch timeline using Appwrite: ## Day 1: Foundation -Define the problem and the MVP scope. Set up your Appwrite project, configure authentication, and create your database collections. At the end of day one, users can sign up and your data layer is ready. +Define the problem and the MVP scope. Set up your Appwrite project, configure authentication, and create your database tables. At the end of day one, users can sign up and your data layer is ready. ## Day 2: Core feature Build the one feature that proves your idea has value. With authentication and database already handled, your entire focus goes into product logic, the thing only you are building. diff --git a/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc b/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc index be867f6d53..4bc963aebb 100644 --- a/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc +++ b/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc @@ -14,9 +14,9 @@ faqs: - question: "What is the Model Context Protocol (MCP)?" answer: "MCP is an open standard that lets editors, agents, and developer tools communicate securely with external services. It removes the need to write custom connectors or manage tokens manually, so AI assistants can talk directly to platforms like Appwrite." - question: "How does the Appwrite MCP server work with Cursor?" - answer: "The Appwrite MCP server lets Cursor interact with your Appwrite project using natural language. You can create projects, add database collections, configure storage, and scaffold functions by describing what you need. The MCP layer handles the API communication." + answer: "The Appwrite MCP server lets Cursor interact with your Appwrite project using natural language. You can create projects, add database tables, configure storage, and scaffold functions by describing what you need. The MCP layer handles the API communication." - question: "What can I do with Appwrite MCP through an AI editor?" - answer: "You can create and modify backend resources by talking to your editor, including spinning up [Databases](/docs/products/databases) collections, configuring [Auth](/docs/products/auth), uploading files to [Storage](/docs/products/storage), and deploying [Functions](/docs/products/functions). It is faster than clicking through dashboards or writing boilerplate code." + answer: "You can create and modify backend resources by talking to your editor, including spinning up [Databases](/docs/products/databases) tables, configuring [Auth](/docs/products/auth), uploading files to [Storage](/docs/products/storage), and deploying [Functions](/docs/products/functions). It is faster than clicking through dashboards or writing boilerplate code." - question: "Do I still need to write code if I use Cursor and Appwrite MCP?" answer: "Yes. The AI accelerates scaffolding and configuration, but you still review, refine, and direct the work. Treat the combination as a fast pair programmer and infrastructure assistant, not a replacement for understanding your codebase." - question: "Is the Appwrite MCP server secure to use with AI tools?" @@ -55,7 +55,7 @@ MCP is an open standard that allows editors, agents, and other developer tools t This means you can use plain English in your editor to create or modify backend resources: - “Create a new Appwrite project.” -- “Add a database collection for products.” +- “Add a database table for products.” - “Generate a function to handle user registration.” All of this happens without leaving Cursor. The MCP layer handles the communication between your editor and Appwrite's API securely and consistently. @@ -91,4 +91,3 @@ We're witnessing a fundamental shift in how software gets built. Tools like Curs This isn't just about faster development; it's about removing friction between thinking and building. Developers can experiment more freely, iterate faster, and focus on what matters: solving real problems for real users. Ready to experience this workflow yourself? [Set up the Appwrite MCP server in Cursor](https://appwrite.io/docs/tooling/mcp/cursor) and start building your next project with AI-powered backend automation. - diff --git a/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc b/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc index ec43fab85b..97371f249d 100644 --- a/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc +++ b/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc @@ -127,7 +127,7 @@ Extended thinking, Projects, and prompt caching address different layers of the For extended thinking and prompt caching, the [Anthropic documentation](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking) has complete implementation details and model-specific notes worth reading before you ship anything to production. -If you want to go further and connect Claude directly to a live backend, the [Appwrite MCP server](/docs/tooling/mcp) lets Claude interact with your Appwrite project through natural language in Claude Code or Claude Desktop. You can create users, query collections, manage files, and trigger functions without writing a single line of glue code. It's a practical way to bring agentic workflows into a real application stack. +If you want to go further and connect Claude directly to a live backend, the [Appwrite MCP server](/docs/tooling/mcp) lets Claude interact with your Appwrite project through natural language in Claude Code or Claude Desktop. You can create users, query tables, manage files, and trigger functions without writing a single line of glue code. It's a practical way to bring agentic workflows into a real application stack. # More resources diff --git a/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc b/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc index d1b42482a1..c048024a69 100644 --- a/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc +++ b/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc @@ -58,7 +58,7 @@ This matters more than it might seem. Passing a plain string where an enum value Appwrite SDKs ship with [enumeration classes](/docs/sdks#enums) for predefined values used across authentication factors, storage compression algorithms, query operators, runtime environments, and more. These enums are available across all supported languages, not just TypeScript. -The [type generation feature](/docs/products/databases/type-generation) takes this further. Run `appwrite types` and the CLI generates typed model classes directly from your database collections, in your project's language. Schema changes propagate to your types automatically, without any manual mapping. +The [type generation feature](/docs/products/databases/type-generation) takes this further. Run `appwrite types` and the CLI generates typed model classes directly from your database tables, in your project's language. Schema changes propagate to your types automatically, without any manual mapping. Developers who want to go even further can use the [`generate` command](/docs/tooling/command-line/generate) to generate a fully typed SDK for their project. Unlike the generic SDKs, a generated SDK reflects your project's specific configuration, giving you end-to-end type safety from your database schema all the way to your client code. diff --git a/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc b/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc index cf5fd0ab2a..971f9870d6 100644 --- a/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc +++ b/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc @@ -9,13 +9,13 @@ author: dennis-ivy category: product faqs: - question: "What are the three steps to complete before using a new Appwrite project?" - answer: "Add a platform (or generate an API key with scopes for server SDKs), add a hostname if you are using the Web SDK, and set proper permissions on your database collections and storage buckets. Skipping any of these usually leads to errors when making your first request." + answer: "Add a platform (or generate an API key with scopes for server SDKs), add a hostname if you are using the Web SDK, and set proper permissions on your database tables and storage buckets. Skipping any of these usually leads to errors when making your first request." - question: "Why do I need to add a platform in Appwrite?" answer: "Platforms tell Appwrite which clients are allowed to connect to your project. You add a platform from the project overview to register a Web, Flutter, Android, Apple, or server SDK. Without it, your requests are rejected for security." - question: "Why am I getting a CORS error when calling Appwrite from my web app?" answer: "Most CORS errors happen because you have not added the right hostname to your web platform settings in Appwrite. Add the exact origin you are connecting from (including localhost during development) to fix the error. There is a deeper walkthrough in the [CORS error post](/blog/post/cors-error)." - question: "How do permissions work in Appwrite?" - answer: "Permissions control who can read or write data in [Databases](/docs/products/databases) collections and [Storage](/docs/products/storage) buckets. You set them at the collection, bucket, or document level. Without the right permissions, even authenticated users see errors or empty data." + answer: "Permissions control who can read or write data in [Databases](/docs/products/databases) tables and [Storage](/docs/products/storage) buckets. You set them at the table, row, bucket, or file level. Without the right permissions, even authenticated users see errors or empty data." - question: "What is the difference between client and server SDKs in Appwrite?" answer: "Client SDKs run in your app and act on behalf of end users, so they use sessions and respect permissions. Server SDKs run in trusted environments and use API keys with explicit scopes. Pick the SDK that matches where your code runs and what level of access it needs." - question: "What scopes should I give my Appwrite API key?" @@ -42,7 +42,7 @@ When using the Web SDK, you’ll need to set a hostname. This just tells Appwrit # 3 - Permissions -Before you can read and write data from an Appwrite database collection or storage bucket, you’ll need to ensure you have the proper permissions set. This can be set from the “Settings” tab under the “Permissions” section inside a collection or storage bucket. +Before you can read and write data from an Appwrite database table or storage bucket, you’ll need to ensure you have the proper permissions set. This can be set from the “Settings” tab under the “Permissions” section inside a table or storage bucket. ![Permissions overview](/images/blog/three-important-steps-you-need-to-complete-with-appwrite/permissions.avif) diff --git a/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc b/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc index c79ee05bb0..3cd00d65b4 100644 --- a/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc +++ b/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc @@ -177,7 +177,7 @@ For a look at what to avoid, [7 prompting mistakes you need to stop making right # Taking this further with Appwrite -If you're building with AI assistants and using Appwrite as your backend, the [Appwrite MCP server](/docs/tooling/mcp) lets AI tools interact directly with your project. You can query collections, manage functions, and run operations through natural language inside tools like Claude Code, Cursor, or Windsurf. +If you're building with AI assistants and using Appwrite as your backend, the [Appwrite MCP server](/docs/tooling/mcp) lets AI tools interact directly with your project. You can query tables, manage functions, and run operations through natural language inside tools like Claude Code, Cursor, or Windsurf. This means the prompts you've refined for code generation can also drive your backend. Instead of switching context between your AI tool and the Appwrite console, the model can do it directly. diff --git a/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc b/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc index 3edb3c8ce6..3b9564f459 100644 --- a/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc +++ b/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc @@ -1,32 +1,32 @@ --- layout: post -title: Using $sequence to track document order in Appwrite -description: Learn how to use Appwrite's $sequence attribute to track document order in your database. +title: Using $sequence to track row order in Appwrite +description: Learn how to use Appwrite's $sequence column to track row order in your database. date: 2025-07-16 cover: /images/blog/track-document-order-with-sequence/cover.avif timeToRead: 6 author: ebenezer-don category: tutorial faqs: - - question: "What is the $sequence attribute in Appwrite?" - answer: "$sequence is a system attribute that Appwrite assigns to every document on creation. It is a unique, auto-incrementing integer scoped to the collection, so the first document gets 1, the second gets 2, and so on. It is read only and cannot be modified or reused." - - question: "Why not just use a timestamp to order documents?" - answer: "Timestamps can collide when documents are created within the same millisecond, which leads to unstable sort order. $sequence is monotonically increasing and unique, so it gives you a deterministic order even under high concurrency." + - question: "What is the $sequence column in Appwrite?" + answer: "$sequence is a system column that Appwrite assigns to every row on creation. It is a unique, auto-incrementing integer scoped to the table, so the first row gets 1, the second gets 2, and so on. It is read only and cannot be modified or reused." + - question: "Why not just use a timestamp to order rows?" + answer: "Timestamps can collide when rows are created within the same millisecond, which leads to unstable sort order. $sequence is monotonically increasing and unique, so it gives you a deterministic order even under high concurrency." - question: "Can I sort and paginate by $sequence in Appwrite?" answer: "Yes. $sequence works with the standard Query API, so you can use Query.orderAsc('$sequence') or Query.orderDesc('$sequence') and combine it with cursor pagination. See the [Appwrite Databases docs](/docs/products/databases) for the full query reference." - question: "Do I have to create $sequence manually?" - answer: "No. Appwrite assigns it automatically when the document is created, alongside other system attributes like $id and $createdAt. You should not define a sequence attribute yourself in your collection schema." + answer: "No. Appwrite assigns it automatically when the row is created, alongside other system columns like $id and $createdAt. You should not define a sequence column yourself in your table schema." - question: "Is $sequence safe to expose in URLs or UI?" answer: "Yes for things like ticket numbers, order numbers, or invoice numbers where a predictable counter is the desired behavior. Avoid using it where you need unguessable IDs (for example, share links), because the value is enumerable. Use $id for those cases." - - question: "Does $sequence reset if I delete documents?" - answer: "No. The counter is monotonic and does not reuse values, so deleting document 42 does not free up the sequence number 42. The next inserted document still gets the next unused integer." + - question: "Does $sequence reset if I delete rows?" + answer: "No. The counter is monotonic and does not reuse values, so deleting row 42 does not free up the sequence number 42. The next inserted row still gets the next unused integer." --- Some systems need to reflect the order in which actions happen. A ticketing system, for example, should assign "Ticket #41" before "Ticket #42". But in a user interface, it often makes sense to display the latest tickets first, so "Ticket #42" may appear above #41. -Relying on timestamps to get this right is often not enough. Two documents can be created almost simultaneously, and the sort order might vary. What is needed is a consistent, backend-assigned number that increases with each insert and cannot be modified or skipped. +Relying on timestamps to get this right is often not enough. Two rows can be created almost simultaneously, and the sort order might vary. What is needed is a consistent, backend-assigned number that increases with each insert and cannot be modified or skipped. -Appwrite's new `$sequence` attribute provides exactly this. Every time a document is added to a collection, the system assigns it a unique, auto-incrementing integer. This value reflects the insert history of the collection and can be used for sorting, display, filtering, and pagination. +Appwrite's `$sequence` column provides exactly this. Every time a row is added to a table, the system assigns it a unique, auto-incrementing integer. This value reflects the insert history of the table and can be used for sorting, display, filtering, and pagination. In this tutorial, we will build a simple web-based support ticket tracker using plain HTML and JavaScript. Each submitted ticket will be stored in Appwrite with a title and description, and each will receive a `$sequence` number automatically. We will use that number to display and order the tickets. @@ -38,35 +38,35 @@ Start by opening the [Appwrite console](https://cloud.appwrite.io/). If you do n Give it a name like **Support Tracker**. After creation, note the **Project ID**, as you will need it later in your frontend code. -## Create a database and collection +## Create a database and table Inside your project: - Go to the **Database** section - Create a new database named "Support DB" -- Inside that database, create a new collection named "Tickets" +- Inside that database, create a new table named "Tickets" -## Add document attributes +## Add row columns -In the **Tickets** collection, define the following attributes: +In the **Tickets** table, define the following columns: -- `title` - type: `string`, required: `yes`, size: 256 -- `body` - type: `string`, required: `yes`, size: 1000 +- `title` - type: `text`, required: `yes`, size: 256 +- `body` - type: `text`, required: `yes`, size: 1000 -Appwrite will automatically include system attributes such as `$id` and `$sequence`. You do not need to create `$sequence` manually. +Appwrite will automatically include system columns such as `$id` and `$sequence`. You do not need to create `$sequence` manually. -Confirm the schema once all attributes are added. +Confirm the schema once all columns are added. ## Set permissions for testing -For now, allow anyone to create and read documents: +For now, allow anyone to create and read rows: -- In the collection's **Settings**, under **Permissions** +- In the table's **Settings**, under **Permissions** - Add `role:any` to **Create** and **Read** You can change this later when adding [authentication](https://appwrite.io/docs/products/auth). -Also take note of your **Database ID** and **Collection ID**. You will use them in your frontend. +Also take note of your **Database ID** and **Table ID**. You will use them in your frontend. ## Configure web platform @@ -226,16 +226,16 @@ client .setEndpoint('') .setProject('') -const databases = new Appwrite.Databases(client) +const tablesDB = new Appwrite.TablesDB(client) const databaseId = '' -const collectionId = '' +const tableId = '' ``` Replace the placeholders with your actual values from the Appwrite console. -This code sets up the SDK so that you can call `databases.createDocument()` and `databases.listDocuments()` in the rest of the script. +This code sets up the SDK so that you can call `tablesDB.createRow()` and `tablesDB.listRows()` in the rest of the script. {% /section %} @@ -255,10 +255,10 @@ form.addEventListener('submit', async (e) => { if (!title || !body) return try { - await databases.createDocument({ + await tablesDB.createRow({ databaseId, - collectionId, - documentId: ID.unique(), + tableId, + rowId: ID.unique(), data: { title, body, @@ -274,7 +274,7 @@ form.addEventListener('submit', async (e) => { ``` -This code creates a new document in your collection when the form is submitted. It uses `'unique()'` to generate a unique ID. After submission, the form is reset and the list of tickets is reloaded to show the new entry. +This code creates a new row in your table when the form is submitted. It uses `'unique()'` to generate a unique ID. After submission, the form is reset and the list of tickets is reloaded to show the new entry. {% /section %} @@ -285,9 +285,9 @@ Now add a function that retrieves tickets and shows them in order, newest first: ```javascript async function loadTickets() { try { - const response = await databases.listDocuments({ + const response = await tablesDB.listRows({ databaseId, - collectionId, + tableId, queries: [ Appwrite.Query.orderDesc('$sequence'), ] @@ -298,16 +298,16 @@ async function loadTickets() { ticketList.innerHTML = '' - if (response.documents.length === 0) { + if (response.rows.length === 0) { emptyState.style.display = 'block' ticketCount.textContent = '0 tickets' } else { emptyState.style.display = 'none' - ticketCount.textContent = `${response.documents.length} ticket${ - response.documents.length === 1 ? '' : 's' + ticketCount.textContent = `${response.rows.length} ticket${ + response.rows.length === 1 ? '' : 's' }` - response.documents.forEach((ticket, index) => { + response.rows.forEach((ticket, index) => { const ticketElement = document.createElement('div') ticketElement.className = 'card u-padding-24' ticketElement.innerHTML = ` @@ -347,16 +347,16 @@ You now have a working support ticket tracker that looks like this: ![Support tracker demo](/images/blog/track-document-order-with-sequence/support-tracker-demo.avif) -- Each submitted ticket is stored as a document in Appwrite -- Every document receives a `$sequence` number, guaranteed to be unique and increasing +- Each submitted ticket is stored as a row in Appwrite +- Every row receives a `$sequence` number, guaranteed to be unique and increasing - The interface displays each ticket using that number - The ticket list is reliably sorted by creation order -There was no need to write any logic to generate numbers, track counters, or manage collisions. Appwrite's `$sequence` attribute handled the sequence internally, which was great for our use case. +There was no need to write any logic to generate numbers, track counters, or manage collisions. Appwrite's `$sequence` column handled the sequence internally, which was great for our use case. ## Conclusion -This tutorial introduced the auto-incrementing `$sequence` attribute and demonstrated how to use it in a small, working app. It offers a solution to a common need: preserving the order of inserts in a predictable, integer-based way. +This tutorial introduced the auto-incrementing `$sequence` column and demonstrated how to use it in a small, working app. It offers a solution to a common need: preserving the order of inserts in a predictable, integer-based way. Because the value is assigned by your database, `$sequence` remains stable even as your application grows. You can filter by it, paginate through it, or display it directly in user interfaces. And since it is read-only and immutable, we avoid the risk of errors that often come with custom counters or timestamp sorting. @@ -368,6 +368,6 @@ Looking forward to seeing what you build with this! ## Resources -- [Appwrite Database Documentation](/docs/products/databases) +- [Appwrite Databases documentation](/docs/products/databases) - [Pink Design System](https://pink.appwrite.io/) -- [Secure sensitive database fields with encrypted string attributes](https://appwrite.io/blog/post/encrypted-attributes-for-sensitive-fields) +- [Secure sensitive database fields with encrypted columns](https://appwrite.io/blog/post/encrypted-attributes-for-sensitive-fields) diff --git a/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc b/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc index 9ca613c7ff..29bef3f751 100644 --- a/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc +++ b/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc @@ -10,11 +10,11 @@ category: tutorial, product featured: false faqs: - question: "What are geo queries in Appwrite?" - answer: "Geo queries let you filter and sort documents based on geographic coordinates stored in a point column. Operators like distanceLessThan return documents within a radius of a reference point. They require a spatial index on the point column to perform well. See the [Appwrite Databases docs](/docs/products/databases) for the supported geo query operators." + answer: "Geo queries let you filter and sort rows based on geographic coordinates stored in a point column. Operators like distanceLessThan return rows within a radius of a reference point. They require a spatial index on the point column to perform well. See the [Appwrite Databases docs](/docs/products/databases) for the supported geo query operators." - question: "Do I need a spatial index for location based queries?" answer: "Yes, if you want them to be fast. Without a spatial index, Appwrite has to scan every row and compute distance, which does not scale past a few hundred rows. Adding a spatial index to your point column is the single most impactful change for geo query performance." - question: "How do realtime subscriptions work in this app?" - answer: "[Appwrite Realtime](/docs/products/databases) pushes events over websockets when documents are created, updated, or deleted. The rider subscribes to their own ride row and reacts when status changes or the driver's location updates, while the driver subscribes to pending rides in their area." + answer: "[Appwrite Realtime](/docs/products/databases) pushes events over websockets when rows are created, updated, or deleted. The rider subscribes to their own ride row and reacts when status changes or the driver's location updates, while the driver subscribes to pending rides in their area." - question: "Why use a one time password (OTP) for ride verification?" answer: "An OTP confirms that the driver who arrives is the one matched in the app, and that the rider getting in is the one who booked. It is a simple anti fraud measure used by most production ride hailing apps." - question: "Can I run this app on self hosted Appwrite?" diff --git a/src/routes/blog/post/understand-data-queries/+page.markdoc b/src/routes/blog/post/understand-data-queries/+page.markdoc index 0a9ff65d77..2ca3b5e0d8 100644 --- a/src/routes/blog/post/understand-data-queries/+page.markdoc +++ b/src/routes/blog/post/understand-data-queries/+page.markdoc @@ -80,47 +80,47 @@ To remove records from a table, you use deletion queries. While powerful, they s A lot of developers today don’t perform raw SQL queries but prefer to use an ORM such as Prima or a managed database provider such as Appwrite. While these tools enable the same end goal, a managed service can provide an easy-to-use wrapper and helper methods that make these queries easier to write and don’t require you to have a deep knowledge of SQL syntax. Appwrite offers the aforementioned data queries as a part of our Database product, which you can discover in our [product documentation](/docs/products/databases). -One of the data retrieval APIs the Appwrite Database offers is a list documents API to get multiple documents from any collection. The endpoint also allows you to filter, sort, and paginate results, for which Appwrite provides a common set of syntax to build queries, which you can build manually or using our SDKs. With our latest release, we’re adding support for database operators such as `OR`, `AND`, and `CONTAINS` to allow further flexibility. +One of the data retrieval APIs Appwrite Databases offers is a list rows API to get multiple rows from any table. The endpoint also allows you to filter, sort, and paginate results, for which Appwrite provides a common set of syntax to build queries, which you can build manually or using our SDKs. Appwrite supports database operators such as `OR`, `AND`, and `CONTAINS` to allow further flexibility. - `AND` operation: This operator allows nesting queries in an AND condition. - `OR` operation: This operator allows nesting queries in an OR condition. - `CONTAINS` operation: The contains operator allows filtering by values that are contained in an array. ```client-web -import { Client, Databases, Query } from "appwrite"; +import { Client, TablesDB, Query } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); -const databases = new Databases(client); +const tablesDB = new TablesDB(client); // OR operator example -const movieData1 = databases.listDocuments( - '', - '', - Query.or([ +const movieData1 = tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [Query.or([ Query.equal('title', ['Back To The Future', 'Top Gun']), Query.greaterThan('year', 2017) - ]) -); + ])] +}); // AND operator example -const movieData2 = databases.listDocuments( - '', - '', - Query.and([ +const movieData2 = tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [Query.and([ Query.startsWith("title", "Once"), Query.greaterThan('year', 1995) - ]) -); + ])] +}); // CONTAINS operator example -const movieData3 = databases.listDocuments( - '', - '', - Query.contains('director', ["Christopher Nolan"]) -); +const movieData3 = tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [Query.contains('director', ["Christopher Nolan"])] +}); ``` Mastering the art of data querying is a continuous process. As a developer, your aim should be to write efficient, secure, and maintainable queries. Remember, the power of a database is harnessed through the effectiveness of its queries. diff --git a/src/routes/blog/post/using-nextjs-wrong/+page.markdoc b/src/routes/blog/post/using-nextjs-wrong/+page.markdoc index adccce504e..e02151e961 100644 --- a/src/routes/blog/post/using-nextjs-wrong/+page.markdoc +++ b/src/routes/blog/post/using-nextjs-wrong/+page.markdoc @@ -169,8 +169,10 @@ export default function LoginPage() { "use server"; const { account } = await createAdminClient(); const session = await account.createEmailPasswordSession( - formData.get("email") as string, - formData.get("password") as string + { + email: formData.get("email") as string, + password: formData.get("password") as string + } ); (await cookies()).set("session", session.secret, { diff --git a/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc b/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc index 352f1d3226..4b96b5e92e 100644 --- a/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc +++ b/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc @@ -84,7 +84,7 @@ app.get('/search', async (req, res) => { }) ``` -Using an **ORM** like Prisma, Sequelize, or TypeORM can further reduce risks by abstracting query handling. Alternatively, [Appwrite's Database API](https://appwrite.io/docs/references/1.6.x/client-web/databases) provides built-in query filtering, eliminating the need to construct raw SQL queries. +Using an **ORM** like Prisma, Sequelize, or TypeORM can further reduce risks by abstracting query handling. Alternatively, [Appwrite's TablesDB API](https://appwrite.io/docs/references/cloud/client-web/tablesDB) provides built-in query filtering, eliminating the need to construct raw SQL queries. Beyond SQL injection, user inputs should be validated for **length, type, and format**. Use libraries like **Zod (TypeScript)** or **Joi (JavaScript)** to enforce strict validation rules before processing any user data. Sanitization is equally important. Removing or escaping dangerous characters in user inputs prevents attacks like XSS and command injection. @@ -169,7 +169,7 @@ To prevent this, implement **role-based access control (RBAC)** to restrict acce Every function that modifies or deletes data should enforce strict authorization rules. Always verify user roles and enforce **least privilege access**, ensuring users only have permissions necessary for their role. -If using Appwrite, ensure that your database collections are [configured with the correct permissions](https://appwrite.io/docs/products/databases/permissions) and that you are using the correct roles to restrict access. +If using Appwrite, ensure that your database tables are [configured with the correct permissions](https://appwrite.io/docs/products/databases/permissions) and that you are using the correct roles to restrict access. # 7. Secure all communications with HTTPS @@ -438,4 +438,4 @@ By staying up to date, you can use AI safely while mitigating risks. Vibe coding can be a great advantage if done correctly, but AI-generated code **must never be blindly trusted**. Security remains a human responsibility, requiring carefulness, un-rushed review, and adherence to best practices to ensure applications are protected. Many software applications can seriously affect people's lives, and therefore, security should never be taken lightly. -By following these **security principles**, you can take proper advantage of vibe coding and ai-assisted development. \ No newline at end of file +By following these **security principles**, you can take proper advantage of vibe coding and ai-assisted development. diff --git a/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc b/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc index 6aa8c937b5..2119368252 100644 --- a/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc +++ b/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc @@ -60,7 +60,7 @@ The problem is that most small teams don't meet these criteria. They have a cust The fear of migrating away from a custom backend often outweighs the reality. Modern backend platforms support: - **Gradual migration.** You don't have to swap everything at once. Authentication can move first, then storage, then databases. Each service you migrate reduces your maintenance burden. -- **Data export and import.** Appwrite's databases are standard JSON/document stores. Exporting your existing data and importing it is straightforward for most data models. +- **Data export and import.** Appwrite's databases store standard JSON row data. Exporting your existing data and importing it is straightforward for most data models. - **API compatibility.** Most backend platforms provide REST and SDK-based APIs that your existing front-end can call with modest changes. # Appwrite as your managed backend diff --git a/src/routes/docs/advanced/platform/database-reads-and-writes/+page.markdoc b/src/routes/docs/advanced/platform/database-reads-and-writes/+page.markdoc index a01378c52f..5b14dea24f 100644 --- a/src/routes/docs/advanced/platform/database-reads-and-writes/+page.markdoc +++ b/src/routes/docs/advanced/platform/database-reads-and-writes/+page.markdoc @@ -7,7 +7,7 @@ description: Learn how Appwrite handles database reads and writes and their asso Updated pricing will take effect on April 10th, 2025. Check out this [blog post](/blog/post/announcing-database-reads-and-writes-pricing) for more information. {% /info %} -Appwrite provides powerful database capabilities through its [Database API](/docs/products/databases), allowing you to perform read and write operations across your application data. Understanding how these operations are counted and billed is essential for planning your application's scalability. +Appwrite provides powerful database capabilities through [TablesDB](/docs/products/databases), allowing you to perform read and write operations across your application data. Understanding how these operations are counted and billed is essential for planning your application's scalability. ## Database Operations diff --git a/src/routes/docs/advanced/platform/permissions/+page.markdoc b/src/routes/docs/advanced/platform/permissions/+page.markdoc index e0b2d1c12f..3c85af6fe1 100644 --- a/src/routes/docs/advanced/platform/permissions/+page.markdoc +++ b/src/routes/docs/advanced/platform/permissions/+page.markdoc @@ -68,7 +68,7 @@ The following examples are using the [Appwrite Web SDK](https://github.com/appwr In the following example, we are creating a row that can be read by anyone, edited by writers or admins, and deleted by administrators or a user with the user ID `user:5c1f88b42259e`. ```client-web -import { Client, TablesDB, Permission, Role } from "appwrite"; +import { Client, ID, TablesDB, Permission, Role } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') @@ -76,18 +76,19 @@ const client = new Client() const tablesDB = new TablesDB(client); -let promise = tablesDB.createRow( - '', - '', - {'actorName': 'Chris Evans', 'height': 183}, - [ +let promise = tablesDB.createRow({ + databaseId: '', + tableId: '', + rowId: ID.unique(), + data: {'actorName': 'Chris Evans', 'height': 183}, + permissions: [ Permission.read(Role.any()), // Anyone can view this row Permission.update(Role.team("writers")), // Writers can update this row Permission.update(Role.team("admin")), // Admins can update this row Permission.delete(Role.user("5c1f88b42259e")), // User 5c1f88b42259e can delete this row Permission.delete(Role.team("admin")) // Admins can delete this row ] -); +}); promise.then(function (response) { console.log(response); @@ -101,7 +102,7 @@ promise.then(function (response) { In the following example, we are creating a row that can be read by members of the team with ID `5c1f88b87435e` and can only be edited or deleted by members of the same team that possess the team role `owner`. ```client-web -import { Client, TablesDB, Permission, Role } from "appwrite"; +import { Client, ID, TablesDB, Permission, Role } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') @@ -109,16 +110,17 @@ const client = new Client() const tablesDB = new TablesDB(client); -let promise = tablesDB.createRow( - '', - '', - {'actorName': 'Chris Evans', 'height': 183}, - [ +let promise = tablesDB.createRow({ + databaseId: '', + tableId: '', + rowId: ID.unique(), + data: {'actorName': 'Chris Evans', 'height': 183}, + permissions: [ Permission.read(Role.team("5c1f88b87435e")), // Only users of team 5c1f88b87435e can read the row Permission.update(Role.team("5c1f88b87435e", "owner")), // Only users of team 5c1f88b87435e with the role owner can update the row Permission.delete(Role.team("5c1f88b87435e", "owner")) // Only users of team 5c1f88b87435e with the role owner can delete the row ] -); +}); promise.then(function (response) { console.log(response); @@ -147,7 +149,7 @@ When creating rows in your application, set row-level permissions to restrict ac {% multicode %} ```client-web -import { Client, TablesDB, Permission, Role } from "appwrite"; +import { Client, ID, TablesDB, Permission, Role } from "appwrite"; const client = new Client() .setEndpoint('https://cloud.appwrite.io/v1') @@ -155,16 +157,17 @@ const client = new Client() const tablesDB = new TablesDB(client); -let promise = tablesDB.createRow( - '', - '', - { 'title': 'My Private Row' }, - [ +let promise = tablesDB.createRow({ + databaseId: '', + tableId: '', + rowId: ID.unique(), + data: { 'title': 'My Private Row' }, + permissions: [ Permission.read(Role.user('')), // Only this user can read Permission.update(Role.user('')), // Only this user can update Permission.delete(Role.user('')) // Only this user can delete ] -); +}); promise.then(function (response) { console.log(response); @@ -261,4 +264,4 @@ suspend fun main() { 2. When a row is created, we set permissions for only the creator 3. These row-level permissions ensure only the creator can read, update, or delete their rows 4. Other users can create their own rows but cannot access rows they didn't create -{% /info %} \ No newline at end of file +{% /info %} diff --git a/src/routes/docs/advanced/self-hosting/production/backups/+page.markdoc b/src/routes/docs/advanced/self-hosting/production/backups/+page.markdoc index 34237bc60e..129426670b 100644 --- a/src/routes/docs/advanced/self-hosting/production/backups/+page.markdoc +++ b/src/routes/docs/advanced/self-hosting/production/backups/+page.markdoc @@ -16,7 +16,7 @@ Self-hosted Appwrite requires manual backup procedures to protect your data. Your Appwrite installation has several components that need backing up: -1. **Database** - User data, documents, and configuration +1. **Database** - User data, rows, and configuration 2. **Storage volumes** - Uploaded files and function code 3. **Environment variables** - Configuration in `.env` 4. **System snapshots** - Complete server state (alternative approach) diff --git a/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc b/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc index 675e7d8c7f..18f6f75ec9 100644 --- a/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc +++ b/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc @@ -169,8 +169,8 @@ Before we can save our detection result to the Appwrite Database, we need to cre Navigate to the Appwrite Console and click on **Database** in the left sidebar, then click on the **Create database** button, you can call this database anything you like, for this example we'll call it `AI`. Once you've created the database, click on the **Create table** button and create a new table, once again you can call it anything you want but for this example we'll call it `Image Labels`. -Add two string columns to our table, `image` and `labels`. The `image` column will store the ID of the image we're detecting objects in and the `labels` column will store the detection result. -Both of these columns should be `required` with `image` having the size of `256` and `labels` having the size of around `4096`. +Add two text columns to our table, `image` and `labels`. The `image` column will store the ID of the image we're detecting objects in and the `labels` column will store the detection result. +Both of these columns should be `required`. {% only_dark %} ![Object detection database](/images/docs/ai/tutorials/object-detection/dark/database.avif) @@ -187,9 +187,8 @@ With the image classified, we can now save the result to the Appwrite Database. To begin with we're going to add a new function to the `appwrite.js` file we created earlier which will create these records in the database. ```js -async createImageLabels(databaseId, tableId, imageId, labels) -{ - await this.tablesDB.createRow({ +async function createImageLabels(databaseId, tableId, imageId, labels) { + await tablesDB.createRow({ databaseId, tableId, rowId: ID.unique(), diff --git a/src/routes/docs/products/auth/custom-token/+page.markdoc b/src/routes/docs/products/auth/custom-token/+page.markdoc index 9ff8a435a8..f65623efbc 100644 --- a/src/routes/docs/products/auth/custom-token/+page.markdoc +++ b/src/routes/docs/products/auth/custom-token/+page.markdoc @@ -18,7 +18,7 @@ import { Client, Users } from "node-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject(''); // Your project ID + .setProject('') // Your project ID .setKey(''); // Your project API key const users = new Users(client); @@ -58,7 +58,7 @@ client = Client() users = Users(client) -token = users.create_token('') +token = users.create_token(user_id='') secret = token.secret ``` @@ -74,7 +74,7 @@ client = Client.new users = Users.new(client) -token = users.create_token('') +token = users.create_token(user_id: '') secret = token['secret'] ``` @@ -264,4 +264,4 @@ mutation { {% /multicode %} -When the session is successfully created, the session is stored in a persistent manner and you can now do requests as authorized user from the application. \ No newline at end of file +When the session is successfully created, the session is stored in a persistent manner and you can now do requests as authorized user from the application. diff --git a/src/routes/docs/products/auth/labels/+page.markdoc b/src/routes/docs/products/auth/labels/+page.markdoc index 1a209b272a..8dcda6e3ff 100644 --- a/src/routes/docs/products/auth/labels/+page.markdoc +++ b/src/routes/docs/products/auth/labels/+page.markdoc @@ -17,10 +17,10 @@ const client = new sdk.Client() const users = new sdk.Users(client); -const promise = users.updateLabels( - '', - [ 'subscriber' ] -); +const promise = users.updateLabels({ + userId: '', + labels: [ 'subscriber' ] +}); promise.then(function (response) { console.log(response); // Success @@ -65,8 +65,8 @@ client = Client() users = Users(client) result = users.update_labels( - '', - [ 'subscriber' ] + user_id='', + labels=[ 'subscriber' ] ); ``` ```ruby @@ -97,10 +97,10 @@ let client = new sdk.Client() let users = new sdk.Users(client); -const promise = users.updateLabels( - '', - [ 'subscriber' ] -); +const promise = users.updateLabels({ + userId: '', + labels: [ 'subscriber' ] +}); promise.then(function (response) { console.log(response); // Success @@ -208,4 +208,4 @@ This would correspond with the permissions below. {% arrow_link href="/docs/advanced/platform/permissions" %} Learn more about permissions -{% /arrow_link %} \ No newline at end of file +{% /arrow_link %} diff --git a/src/routes/docs/products/auth/magic-url/+page.markdoc b/src/routes/docs/products/auth/magic-url/+page.markdoc index f7ff3ccead..8759132e5b 100644 --- a/src/routes/docs/products/auth/magic-url/+page.markdoc +++ b/src/routes/docs/products/auth/magic-url/+page.markdoc @@ -21,9 +21,11 @@ const client = new Client() const account = new Account(client); const token = await account.createMagicURLToken( - ID.unique(), - 'email@example.com', - 'https://example.com/verify' + { + userId: ID.unique(), + email: 'email@example.com', + url: 'https://example.com/verify' +} ); ``` diff --git a/src/routes/docs/products/auth/multi-tenancy/+page.markdoc b/src/routes/docs/products/auth/multi-tenancy/+page.markdoc index 9b8957a293..b6bd1759f8 100644 --- a/src/routes/docs/products/auth/multi-tenancy/+page.markdoc +++ b/src/routes/docs/products/auth/multi-tenancy/+page.markdoc @@ -42,9 +42,11 @@ const teams = new Teams(client); // Create team for a new tenant const tenantTeam = await teams.create( - 'example_corp', // Team ID for tenant - 'Example Corp', // Tenant name - ['owner', 'admin', 'member'] // Tenant roles + { + teamId: 'example_corp', + name: 'Example Corp', + roles: ['owner', 'admin', 'member'] +} // Tenant roles ); ``` ```client-flutter @@ -115,12 +117,12 @@ const teams = new Teams(client); // Invite a member to the tenant const membership = await teams.createMembership( - 'example_corp', // Team/tenant ID - ['admin'], // Member's role in the tenant - 'user@example.com', // User's email - undefined, // userId (optional) - undefined, // phone (optional) - 'https://example.com/accept-invite' // Redirect URL after accepting + { + teamId: 'example_corp', + roles: ['admin'], + email: 'user@example.com', + url: 'https://example.com/accept-invite' +} // Redirect URL after accepting ); ``` ```client-flutter @@ -192,25 +194,25 @@ const client = new Client() const tablesDB = new TablesDB(client); // Create a row that only members of "Example Corp" tenant can access -const row = await tablesDB.createRow( - 'invoices_db', - 'invoices', - ID.unique(), - { +const row = await tablesDB.createRow({ + databaseId: 'invoices_db', + tableId: 'invoices', + rowId: ID.unique(), + data: { title: 'Q2 Invoice', amount: 2500.00, customer: 'Example Customer', status: 'pending', tenant_id: 'example_corp' }, - [ + permissions: [ // All Example Corp team members can read Permission.read(Role.team('example_corp')), // Only admins can update Permission.write(Role.team('example_corp', ['admin'])) ] -); +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -323,19 +325,19 @@ const client = new Client() const tablesDB = new TablesDB(client); // Current user will only see invoices they have access to -const rows = await tablesDB.listRows( - 'invoices_db', - 'invoices' -); +const rows = await tablesDB.listRows({ + databaseId: 'invoices_db', + tableId: 'invoices' +}); // For specific tenant data, you can add a query filter -const tenantDocuments = await tablesDB.listRows( - 'invoices_db', - 'invoices', - [ +const tenantRows = await tablesDB.listRows({ + databaseId: 'invoices_db', + tableId: 'invoices', + queries: [ Query.equal('tenant_id', 'example_corp') ] -); +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; diff --git a/src/routes/docs/products/auth/preferences/+page.markdoc b/src/routes/docs/products/auth/preferences/+page.markdoc index dd48d27e73..9a797271d6 100644 --- a/src/routes/docs/products/auth/preferences/+page.markdoc +++ b/src/routes/docs/products/auth/preferences/+page.markdoc @@ -188,12 +188,14 @@ const client = new Client() const teams = new Teams(client); const promise = teams.updatePrefs( - '', { + teamId: '', + prefs: { theme: 'corporate', notificationsEnabled: true, defaultView: 'kanban' } +} ); promise.then(function (response) { @@ -273,7 +275,9 @@ const client = new Client() const teams = new Teams(client); -const promise = teams.getPrefs(''); +const promise = teams.getPrefs({ + teamId: '' +}); promise.then(function (prefs) { console.log(prefs); // Team preferences diff --git a/src/routes/docs/products/auth/server-side-rendering/+page.markdoc b/src/routes/docs/products/auth/server-side-rendering/+page.markdoc index a77e9bec0e..484a87b6b5 100644 --- a/src/routes/docs/products/auth/server-side-rendering/+page.markdoc +++ b/src/routes/docs/products/auth/server-side-rendering/+page.markdoc @@ -247,7 +247,7 @@ def login(): account = Account(admin_client) # Create the session using the Appwrite client - session = account.create_email_password_session(email, password) + session = account.create_email_password_session(email=email, password=password) resp = make_response(jsonify({'success': True})) # Set the session cookie @@ -592,9 +592,9 @@ def oauth(): account = Account(admin_client) redirect_url = account.create_o_auth2_token( - OAuthProvider.Github, # Provider - 'https://example.com/oauth/success', # Success URL - 'https://example.com/oauth/failure', # Failure URL + provider=OAuthProvider.Github, + success='https://example.com/oauth/success', + failure='https://example.com/oauth/failure', ) return redirect(redirect_url) @@ -644,7 +644,7 @@ app.get('/oauth/success', async (req, res) => { httpOnly: true, secure: true, sameSite: 'strict', - maxAge: sesion.expire + maxAge: session.expire, path: '/', }); @@ -699,7 +699,7 @@ def oauth_success(): try: # Create the session using the Appwrite client - session = account.create_session(user_id, secret) + session = account.create_session(user_id=user_id, secret=secret) # Set the session cookie res = make_response(jsonify({'success': True})) diff --git a/src/routes/docs/products/auth/team-invites/+page.markdoc b/src/routes/docs/products/auth/team-invites/+page.markdoc index c16614d1f3..69da06bf99 100644 --- a/src/routes/docs/products/auth/team-invites/+page.markdoc +++ b/src/routes/docs/products/auth/team-invites/+page.markdoc @@ -28,14 +28,12 @@ const client = new Client() const teams = new Teams(client); // Create membership with email invite -const membership = await teams.createMembership( - '', - ['developer'], // roles - 'user@example.com', // email - undefined, // userId (optional) - undefined, // phone (optional) - 'https://yourapp.com/accept-invite' // url - redirect after email click -); +const membership = await teams.createMembership({ + teamId: '', + roles: ['developer'], + email: 'user@example.com', + url: 'https://yourapp.com/accept-invite' +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -110,12 +108,12 @@ const client = new Client() const teams = new Teams(client); // Accept the invitation using the membership ID and secret -const response = await teams.updateMembershipStatus( - '', - '', - '', - '' -); +const response = await teams.updateMembershipStatus({ + teamId: '', + membershipId: '', + userId: '', + secret: '' +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -193,12 +191,12 @@ const client = new sdk.Client() const teams = new sdk.Teams(client); // Create membership directly with userId -const membership = await teams.createMembership( - '', - ['developer'], - '', - 'John Doe' // optional name -); +const membership = await teams.createMembership({ + teamId: '', + roles: ['developer'], + userId: '', + name: 'John Doe' // optional +}); ``` ```server-python from appwrite.client import Client @@ -457,7 +455,7 @@ teams_list = teams.list() // Iterate through teams to find memberships for team in teams_list['teams']: - response = teams.list_memberships(team['$id']) + response = teams.list_memberships(team_id=team['$id']) // Find membership for specific user user_membership = next( @@ -583,10 +581,10 @@ const client = new Client() const teams = new Teams(client); -await teams.deleteMembership( - '', - '' -); +await teams.deleteMembership({ + teamId: '', + membershipId: '' +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -652,11 +650,11 @@ const client = new Client() const teams = new Teams(client) // Update member roles -await teams.updateMembership( - '', - '', - ['admin', 'developer'] -) +await teams.updateMembership({ + teamId: '', + membershipId: '', + roles: ['admin', 'developer'] +}) ``` ```client-flutter import 'package:appwrite/appwrite.dart' @@ -796,4 +794,4 @@ See how to grant row and file access to team roles in the [permissions](/docs/ad {% arrow_link href="/docs/products/auth/teams" %} Learn more about team management -{% /arrow_link %} \ No newline at end of file +{% /arrow_link %} diff --git a/src/routes/docs/products/auth/teams/+page.markdoc b/src/routes/docs/products/auth/teams/+page.markdoc index 7df0d56200..9e8f0567d9 100644 --- a/src/routes/docs/products/auth/teams/+page.markdoc +++ b/src/routes/docs/products/auth/teams/+page.markdoc @@ -33,9 +33,11 @@ client ; const promise = teams.create( - 'teachers', - 'Teachers', - ['maths', 'sciences', 'arts', 'literature'] + { + teamId: 'teachers', + name: 'Teachers', + roles: ['maths', 'sciences', 'arts', 'literature'] +} ); promise.then(function (response) { @@ -121,9 +123,11 @@ client ; const promise = teams.createMembership( - 'teachers', - ["maths"], - "david@example.com" + { + teamId: 'teachers', + roles: ["maths"], + email: "david@example.com" +} ); promise.then(function (response) { diff --git a/src/routes/docs/products/avatars/qr-codes/+page.markdoc b/src/routes/docs/products/avatars/qr-codes/+page.markdoc index 39963a84d8..fc84d90f46 100644 --- a/src/routes/docs/products/avatars/qr-codes/+page.markdoc +++ b/src/routes/docs/products/avatars/qr-codes/+page.markdoc @@ -121,7 +121,9 @@ QR codes are commonly used for two-factor authentication (2FA). When setting up {% multicode %} ```client-web // After creating an MFA authenticator -const authenticator = await account.createMfaAuthenticator('totp'); +const authenticator = await account.createMfaAuthenticator({ + type: 'totp' +}); const qrCode = avatars.getQR({ text: authenticator.uri, size: 400, diff --git a/src/routes/docs/products/databases/+layout.svelte b/src/routes/docs/products/databases/+layout.svelte index 87f1ffb5a3..3463bb88af 100644 --- a/src/routes/docs/products/databases/+layout.svelte +++ b/src/routes/docs/products/databases/+layout.svelte @@ -163,7 +163,7 @@ if (shouldShowSubtitle) { headerSectionInfoAlert.set({ title: 'New API', - description: `This is a relatively new API. For details on the previous version and its terminology, see the legacy Collections API documentation.` + description: `This is a relatively new API. For details on the previous version and its terminology, see the legacy API documentation.` }); } else { headerSectionInfoAlert.set(null); diff --git a/src/routes/docs/products/databases/atomic-numeric-operations/+page.markdoc b/src/routes/docs/products/databases/atomic-numeric-operations/+page.markdoc index 9de1237ed7..b2b439e226 100644 --- a/src/routes/docs/products/databases/atomic-numeric-operations/+page.markdoc +++ b/src/routes/docs/products/databases/atomic-numeric-operations/+page.markdoc @@ -513,24 +513,24 @@ For complex updates that include both atomic operations and regular field change {% multicode %} ```client-web // First, increment the likes atomically -const likeResult = await tablesDB.incrementRowColumn( - '', - '', - '', - 'likes', // column - 1 // value -); +const likeResult = await tablesDB.incrementRowColumn({ + databaseId: '', + tableId: '', + rowId: '', + column: 'likes', + value: 1 +}); // Then, update other fields -const updateResult = await tablesDB.updateRow( - '', - '', - '', - { +const updateResult = await tablesDB.updateRow({ + databaseId: '', + tableId: '', + rowId: '', + data: { lastLikedBy: userId, lastLikedAt: new Date().toISOString() } -); +}); ``` ```client-flutter // First, increment the likes atomically @@ -597,24 +597,24 @@ val updateResult = tablesDB.updateRow( ``` ```server-nodejs // First, increment the likes atomically -const likeResult = await tablesDB.incrementRowColumn( - '', - '', - '', - 'likes', // column - 1 // value -); +const likeResult = await tablesDB.incrementRowColumn({ + databaseId: '', + tableId: '', + rowId: '', + column: 'likes', + value: 1 +}); // Then, update other fields -const updateResult = await tablesDB.updateRow( - '', - '', - '', - { +const updateResult = await tablesDB.updateRow({ + databaseId: '', + tableId: '', + rowId: '', + data: { lastLikedBy: userId, lastLikedAt: new Date().toISOString() } -); +}); ``` ```server-python # First, increment the likes atomically diff --git a/src/routes/docs/products/databases/bulk-operations/+page.markdoc b/src/routes/docs/products/databases/bulk-operations/+page.markdoc index 07a93db88c..d157489430 100644 --- a/src/routes/docs/products/databases/bulk-operations/+page.markdoc +++ b/src/routes/docs/products/databases/bulk-operations/+page.markdoc @@ -56,10 +56,10 @@ const client = new sdk.Client() const tablesDB = new sdk.TablesDB(client); -const result = await tablesDB.createRows( - '', - '', - [ +const result = await tablesDB.createRows({ + databaseId: '', + tableId: '', + rows: [ { $id: sdk.ID.unique(), name: 'Row 1' @@ -69,7 +69,7 @@ const result = await tablesDB.createRows( name: 'Row 2' } ] -); +}); ``` ```server-python @@ -155,16 +155,16 @@ const client = new sdk.Client() const tablesDB = new sdk.TablesDB(client); -const result = await tablesDB.updateRows( - '', - '', - { +const result = await tablesDB.updateRows({ + databaseId: '', + tableId: '', + data: { status: 'published' }, - [ + queries: [ sdk.Query.equal('status', 'draft') ] -); +}); ``` ```server-python @@ -242,10 +242,10 @@ const client = new sdk.Client() const tablesDB = new sdk.TablesDB(client); -const result = await tablesDB.upsertRows( - '', - '', - [ +const result = await tablesDB.upsertRows({ + databaseId: '', + tableId: '', + rows: [ { $id: sdk.ID.unique(), name: 'New Row 1' @@ -255,7 +255,7 @@ const result = await tablesDB.upsertRows( name: 'New Row 2' } ] -); +}); ``` ```server-python @@ -342,13 +342,13 @@ const client = new sdk.Client() const tablesDB = new sdk.TablesDB(client); -const result = await tablesDB.deleteRows( - '', - '', - [ +const result = await tablesDB.deleteRows({ + databaseId: '', + tableId: '', + queries: [ sdk.Query.equal('status', 'archived') ] -); +}); ``` ```server-python diff --git a/src/routes/docs/products/databases/csv-imports/+page.markdoc b/src/routes/docs/products/databases/csv-imports/+page.markdoc index 59d3244c23..4efa897d60 100644 --- a/src/routes/docs/products/databases/csv-imports/+page.markdoc +++ b/src/routes/docs/products/databases/csv-imports/+page.markdoc @@ -145,4 +145,4 @@ CSV imports run as background tasks. The Console displays a floating progress ba - [Appwrite CLI](/docs/command-line) - [Database Permissions](/docs/products/databases/permissions) -- [Database API Reference](/docs/references/cloud/client-web/databases) +- [TablesDB API Reference](/docs/references/cloud/client-web/tablesDB) diff --git a/src/routes/docs/products/databases/databases/+page.markdoc b/src/routes/docs/products/databases/databases/+page.markdoc index cc3147838b..9468cefac0 100644 --- a/src/routes/docs/products/databases/databases/+page.markdoc +++ b/src/routes/docs/products/databases/databases/+page.markdoc @@ -100,7 +100,7 @@ client = Client() tablesDB = TablesDB(client) -result = tablesDB.create('', '') +result = tablesDB.create(database_id='', name='') ``` ```ruby require 'Appwrite' diff --git a/src/routes/docs/products/databases/operators/+page.markdoc b/src/routes/docs/products/databases/operators/+page.markdoc index 53ebfaa1ed..f50f0180c4 100644 --- a/src/routes/docs/products/databases/operators/+page.markdoc +++ b/src/routes/docs/products/databases/operators/+page.markdoc @@ -204,10 +204,10 @@ client = Client() tablesDB = TablesDB(client) result = tablesDB.update_row( - '', - '', - '', - { 'letters': Operator.arrayAppend(['c']) } + database_id='', + table_id='', + row_id='', + data={ 'letters': Operator.arrayAppend(['c']) } ) ``` ```server-dotnet @@ -246,10 +246,10 @@ client tablesDB = TablesDB.new(client) result = tablesDB.update_row( - '', - '', - '', - { 'letters' => Operator.arrayAppend(['c']) } + database_id: '', + table_id: '', + row_id: '', + data: { 'letters' => Operator.arrayAppend(['c']) } ) ``` ```server-java @@ -1331,10 +1331,10 @@ client = Client() tablesDB = TablesDB(client) result = tablesDB.update_row( - '', - '', - '', - { 'upvotes': Operator.increment(1) } + database_id='', + table_id='', + row_id='', + data={ 'upvotes': Operator.increment(1) } ) ``` ```server-dotnet @@ -1373,10 +1373,10 @@ client tablesDB = TablesDB.new(client) result = tablesDB.update_row( - '', - '', - '', - { 'upvotes' => Operator.increment(1) } + database_id: '', + table_id: '', + row_id: '', + data: { 'upvotes' => Operator.increment(1) } ) ``` ```server-java @@ -1618,10 +1618,10 @@ client = Client() tablesDB = TablesDB(client) result = tablesDB.update_row( - '', - '', - '', - { 'books': Operator.arrayAppend(['The Great Gatsby']) } + database_id='', + table_id='', + row_id='', + data={ 'books': Operator.arrayAppend(['The Great Gatsby']) } ) ``` ```server-dotnet @@ -1660,10 +1660,10 @@ client tablesDB = TablesDB.new(client) result = tablesDB.update_row( - '', - '', - '', - { 'books' => Operator.arrayAppend(['The Great Gatsby']) } + database_id: '', + table_id: '', + row_id: '', + data: { 'books' => Operator.arrayAppend(['The Great Gatsby']) } ) ``` ```server-java @@ -1905,10 +1905,10 @@ client = Client() tablesDB = TablesDB(client) result = tablesDB.update_row( - '', - '', - '', - { 'scheduledDeletion': Operator.dateAddDays(30) } + database_id='', + table_id='', + row_id='', + data={ 'scheduledDeletion': Operator.dateAddDays(30) } ) ``` ```server-dotnet @@ -1947,10 +1947,10 @@ client tablesDB = TablesDB.new(client) result = tablesDB.update_row( - '', - '', - '', - { 'scheduledDeletion' => Operator.dateAddDays(30) } + database_id: '', + table_id: '', + row_id: '', + data: { 'scheduledDeletion' => Operator.dateAddDays(30) } ) ``` ```server-java @@ -2042,7 +2042,10 @@ await tablesDB.updateRow({ }); // Commit the transaction -await tablesDB.updateTransaction(tx.$id, 'commit'); +await tablesDB.updateTransaction({ + transactionId: tx.$id, + commit: true +}); ``` ```server-nodejs const sdk = require('node-appwrite'); @@ -2071,7 +2074,10 @@ await tablesDB.updateRow({ }); // Commit the transaction -await tablesDB.updateTransaction(tx.$id, 'commit'); +await tablesDB.updateTransaction({ + transactionId: tx.$id, + commit: true +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -2270,18 +2276,18 @@ tx = tablesDB.create_transaction() # Update row with operators inside the transaction result = tablesDB.update_row( - '', - '', - '', - { - 'upvotes': Operator.increment(1), - 'lastModified': Operator.dateSetNow() - }, - transaction_id=tx.id + database_id='', + table_id='', + row_id='', + data={ + 'upvotes': Operator.increment(1), + 'lastModified': Operator.dateSetNow() + }, + transaction_id=tx.id ) # Commit the transaction -tablesDB.update_transaction(tx.id, 'commit') +tablesDB.update_transaction(transaction_id=tx.id, commit=True) ``` ```server-dotnet using Appwrite; @@ -2332,18 +2338,18 @@ tx = tablesDB.create_transaction # Update row with operators inside the transaction result = tablesDB.update_row( - '', - '', - '', - { - 'upvotes' => Operator.increment(1), - 'lastModified' => Operator.dateSetNow() - }, - transaction_id: tx['$id'] + database_id: '', + table_id: '', + row_id: '', + data: { + 'upvotes' => Operator.increment(1), + 'lastModified' => Operator.dateSetNow() + }, + transaction_id: tx['$id'] ) # Commit the transaction -tablesDB.update_transaction(tx['$id'], 'commit') +tablesDB.update_transaction(transaction_id: tx['$id'], commit: true) ``` ```server-java import io.appwrite.Client; @@ -2481,7 +2487,10 @@ await tablesDB.createOperations({ }); // Commit the transaction -await tablesDB.updateTransaction(tx.$id, 'commit'); +await tablesDB.updateTransaction({ + transactionId: tx.$id, + commit: true +}); ``` ```server-nodejs const sdk = require('node-appwrite'); @@ -2524,7 +2533,10 @@ await tablesDB.createOperations({ }); // Commit the transaction -await tablesDB.updateTransaction(tx.$id, 'commit'); +await tablesDB.updateTransaction({ + transactionId: tx.$id, + commit: true +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -2818,7 +2830,7 @@ tablesDB.create_operations( ) # Commit the transaction -tablesDB.update_transaction(tx.id, 'commit') +tablesDB.update_transaction(transaction_id=tx.id, commit=True) ``` ```server-dotnet using Appwrite; @@ -2914,7 +2926,7 @@ tablesDB.create_operations( ) # Commit the transaction -tablesDB.update_transaction(tx['$id'], 'commit') +tablesDB.update_transaction(transaction_id: tx['$id'], commit: true) ``` ```server-java import io.appwrite.Client; @@ -3035,4 +3047,4 @@ async fn main() -> Result<(), Box> { Ok(()) } ``` -{% /multicode %} \ No newline at end of file +{% /multicode %} diff --git a/src/routes/docs/products/databases/pagination/+page.markdoc b/src/routes/docs/products/databases/pagination/+page.markdoc index a138a22014..089bac7e3f 100644 --- a/src/routes/docs/products/databases/pagination/+page.markdoc +++ b/src/routes/docs/products/databases/pagination/+page.markdoc @@ -30,24 +30,24 @@ const client = new Client() const tablesDB = new TablesDB(client); // Page 1 -const page1 = await tablesDB.listRows( - '', - '', - [ +const page1 = await tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [ Query.limit(25), Query.offset(0) ] -); +}); // Page 2 -const page2 = await tablesDB.listRows( - '', - '', - [ +const page2 = await tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [ Query.limit(25), Query.offset(25) ] -); +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -166,25 +166,25 @@ const client = new Client() const tablesDB = new TablesDB(client); // Page 1 -const page1 = await tablesDB.listRows( - '', - '', - [ +const page1 = await tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [ Query.limit(25), ] -); +}); const lastId = page1.rows[page1.rows.length - 1].$id; // Page 2 -const page2 = await tablesDB.listRows( - '', - '', - [ +const page2 = await tablesDB.listRows({ + databaseId: '', + tableId: '', + queries: [ Query.limit(25), Query.cursorAfter(lastId), ] -); +}); ``` ```client-flutter diff --git a/src/routes/docs/products/databases/queries/+page.markdoc b/src/routes/docs/products/databases/queries/+page.markdoc index 48628e4df8..7b501d7b0f 100644 --- a/src/routes/docs/products/databases/queries/+page.markdoc +++ b/src/routes/docs/products/databases/queries/+page.markdoc @@ -256,9 +256,9 @@ client = Client() tablesDB = TablesDB(client) result = tablesDB.list_rows( - '', - '', - [ + database_id='', + table_id='', + queries=[ Query.equal('title', ['Avatar', 'Lord of the Rings']), Query.greater_than('year', 1999) ] @@ -337,7 +337,7 @@ By default, rows return only their own fields: {% multicode %} ```client-web -const doc = await tablesDB.getRow({ +const row = await tablesDB.getRow({ databaseId: '', tableId: '', rowId: '', @@ -345,7 +345,7 @@ const doc = await tablesDB.getRow({ }); ``` ```client-flutter -final doc = await tablesDB.getRow( +final row = await tablesDB.getRow( databaseId: '', tableId: '', rowId: '', @@ -353,19 +353,23 @@ final doc = await tablesDB.getRow( ); ``` ```server-python -doc = tablesDB.get_row( - '', '', '', - [Query.select(["name", "age"])] +row = tablesDB.get_row( + database_id='', + table_id='', + row_id='', + queries=[Query.select(["name", "age"])] ) ``` ```server-ruby -doc = tablesDB.get_row( - '', '', '', - [Query.select(["name", "age"])] +row = tablesDB.get_row( + database_id: '', + table_id: '', + row_id: '', + queries: [Query.select(["name", "age"])] ) ``` ```server-nodejs -const doc = await tablesDB.getRow({ +const row = await tablesDB.getRow({ databaseId: '', tableId: '', rowId: '', @@ -373,13 +377,13 @@ const doc = await tablesDB.getRow({ }); ``` ```server-php -$doc = $tablesDB->getRow( +$row = $tablesDB->getRow( '', '', '', [Query::select(["name", "age"])] ); ``` ```server-rust -let doc = tables_db.get_row( +let row = tables_db.get_row( "", "", "", @@ -388,7 +392,7 @@ let doc = tables_db.get_row( ).await?; ``` ```client-apple -let doc = try await tablesDB.getRow( +let row = try await tablesDB.getRow( databaseId: "", tableId: "", rowId: "", @@ -407,7 +411,7 @@ Use the `*` wildcard to load all fields from related rows: {% multicode %} ```client-web -const doc = await tablesDB.getRow({ +const row = await tablesDB.getRow({ databaseId: '', tableId: '', rowId: '', @@ -415,7 +419,7 @@ const doc = await tablesDB.getRow({ }); ``` ```client-flutter -final doc = await tablesDB.getRow( +final row = await tablesDB.getRow( databaseId: '', tableId: '', rowId: '', @@ -423,19 +427,23 @@ final doc = await tablesDB.getRow( ); ``` ```server-python -doc = tablesDB.get_row( - '', '', '', - [Query.select(["*", "reviews.*"])] +row = tablesDB.get_row( + database_id='', + table_id='', + row_id='', + queries=[Query.select(["*", "reviews.*"])] ) ``` ```server-ruby -doc = tablesDB.get_row( - '', '', '', - [Query.select(["*", "reviews.*"])] +row = tablesDB.get_row( + database_id: '', + table_id: '', + row_id: '', + queries: [Query.select(["*", "reviews.*"])] ) ``` ```server-nodejs -const doc = await tablesDB.getRow({ +const row = await tablesDB.getRow({ databaseId: '', tableId: '', rowId: '', @@ -443,13 +451,13 @@ const doc = await tablesDB.getRow({ }); ``` ```server-php -$doc = $tablesDB->getRow( +$row = $tablesDB->getRow( '', '', '', [Query::select(["*", "reviews.*"])] ); ``` ```server-rust -let doc = tables_db.get_row( +let row = tables_db.get_row( "", "", "", @@ -458,7 +466,7 @@ let doc = tables_db.get_row( ).await?; ``` ```client-apple -let doc = try await tablesDB.getRow( +let row = try await tablesDB.getRow( databaseId: "", tableId: "", rowId: "", @@ -478,7 +486,7 @@ For precise control, select only specific fields from related rows: {% multicode %} ```client-web -const doc = await tablesDB.getRow({ +const row = await tablesDB.getRow({ databaseId: '', tableId: '', rowId: '', @@ -486,7 +494,7 @@ const doc = await tablesDB.getRow({ }); ``` ```client-flutter -final doc = await tablesDB.getRow( +final row = await tablesDB.getRow( databaseId: '', tableId: '', rowId: '', @@ -494,19 +502,23 @@ final doc = await tablesDB.getRow( ); ``` ```server-python -doc = tablesDB.get_row( - '', '', '', - [Query.select(["name", "age", "reviews.author", "reviews.rating"])] +row = tablesDB.get_row( + database_id='', + table_id='', + row_id='', + queries=[Query.select(["name", "age", "reviews.author", "reviews.rating"])] ) ``` ```server-ruby -doc = tablesDB.get_row( - '', '', '', - [Query.select(["name", "age", "reviews.author", "reviews.rating"])] +row = tablesDB.get_row( + database_id: '', + table_id: '', + row_id: '', + queries: [Query.select(["name", "age", "reviews.author", "reviews.rating"])] ) ``` ```server-nodejs -const doc = await tablesDB.getRow({ +const row = await tablesDB.getRow({ databaseId: '', tableId: '', rowId: '', @@ -515,13 +527,13 @@ const doc = await tablesDB.getRow({ // Result: { name: "John", age: 30, reviews: [{ author: "...", rating: 5 }] } ``` ```server-php -$doc = $tablesDB->getRow( +$row = $tablesDB->getRow( '', '', '', [Query::select(["name", "age", "reviews.author", "reviews.rating"])] ); ``` ```server-rust -let doc = tables_db.get_row( +let row = tables_db.get_row( "", "", "", @@ -530,7 +542,7 @@ let doc = tables_db.get_row( ).await?; ``` ```client-apple -let doc = try await tablesDB.getRow( +let row = try await tablesDB.getRow( databaseId: "", tableId: "", rowId: "", @@ -985,11 +997,11 @@ Query::is_not_null("name").to_string() ``` {% /multicode %} -## String operations {% #string-operations %} +## Text operations {% #text-operations %} ### Starts with {% #starts-with %} -Returns rows if a string column starts with a substring. +Returns rows if a text column starts with a substring. {% multicode %} ```client-web @@ -1026,7 +1038,7 @@ Query::starts_with("name", "Once upon a time").to_string() ### Not starts with {% #not-starts-with %} -Returns rows if a string column does not start with a substring. +Returns rows if a text column does not start with a substring. {% multicode %} ```client-web @@ -1072,7 +1084,7 @@ Query::not_starts_with("name", "Once upon a time").to_string() ### Ends with {% #ends-with %} -Returns rows if a string column ends with a substring. +Returns rows if a text column ends with a substring. {% multicode %} ```client-web @@ -1109,7 +1121,7 @@ Query::ends_with("name", "happily ever after.").to_string() ### Not ends with {% #not-ends-with %} -Returns rows if a string column does not end with a substring. +Returns rows if a text column does not end with a substring. {% multicode %} ```client-web @@ -1155,62 +1167,62 @@ Query::not_ends_with("name", "happily ever after.").to_string() ### Contains {% #contains %} -Returns rows if the array column contains the specified elements or if a string column contains the specified substring. Also supported for spatial types. +Returns rows if the array column contains the specified elements or if a text column contains the specified substring. Also supported for spatial types. {% multicode %} ```client-web // For arrays Query.contains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.contains("name", "Tom") ``` ```client-flutter // For arrays Query.contains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.contains("name", "Tom") ``` ```server-python # For arrays Query.contains("ingredients", ['apple', 'banana']) -# For strings +# For text columns Query.contains("name", "Tom") ``` ```server-ruby # For arrays Query.contains("ingredients", ['apple', 'banana']) -# For strings +# For text columns Query.contains("name", "Tom") ``` ```server-deno // For arrays Query.contains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.contains("name", "Tom") ``` ```server-php // For arrays Query::contains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query::contains("name", "Tom") ``` ```client-apple // For arrays Query.contains("ingredients", value: ["apple", "banana"]) -// For strings +// For text columns Query.contains("name", value: "Tom") ```server-go // For arrays query.Contains("ingredients", []string{"apple", "banana"}) -// For strings +// For text columns query.Contains("name", "Tom") ``` ```server-rust @@ -1220,14 +1232,14 @@ Query::contains("ingredients", Value::Array(vec![ Value::String("banana".to_string()), ])).to_string() -// For strings +// For text columns Query::contains("name", "Tom").to_string() ``` ```http # For arrays {"method":"contains","column":"ingredients","values":["apple","banana"]} -# For strings +# For text columns {"method":"contains","column":"name","values":["Tom"]} ``` {% /multicode %} @@ -1235,7 +1247,7 @@ Query::contains("name", "Tom").to_string() ### Not contains {% #not-contains %} Returns rows if the array column does not contain the specified -elements, or if a string column does not contain the specified +elements, or if a text column does not contain the specified substring. Also supported for spatial types. {% multicode %} @@ -1243,111 +1255,111 @@ substring. Also supported for spatial types. // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```client-flutter // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```client-react-native // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```client-apple // For arrays Query.notContains("ingredients", value: ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", value: "Tom") ``` ```client-android-kotlin // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```client-android-java // For arrays Query.notContains("ingredients", Arrays.asList("apple", "banana")) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```server-python # For arrays Query.not_contains("ingredients", ['apple', 'banana']) -# For strings +# For text columns Query.not_contains("name", "Tom") ``` ```server-ruby # For arrays Query.not_contains("ingredients", ['apple', 'banana']) -# For strings +# For text columns Query.not_contains("name", "Tom") ``` ```server-deno // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```server-nodejs // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```server-php // For arrays Query::notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query::notContains("name", "Tom") ``` ```server-dotnet // For arrays Query.NotContains("ingredients", new List { "apple", "banana" }) -// For strings +// For text columns Query.NotContains("name", "Tom") ``` ```server-go // For arrays query.NotContains("ingredients", []string{"apple", "banana"}) -// For strings +// For text columns query.NotContains("name", "Tom") ```server-dart // For arrays Query.notContains("ingredients", ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```server-swift // For arrays Query.notContains("ingredients", value: ['apple', 'banana']) -// For strings +// For text columns Query.notContains("name", value: "Tom") ``` ```server-kotlin // For arrays Query.notContains("ingredients", listOf("apple", "banana")) -// For strings +// For text columns Query.notContains("name", "Tom") ``` ```server-rust @@ -1357,24 +1369,24 @@ Query::not_contains("ingredients", Value::Array(vec![ Value::String("banana".to_string()), ])).to_string() -// For strings +// For text columns Query::not_contains("name", "Tom").to_string() ``` ```http # For arrays {"method":"notContains","column":"ingredients","values":["apple","banana"]} -# For strings +# For text columns {"method":"notContains","column":"name","values":["Tom"]} ``` {% /multicode %} ### Search {% #search %} -Searches string columns for provided keywords. Requires a [full-text index](/docs/products/databases/tables#indexes) on queried columns. The search string must be at least **3 characters** to perform a search. +Searches text columns for provided keywords. Requires a [full-text index](/docs/products/databases/tables#indexes) on queried columns. The search string must be at least **3 characters** to perform a search. {% info title="Searching values with hyphens" %} -The hyphen (`-`) is treated as a stop character by the underlying search engine. To search for exact values that contain hyphens (for example, ticket or SKU codes like `SWT-2621-44`), wrap the value in quotes inside the search string: `Query.search(attribute, '"SWT-2621-44"')`. +The hyphen (`-`) is treated as a stop character by the underlying search engine. To search for exact values that contain hyphens (for example, ticket or SKU codes like `SWT-2621-44`), wrap the value in quotes inside the search string: `Query.search(column, '"SWT-2621-44"')`. {% /info %} {% multicode %} @@ -1412,12 +1424,12 @@ Query::search("text", "key words").to_string() ### Not search {% #not-search %} -Returns rows if a string column does not match the full-text search +Returns rows if a text column does not match the full-text search query. Requires a [full-text index](/docs/products/databases/tables#indexes) on queried columns. The search string must be at least **3 characters** to perform a search. {% info title="Searching values with hyphens" %} -The hyphen (`-`) is treated as a stop character by the underlying search engine. To exclude exact values that contain hyphens (for example, ticket or SKU codes like `SWT-2621-44`), wrap the value in quotes inside the search string: `Query.notSearch(attribute, '"SWT-2621-44"')`. +The hyphen (`-`) is treated as a stop character by the underlying search engine. To exclude exact values that contain hyphens (for example, ticket or SKU codes like `SWT-2621-44`), wrap the value in quotes inside the search string: `Query.notSearch(column, '"SWT-2621-44"')`. {% /info %} {% multicode %} @@ -1621,7 +1633,7 @@ Query::orderDesc("column") Query.orderDesc("column") ``` ```server-go -query.OrderDesc("attribute") +query.OrderDesc("column") ``` ```server-rust Query::order_desc("column").to_string() @@ -1658,7 +1670,7 @@ Query::orderAsc("column") Query.orderAsc("column") ``` ```server-go -query.OrderAsc("attribute") +query.OrderAsc("column") ``` ```server-rust Query::order_asc("column").to_string() @@ -3072,4 +3084,3 @@ let rows = tables_db.list_rows( This example demonstrates how to combine `OR` and `AND` operations. The query uses `Query.or()` to match either condition: books under $20 OR magazines under $10. Each condition within the OR is composed of two AND conditions - one for the category and one for the price threshold. The database will return rows that match either of these combined conditions. - diff --git a/src/routes/docs/products/databases/quick-start/+page.markdoc b/src/routes/docs/products/databases/quick-start/+page.markdoc index 180e3b3cf1..78738351f7 100644 --- a/src/routes/docs/products/databases/quick-start/+page.markdoc +++ b/src/routes/docs/products/databases/quick-start/+page.markdoc @@ -13,7 +13,7 @@ Optionally, add a custom database ID. {% section #create-table step=2 title="Create table" %} Create a table and name it `My books`. Optionally, add a custom table ID. -Navigate to **Columns** and create columns by clicking **Create column** and select **String**. +Navigate to **Columns** and create columns by clicking **Create column** and select **Text**. Columns define the structure of your table's rows. Enter **Column key** and **Size**. For example, `title` and `100`. Navigate to **Settings** > **Permissions** and add a new role **Any**. @@ -325,7 +325,7 @@ try { {% /multicode %} {% info title="Automatic type generation" %} -You can automatically generate type definitions for your tables using the [Appwrite CLI type generation](/docs/products/databases/type-generation) feature. Run `appwrite types collection` to generate models for your collections. +You can automatically generate type definitions for your tables using the [Appwrite CLI type generation](/docs/products/databases/type-generation) feature. Run `appwrite types` to generate models for your tables. {% /info %} ### Model methods diff --git a/src/routes/docs/products/databases/relationships/+page.markdoc b/src/routes/docs/products/databases/relationships/+page.markdoc index dd89e2a19b..71d6f4adce 100644 --- a/src/routes/docs/products/databases/relationships/+page.markdoc +++ b/src/routes/docs/products/databases/relationships/+page.markdoc @@ -184,16 +184,16 @@ const client = new Client() const tablesDB = new TablesDB(client); -tablesDB.createRelationshipColumn( - "marvel", // Database ID - "movies", // Table ID - "reviews", // Related table ID - "oneToMany", // Relationship type - true, // Is two-way - "reviews", // Column key - "movie", // Two-way column key - "cascade" // On delete action -); +tablesDB.createRelationshipColumn({ + databaseId: "marvel", + tableId: "movies", + relatedTableId: "reviews", + type: "oneToMany", + twoWay: true, + key: "reviews", + twoWayKey: "movie", + onDelete: "cascade" +}); ``` diff --git a/src/routes/docs/products/databases/rows/+page.markdoc b/src/routes/docs/products/databases/rows/+page.markdoc index 7b2c8541e3..707b8b4d3a 100644 --- a/src/routes/docs/products/databases/rows/+page.markdoc +++ b/src/routes/docs/products/databases/rows/+page.markdoc @@ -900,12 +900,12 @@ const client = new Client() const tablesDB = new TablesDB(client); -const promise = tablesDB.updateRow( - '', - '', - '', - { title: 'Updated Title' } -); +const promise = tablesDB.updateRow({ + databaseId: '', + tableId: '', + rowId: '', + data: { title: 'Updated Title' } +}); promise.then(function (response) { console.log(response); @@ -1336,7 +1336,7 @@ if let jsonString = jsonString, {% /tabs %} {% info title="Generate types automatically" %} -You can automatically generate model definitions for your tables using the [Appwrite CLI](/docs/products/databases/type-generation). Run `appwrite types collection` to generate types based on your database schema. +You can automatically generate model definitions for your tables using the [Appwrite CLI](/docs/products/databases/type-generation). Run `appwrite types` to generate types based on your database schema. {% /info %} # Permissions {% #permissions %} @@ -1630,4 +1630,3 @@ Perform create, update, and delete operations on multiple rows simultaneously. Set custom creation and update timestamps when migrating data or backdating records. {% /cards_item %} {% /cards %} - diff --git a/src/routes/docs/products/databases/tables/+page.markdoc b/src/routes/docs/products/databases/tables/+page.markdoc index 1fcff68a5b..05b212f1e6 100644 --- a/src/routes/docs/products/databases/tables/+page.markdoc +++ b/src/routes/docs/products/databases/tables/+page.markdoc @@ -1568,7 +1568,7 @@ You can choose between the following types. | Column | Description | |--------------|------------------------------------------------------------------| -| `varchar` | String column. Fully indexable if size < 768. Maximum 16,383 characters. | +| `varchar` | Short text column. Fully indexable if size < 768. Maximum 16,383 characters. | | `text` | Text column. Prefix indexing only. Maximum 16,383 characters. | | `mediumtext` | Text column. Prefix indexing only. Maximum 4,194,303 characters. | | `longtext` | Text column. Prefix indexing only. Maximum 1,073,741,823 characters. | diff --git a/src/routes/docs/products/databases/timestamp-overrides/+page.markdoc b/src/routes/docs/products/databases/timestamp-overrides/+page.markdoc index 5c32f39389..22363521f2 100644 --- a/src/routes/docs/products/databases/timestamp-overrides/+page.markdoc +++ b/src/routes/docs/products/databases/timestamp-overrides/+page.markdoc @@ -1,24 +1,24 @@ --- layout: article title: Timestamp overrides -description: Set custom $createdAt and $updatedAt timestamps for your documents when using server SDKs. +description: Set custom $createdAt and $updatedAt timestamps for your rows when using server SDKs. --- -When creating or updating documents, Appwrite automatically sets `$createdAt` and `$updatedAt` timestamps. However, there are scenarios where you might need to set these timestamps manually, such as when migrating data from another system or backfilling historical records. +When creating or updating rows, Appwrite automatically sets `$createdAt` and `$updatedAt` timestamps. However, there are scenarios where you might need to set these timestamps manually, such as when migrating data from another system or backfilling historical records. {% info title="Server SDKs required" %} -To manually set `$createdAt` and `$updatedAt`, you must use a **server SDK** with an **API key**. These attributes can be passed inside the `data` parameter on any of the create, update, or upsert routes (single or bulk). +To manually set `$createdAt` and `$updatedAt`, you must use a **server SDK** with an **API key**. These columns can be passed inside the `data` parameter on any of the create, update, or upsert routes (single or bulk). {% /info %} # Setting custom timestamps {% #setting-custom-timestamps %} -You can override a document's timestamps by providing ISO 8601 strings (for example, `2025-08-10T12:34:56.000Z`) in the `data` payload. If these attributes are not provided, Appwrite will set them automatically. +You can override a row's timestamps by providing ISO 8601 strings (for example, `2025-08-10T12:34:56.000Z`) in the `data` payload. If these columns are not provided, Appwrite will set them automatically. -Custom timestamps work with all document operations: create, update, upsert, and their bulk variants. +Custom timestamps work with all row operations: create, update, upsert, and their bulk variants. -## Single document operations {% #single-document-operations %} +## Single row operations {% #single-row-operations %} -When working with individual documents, you can set custom timestamps during create, update, and upsert operations. +When working with individual rows, you can set custom timestamps during create, update, and upsert operations. ### Create with custom timestamps {% #create-custom %} @@ -31,39 +31,39 @@ const client = new sdk.Client() .setProject('') .setKey(''); -const databases = new sdk.Databases(client); +const tablesDB = new sdk.TablesDB(client); -await databases.createDocument( - '', - '', - sdk.ID.unique(), - { +await tablesDB.createRow({ + databaseId: '', + tableId: '', + rowId: sdk.ID.unique(), + data: { '$createdAt': new Date('2025-08-10T12:34:56.000Z').toISOString(), '$updatedAt': new Date('2025-08-10T12:34:56.000Z').toISOString(), - // ...your attributes + // ...your columns } -); +}); ``` ```server-php use Appwrite\Client; use Appwrite\ID; -use Appwrite\Services\Databases; +use Appwrite\Services\TablesDB; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') ->setProject('') ->setKey(''); -$databases = new Databases($client); +$tablesDB = new TablesDB($client); -$databases->createDocument( +$tablesDB->createRow( databaseId: '', - collectionId: '', - documentId: '', + tableId: '', + rowId: '', [ '$createdAt' => (new DateTime(''))->format(DATE_ATOM), '$updatedAt' => (new DateTime(''))->format(DATE_ATOM), - // ...your attributes + // ...your columns ] ); ``` @@ -76,7 +76,7 @@ let client = Client() .setProject("") .setKey("") -let databases = Databases(client) +let tablesDB = TablesDB(client) let isoFormatter = ISO8601DateFormatter() isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] @@ -85,14 +85,14 @@ let createdAt = isoFormatter.string(from: customDate) let updatedAt = isoFormatter.string(from: customDate) do { - let created = try await databases.createDocument( + let created = try await tablesDB.createRow( databaseId: "", - collectionId: "", - documentId: "", + tableId: "", + rowId: "", data: [ "$createdAt": createdAt, "$updatedAt": updatedAt, - // ...your attributes + // ...your columns ] ) print("Created:", created) @@ -102,7 +102,7 @@ do { ``` ```server-python from appwrite.client import Client -from appwrite.services.databases import Databases +from appwrite.services.tables_db import TablesDB from appwrite.id import ID from datetime import datetime, timezone @@ -111,18 +111,18 @@ client.set_endpoint('https://.cloud.appwrite.io/v1') client.set_project('') client.set_key('') -databases = Databases(client) +tablesDB = TablesDB(client) iso = datetime(2025, 8, 10, 12, 34, 56, tzinfo=timezone.utc).isoformat() -databases.create_document( +tablesDB.create_row( database_id='', - collection_id='', - document_id=ID.unique(), + table_id='', + row_id=ID.unique(), data={ '$createdAt': iso, '$updatedAt': iso, - # ...your attributes + # ...your columns } ) ``` @@ -137,18 +137,18 @@ client = Client.new .set_project('') .set_key('') -databases = Databases.new(client) +tablesDB = TablesDB.new(client) custom_date = Time.parse('2025-08-10T12:34:56.000Z').iso8601 -databases.create_document( +tablesDB.create_row( database_id: '', - collection_id: '', - document_id: ID.unique(), + table_id: '', + row_id: ID.unique(), data: { '$createdAt' => custom_date, '$updatedAt' => custom_date, - # ...your attributes + # ...your columns } ) ``` @@ -162,19 +162,19 @@ Client client = new Client() .SetProject("") .SetKey(""); -Databases databases = new Databases(client); +TablesDB tablesDB = new TablesDB(client); string customDate = DateTimeOffset.Parse("2025-08-10T12:34:56.000Z").ToString("O"); -await databases.CreateDocument( +await tablesDB.CreateRow( databaseId: "", - collectionId: "", - documentId: ID.Unique(), + tableId: "", + rowId: ID.Unique(), data: new Dictionary { ["$createdAt"] = customDate, ["$updatedAt"] = customDate, - // ...your attributes + // ...your columns } ); ``` @@ -186,24 +186,24 @@ Client client = Client() .setProject('') .setKey(''); -Databases databases = Databases(client); +TablesDB tablesDB = TablesDB(client); String customDate = DateTime.parse('2025-08-10T12:34:56.000Z').toIso8601String(); -await databases.createDocument( +await tablesDB.createRow( databaseId: '', - collectionId: '', - documentId: ID.unique(), + tableId: '', + rowId: ID.unique(), data: { '\$createdAt': customDate, '\$updatedAt': customDate, - // ...your attributes + // ...your columns }, ); ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use appwrite::id::ID; use serde_json::json; @@ -214,16 +214,16 @@ async fn main() -> Result<(), Box> { .set_project("") .set_key(""); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.create_document( + let result = tablesDB.create_row( "", - "", + "", &ID::unique(), json!({ "$createdAt": "2025-08-10T12:34:56.000Z", "$updatedAt": "2025-08-10T12:34:56.000Z" - // ...your attributes + // ...your columns }), None, None, @@ -237,41 +237,41 @@ async fn main() -> Result<(), Box> { ### Update with custom timestamps {% #update-custom %} -When updating documents, you can also set a custom `$updatedAt` timestamp: +When updating rows, you can also set a custom `$updatedAt` timestamp: {% multicode %} ```server-nodejs -await databases.updateDocument( - '', - '', - '', - { +await tablesDB.updateRow({ + databaseId: '', + tableId: '', + rowId: '', + data: { '$updatedAt': new Date('2025-08-10T12:34:56.000Z').toISOString(), - // ...your attributes + // ...your columns } -); +}); ``` ```server-php -$databases->updateDocument( +$tablesDB->updateRow( databaseId: '', - collectionId: '', - documentId: '', + tableId: '', + rowId: '', [ '$updatedAt' => (new DateTime(''))->format(DATE_ATOM), - // ...your attributes + // ...your columns ] ); ``` ```server-python from datetime import datetime, timezone -databases.update_document( +tablesDB.update_row( database_id='', - collection_id='', - document_id='', + table_id='', + row_id='', data={ '$updatedAt': datetime(2025, 8, 10, 12, 34, 56, tzinfo=timezone.utc).isoformat(), - # ...your attributes + # ...your columns } ) ``` @@ -284,20 +284,20 @@ let client = Client() .setProject("") .setKey("") -let databases = Databases(client) +let tablesDB = TablesDB(client) let isoFormatter = ISO8601DateFormatter() isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] let updatedAt = isoFormatter.string(from: isoFormatter.date(from: "") ?? Date()) do { - let updated = try await databases.updateDocument( + let updated = try await tablesDB.updateRow( databaseId: "", - collectionId: "", - documentId: "", + tableId: "", + rowId: "", data: [ "$updatedAt": updatedAt, - // ...your attributes + // ...your columns ] ) print("Updated:", updated) @@ -315,17 +315,17 @@ client = Client.new .set_project('') .set_key('') -databases = Databases.new(client) +tablesDB = TablesDB.new(client) custom_date = Time.parse('').iso8601 -databases.update_document( +tablesDB.update_row( database_id: '', - collection_id: '', - document_id: '', + table_id: '', + row_id: '', data: { '$updatedAt' => custom_date, - # ...your attributes + # ...your columns } ) ``` @@ -339,18 +339,18 @@ Client client = new Client() .SetProject("") .SetKey(""); -Databases databases = new Databases(client); +TablesDB tablesDB = new TablesDB(client); string customDate = DateTimeOffset.Parse("").ToString("O"); -await databases.UpdateDocument( +await tablesDB.UpdateRow( databaseId: "", - collectionId: "", - documentId: "", + tableId: "", + rowId: "", data: new Dictionary { ["$updatedAt"] = customDate, - // ...your attributes + // ...your columns } ); ``` @@ -362,23 +362,23 @@ Client client = Client() .setProject('') .setKey(''); -Databases databases = Databases(client); +TablesDB tablesDB = TablesDB(client); String customDate = DateTime.parse('').toIso8601String(); -await databases.updateDocument( +await tablesDB.updateRow( databaseId: '', - collectionId: '', - documentId: '', + tableId: '', + rowId: '', data: { '\$updatedAt': customDate, - // ...your attributes + // ...your columns }, ); ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use serde_json::json; #[tokio::main] @@ -388,15 +388,15 @@ async fn main() -> Result<(), Box> { .set_project("") .set_key(""); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.update_document( + let result = tablesDB.update_row( "", - "", - "", + "", + "", Some(json!({ "$updatedAt": "2025-08-10T12:34:56.000Z" - // ...your attributes + // ...your columns })), None, None, @@ -410,47 +410,47 @@ async fn main() -> Result<(), Box> { ## Bulk operations {% #bulk-operations %} -Custom timestamps also work with bulk operations, allowing you to set different timestamps for each document in the batch: +Custom timestamps also work with bulk operations, allowing you to set different timestamps for each row in the batch: ### Bulk create {% #bulk-create %} {% multicode %} ```server-nodejs -await databases.createDocuments( - '', - '', - [ +await tablesDB.createRows({ + databaseId: '', + tableId: '', + rows: [ { '$id': sdk.ID.unique(), '$createdAt': new Date('2024-01-01T00:00:00.000Z').toISOString(), '$updatedAt': new Date('2024-01-01T00:00:00.000Z').toISOString(), - // ...your attributes + // ...your columns }, { '$id': sdk.ID.unique(), '$createdAt': new Date('2024-02-01T00:00:00.000Z').toISOString(), '$updatedAt': new Date('2024-02-01T00:00:00.000Z').toISOString(), - // ...your attributes + // ...your columns } ] -); +}); ``` ```server-python -databases.create_documents( +tablesDB.create_rows( database_id='', - collection_id='', - documents=[ + table_id='', + rows=[ { '$id': ID.unique(), '$createdAt': datetime(2024, 1, 1, tzinfo=timezone.utc).isoformat(), '$updatedAt': datetime(2024, 1, 1, tzinfo=timezone.utc).isoformat(), - # ...your attributes + # ...your columns }, { '$id': ID.unique(), '$createdAt': datetime(2024, 2, 1, tzinfo=timezone.utc).isoformat(), '$updatedAt': datetime(2024, 2, 1, tzinfo=timezone.utc).isoformat(), - # ...your attributes + # ...your columns } ] ) @@ -458,30 +458,30 @@ databases.create_documents( ```server-php use Appwrite\Client; use Appwrite\ID; -use Appwrite\Services\Databases; +use Appwrite\Services\TablesDB; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') ->setProject('') ->setKey(''); -$databases = new Databases($client); +$tablesDB = new TablesDB($client); -$databases->createDocuments( +$tablesDB->createRows( databaseId: '', - collectionId: '', - documents: [ + tableId: '', + rows: [ [ '$id' => ID::unique(), '$createdAt' => (new DateTime(''))->format(DATE_ATOM), '$updatedAt' => (new DateTime(''))->format(DATE_ATOM), - // ...your attributes + // ...your columns ], [ '$id' => ID::unique(), '$createdAt' => (new DateTime(''))->format(DATE_ATOM), '$updatedAt' => (new DateTime(''))->format(DATE_ATOM), - // ...your attributes + // ...your columns ], ] ); @@ -495,7 +495,7 @@ let client = Client() .setProject("") .setKey("") -let databases = Databases(client) +let tablesDB = TablesDB(client) let isoFormatter = ISO8601DateFormatter() isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] @@ -504,21 +504,21 @@ let first = isoFormatter.string(from: isoFormatter.date(from: "") ? let second = isoFormatter.string(from: isoFormatter.date(from: "") ?? Date()) do { - let bulkCreated = try await databases.createDocuments( + let bulkCreated = try await tablesDB.createRows( databaseId: "", - collectionId: "", - documents: [ + tableId: "", + rows: [ [ "$id": ID.unique(), "$createdAt": first, "$updatedAt": first, - // ...your attributes + // ...your columns ], [ "$id": ID.unique(), "$createdAt": second, "$updatedAt": second, - // ...your attributes + // ...your columns ] ] ) @@ -537,26 +537,26 @@ client = Client.new .set_project('') .set_key('') -databases = Databases.new(client) +tablesDB = TablesDB.new(client) first = Time.parse('').iso8601 second = Time.parse('').iso8601 -databases.create_documents( +tablesDB.create_rows( database_id: '', - collection_id: '', - documents: [ + table_id: '', + rows: [ { '$id' => ID.unique(), '$createdAt' => first, '$updatedAt' => first, - # ...your attributes + # ...your columns }, { '$id' => ID.unique(), '$createdAt' => second, '$updatedAt' => second, - # ...your attributes + # ...your columns } ] ) @@ -571,29 +571,29 @@ Client client = new Client() .SetProject("") .SetKey(""); -Databases databases = new Databases(client); +TablesDB tablesDB = new TablesDB(client); string first = DateTimeOffset.Parse("").ToString("O"); string second = DateTimeOffset.Parse("").ToString("O"); -await databases.CreateDocuments( +await tablesDB.CreateRows( databaseId: "", - collectionId: "", - documents: new List + tableId: "", + rows: new List { new Dictionary { ["$id"] = ID.Unique(), ["$createdAt"] = first, ["$updatedAt"] = first, - // ...your attributes + // ...your columns }, new Dictionary { ["$id"] = ID.Unique(), ["$createdAt"] = second, ["$updatedAt"] = second, - // ...your attributes + // ...your columns } } ); @@ -606,33 +606,33 @@ Client client = Client() .setProject('') .setKey(''); -Databases databases = Databases(client); +TablesDB tablesDB = TablesDB(client); String first = DateTime.parse('').toIso8601String(); String second = DateTime.parse('').toIso8601String(); -await databases.createDocuments( +await tablesDB.createRows( databaseId: '', - collectionId: '', - documents: [ + tableId: '', + rows: [ { '\$id': ID.unique(), '\$createdAt': first, '\$updatedAt': first, - // ...your attributes + // ...your columns }, { '\$id': ID.unique(), '\$createdAt': second, '\$updatedAt': second, - // ...your attributes + // ...your columns } ], ); ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use appwrite::id::ID; use serde_json::json; @@ -643,23 +643,23 @@ async fn main() -> Result<(), Box> { .set_project("") .set_key(""); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.create_documents( + let result = tablesDB.create_rows( "", - "", + "", vec![ json!({ "$id": ID::unique(), "$createdAt": "2024-01-01T00:00:00.000Z", "$updatedAt": "2024-01-01T00:00:00.000Z" - // ...your attributes + // ...your columns }), json!({ "$id": ID::unique(), "$createdAt": "2024-02-01T00:00:00.000Z", "$updatedAt": "2024-02-01T00:00:00.000Z" - // ...your attributes + // ...your columns }), ], None, @@ -675,29 +675,29 @@ async fn main() -> Result<(), Box> { {% multicode %} ```server-nodejs -await databases.upsertDocuments( - '', - '', - [ +await tablesDB.upsertRows({ + databaseId: '', + tableId: '', + rows: [ { - '$id': '', + '$id': '', '$createdAt': new Date('2024-01-01T00:00:00.000Z').toISOString(), '$updatedAt': new Date('2025-01-01T00:00:00.000Z').toISOString(), - // ...your attributes + // ...your columns } ] -); +}); ``` ```server-python -databases.upsert_documents( +tablesDB.upsert_rows( database_id='', - collection_id='', - documents=[ + table_id='', + rows=[ { - '$id': '', + '$id': '', '$createdAt': datetime(2024, 1, 1, tzinfo=timezone.utc).isoformat(), '$updatedAt': datetime(2025, 1, 1, tzinfo=timezone.utc).isoformat(), - # ...your attributes + # ...your columns } ] ) @@ -705,24 +705,24 @@ databases.upsert_documents( ```server-php use Appwrite\Client; use Appwrite\ID; -use Appwrite\Services\Databases; +use Appwrite\Services\TablesDB; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') ->setProject('') ->setKey(''); -$databases = new Databases($client); +$tablesDB = new TablesDB($client); -$databases->upsertDocuments( +$tablesDB->upsertRows( databaseId: '', - collectionId: '', - documents: [ + tableId: '', + rows: [ [ - '$id' => '', + '$id' => '', '$createdAt' => (new DateTime(''))->format(DATE_ATOM), '$updatedAt' => (new DateTime(''))->format(DATE_ATOM), - // ...your attributes + // ...your columns ], ] ); @@ -736,7 +736,7 @@ let client = Client() .setProject("") .setKey("") -let databases = Databases(client) +let tablesDB = TablesDB(client) let isoFormatter = ISO8601DateFormatter() isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] @@ -744,15 +744,15 @@ let createdAt = isoFormatter.string(from: isoFormatter.date(from: " let updatedAt = isoFormatter.string(from: isoFormatter.date(from: "") ?? Date()) do { - let bulkUpserted = try await databases.upsertDocuments( + let bulkUpserted = try await tablesDB.upsertRows( databaseId: "", - collectionId: "", - documents: [ + tableId: "", + rows: [ [ - "$id": "", + "$id": "", "$createdAt": createdAt, "$updatedAt": updatedAt, - // ...your attributes + // ...your columns ] ] ) @@ -772,19 +772,19 @@ client = Client.new .set_project('') .set_key('') -databases = Databases.new(client) +tablesDB = TablesDB.new(client) custom_date = Time.parse('').iso8601 -databases.upsert_documents( +tablesDB.upsert_rows( database_id: '', - collection_id: '', - documents: [ + table_id: '', + rows: [ { - '$id' => '', + '$id' => '', '$createdAt' => custom_date, '$updatedAt' => custom_date, - # ...your attributes + # ...your columns } ] ) @@ -799,22 +799,22 @@ Client client = new Client() .SetProject("") .SetKey(""); -Databases databases = new Databases(client); +TablesDB tablesDB = new TablesDB(client); string createdAt = DateTimeOffset.Parse("").ToString("O"); string updatedAt = DateTimeOffset.Parse("").ToString("O"); -await databases.UpsertDocuments( +await tablesDB.UpsertRows( databaseId: "", - collectionId: "", - documents: new List + tableId: "", + rows: new List { new Dictionary { - ["$id"] = "", + ["$id"] = "", ["$createdAt"] = createdAt, ["$updatedAt"] = updatedAt, - // ...your attributes + // ...your columns } } ); @@ -827,27 +827,27 @@ Client client = Client() .setProject('') .setKey(''); -Databases databases = Databases(client); +TablesDB tablesDB = TablesDB(client); String createdAt = DateTime.parse('').toIso8601String(); String updatedAt = DateTime.parse('').toIso8601String(); -await databases.upsertDocuments( +await tablesDB.upsertRows( databaseId: '', - collectionId: '', - documents: [ + tableId: '', + rows: [ { - '\$id': '', + '\$id': '', '\$createdAt': createdAt, '\$updatedAt': updatedAt, - // ...your attributes + // ...your columns } ], ); ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use serde_json::json; #[tokio::main] @@ -857,17 +857,17 @@ async fn main() -> Result<(), Box> { .set_project("") .set_key(""); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.upsert_documents( + let result = tablesDB.upsert_rows( "", - "", + "", vec![ json!({ - "$id": "", + "$id": "", "$createdAt": "2024-01-01T00:00:00.000Z", "$updatedAt": "2025-01-01T00:00:00.000Z" - // ...your attributes + // ...your columns }), ], None, @@ -889,23 +889,23 @@ creation and modification times: {% multicode %} ```server-nodejs -await databases.createDocument( - '', - 'blog_posts', - sdk.ID.unique(), - { +await tablesDB.createRow({ + databaseId: '', + tableId: 'blog_posts', + rowId: sdk.ID.unique(), + data: { '$createdAt': '', '$updatedAt': '', title: '', content: '<CONTENT>' } -) +}) ``` ```server-php -$databases->createDocument( +$tablesDB->createRow( databaseId: '<DATABASE_ID>', - collectionId: 'blog_posts', - documentId: ID::unique(), + tableId: 'blog_posts', + rowId: ID::unique(), [ '$createdAt' => '<ORIGINAL_CREATED_AT_ISO>', '$updatedAt' => '<LAST_MODIFIED_ISO>', @@ -915,10 +915,10 @@ $databases->createDocument( ); ``` ```server-swift -let _ = try await databases.createDocument( +let _ = try await tablesDB.createRow( databaseId: "<DATABASE_ID>", - collectionId: "blog_posts", - documentId: ID.unique(), + tableId: "blog_posts", + rowId: ID.unique(), data: [ "$createdAt": "<ORIGINAL_CREATED_AT_ISO>", "$updatedAt": "<LAST_MODIFIED_ISO>", @@ -928,10 +928,10 @@ let _ = try await databases.createDocument( ) ``` ```server-python -databases.create_document( +tablesDB.create_row( database_id='<DATABASE_ID>', - collection_id='blog_posts', - document_id=ID.unique(), + table_id='blog_posts', + row_id=ID.unique(), data={ '$createdAt': '<ORIGINAL_CREATED_AT_ISO>', '$updatedAt': '<LAST_MODIFIED_ISO>', @@ -941,10 +941,10 @@ databases.create_document( ) ``` ```server-ruby -databases.create_document( +tablesDB.create_row( database_id: '<DATABASE_ID>', - collection_id: 'blog_posts', - document_id: ID.unique(), + table_id: 'blog_posts', + row_id: ID.unique(), data: { '$createdAt' => '<ORIGINAL_CREATED_AT_ISO>', '$updatedAt' => '<LAST_MODIFIED_ISO>', @@ -954,10 +954,10 @@ databases.create_document( ) ``` ```server-dotnet -await databases.CreateDocument( +await tablesDB.CreateRow( databaseId: "<DATABASE_ID>", - collectionId: "blog_posts", - documentId: ID.Unique(), + tableId: "blog_posts", + rowId: ID.Unique(), data: new Dictionary<string, object> { ["$createdAt"] = "<ORIGINAL_CREATED_AT_ISO>", @@ -968,10 +968,10 @@ await databases.CreateDocument( ); ``` ```server-dart -await databases.createDocument( +await tablesDB.createRow( databaseId: '<DATABASE_ID>', - collectionId: 'blog_posts', - documentId: ID.unique(), + tableId: 'blog_posts', + rowId: ID.unique(), data: { '\$createdAt': '<ORIGINAL_CREATED_AT_ISO>', '\$updatedAt': '<LAST_MODIFIED_ISO>', @@ -982,7 +982,7 @@ await databases.createDocument( ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use appwrite::id::ID; use serde_json::json; @@ -993,9 +993,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { .set_project("<PROJECT_ID>") .set_key("<API_KEY>"); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.create_document( + let result = tablesDB.create_row( "<DATABASE_ID>", "blog_posts", &ID::unique(), @@ -1020,23 +1020,23 @@ For historical data entry or when creating records that represent past events: {% multicode %} ```server-nodejs -await databases.createDocument( - '<DATABASE_ID>', - 'transactions', - sdk.ID.unique(), - { +await tablesDB.createRow({ + databaseId: '<DATABASE_ID>', + tableId: 'transactions', + rowId: sdk.ID.unique(), + data: { '$createdAt': '2023-12-31T23:59:59.000Z', '$updatedAt': '2023-12-31T23:59:59.000Z', amount: 1000, type: 'year-end-bonus' } -) +}) ``` ```server-php -$databases->createDocument( +$tablesDB->createRow( databaseId: '<DATABASE_ID>', - collectionId: 'transactions', - documentId: ID::unique(), + tableId: 'transactions', + rowId: ID::unique(), [ '$createdAt' => '2023-12-31T23:59:59.000Z', '$updatedAt' => '2023-12-31T23:59:59.000Z', @@ -1046,10 +1046,10 @@ $databases->createDocument( ); ``` ```server-swift -let _ = try await databases.createDocument( +let _ = try await tablesDB.createRow( databaseId: "<DATABASE_ID>", - collectionId: "transactions", - documentId: ID.unique(), + tableId: "transactions", + rowId: ID.unique(), data: [ "$createdAt": "2023-12-31T23:59:59.000Z", "$updatedAt": "2023-12-31T23:59:59.000Z", @@ -1059,10 +1059,10 @@ let _ = try await databases.createDocument( ) ``` ```server-python -databases.create_document( +tablesDB.create_row( database_id='<DATABASE_ID>', - collection_id='transactions', - document_id=ID.unique(), + table_id='transactions', + row_id=ID.unique(), data={ '$createdAt': '2023-12-31T23:59:59.000Z', '$updatedAt': '2023-12-31T23:59:59.000Z', @@ -1072,10 +1072,10 @@ databases.create_document( ) ``` ```server-ruby -databases.create_document( +tablesDB.create_row( database_id: '<DATABASE_ID>', - collection_id: 'transactions', - document_id: ID.unique(), + table_id: 'transactions', + row_id: ID.unique(), data: { '$createdAt' => '2023-12-31T23:59:59.000Z', '$updatedAt' => '2023-12-31T23:59:59.000Z', @@ -1085,10 +1085,10 @@ databases.create_document( ) ``` ```server-dotnet -await databases.CreateDocument( +await tablesDB.CreateRow( databaseId: "<DATABASE_ID>", - collectionId: "transactions", - documentId: ID.Unique(), + tableId: "transactions", + rowId: ID.Unique(), data: new Dictionary<string, object> { ["$createdAt"] = "2023-12-31T23:59:59.000Z", @@ -1099,10 +1099,10 @@ await databases.CreateDocument( ); ``` ```server-dart -await databases.createDocument( +await tablesDB.createRow( databaseId: '<DATABASE_ID>', - collectionId: 'transactions', - documentId: ID.unique(), + tableId: 'transactions', + rowId: ID.unique(), data: { '\$createdAt': '2023-12-31T23:59:59.000Z', '\$updatedAt': '2023-12-31T23:59:59.000Z', @@ -1113,7 +1113,7 @@ await databases.createDocument( ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use appwrite::id::ID; use serde_json::json; @@ -1124,9 +1124,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { .set_project("<PROJECT_ID>") .set_key("<API_KEY>"); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.create_document( + let result = tablesDB.create_row( "<DATABASE_ID>", "transactions", &ID::unique(), @@ -1151,21 +1151,21 @@ When synchronizing data between systems while maintaining timestamp consistency: {% multicode %} ```server-nodejs -await databases.upsertDocument( - '<DATABASE_ID>', - 'users', - '<DOCUMENT_ID_OR_NEW_ID>', - { +await tablesDB.upsertRow({ + databaseId: '<DATABASE_ID>', + tableId: 'users', + rowId: '<ROW_ID_OR_NEW_ID>', + data: { '$updatedAt': '<EXTERNAL_LAST_MODIFIED_ISO>', profile: '<PROFILE_DATA>' } -) +}) ``` ```server-php -$databases->upsertDocument( +$tablesDB->upsertRow( databaseId: '<DATABASE_ID>', - collectionId: 'users', - documentId: '<DOCUMENT_ID_OR_NEW_ID>', + tableId: 'users', + rowId: '<ROW_ID_OR_NEW_ID>', [ '$updatedAt' => '<EXTERNAL_LAST_MODIFIED_ISO>', 'profile' => '<PROFILE_DATA>' @@ -1173,10 +1173,10 @@ $databases->upsertDocument( ); ``` ```server-swift -let _ = try await databases.upsertDocument( +let _ = try await tablesDB.upsertRow( databaseId: "<DATABASE_ID>", - collectionId: "users", - documentId: "<DOCUMENT_ID_OR_NEW_ID>", + tableId: "users", + rowId: "<ROW_ID_OR_NEW_ID>", data: [ "$updatedAt": "<EXTERNAL_LAST_MODIFIED_ISO>", "profile": "<PROFILE_DATA>" @@ -1184,10 +1184,10 @@ let _ = try await databases.upsertDocument( ) ``` ```server-python -databases.upsert_document( +tablesDB.upsert_row( database_id='<DATABASE_ID>', - collection_id='users', - document_id='<DOCUMENT_ID_OR_NEW_ID>', + table_id='users', + row_id='<ROW_ID_OR_NEW_ID>', data={ '$updatedAt': '<EXTERNAL_LAST_MODIFIED_ISO>', 'profile': '<PROFILE_DATA>' @@ -1195,10 +1195,10 @@ databases.upsert_document( ) ``` ```server-ruby -databases.upsert_document( +tablesDB.upsert_row( database_id: '<DATABASE_ID>', - collection_id: 'users', - document_id: '<DOCUMENT_ID_OR_NEW_ID>', + table_id: 'users', + row_id: '<ROW_ID_OR_NEW_ID>', data: { '$updatedAt' => '<EXTERNAL_LAST_MODIFIED_ISO>', 'profile' => '<PROFILE_DATA>' @@ -1206,10 +1206,10 @@ databases.upsert_document( ) ``` ```server-dotnet -await databases.UpsertDocument( +await tablesDB.UpsertRow( databaseId: "<DATABASE_ID>", - collectionId: "users", - documentId: "<DOCUMENT_ID_OR_NEW_ID>", + tableId: "users", + rowId: "<ROW_ID_OR_NEW_ID>", data: new Dictionary<string, object> { ["$updatedAt"] = "<EXTERNAL_LAST_MODIFIED_ISO>", @@ -1218,10 +1218,10 @@ await databases.UpsertDocument( ); ``` ```server-dart -await databases.upsertDocument( +await tablesDB.upsertRow( databaseId: '<DATABASE_ID>', - collectionId: 'users', - documentId: '<DOCUMENT_ID_OR_NEW_ID>', + tableId: 'users', + rowId: '<ROW_ID_OR_NEW_ID>', data: { '\$updatedAt': '<EXTERNAL_LAST_MODIFIED_ISO>', 'profile': '<PROFILE_DATA>' @@ -1230,7 +1230,7 @@ await databases.upsertDocument( ``` ```rust use appwrite::Client; -use appwrite::services::databases::Databases; +use appwrite::services::tables_db::TablesDB; use serde_json::json; #[tokio::main] @@ -1240,12 +1240,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { .set_project("<PROJECT_ID>") .set_key("<API_KEY>"); - let databases = Databases::new(&client); + let tablesDB = TablesDB::new(&client); - let result = databases.upsert_document( + let result = tablesDB.upsert_row( "<DATABASE_ID>", "users", - "<DOCUMENT_ID_OR_NEW_ID>", + "<ROW_ID_OR_NEW_ID>", Some(json!({ "$updatedAt": "<EXTERNAL_LAST_MODIFIED_ISO>", "profile": "<PROFILE_DATA>" @@ -1262,6 +1262,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { {% info title="Timestamp format and usage" %} - Values must be valid ISO 8601 date-time strings (UTC recommended). Using `toISOString()` (JavaScript) or `datetime.isoformat()` (Python) is a good default. -- You can set either or both attributes as needed. If omitted, Appwrite sets them automatically. +- You can set either or both columns as needed. If omitted, Appwrite sets them automatically. {% /info %} diff --git a/src/routes/docs/products/databases/transactions/+page.markdoc b/src/routes/docs/products/databases/transactions/+page.markdoc index ccba413fea..2e18977a87 100644 --- a/src/routes/docs/products/databases/transactions/+page.markdoc +++ b/src/routes/docs/products/databases/transactions/+page.markdoc @@ -660,8 +660,8 @@ Use the `createOperations` method to stage multiple operations across databases { "action": "create|update|upsert|increment|decrement|delete|bulkCreate|bulkUpdate|bulkUpsert|bulkDelete", "databaseId": "<DATABASE_ID>", - "tableId|collectionId": "<TABLE_ID|COLLECTION_ID>", - "rowId|documentId": "<ROW_ID|DOCUMENT_ID>", + "tableId": "<TABLE_ID>", + "rowId": "<ROW_ID>", "data": {} } ] diff --git a/src/routes/docs/products/functions/develop/+page.markdoc b/src/routes/docs/products/functions/develop/+page.markdoc index 83427b0d89..a59c7dc62c 100644 --- a/src/routes/docs/products/functions/develop/+page.markdoc +++ b/src/routes/docs/products/functions/develop/+page.markdoc @@ -1697,12 +1697,12 @@ export default function ({req, res, error}: any){ const tablesDB = new TablesDB(client); try { - tablesDB.createRow( - "<DATABASE_ID>", - "<TABLE_ID>", - ID.unique(), - {} - ); + tablesDB.createRow({ + databaseId: "<DATABASE_ID>", + tableId: "<TABLE_ID>", + rowId: ID.unique(), + data: {} + }); } catch (e) { error("Failed to create row: " + e.message); return res.text("Failed to create row"); @@ -2085,7 +2085,7 @@ def main(context) tablesDB = Appwrite::TablesDB.new(client) begin - tablesDB.create_row('<DATABASE_ID>', '<TABLE_ID>', Appwrite::ID.unique(), {}) + tablesDB.create_row(database_id: '<DATABASE_ID>', table_id: '<TABLE_ID>', row_id: Appwrite::ID.unique(), data: {}) rescue Appwrite::Exception => e context.error("Failed to create row: " + e.message) return context.response.text("Failed to create row") @@ -2110,12 +2110,12 @@ export default function ({req, res, error}: any){ const tablesDB = new TablesDB(client); try { - tablesDB.createRow( - "<DATABASE_ID>", - "<TABLE_ID>", - ID.unique(), - {} - ); + tablesDB.createRow({ + databaseId: "<DATABASE_ID>", + tableId: "<TABLE_ID>", + rowId: ID.unique(), + data: {} + }); } catch (e) { error("Failed to create row: " + e.message) return res.text("Failed to create row"); diff --git a/src/routes/docs/products/functions/examples/+page.markdoc b/src/routes/docs/products/functions/examples/+page.markdoc index ad0008d05f..b9393b4bb4 100644 --- a/src/routes/docs/products/functions/examples/+page.markdoc +++ b/src/routes/docs/products/functions/examples/+page.markdoc @@ -397,7 +397,7 @@ def main(context): tablesDB = TablesDB(client) - existing_votes = tablesDB.list_rows('<VOTES_TABLE_ID>', [ + existing_votes = tablesDB.list_rows(database_id='<DATABASE_ID>', table_id='<VOTES_TABLE_ID>', queries=[ Query.equals('userId', vote['userId']), Query.equals('topicId', vote['topicId']) ]) @@ -540,10 +540,14 @@ def main(context) tablesDB = Appwrite::TablesDB.new(client) - existing_votes = tablesDB.list_rows('<DATABASE_ID>', '<VOTES_TABLE_ID>', [ - Appwrite::Query.equal('userId', vote['userId']), - Appwrite::Query.equal('topicId', vote['topicId']) - ]) + existing_votes = tablesDB.list_rows( + database_id: '<DATABASE_ID>', + table_id: '<VOTES_TABLE_ID>', + queries: [ + Appwrite::Query.equal('userId', vote['userId']), + Appwrite::Query.equal('topicId', vote['topicId']) + ] + ) if existing_votes['total'] > 0 return context.res.json({ @@ -788,7 +792,7 @@ def main(context): ) tablesDB = TablesDB(client) - row = tablesDB.create_row('<DATABASE_ID>', '<MESSAGES_TABLE_ID>', ID.unique(), message) + row = tablesDB.create_row(database_id='<DATABASE_ID>', table_id='<MESSAGES_TABLE_ID>', row_id=ID.unique(), data=message) return context.res.text("Message sent") @@ -891,7 +895,7 @@ def main(context) .set_key(context.req.headers['x-appwrite-key']) tablesDB = Appwrite::TablesDB.new(client) - row = tablesDB.create_row('<DATABASE_ID>', '<MESSAGES_TABLE_ID>', ID.unique(), message) + row = tablesDB.create_row(database_id: '<DATABASE_ID>', table_id: '<MESSAGES_TABLE_ID>', row_id: ID.unique(), data: message) return context.res.text("Message sent") end diff --git a/src/routes/docs/products/functions/execute/+page.markdoc b/src/routes/docs/products/functions/execute/+page.markdoc index 3a41e6adbb..9d0c4817f9 100644 --- a/src/routes/docs/products/functions/execute/+page.markdoc +++ b/src/routes/docs/products/functions/execute/+page.markdoc @@ -756,13 +756,15 @@ client ; const promise = functions.createExecution( - '<FUNCTION_ID>', // functionId - '<BODY>', // body (optional) - true, // Scheduled executions need to be async - '<PATH>', // path (optional) - ExecutionMethod.GET, // method (optional) - {}, // headers (optional) - '2020-10-15T06:38:00.000+00:00' // Schedule execution (optional) + { + functionId: '<FUNCTION_ID>', + body: '<BODY>', + async: true, + xpath: '<PATH>', + method: ExecutionMethod.GET, + headers: {}, + scheduledAt: '2020-10-15T06:38:00.000+00:00' +} // Schedule execution (optional) ); promise.then(function (response) { @@ -784,13 +786,15 @@ client ; const promise = functions.createExecution( - '<FUNCTION_ID>', // functionId - '<BODY>', // body (optional) - true, // Scheduled executions need to be async - '<PATH>', // path (optional) - ExecutionMethod.GET, // method (optional) - {}, // headers (optional) - '2020-10-15T06:38:00.000+00:00' // Schedule execution (optional) + { + functionId: '<FUNCTION_ID>', + body: '<BODY>', + async: true, + xpath: '<PATH>', + method: ExecutionMethod.GET, + headers: {}, + scheduledAt: '2020-10-15T06:38:00.000+00:00' +} // Schedule execution (optional) ); promise.then(function (response) { diff --git a/src/routes/docs/products/messaging/apns/+page.markdoc b/src/routes/docs/products/messaging/apns/+page.markdoc index b542af02a1..0fbdc51b05 100644 --- a/src/routes/docs/products/messaging/apns/+page.markdoc +++ b/src/routes/docs/products/messaging/apns/+page.markdoc @@ -116,13 +116,15 @@ client ; const provider = await messaging.updateApnsProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<AUTH_KEY>', // authKey (optional) - '<AUTH_KEY_ID>', // authKeyId (optional) - '<TEAM_ID>', // teamId (optional) - '<BUNDLE_ID>' // bundleId (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + authKey: '<AUTH_KEY>', + authKeyId: '<AUTH_KEY_ID>', + teamId: '<TEAM_ID>', + bundleId: '<BUNDLE_ID>' +} // bundleId (optional) ); ``` ```deno @@ -140,13 +142,15 @@ client ; const provider = await messaging.updateApnsProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<AUTH_KEY>', // authKey (optional) - '<AUTH_KEY_ID>', // authKeyId (optional) - '<TEAM_ID>', // teamId (optional) - '<BUNDLE_ID>' // bundleId (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + authKey: '<AUTH_KEY>', + authKeyId: '<AUTH_KEY_ID>', + teamId: '<TEAM_ID>', + bundleId: '<BUNDLE_ID>' +} // bundleId (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/fcm/+page.markdoc b/src/routes/docs/products/messaging/fcm/+page.markdoc index b674fcdbb1..21c2f66f14 100644 --- a/src/routes/docs/products/messaging/fcm/+page.markdoc +++ b/src/routes/docs/products/messaging/fcm/+page.markdoc @@ -139,10 +139,12 @@ client ; const provider = await messaging.updateFCMProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - {} // serviceAccountJSON (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + serviceAccountJSON: {} +} // serviceAccountJSON (optional) ); ``` ```deno @@ -160,10 +162,12 @@ client ; const provider = await messaging.updateFCMProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - {} // serviceAccountJSON (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + serviceAccountJSON: {} +} // serviceAccountJSON (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/mailgun/+page.markdoc b/src/routes/docs/products/messaging/mailgun/+page.markdoc index 2b63a570ae..a0756311b6 100644 --- a/src/routes/docs/products/messaging/mailgun/+page.markdoc +++ b/src/routes/docs/products/messaging/mailgun/+page.markdoc @@ -156,7 +156,11 @@ client = Client() messaging = Messaging(client) -result = messaging.create_email('<MESSAGE_ID>', '<SUBJECT>', '<CONTENT>') +result = messaging.create_email( + message_id='<MESSAGE_ID>', + subject='<SUBJECT>', + content='<CONTENT>' +) ``` ```ruby require 'appwrite' @@ -349,25 +353,27 @@ client ; // update provider -messaging.updateSendgridProvider( - '<PROVIDER_ID>', - '<PROVIDER_NAME>', - '<API_KEY>', - '<DOMAIN>', - '<IS_EU_REGION?>', - '<SENDER_NAME>', - '<SENDER_EMAIL>', - '<REPLY_TO_NAME>', - '<REPLY_TO_EMAIL>', - '<ENABLED?>', -).then(function (response) { +messaging.updateMailgunProvider({ + providerId: '<PROVIDER_ID>', + name: '<PROVIDER_NAME>', + apiKey: '<API_KEY>', + domain: '<DOMAIN>', + isEuRegion: false, + fromName: '<SENDER_NAME>', + fromEmail: '<SENDER_EMAIL>', + replyToName: '<REPLY_TO_NAME>', + replyToEmail: '<REPLY_TO_EMAIL>', + enabled: true +}).then(function (response) { console.log(response); }, function (error) { console.log(error); }); // delete provider -messaging.deleteProvider('<PROVIDER_ID>') +messaging.deleteProvider({ + providerId: '<PROVIDER_ID>' +}) .then(function (response) { console.log(response); }, function (error) { @@ -383,25 +389,27 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); // update provider -messaging.updateSendgridProvider( - '<PROVIDER_ID>', - '<PROVIDER_NAME>', - '<API_KEY>', - '<DOMAIN>', - '<IS_EU_REGION?>', - '<SENDER_NAME>', - '<SENDER_EMAIL>', - '<REPLY_TO_NAME>', - '<REPLY_TO_EMAIL>', - '<ENABLED?>', -).then(function (response) { +messaging.updateMailgunProvider({ + providerId: '<PROVIDER_ID>', + name: '<PROVIDER_NAME>', + apiKey: '<API_KEY>', + domain: '<DOMAIN>', + isEuRegion: false, + fromName: '<SENDER_NAME>', + fromEmail: '<SENDER_EMAIL>', + replyToName: '<REPLY_TO_NAME>', + replyToEmail: '<REPLY_TO_EMAIL>', + enabled: true +}).then(function (response) { console.log(response); }, function (error) { console.log(error); }); // delete provider -messaging.deleteProvider('<PROVIDER_ID>') +messaging.deleteProvider({ + providerId: '<PROVIDER_ID>' +}) .then(function (response) { console.log(response); }, function (error) { @@ -450,17 +458,17 @@ client = Client() messaging = Messaging(client) -result = messaging.update_sendgrid_provider( - '<PROVIDER_ID>', - '<PROVIDER_NAME>', - '<API_KEY>', - '<DOMAIN>', - '<IS_EU_REGION?>', - '<SENDER_NAME>', - '<SENDER_EMAIL>', - '<REPLY_TO_NAME>', - '<REPLY_TO_EMAIL>', - '<ENABLED?>', +result = messaging.update_mailgun_provider( + provider_id='<PROVIDER_ID>', + name='<PROVIDER_NAME>', + api_key='<API_KEY>', + domain='<DOMAIN>', + is_eu_region=False, + from_name='<SENDER_NAME>', + from_email='<SENDER_EMAIL>', + reply_to_name='<REPLY_TO_NAME>', + reply_to_email='<REPLY_TO_EMAIL>', + enabled=True, ) ``` ```ruby diff --git a/src/routes/docs/products/messaging/messages/+page.markdoc b/src/routes/docs/products/messaging/messages/+page.markdoc index b1a7e31e60..74ee900a4c 100644 --- a/src/routes/docs/products/messaging/messages/+page.markdoc +++ b/src/routes/docs/products/messaging/messages/+page.markdoc @@ -250,24 +250,26 @@ client ; const message = await messaging.createPush( - '<MESSAGE_ID>', // messageId - '<TITLE>', // title - '<BODY>', // body - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - {}, // data (optional) - '<ACTION>', // action (optional) - '<ICON>', // icon (optional) - '<SOUND>', // sound (optional) - '<COLOR>', // color (optional) - '<TAG>', // tag (optional) - 1, // badge (optional) - false, // contentAvailable (optional) - false, // critical (optional) - 'normal', // priority (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + title: '<TITLE>', + body: '<BODY>', + topics: [], + users: [], + targets: [], + data: {}, + action: '<ACTION>', + icon: '<ICON>', + sound: '<SOUND>', + color: '<COLOR>', + tag: '<TAG>', + badge: 1, + contentAvailable: false, + critical: false, + priority: 'normal', + draft: true, + scheduledAt: '' + } ); ``` ```deno @@ -285,24 +287,26 @@ client ; const message = await messaging.createPush( - '<MESSAGE_ID>', // messageId - '<TITLE>', // title - '<BODY>', // body - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - {}, // data (optional) - '<ACTION>', // action (optional) - '<ICON>', // icon (optional) - '<SOUND>', // sound (optional) - '<COLOR>', // color (optional) - '<TAG>', // tag (optional) - 1, // badge (optional) - false, // contentAvailable (optional) - false, // critical (optional) - 'normal', // priority (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + title: '<TITLE>', + body: '<BODY>', + topics: [], + users: [], + targets: [], + data: {}, + action: '<ACTION>', + icon: '<ICON>', + sound: '<SOUND>', + color: '<COLOR>', + tag: '<TAG>', + badge: 1, + contentAvailable: false, + critical: false, + priority: 'normal', + draft: true, + scheduledAt: '' + } ); ``` ```php @@ -660,19 +664,19 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message - await messaging.createEmail( - '<MESSAGE_ID>', // messageId - '<SUBJECT>', // subject - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - [], // cc (optional) - [], // bcc (optional) - true, // draft (optional) - false, // html (optional) - '' // scheduledAt (optional) - ); +const message = await messaging.createEmail({ + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + draft: true, + html: false, + scheduledAt: '' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -688,19 +692,19 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message - await messaging.createEmail( - '<MESSAGE_ID>', // messageId - '<SUBJECT>', // subject - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - [], // cc (optional) - [], // bcc (optional) - true, // draft (optional) - false, // html (optional) - '' // scheduledAt (optional) - ); +const message = await messaging.createEmail({ + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + draft: true, + html: false, + scheduledAt: '' +}); ``` ```php <?php @@ -998,13 +1002,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```deno @@ -1022,13 +1028,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/msg91/+page.markdoc b/src/routes/docs/products/messaging/msg91/+page.markdoc index 0ea24698ae..b9fdcf70d9 100644 --- a/src/routes/docs/products/messaging/msg91/+page.markdoc +++ b/src/routes/docs/products/messaging/msg91/+page.markdoc @@ -81,13 +81,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```deno @@ -105,13 +107,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```php @@ -384,12 +388,14 @@ client ; const message = await messaging.updateMsg91Provider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<SENDER_ID>', // senderId (optional) - '<AUTH_KEY>', // authKey (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + templateId: '<SENDER_ID>', + senderId: '<AUTH_KEY>', + authKey: '<FROM>' +} // from (optional) ); ``` ```deno @@ -407,12 +413,14 @@ client ; const message = await messaging.updateMsg91Provider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<SENDER_ID>', // senderId (optional) - '<AUTH_KEY>', // authKey (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + templateId: '<SENDER_ID>', + senderId: '<AUTH_KEY>', + authKey: '<FROM>' +} // from (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/send-email-messages/+page.markdoc b/src/routes/docs/products/messaging/send-email-messages/+page.markdoc index 42a5efc026..2b3b5ac363 100644 --- a/src/routes/docs/products/messaging/send-email-messages/+page.markdoc +++ b/src/routes/docs/products/messaging/send-email-messages/+page.markdoc @@ -52,12 +52,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); const target = await users.createTarget( - '<USER_ID>', // userId - '<TARGET_ID>', // targetId - sdk.MessagingProviderType.Email, // providerType - '<IDENTIFIER>', // identifier - '<PROVIDER_ID>', // providerId (optional) - '<NAME>' // name (optional) + { + userId: '<USER_ID>', + targetId: '<TARGET_ID>', + providerType: sdk.MessagingProviderType.Email, + identifier: '<IDENTIFIER>', + providerId: '<PROVIDER_ID>', + name: '<NAME>' +} // name (optional) ); ``` ```deno @@ -71,12 +73,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); const target = await users.createTarget( - '<USER_ID>', // userId - '<TARGET_ID>', // targetId - sdk.MessagingProviderType.Email, // providerType - '<IDENTIFIER>', // identifier - '<PROVIDER_ID>', // providerId (optional) - '<NAME>' // name (optional) + { + userId: '<USER_ID>', + targetId: '<TARGET_ID>', + providerType: sdk.MessagingProviderType.Email, + identifier: '<IDENTIFIER>', + providerId: '<PROVIDER_ID>', + name: '<NAME>' +} // name (optional) ); ``` ```php @@ -320,8 +324,10 @@ client ; const topic = await messaging.createTopic( - '<TOPIC_ID>', // topicId - '<NAME>' // name + { + topicId: '<TOPIC_ID>', + name: '<NAME>' +} // name ); ``` ```deno @@ -339,8 +345,10 @@ client ; const topic = await messaging.createTopic( - '<TOPIC_ID>', // topicId - '<NAME>' // name + { + topicId: '<TOPIC_ID>', + name: '<NAME>' +} // name ); ``` ```php @@ -555,18 +563,20 @@ client ; const message = await messaging.createEmail( - '<MESSAGE_ID>', // messageId - '<SUBJECT>', // subject - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - [], // cc (optional) - [], // bcc (optional) - [], // attachments (optional) - false, // draft (optional) - false, // html (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + attachments: [], + draft: false, + html: false, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```deno @@ -584,18 +594,20 @@ client ; const message = await messaging.createEmail( - '<MESSAGE_ID>', // messageId - '<SUBJECT>', // subject - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - [], // cc (optional) - [], // bcc (optional) - [], // attachments (optional) - false, // draft (optional) - false, // html (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + attachments: [], + draft: false, + html: false, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```php @@ -891,17 +903,19 @@ client ; const message = await messaging.createEmail( - '<MESSAGE_ID>', // messageId - '<SUBJECT>', // subject - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - [], // cc (optional) - [], // bcc (optional) - false, // draft (optional) - false, // html (optional) - '2025-02-13T22:01:00+0000' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + draft: false, + html: false, + scheduledAt: '2025-02-13T22:01:00+0000' + } ); ``` ```deno @@ -918,19 +932,19 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message - await messaging.createEmail( - '<MESSAGE_ID>', // messageId - '<SUBJECT>', // subject - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - [], // cc (optional) - [], // bcc (optional) - false, // draft (optional) - false, // html (optional) - '2025-02-13T22:01:00+0000' // scheduledAt (optional) - ); +const message = await messaging.createEmail({ + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + draft: false, + html: false, + scheduledAt: '2025-02-13T22:01:00+0000' +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc b/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc index b5b10245f8..d9175c1553 100644 --- a/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc +++ b/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc @@ -61,12 +61,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); const target = await users.createTarget( - '<USER_ID>', // userId - '<TARGET_ID>', // targetId - sdk.MessagingProviderType.Phone, // providerType - '<IDENTIFIER>', // identifier - '<PROVIDER_ID>', // providerId (optional) - '<NAME>' // name (optional) + { + userId: '<USER_ID>', + targetId: '<TARGET_ID>', + providerType: sdk.MessagingProviderType.Phone, + identifier: '<IDENTIFIER>', + providerId: '<PROVIDER_ID>', + name: '<NAME>' +} // name (optional) ); ``` ```deno @@ -80,12 +82,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); const target = await users.createTarget( - '<USER_ID>', // userId - '<TARGET_ID>', // targetId - sdk.MessagingProviderType.Phone, // providerType - '<IDENTIFIER>', // identifier - '<PROVIDER_ID>', // providerId (optional) - '<NAME>' // name (optional) + { + userId: '<USER_ID>', + targetId: '<TARGET_ID>', + providerType: sdk.MessagingProviderType.Phone, + identifier: '<IDENTIFIER>', + providerId: '<PROVIDER_ID>', + name: '<NAME>' +} // name (optional) ); ``` ```php @@ -326,8 +330,10 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const topic = await messaging.createTopic( - '<TOPIC_ID>', // topicId - '<NAME>' // name + { + topicId: '<TOPIC_ID>', + name: '<NAME>' +} // name ); ``` ```deno @@ -341,8 +347,10 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const topic = await messaging.createTopic( - '<TOPIC_ID>', // topicId - '<NAME>' // name + { + topicId: '<TOPIC_ID>', + name: '<NAME>' +} // name ); ``` ```php @@ -528,13 +536,15 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - false, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: false, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```deno @@ -548,13 +558,15 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - false, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: false, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```php @@ -784,13 +796,15 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - false, // draft (optional) - '2025-02-13T22:01:00+0000' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: false, + scheduledAt: '2025-02-13T22:01:00+0000' +} // scheduledAt (optional) ); ``` ```deno @@ -804,13 +818,15 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - false, // draft (optional) - '2025-02-13T22:01:00+0000' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: false, + scheduledAt: '2025-02-13T22:01:00+0000' +} // scheduledAt (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/sendgrid/+page.markdoc b/src/routes/docs/products/messaging/sendgrid/+page.markdoc index 37ade828b7..bce6da0622 100644 --- a/src/routes/docs/products/messaging/sendgrid/+page.markdoc +++ b/src/routes/docs/products/messaging/sendgrid/+page.markdoc @@ -149,7 +149,11 @@ client = Client() messaging = Messaging(client) -result = messaging.create_email('<MESSAGE_ID>', '<SUBJECT>', '<CONTENT>') +result = messaging.create_email( + message_id='<MESSAGE_ID>', + subject='<SUBJECT>', + content='<CONTENT>' +) ``` ```ruby require 'appwrite' @@ -341,16 +345,16 @@ client .setKey('<YOUR_API_KEY>') // Your secret API key ; -const provider = await messaging.updateSendgridProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - '<API_KEY>', // apiKey (optional) - false, // enabled (optional) - '<FROM_NAME>', // fromName (optional) - 'email@example.com', // fromEmail (optional) - '<REPLY_TO_NAME>', // replyToName (optional) - '<REPLY_TO_EMAIL>' // replyToEmail (optional) - ); +const provider = await messaging.updateSendgridProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + apiKey: '<API_KEY>', + fromName: '<FROM_NAME>', + fromEmail: 'email@example.com', + replyToName: '<REPLY_TO_NAME>', + replyToEmail: '<REPLY_TO_EMAIL>' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -366,16 +370,16 @@ client .setKey('<YOUR_API_KEY>') // Your secret API key ; -const provider = await messaging.updateSendgridProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - '<API_KEY>', // apiKey (optional) - false, // enabled (optional) - '<FROM_NAME>', // fromName (optional) - 'email@example.com', // fromEmail (optional) - '<REPLY_TO_NAME>', // replyToName (optional) - '<REPLY_TO_EMAIL>' // replyToEmail (optional) - ); +const provider = await messaging.updateSendgridProvider({ + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + apiKey: '<API_KEY>', + fromName: '<FROM_NAME>', + fromEmail: 'email@example.com', + replyToName: '<REPLY_TO_NAME>', + replyToEmail: '<REPLY_TO_EMAIL>' +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/smtp/+page.markdoc b/src/routes/docs/products/messaging/smtp/+page.markdoc index 52e7fd580a..b1c3068126 100644 --- a/src/routes/docs/products/messaging/smtp/+page.markdoc +++ b/src/routes/docs/products/messaging/smtp/+page.markdoc @@ -158,7 +158,11 @@ client = Client() messaging = Messaging(client) -result = messaging.create_email('<MESSAGE_ID>', '<SUBJECT>', '<CONTENT>') +result = messaging.create_email( + message_id='<MESSAGE_ID>', + subject='<SUBJECT>', + content='<CONTENT>' +) ``` ```ruby require 'appwrite' @@ -351,25 +355,31 @@ client ; // update provider -messaging.updateSendgridProvider( - '<PROVIDER_ID>', - '<PROVIDER_NAME>', - '<API_KEY>', - '<DOMAIN>', - '<IS_EU_REGION?>', - '<SENDER_NAME>', - '<SENDER_EMAIL>', - '<REPLY_TO_NAME>', - '<REPLY_TO_EMAIL>', - '<ENABLED?>', -).then(function (response) { +messaging.updateSmtpProvider({ + providerId: '<PROVIDER_ID>', + name: '<PROVIDER_NAME>', + host: '<HOST>', + port: 587, + username: '<USERNAME>', + password: '<PASSWORD>', + encryption: sdk.SmtpEncryption.Tls, + autoTLS: true, + mailer: '<MAILER>', + fromName: '<SENDER_NAME>', + fromEmail: '<SENDER_EMAIL>', + replyToName: '<REPLY_TO_NAME>', + replyToEmail: '<REPLY_TO_EMAIL>', + enabled: true +}).then(function (response) { console.log(response); }, function (error) { console.log(error); }); // delete provider -messaging.deleteProvider('<PROVIDER_ID>') +messaging.deleteProvider({ + providerId: '<PROVIDER_ID>' +}) .then(function (response) { console.log(response); }, function (error) { @@ -385,25 +395,31 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); // update provider -messaging.updateSendgridProvider( - '<PROVIDER_ID>', - '<PROVIDER_NAME>', - '<API_KEY>', - '<DOMAIN>', - '<IS_EU_REGION?>', - '<SENDER_NAME>', - '<SENDER_EMAIL>', - '<REPLY_TO_NAME>', - '<REPLY_TO_EMAIL>', - '<ENABLED?>', -).then(function (response) { +messaging.updateSmtpProvider({ + providerId: '<PROVIDER_ID>', + name: '<PROVIDER_NAME>', + host: '<HOST>', + port: 587, + username: '<USERNAME>', + password: '<PASSWORD>', + encryption: sdk.SmtpEncryption.Tls, + autoTLS: true, + mailer: '<MAILER>', + fromName: '<SENDER_NAME>', + fromEmail: '<SENDER_EMAIL>', + replyToName: '<REPLY_TO_NAME>', + replyToEmail: '<REPLY_TO_EMAIL>', + enabled: true +}).then(function (response) { console.log(response); }, function (error) { console.log(error); }); // delete provider -messaging.deleteProvider('<PROVIDER_ID>') +messaging.deleteProvider({ + providerId: '<PROVIDER_ID>' +}) .then(function (response) { console.log(response); }, function (error) { @@ -452,17 +468,21 @@ client = Client() messaging = Messaging(client) -result = messaging.update_sendgrid_provider( - '<PROVIDER_ID>', - '<PROVIDER_NAME>', - '<API_KEY>', - '<DOMAIN>', - '<IS_EU_REGION?>', - '<SENDER_NAME>', - '<SENDER_EMAIL>', - '<REPLY_TO_NAME>', - '<REPLY_TO_EMAIL>', - '<ENABLED?>', +result = messaging.update_smtp_provider( + provider_id='<PROVIDER_ID>', + name='<PROVIDER_NAME>', + host='<HOST>', + port=587, + username='<USERNAME>', + password='<PASSWORD>', + encryption='tls', + auto_tls=True, + mailer='<MAILER>', + from_name='<SENDER_NAME>', + from_email='<SENDER_EMAIL>', + reply_to_name='<REPLY_TO_NAME>', + reply_to_email='<REPLY_TO_EMAIL>', + enabled=True, ) ``` ```ruby diff --git a/src/routes/docs/products/messaging/telesign/+page.markdoc b/src/routes/docs/products/messaging/telesign/+page.markdoc index 3b8292fd32..fc11c398f2 100644 --- a/src/routes/docs/products/messaging/telesign/+page.markdoc +++ b/src/routes/docs/products/messaging/telesign/+page.markdoc @@ -79,15 +79,15 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const messaging = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) - ); +const message = await messaging.createSms({ + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -103,15 +103,15 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const messaging = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) - ); +const message = await messaging.createSms({ + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +}); ``` ```php <?php @@ -382,12 +382,14 @@ client ; const provider = await messaging.updateTelesignProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<USERNAME>', // username (optional) - '<PASSWORD>', // password (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + customerId: '<USERNAME>', + apiKey: '<PASSWORD>', + from: '<FROM>' +} // from (optional) ); ``` ```deno @@ -405,12 +407,14 @@ client ; const provider = await messaging.updateTelesignProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<USERNAME>', // username (optional) - '<PASSWORD>', // password (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + customerId: '<USERNAME>', + apiKey: '<PASSWORD>', + from: '<FROM>' +} // from (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/textmagic/+page.markdoc b/src/routes/docs/products/messaging/textmagic/+page.markdoc index 76d09c143e..179da6240f 100644 --- a/src/routes/docs/products/messaging/textmagic/+page.markdoc +++ b/src/routes/docs/products/messaging/textmagic/+page.markdoc @@ -79,15 +79,15 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const messaging = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) - ); +const message = await messaging.createSms({ + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -103,15 +103,15 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const messaging = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) - ); +const message = await messaging.createSms({ + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +}); ``` ```php <?php @@ -382,12 +382,14 @@ client ; const provider = await messaging.updateTextmagicProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<USERNAME>', // username (optional) - '<API_KEY>', // apiKey (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + username: '<USERNAME>', + apiKey: '<API_KEY>', + from: '<FROM>' +} // from (optional) ); ``` ```deno @@ -405,12 +407,14 @@ client ; const provider = await messaging.updateTextmagicProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<USERNAME>', // username (optional) - '<API_KEY>', // apiKey (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + username: '<USERNAME>', + apiKey: '<API_KEY>', + from: '<FROM>' +} // from (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/topics/+page.markdoc b/src/routes/docs/products/messaging/topics/+page.markdoc index bb31eee9fd..ce665b8956 100644 --- a/src/routes/docs/products/messaging/topics/+page.markdoc +++ b/src/routes/docs/products/messaging/topics/+page.markdoc @@ -59,9 +59,11 @@ client ; const topic = messaging.createTopic( - '<TOPIC_ID>', // topicId - '<NAME>', // name - '<ROLES>' // permission roles for who can subscribe + { + topicId: '<TOPIC_ID>', + name: '<NAME>', + subscribe: ['<ROLE>'] + } ); ``` @@ -80,15 +82,10 @@ client ; const topic = messaging.createTopic({ - topicId: '<TOPIC_ID>', - name: '<NAME>', - subscribe: '<ROLES>' // permission roles for who can subscribe - }); -const topic = messaging.createTopic( - '<TOPIC_ID>', // topicId - '<NAME>', // name - '<ROLES>' // permission roles for who can subscribe - ); + topicId: '<TOPIC_ID>', + name: '<NAME>', + subscribe: ['<ROLE>'] +}); ``` ```php <?php @@ -354,9 +351,11 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); const subscriber = await messaging.createSubscriber( - '<TOPIC_ID>', // topicId - '<SUBSCRIBER_ID>', // subscriberId - '<TARGET_ID>' // targetId + { + topicId: '<TOPIC_ID>', + subscriberId: '<SUBSCRIBER_ID>', + targetId: '<TARGET_ID>' +} // targetId ); ``` ```deno diff --git a/src/routes/docs/products/messaging/twilio/+page.markdoc b/src/routes/docs/products/messaging/twilio/+page.markdoc index f97e0b451e..d9bea4e3db 100644 --- a/src/routes/docs/products/messaging/twilio/+page.markdoc +++ b/src/routes/docs/products/messaging/twilio/+page.markdoc @@ -82,13 +82,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```deno @@ -106,13 +108,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```php @@ -382,12 +386,14 @@ client ; const provider = await messaging.updateTwilioProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<ACCOUNT_SID>', // accountSid (optional) - '<AUTH_TOKEN>', // authToken (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + accountSid: '<ACCOUNT_SID>', + authToken: '<AUTH_TOKEN>', + from: '<FROM>' +} // from (optional) ); ``` ```deno @@ -405,12 +411,14 @@ client ; const provider = await messaging.updateTwilioProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<ACCOUNT_SID>', // accountSid (optional) - '<AUTH_TOKEN>', // authToken (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + accountSid: '<ACCOUNT_SID>', + authToken: '<AUTH_TOKEN>', + from: '<FROM>' +} // from (optional) ); ``` ```php diff --git a/src/routes/docs/products/messaging/vonage/+page.markdoc b/src/routes/docs/products/messaging/vonage/+page.markdoc index 0d57869a32..a7a25fe864 100644 --- a/src/routes/docs/products/messaging/vonage/+page.markdoc +++ b/src/routes/docs/products/messaging/vonage/+page.markdoc @@ -82,13 +82,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```deno @@ -106,13 +108,15 @@ client ; const message = await messaging.createSms( - '<MESSAGE_ID>', // messageId - '<CONTENT>', // content - [], // topics (optional) - [], // users (optional) - [], // targets (optional) - true, // draft (optional) - '' // scheduledAt (optional) + { + messageId: '<MESSAGE_ID>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + draft: true, + scheduledAt: '' +} // scheduledAt (optional) ); ``` ```php @@ -384,12 +388,14 @@ client ; const provider = await messaging.updateVonageProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<API_KEY>', // apiKey (optional) - '<API_SECRET>', // apiSecret (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + apiKey: '<API_KEY>', + apiSecret: '<API_SECRET>', + from: '<FROM>' +} // from (optional) ); ``` ```deno @@ -407,12 +413,14 @@ client ; const provider = await messaging.updateVonageProvider( - '<PROVIDER_ID>', // providerId - '<NAME>', // name (optional) - false, // enabled (optional) - '<API_KEY>', // apiKey (optional) - '<API_SECRET>', // apiSecret (optional) - '<FROM>' // from (optional) + { + providerId: '<PROVIDER_ID>', + name: '<NAME>', + enabled: false, + apiKey: '<API_KEY>', + apiSecret: '<API_SECRET>', + from: '<FROM>' +} // from (optional) ); ``` ```php diff --git a/src/routes/docs/products/network/caching/+page.markdoc b/src/routes/docs/products/network/caching/+page.markdoc index 8b055fc04b..81b6154d77 100644 --- a/src/routes/docs/products/network/caching/+page.markdoc +++ b/src/routes/docs/products/network/caching/+page.markdoc @@ -8,29 +8,29 @@ Appwrite employs a multi-layered caching approach to enhance the performance of # Region-level {% #region-level %} -At the region level, Appwrite provides smart in-memory caching for various resources: +At the region level, Appwrite provides smart in-memory caching for various resources: -- **Documents**: Frequently accessed rows are cached in memory and automatically purged when updated, ensuring data consistency without manual intervention. -- **Storage files**: Frequently accessed files are cached in memory to reduce disk reads and improve performance. -- **Image transformations**: Processed images (e.g., resized or converted) are cached in memory for faster repeated requests, reducing processing overhead. +- **Rows**: Frequently accessed rows are cached in memory and automatically purged when updated, ensuring data consistency without manual intervention. +- **Storage files**: Frequently accessed files are cached in memory to reduce disk reads and improve performance. +- **Image transformations**: Processed images (e.g., resized or converted) are cached in memory for faster repeated requests, reducing processing overhead. Region-level caching is tightly integrated with Appwrite's APIs, optimizing performance while preserving data integrity. # Edge-level {% #edge-level %} -At the edge, Appwrite employs smart caching for specific use cases: +At the edge, Appwrite employs smart caching for specific use cases: -- **Compute builds**: Caches build artifacts for faster deployments and reduced latency during function executions. -- **Cold starts**: Pre-loads frequently accessed resources, reducing latency for new requests and improving application responsiveness. +- **Compute builds**: Caches build artifacts for faster deployments and reduced latency during function executions. +- **Cold starts**: Pre-loads frequently accessed resources, reducing latency for new requests and improving application responsiveness. Edge-level caching complements region-level caching, ensuring optimal performance for globally distributed applications. # Private caching {% #cdn-caching %} Appwrite's CDN layer includes **private caching**, a caching strategy designed to handle the dynamic and permission-sensitive nature of Appwrite's APIs and resources securely. -**What is private caching?** +**What is private caching?** -In the HTTP context, private caching allows responses to be cached but ensures they are only served to the specific user or client that requested them. This is achieved using HTTP headers that control caching behavior. For example: +In the HTTP context, private caching allows responses to be cached but ensures they are only served to the specific user or client that requested them. This is achieved using HTTP headers that control caching behavior. For example: - `Cache-Control: private, max-age=3600` Indicates that the response can be cached, but only in a private cache (e.g., the user's browser). @@ -58,4 +58,4 @@ Enterprise customers can collaborate with their Appwrite success manager to defi - Defining exclusion rules for sensitive or frequently changing data. - Optimizing cache invalidation strategies for complex workflows. -For more information on upgrading to the enterprise plan, [contact sales](https://appwrite.io/contact-us/enterprise). \ No newline at end of file +For more information on upgrading to the enterprise plan, [contact sales](https://appwrite.io/contact-us/enterprise). diff --git a/src/routes/docs/products/network/compression/+page.markdoc b/src/routes/docs/products/network/compression/+page.markdoc index f588bda1d2..a85d0cdc0f 100644 --- a/src/routes/docs/products/network/compression/+page.markdoc +++ b/src/routes/docs/products/network/compression/+page.markdoc @@ -81,19 +81,21 @@ client ; const result = storage.getFilePreview( - 'photos', // bucket ID - 'sunset.png', // file ID - 1800, // width, will be resized using this value. - 0, // height, ignored when 0 - 'center', // crop center - '90', // slight compression - 5, // border width - 'CDCA30', // border color - 15, // border radius - 1, // full opacity - 0, // no rotation - 'FFFFFF', // background color - 'webp' // output jpg format + { + bucketId: 'photos', + fileId: 'sunset.png', + width: 1800, + height: 0, + gravity: 'center', + quality: '90', + borderWidth: 5, + borderColor: 'CDCA30', + borderRadius: 15, + opacity: 1, + rotation: 0, + background: 'FFFFFF', + output: 'webp' +} // output jpg format ); console.log(result.href); diff --git a/src/routes/docs/products/storage/buckets/+page.markdoc b/src/routes/docs/products/storage/buckets/+page.markdoc index 2609ca305b..3cde6f1b62 100644 --- a/src/routes/docs/products/storage/buckets/+page.markdoc +++ b/src/routes/docs/products/storage/buckets/+page.markdoc @@ -110,7 +110,7 @@ client = Client() storage = Storage(client) -result = storage.create_bucket('<BUCKET_ID>', '<NAME>') +result = storage.create_bucket(bucket_id='<BUCKET_ID>', name='<NAME>') ``` ```ruby require 'Appwrite' diff --git a/src/routes/docs/quick-starts/apple/+page.markdoc b/src/routes/docs/quick-starts/apple/+page.markdoc index 56c4d665fd..b542412cac 100644 --- a/src/routes/docs/quick-starts/apple/+page.markdoc +++ b/src/routes/docs/quick-starts/apple/+page.markdoc @@ -232,7 +232,7 @@ do { ``` {% info title="Generate types automatically" %} -Use the [Appwrite CLI](/docs/products/databases/type-generation) to generate model structs automatically: `appwrite types collection` +Use the [Appwrite CLI](/docs/products/databases/type-generation) to generate model structs automatically: `appwrite types ./models` {% /info %} {% /section %} diff --git a/src/routes/docs/quick-starts/go/+page.markdoc b/src/routes/docs/quick-starts/go/+page.markdoc index ccd5cf4dd1..9618e85d56 100644 --- a/src/routes/docs/quick-starts/go/+page.markdoc +++ b/src/routes/docs/quick-starts/go/+page.markdoc @@ -202,8 +202,8 @@ type Todo struct { } type TodoList struct { - *models.DocumentList - Documents []Todo `json:"rows"` + *models.RowList + Rows []Todo `json:"rows"` } func getTodos() { @@ -217,7 +217,7 @@ func getTodos() { todoResponse.Decode(&todos) fmt.Println("Todos:") - for _, todo := range todos.Documents { + for _, todo := range todos.Rows { fmt.Printf("Title: %s\nDescription: %s\nIs Todo Complete: %t\n\n", todo.Title, todo.Description, todo.IsComplete) } } @@ -238,7 +238,7 @@ func getCompletedTodos() { todoResponse.Decode(&todos) fmt.Println("Completed todos (limited to 5):") - for _, todo := range todos.Documents { + for _, todo := range todos.Rows { fmt.Printf("Title: %s\nDescription: %s\nIs Todo Complete: %t\n\n", todo.Title, todo.Description, todo.IsComplete) } } @@ -258,7 +258,7 @@ func getIncompleteTodos() { todoResponse.Decode(&todos) fmt.Println("Incomplete todos (ordered by title):") - for _, todo := range todos.Documents { + for _, todo := range todos.Rows { fmt.Printf("Title: %s\nDescription: %s\nIs Todo Complete: %t\n\n", todo.Title, todo.Description, todo.IsComplete) } } @@ -307,4 +307,4 @@ func main() { Run your project with `go run .` and view the response in your console. -{% /section %} \ No newline at end of file +{% /section %} diff --git a/src/routes/docs/quick-starts/go/prompt.md b/src/routes/docs/quick-starts/go/prompt.md index 5036401ad4..d6c8374645 100644 --- a/src/routes/docs/quick-starts/go/prompt.md +++ b/src/routes/docs/quick-starts/go/prompt.md @@ -168,8 +168,8 @@ type Todo struct { } type TodoList struct { - *models.DocumentList - Documents []Todo `json:"rows"` + *models.RowList + Rows []Todo `json:"rows"` } ``` @@ -186,7 +186,7 @@ func getTodos() { todoResponse.Decode(&todos) fmt.Println("Todos:") - for _, todo := range todos.Documents { + for _, todo := range todos.Rows { fmt.Printf("Title: %s\nDescription: %s\nIs Todo Complete: %t\n\n", todo.Title, todo.Description, todo.IsComplete) } } @@ -210,7 +210,7 @@ func getCompletedTodos() { todoResponse.Decode(&todos) fmt.Println("Completed todos (limited to 5):") - for _, todo := range todos.Documents { + for _, todo := range todos.Rows { fmt.Printf("Title: %s\nDescription: %s\nIs Todo Complete: %t\n\n", todo.Title, todo.Description, todo.IsComplete) } } @@ -233,7 +233,7 @@ func getIncompleteTodos() { todoResponse.Decode(&todos) fmt.Println("Incomplete todos (ordered by title):") - for _, todo := range todos.Documents { + for _, todo := range todos.Rows { fmt.Printf("Title: %s\nDescription: %s\nIs Todo Complete: %t\n\n", todo.Title, todo.Description, todo.IsComplete) } } diff --git a/src/routes/docs/tooling/ai/agents/antigravity/+page.markdoc b/src/routes/docs/tooling/ai/agents/antigravity/+page.markdoc index 3c32208631..a12dc4d0dd 100644 --- a/src/routes/docs/tooling/ai/agents/antigravity/+page.markdoc +++ b/src/routes/docs/tooling/ai/agents/antigravity/+page.markdoc @@ -112,8 +112,8 @@ Open **Agent Manager** in Antigravity to test your MCP integrations. You can try - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/agents/claude-code/+page.markdoc b/src/routes/docs/tooling/ai/agents/claude-code/+page.markdoc index 53b69e9213..22a07570ec 100644 --- a/src/routes/docs/tooling/ai/agents/claude-code/+page.markdoc +++ b/src/routes/docs/tooling/ai/agents/claude-code/+page.markdoc @@ -128,8 +128,8 @@ Try out the following example prompts based on the MCP server you have configure - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/agents/codex/+page.markdoc b/src/routes/docs/tooling/ai/agents/codex/+page.markdoc index d3899251ef..5545d67a58 100644 --- a/src/routes/docs/tooling/ai/agents/codex/+page.markdoc +++ b/src/routes/docs/tooling/ai/agents/codex/+page.markdoc @@ -114,8 +114,8 @@ Try out the following example prompts based on the MCP server you have configure - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/agents/opencode/+page.markdoc b/src/routes/docs/tooling/ai/agents/opencode/+page.markdoc index ab5cf9bfdd..2b77c4e64d 100644 --- a/src/routes/docs/tooling/ai/agents/opencode/+page.markdoc +++ b/src/routes/docs/tooling/ai/agents/opencode/+page.markdoc @@ -108,8 +108,8 @@ Try out the following example prompts based on the MCP server you have configure - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/agents/vscode/+page.markdoc b/src/routes/docs/tooling/ai/agents/vscode/+page.markdoc index 551f7939f7..8d36c435d7 100644 --- a/src/routes/docs/tooling/ai/agents/vscode/+page.markdoc +++ b/src/routes/docs/tooling/ai/agents/vscode/+page.markdoc @@ -111,8 +111,8 @@ Open **Copilot Chat** in VS Code and switch to **Agent Mode** to test your MCP i - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/agents/windsurf/+page.markdoc b/src/routes/docs/tooling/ai/agents/windsurf/+page.markdoc index 8d22ff0259..1779be52ca 100644 --- a/src/routes/docs/tooling/ai/agents/windsurf/+page.markdoc +++ b/src/routes/docs/tooling/ai/agents/windsurf/+page.markdoc @@ -112,8 +112,8 @@ Open Cascade chat in the Windsurf Editor and test your MCP integrations. You can - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/vibe-coding/claude-desktop/+page.markdoc b/src/routes/docs/tooling/ai/vibe-coding/claude-desktop/+page.markdoc index 6f300d9618..6c43913419 100644 --- a/src/routes/docs/tooling/ai/vibe-coding/claude-desktop/+page.markdoc +++ b/src/routes/docs/tooling/ai/vibe-coding/claude-desktop/+page.markdoc @@ -132,8 +132,8 @@ Try out the following example prompts based on the MCP server you have configure - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/ai/vibe-coding/emergent/+page.markdoc b/src/routes/docs/tooling/ai/vibe-coding/emergent/+page.markdoc index 54a749c861..e4b66feda8 100644 --- a/src/routes/docs/tooling/ai/vibe-coding/emergent/+page.markdoc +++ b/src/routes/docs/tooling/ai/vibe-coding/emergent/+page.markdoc @@ -77,8 +77,8 @@ Once connected, you can use natural language to interact with Appwrite. Try prom - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} @@ -96,4 +96,4 @@ Once connected, you can use natural language to interact with Appwrite. Try prom {% /tabsitem %} {% /tabs %} -{% /section %} \ No newline at end of file +{% /section %} diff --git a/src/routes/docs/tooling/ai/vibe-coding/zenflow/+page.markdoc b/src/routes/docs/tooling/ai/vibe-coding/zenflow/+page.markdoc index 228da1ef77..014e4824e7 100644 --- a/src/routes/docs/tooling/ai/vibe-coding/zenflow/+page.markdoc +++ b/src/routes/docs/tooling/ai/vibe-coding/zenflow/+page.markdoc @@ -111,8 +111,8 @@ You can try out the following example prompts based on the MCP server you have c **Example prompts:** - `Create a new user in my Appwrite project` - `List all databases in my project` -- `Show me the collections in my database` -- `Create a new document in my collection` +- `Show me the tables in my database` +- `Create a new row in my table` - `Delete a specific user by ID` {% /tabsitem %} diff --git a/src/routes/docs/tooling/command-line/commands/+page.markdoc b/src/routes/docs/tooling/command-line/commands/+page.markdoc index 23dd296087..cb3ca88b46 100644 --- a/src/routes/docs/tooling/command-line/commands/+page.markdoc +++ b/src/routes/docs/tooling/command-line/commands/+page.markdoc @@ -228,7 +228,7 @@ List commands across services accept a set of dedicated flags for the most commo * Return results before this cursor ID. Use for backward cursor pagination. --- * `--select <attribute>` -* Limit returned attributes on row and document list commands such as `tables-db list-rows`. Repeat the flag to include multiple attributes. +* Limit returned attributes on list commands such as `tables-db list-rows`. Repeat the flag to include multiple attributes. --- {% /table %} diff --git a/src/routes/docs/tooling/command-line/installation/+page.markdoc b/src/routes/docs/tooling/command-line/installation/+page.markdoc index 525b3984c8..3cb8ff3bfb 100644 --- a/src/routes/docs/tooling/command-line/installation/+page.markdoc +++ b/src/routes/docs/tooling/command-line/installation/+page.markdoc @@ -206,7 +206,7 @@ The CLI resolves resource paths relative to the file that defines the resource. The single-file format continues to work. You can split any supported resource arrays over time and keep other arrays in the root config. -Supported include keys are `functions`, `sites`, `databases`, `collections`, `tablesDB`, `tables`, `topics`, `teams`, `buckets`, `webhooks`, and `messages`. +Supported include keys are `functions`, `sites`, `databases`, `tablesDB`, `tables`, `topics`, `teams`, `buckets`, `webhooks`, and `messages`. Include paths must be local JSON files inside your project. They must be relative paths, end in `.json`, and cannot use parent-directory segments, absolute paths, URLs, URL-like schemes, null bytes, or JSON pointer fragments. diff --git a/src/routes/docs/tooling/command-line/tables/+page.markdoc b/src/routes/docs/tooling/command-line/tables/+page.markdoc index 9f3e9311ca..6519aecdc5 100644 --- a/src/routes/docs/tooling/command-line/tables/+page.markdoc +++ b/src/routes/docs/tooling/command-line/tables/+page.markdoc @@ -221,11 +221,11 @@ appwrite tables-db [COMMAND] [OPTIONS] * `create-relationship-column [options]` * Create relationship column. [Learn more about relationship columns](https://appwrite.io/docs/databases-relationships#relationship-columns). --- -* `create-string-column [options]` -* Create a string column. +* `create-text-column [options]` +* Create a text column. --- -* `update-string-column [options]` -* Update a string column. Changing the 'default' value will not update already existing rows. +* `update-text-column [options]` +* Update a text column. Changing the 'default' value will not update already existing rows. --- * `create-url-column [options]` * Create a URL column. diff --git a/src/routes/docs/tooling/terraform/resources/webhooks/+page.markdoc b/src/routes/docs/tooling/terraform/resources/webhooks/+page.markdoc index d993301adb..b35d234df5 100644 --- a/src/routes/docs/tooling/terraform/resources/webhooks/+page.markdoc +++ b/src/routes/docs/tooling/terraform/resources/webhooks/+page.markdoc @@ -33,7 +33,7 @@ resource "appwrite_webhook" "user_events" { resource "appwrite_webhook" "authenticated" { name = "authenticated webhook" url = "https://api.example.com/webhooks/secure" - events = ["databases.*.collections.*.documents.*.create"] + events = ["tablesdb.*.tables.*.rows.*.create"] auth_username = "webhook" auth_password = var.webhook_password tls = true diff --git a/src/routes/docs/tutorials/nextjs/step-4/+page.markdoc b/src/routes/docs/tutorials/nextjs/step-4/+page.markdoc index 202b4ead8c..db01c4e78e 100644 --- a/src/routes/docs/tutorials/nextjs/step-4/+page.markdoc +++ b/src/routes/docs/tutorials/nextjs/step-4/+page.markdoc @@ -55,7 +55,9 @@ export function useAuth() { }; const logout = async (): Promise<void> => { - await account.deleteSession('current'); + await account.deleteSession({ + sessionId: 'current' + }); setCurrent(null); router.push('/'); }; diff --git a/src/routes/docs/tutorials/nextjs/step-6/+page.markdoc b/src/routes/docs/tutorials/nextjs/step-6/+page.markdoc index db8cb33278..83b947792c 100644 --- a/src/routes/docs/tutorials/nextjs/step-6/+page.markdoc +++ b/src/routes/docs/tutorials/nextjs/step-6/+page.markdoc @@ -78,11 +78,11 @@ export function useIdeas() { // Fetch the 10 most recent ideas from the database const fetch = async (): Promise<void> => { try { - const response = await tablesDB.listRows( + const response = await tablesDB.listRows({ databaseId, tableId, - [Query.orderDesc('$createdAt'), Query.limit(queryLimit)] - ); + queries: [Query.orderDesc('$createdAt'), Query.limit(queryLimit)] + }); setCurrent(response.rows as Idea[]); } catch (error) { console.error('Error fetching ideas:', error); @@ -94,17 +94,17 @@ export function useIdeas() { // Add new idea to the database const add = async (idea: Omit<Idea, '$id' | '$createdAt' | '$updatedAt' | '$permissions'>): Promise<void> => { try { - const response = await tablesDB.createRow( + const response = await tablesDB.createRow({ databaseId, tableId, - ID.unique(), - idea, - [ + rowId: ID.unique(), + data: idea, + permissions: [ Permission.read('any'), Permission.update(`user:${idea.userId}`), Permission.delete(`user:${idea.userId}`) ] - ); + }); setCurrent(prev => [response as Idea, ...prev].slice(0, queryLimit)); } catch (error) { console.error('Error adding idea:', error); @@ -113,7 +113,11 @@ export function useIdeas() { const remove = async (id: string): Promise<void> => { try { - await tablesDB.deleteRow(databaseId, tableId, id); + await tablesDB.deleteRow({ + databaseId, + tableId, + rowId: id + }); await fetch(); // Refetch ideas to ensure we have 10 items } catch (error) { console.error('Error removing idea:', error); @@ -134,4 +138,4 @@ export function useIdeas() { } ``` -Now we can call the `useIdeas()` hook from the home page. \ No newline at end of file +Now we can call the `useIdeas()` hook from the home page. diff --git a/src/routes/integrations/ai-hugging-face-image-classification/+page.markdoc b/src/routes/integrations/ai-hugging-face-image-classification/+page.markdoc index 66db050125..74a0fc658c 100644 --- a/src/routes/integrations/ai-hugging-face-image-classification/+page.markdoc +++ b/src/routes/integrations/ai-hugging-face-image-classification/+page.markdoc @@ -26,7 +26,7 @@ Image classification is a key application of machine learning that involves cate # How does the integration work? -You can utilize a pre-built Appwrite function template to add image classification with Hugging Face to your app. This will allow you to upload an image to an Appwrite storage bucket and store labels from the image in an Appwrite collection. +You can utilize a pre-built Appwrite function template to add image classification with Hugging Face to your app. This will allow you to upload an image to an Appwrite storage bucket and store labels from the image in an Appwrite table. # How to implement @@ -54,13 +54,13 @@ Then, create a new repository with the default branch and root directory setting ## Step 3: Test the function -Once all the steps are complete, it is time to test the function! Use the Appwrite console or one of Appwrite’s SDKs to [upload an image](https://appwrite.io/docs/references/cloud/client-web/storage#createFile) to the `image_classification` storage bucket. If successful, you will find a response saved in the `image_classification` collection in the `ai` database in the following format: +Once all the steps are complete, it is time to test the function! Use the Appwrite console or one of Appwrite’s SDKs to [upload an image](https://appwrite.io/docs/references/cloud/client-web/storage#createFile) to the `image_classification` storage bucket. If successful, you will find a response saved in the `image_classification` table in the `ai` database in the following format: | image | labels | | --- | --- | | `66a13bf100318c752f1b` | `[{"label":"llama","score":0.9664694666862488},{"label":"comic book","score":0.019199883565306664},{"label":"suit, suit of clothes","score":0.005637330934405327},{"label":"television, television system","score":0.00037627643905580044},{"label":"muzzle","score":0.00019786457414738834}]` | -The `image` attribute contains the ID of the image file uploaded to the `image_classification` storage bucket, and the `labels` attribute contains the response from Hugging Face, including all the labels and their confidence score. +The `image` column contains the ID of the image file uploaded to the `image_classification` storage bucket, and the `labels` column contains the response from Hugging Face, including all the labels and their confidence score. # Read more about Hugging Face and Appwrite Functions @@ -72,4 +72,4 @@ If you would like to learn more about Hugging Face and Appwrite Functions, we ha - [Building with Appwrite AI Function templates](https://appwrite.io/blog/post/building-with-ai-function-templates) - [Introducing the Python machine learning runtime](https://appwrite.io/blog/post/introducing-python-machine-learning-runtime) - [Find more function templates](https://appwrite.io/docs/products/functions/templates) -- [Appwrite Functions API reference](https://appwrite.io/docs/references) \ No newline at end of file +- [Appwrite Functions API reference](https://appwrite.io/docs/references) diff --git a/src/routes/integrations/ai-hugging-face-speech-recognition/+page.markdoc b/src/routes/integrations/ai-hugging-face-speech-recognition/+page.markdoc index 05a17f58ff..090c8672cc 100644 --- a/src/routes/integrations/ai-hugging-face-speech-recognition/+page.markdoc +++ b/src/routes/integrations/ai-hugging-face-speech-recognition/+page.markdoc @@ -26,7 +26,7 @@ Speech recognition is a transformative technology that converts spoken language # How does the integration work? -You can utilize a pre-built Appwrite function template to add speech recognition with Hugging Face to your app. This will allow you to upload an audio file to an Appwrite storage bucket and store the recognized speech in an Appwrite collection as text. +You can utilize a pre-built Appwrite function template to add speech recognition with Hugging Face to your app. This will allow you to upload an audio file to an Appwrite storage bucket and store the recognized speech in an Appwrite table as text. # How to implement @@ -54,13 +54,13 @@ Then, create a new repository with the default branch and root directory setting ## Step 3: Test the Function -Once all the steps are complete, it is time to test the function! Use the Appwrite console or one of Appwrite’s SDKs to [upload an audio file](https://appwrite.io/docs/references/cloud/client-web/storage#createFile) to the `speech_recognition` storage bucket. If successful, you will find a response saved in the `speech_recognition` collection in the `ai` database in the following format: +Once all the steps are complete, it is time to test the function! Use the Appwrite console or one of Appwrite’s SDKs to [upload an audio file](https://appwrite.io/docs/references/cloud/client-web/storage#createFile) to the `speech_recognition` storage bucket. If successful, you will find a response saved in the `speech_recognition` table in the `ai` database in the following format: | audio | speech | | --- | --- | | 66a7b386000a1042305c | my thought i have nobody by a beauty and will as you've poured mr rochester is sub and that so don't find simpus and devoted about to at might in a | -The `audio` attribute contains the ID of the audio file uploaded to the `speech_recognition` storage bucket, and the `speech` attribute contains the response from Hugging Face. +The `audio` column contains the ID of the audio file uploaded to the `speech_recognition` storage bucket, and the `speech` column contains the response from Hugging Face. # Read more about Hugging Face and Appwrite Functions @@ -70,4 +70,4 @@ If you would like to learn more about Hugging Face and Appwrite Functions, we ha - [Sign up for Hugging Face](https://huggingface.co/login) - [Set up the Hugging Face provider in Appwrite](https://appwrite.io/docs/products/ai/tutorials/object-detection) - [Find more function templates](https://appwrite.io/docs/products/functions/templates) -- [Appwrite Functions API reference](https://appwrite.io/docs/references) \ No newline at end of file +- [Appwrite Functions API reference](https://appwrite.io/docs/references) diff --git a/src/routes/integrations/lemon-squeezy-payments/+page.markdoc b/src/routes/integrations/lemon-squeezy-payments/+page.markdoc index 50aac51ab8..9244c0d50c 100644 --- a/src/routes/integrations/lemon-squeezy-payments/+page.markdoc +++ b/src/routes/integrations/lemon-squeezy-payments/+page.markdoc @@ -80,7 +80,7 @@ Then, open it in your browser to test the function and access the pre-built inte ![Demo](/images/integrations/lemon-squeezy-payments/demo.avif) -You can visit the **Databases** page in your Appwrite project, enter the `orders` database and the `orders` collection within that, and find your orders. +You can visit the **Databases** page in your Appwrite project, enter the `orders` database and the `orders` table within that, and find your orders. ![Paid orders in database](/images/integrations/lemon-squeezy-payments/database.avif) diff --git a/src/routes/integrations/replication-rxdb/+page.markdoc b/src/routes/integrations/replication-rxdb/+page.markdoc index dc6552c87b..268bdceaaf 100644 --- a/src/routes/integrations/replication-rxdb/+page.markdoc +++ b/src/routes/integrations/replication-rxdb/+page.markdoc @@ -31,26 +31,26 @@ To implement the RxDB integration, there are several steps you must complete: ## Step 1: Configure Appwrite project -For this step, you must [create an account on Appwrite Cloud](https://cloud.appwrite.io/register) or [self-host Appwrite](https://appwrite.io/docs/advanced/self-hosting) if you haven’t already. Head over to the Appwrite console, go to the **Settings** page, and copy your project ID and API endpoint for further usage. Next, go to the **Databases** page from the left sidebar, create a new database with the ID `mydb`, and then a collection with the ID `humans` (save both IDs for further usage). +For this step, you must [create an account on Appwrite Cloud](https://cloud.appwrite.io/register) or [self-host Appwrite](https://appwrite.io/docs/advanced/self-hosting) if you haven’t already. Head over to the Appwrite console, go to the **Settings** page, and copy your project ID and API endpoint for further usage. Next, go to the **Databases** page from the left sidebar, create a new database with the ID `mydb`, and then a table with the ID `humans` (save both IDs for further usage). -Click on the **Attributes** tab and add the following attributes (schema used for demo purposes): +Click on the **Columns** tab and add the following columns (schema used for demo purposes): | Key | Type | Size | Required | | --- | --- | --- | --- | -| `name` | String | 100 | Yes | +| `name` | Text | 100 | Yes | | `age` | Integer | | Yes | -| `homeAddress` | String | 2000 | Yes | +| `homeAddress` | Text | 2000 | Yes | | `deleted` | Boolean | | Yes | -> **Note:** The `deleted` attribute is necessary to add because RxDB only soft deletes to prevent data loss in offline scenarios (no hard deletion of data occurs). +> **Note:** The `deleted` column is necessary to add because RxDB only soft deletes to prevent data loss in offline scenarios (no hard deletion of data occurs). -Then, head to the **Settings** tab of your collection, scroll down to the **Permissions** section, and the following: +Then, head to the **Settings** tab of your table, scroll down to the **Permissions** section, and the following: | Role | Create | Read | Update | Delete | | --- | --- | --- | --- | --- | | Any | Yes | Yes | Yes | Yes | -> **Note:** While RxDB does not allow you to manually configure permissions for each document, if your app uses Appwrite Auth and document-level permissions are enabled for your collection, the Appwrite SDK will automatically assign read and write permissions to the logged-in user for each document created. +> **Note:** While RxDB does not allow you to manually configure permissions for each row, if your app uses Appwrite Auth and row-level permissions are enabled for your table, the Appwrite SDK will automatically assign read and write permissions to the logged-in user for each row created. ## Step 2: Install Appwrite Web SDK and RxDB library @@ -66,7 +66,7 @@ In your app’s `.env` file, add the following: APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 APPWRITE_PROJECT_ID=your-project-id APPWRITE_DATABASE_ID=your-database-id -APPWRITE_COLLECTION_ID=your-collection-id +APPWRITE_TABLE_ID=your-table-id ``` Then, import all necessary libraries in your code: @@ -134,7 +134,7 @@ await db.addCollections({ const collection = db.humans; ``` -> **Note:** Please ensure that the names of your RxDB database and collection match the IDs of your Appwrite database and collection. +> **Note:** Please ensure that the names of your RxDB database and collection match the IDs of your Appwrite database and table. > ## Step 5: Start replication @@ -146,7 +146,7 @@ const replicationState = replicateAppwrite({ replicationIdentifier: 'my-appwrite-replication', client, databaseId: process.env.APPWRITE_DATABASE_ID, - collectionId: process.env.APPWRITE_COLLECTION_ID, + collectionId: process.env.APPWRITE_TABLE_ID, deletedField: 'deleted', // Field that represents deletion in Appwrite collection, pull: { @@ -173,4 +173,4 @@ If you would like to learn more about RxDB and Appwrite Databases, we have some - [RxDB docs for Appwrite](https://rxdb.info/replication-appwrite.html) - [Appwrite offline sync docs](/docs/products/databases/offline) - [Build an offline-first journal app with RxDB and Appwrite](/blog/post/offline-first-journal) -- [Offline-first journal demo app on GitHub](https://github.com/appwrite-community/offline-journal) \ No newline at end of file +- [Offline-first journal demo app on GitHub](https://github.com/appwrite-community/offline-journal) diff --git a/src/routes/integrations/search-algolia/+page.markdoc b/src/routes/integrations/search-algolia/+page.markdoc index 3d21bffd47..1d077acbad 100644 --- a/src/routes/integrations/search-algolia/+page.markdoc +++ b/src/routes/integrations/search-algolia/+page.markdoc @@ -8,14 +8,14 @@ isPartner: true isNew: false cover: /images/integrations/search-algolia/cover.avif category: search -product: +product: avatar: '/images/integrations/avatars/algolia.avif' vendor: Algolia description: 'Algolia is a search platform that helps you add fast and relevant search capabilities to your app.' -platform: +platform: - 'Self-hosted' - 'Cloud' -images: +images: - /images/integrations/search-algolia/cover.avif - /images/integrations/search-algolia/overview.avif - /images/integrations/search-algolia/index.avif @@ -46,13 +46,13 @@ Then, click on the **Search** page from the left sidebar and **create a new Inde ## Step 2: Create the Appwrite Function -For this step, you must [create an account on Appwrite Cloud](https://cloud.appwrite.io/register) or [self-host Appwrite](https://appwrite.io/docs/advanced/self-hosting) if you haven’t already. In case you decide to self-host Appwrite, there are [additional setup steps](https://appwrite.io/docs/advanced/self-hosting/functions) to use Appwrite Function templates. Additionally, for this template, you must have an Appwrite Database and Collection filled with data in advance. +For this step, you must [create an account on Appwrite Cloud](https://cloud.appwrite.io/register) or [self-host Appwrite](https://appwrite.io/docs/advanced/self-hosting) if you haven’t already. In case you decide to self-host Appwrite, there are [additional setup steps](https://appwrite.io/docs/advanced/self-hosting/functions) to use Appwrite Function templates. Additionally, for this template, you must have an Appwrite database and table filled with data in advance. Head over to the Appwrite console, navigate to the **Functions** page, click the **Templates** tab, and search for the **Algolia** function template. ![Function template](/images/integrations/search-algolia/template.avif) -During the setup process, click on the checkbox to create an Appwrite API key on completion and add the Appwrite Database ID and Collection ID for the data you want to index and search as well as the **Algolia application ID**, **search API key**, **write API key** (under Admin API Key), and **index ID** in the **Variables** step. If you are self-hosting Appwrite, click on the **optional variables** dropdown and update the Appwrite endpoint to your instance’s publicly accessible endpoint. +During the setup process, click on the checkbox to create an Appwrite API key on completion and add the Appwrite database ID and table ID for the data you want to index and search as well as the **Algolia application ID**, **search API key**, **write API key** (under Admin API Key), and **index ID** in the **Variables** step. If you are self-hosting Appwrite, click on the **optional variables** dropdown and update the Appwrite endpoint to your instance’s publicly accessible endpoint. ![Env variables](/images/integrations/search-algolia/variables.avif) @@ -62,16 +62,16 @@ Then, create a new repository with the default branch and root directory setting Once all the steps are complete, it is time to test the function! Before we go further, visit the **Domains** tab on the **Functions** page and copy the domain URL to test the function. -Send a POST (HTTP) Request to the function URL to index the Appwrite Collection in Algolia. +Send a POST (HTTP) Request to the function URL to index the Appwrite table in Algolia. ```bash curl -XPOST https://DEPLOYED_FUNCTION_DOMAIN ``` -In case you have a large collection of data and your function executions timeout, you can head to the **Settings** tab on the **Functions** page and increase the function timeout limit from **15 seconds** to **900 seconds** (maximum). - +In case you have a large table of data and your function executions timeout, you can head to the **Settings** tab on the **Functions** page and increase the function timeout limit from **15 seconds** to **900 seconds** (maximum). + Then, open your function URL in the browser to try the interactive search UI. - + ![Demo](/images/integrations/search-algolia/demo.avif) @@ -81,4 +81,4 @@ If you would like to learn more about Algolia, we have some resources that you s - [Sign up for Algolia](https://dashboard.algolia.com/users/sign_up) - [Learn more about Functions templates in Appwrite docs](https://appwrite.io/docs/products/functions/templates) -- [Connect with other developers and the Appwrite team on Discord.](https://discord.com/invite/appwrite) \ No newline at end of file +- [Connect with other developers and the Appwrite team on Discord.](https://discord.com/invite/appwrite) diff --git a/src/routes/integrations/stripe-payments/+page.markdoc b/src/routes/integrations/stripe-payments/+page.markdoc index 2347b295f0..c4f16263db 100644 --- a/src/routes/integrations/stripe-payments/+page.markdoc +++ b/src/routes/integrations/stripe-payments/+page.markdoc @@ -88,7 +88,7 @@ Then, open it in your browser to test the function and access the pre-built inte ![Demo](/images/integrations/stripe-payments/demo.avif) -You can visit the **Databases** page in your Appwrite project, enter the `orders` database and the `orders` collection within that, and find your orders. +You can visit the **Databases** page in your Appwrite project, enter the `orders` database and the `orders` table within that, and find your orders. ![Appwrite database](/images/integrations/stripe-payments/database.avif) @@ -97,4 +97,4 @@ You can visit the **Databases** page in your Appwrite project, enter the `orders If you would like to learn more about Stripe Payments and Appwrite Functions, we have some resources that you should visit: - [Sign up on Stripe](https://stripe.com) -- [Learn more about Functions templates in Appwrite docs](https://appwrite.io/docs/products/functions/templates) \ No newline at end of file +- [Learn more about Functions templates in Appwrite docs](https://appwrite.io/docs/products/functions/templates) From daaff74f5b79290cb2e5ace38cc6c9f1b66ca417 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 25 Jun 2026 15:18:02 +0530 Subject: [PATCH 02/71] latest seo blogs --- .optimize-cache.json | 4 + .../+page.markdoc | 147 ++++++++++++++++ .../+page.markdoc | 138 +++++++++++++++ .../+page.markdoc | 159 ++++++++++++++++++ .../+page.markdoc | 138 +++++++++++++++ .../cover.avif | Bin 0 -> 13988 bytes .../cover.avif | Bin 0 -> 3600 bytes .../cover.avif | Bin 0 -> 7428 bytes .../cover.avif | Bin 0 -> 12953 bytes 9 files changed, 586 insertions(+) create mode 100644 src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc create mode 100644 src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc create mode 100644 src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc create mode 100644 src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc create mode 100644 static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif create mode 100644 static/images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.avif create mode 100644 static/images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif create mode 100644 static/images/blog/what-is-serverless-an-expert-guide-for-developers/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index f926af4a59..ae4dc13c61 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -1257,10 +1257,14 @@ "static/images/blog/what-is-an-ai-backend/cover.png": "cb36f49035cbdcd97a70ac658783741f275d3a220b7cfd16b39d4fb86a929edd", "static/images/blog/what-is-cdn/cover.png": "ef77860288e150c6c22f3950a5eae4c88aefefb6db204f10c2a0544e51548703", "static/images/blog/what-is-ciam/cover.png": "45a5261ae1bb8a38777f60a21ea60426c0832e3d58bf3164100548400d388ce1", + "static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.png": "874a9f48db98f99912d6a7dfa00cca4548d894db042de1a466effa1a4c1fb4c3", + "static/images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.png": "b7f545dbe9334d60f214e748ddfcea47484530a97f30ecf579d064a053c2821d", "static/images/blog/what-is-docker-a-simple-guide-for-developers/cover.png": "acd9c50ad749fcf676dd58b38cc6bbffba913bf5d817c6b725bd2c305088689e", + "static/images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.png": "a7601f375841b143d62511fe3bbfb4bacb6989ddc56613f772b7dcd3d5e90688", "static/images/blog/what-is-mcp/claude-mcp-chat.png": "26842cfebca3ec2cec89448e1c0d7ddb3f5421cc57acdb8780d48d30a54cad82", "static/images/blog/what-is-mcp/claude-mcp-tools.png": "3a5ae700867b8671b5c9e3af61b094aeb64611168463db66ff440e0d427ac6bc", "static/images/blog/what-is-mcp/cover.png": "dc4537990c91d6f1768c5ab8775e5c52239eb901b15e2e74fce8b5a018855c32", + "static/images/blog/what-is-serverless-an-expert-guide-for-developers/cover.png": "fd88e32613ca877625cd69e0e38ba76c3c2cc73da05b789739928712bdd7b454", "static/images/blog/when-custom-backend-stops-being-worth-it/cover.png": "d03b13c4e8f3294823a7883cdae89ca18a4030b170c51f597bd139c9ca274793", "static/images/blog/why-ai-generated-apps-need-backend/cover.png": "8761878c13c51dd8a720a625606b89b93d9c56651aed636fa1b2bd346bd4fd82", "static/images/blog/why-developers-choose-appwrite-auth/cover.png": "f56c37ebfc25191e113b928ff3cf144563be740159e46d75a427bdafdd11214b", diff --git a/src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc new file mode 100644 index 0000000000..902d19cc44 --- /dev/null +++ b/src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc @@ -0,0 +1,147 @@ +--- +layout: post +title: What is cloud computing? An expert guide for developers +description: Learn what cloud computing is, how it works, the IaaS, PaaS, and SaaS models, deployment types, and how it compares to on-premises, in this developer guide. +date: 2026-06-25 +cover: /images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif +timeToRead: 5 +author: aishwari +category: architecture +featured: false +unlisted: true +faqs: + - question: What is cloud computing in simple terms? + answer: Cloud computing is renting computing resources like servers and storage over the internet instead of owning them, paying only for what you use, much like getting electricity from the grid. + - question: What are the three main types of cloud computing? + answer: The three main service models are IaaS (infrastructure), PaaS (platform), and SaaS (software), each offering a different balance of control and convenience. + - question: Is cloud computing secure? + answer: Cloud computing can be very secure, with providers investing heavily in infrastructure security. Most issues come from customer misconfiguration, so configuring access and protecting data correctly is essential. + - question: "What's the difference between cloud computing and the internet?" + answer: The internet is the global network that connects computers. Cloud computing is the delivery of computing services over that network. The cloud uses the internet, but they are not the same thing. +--- +**Cloud computing is the delivery of computing services such as servers, storage, databases, networking, and software over the internet, on demand and paid for by usage.** Instead of buying and running your own hardware, you rent computing resources from a provider and scale them up or down as you need, turning large upfront costs into flexible operating expenses. + +This guide explains what cloud computing is, how it works, its service and deployment models, how it compares to on-premises infrastructure, its benefits and trade-offs, and how to get started. It's written for developers who want a complete picture, not just a definition. + +# What does cloud computing mean? + +Cloud computing means accessing computing resources over the internet rather than owning and maintaining them yourself. A cloud provider operates vast data centers full of servers and storage, and you use as much or as little of that capacity as you need, paying only for what you consume. + +You can think of cloud computing like electricity from the grid. You don't run your own power plant. You plug into the grid, use the electricity you need, and pay for that usage. Cloud computing delivers computing power the same way: as a utility you tap into on demand, without managing the infrastructure that produces it. + +This shift has transformed how software is built. Startups can launch global applications without buying a single server, and large companies can scale instantly to meet demand. Providers like Amazon Web Services, Microsoft Azure, and Google Cloud popularized the model, and it now underpins most of the modern internet. + +# Why does cloud computing matter? + +Cloud computing matters because it removes the cost and complexity of owning infrastructure and lets anyone build and scale quickly. Here is why it's foundational: + +* **No upfront hardware costs.** You rent capacity instead of buying servers, turning capital expense into flexible operating expense. +* **Scalability on demand.** Resources grow and shrink with your needs, so you handle traffic spikes without over-provisioning. +* **Global reach.** Providers run data centers worldwide, letting you deploy close to users for speed and reliability. +* **Speed.** You can provision servers, databases, and services in minutes rather than weeks. +* **Less maintenance.** The provider handles hardware, power, cooling, and much of the operational burden. + +# How does cloud computing work? + +Cloud computing works through **virtualization**, which lets a provider divide powerful physical servers into many virtual ones that customers use independently. When you request resources, the provider allocates them from its pool of hardware, and you access them over the internet through a dashboard, command-line tools, or APIs. + +Behind the scenes, providers run enormous data centers and use software to manage allocation, scaling, networking, and fault tolerance automatically. If demand rises, more resources are provisioned. If hardware fails, workloads shift to healthy machines. You're billed based on usage, such as compute time, storage consumed, and data transferred, which is the **pay-as-you-go** model at the heart of cloud computing. + +This abstraction is what makes the cloud powerful: you work with computing resources as flexible, on-demand services without ever touching the physical machines. + +# What are the types of cloud computing? + +Cloud services are commonly grouped into three main models, each offering a different level of control and convenience. + +**Infrastructure as a Service (IaaS)** provides the basic building blocks: virtual servers, storage, and networking. You manage the operating system and applications, while the provider handles the hardware. It offers the most control and flexibility. + +**Platform as a Service (PaaS)** provides a ready-made environment for building and running applications, handling the underlying infrastructure and runtime so you focus on your code. + +**Software as a Service (SaaS)** delivers complete applications over the internet, such as email or collaboration tools, with the provider managing everything. You just use the software. + +Newer models extend this further, including **serverless** computing and **Backend as a Service (BaaS)**, which provide ready-made backend features through APIs. You can read more in our guide to [serverless](https://appwrite.io/blog). + +# What are the cloud deployment models? + +Beyond service types, the cloud comes in different deployment models that describe where and how resources are hosted. + +* **Public cloud**, where resources are owned by a provider and shared among many customers over the internet. It's the most common and cost-effective model. +* **Private cloud**, dedicated infrastructure used by a single organization, offering more control and often used for sensitive workloads. +* **Hybrid cloud**, which combines public and private clouds so workloads can move between them. +* **Multi-cloud**, using more than one public provider to avoid lock-in or use the best service from each. + +# Cloud computing vs on-premises: What's the difference? + +On-premises means running your own hardware in your own facility, where you buy, maintain, and scale everything yourself. It offers full control but requires significant upfront investment and ongoing operational work. Cloud computing rents that capacity from a provider, scaling on demand and charging by usage, which removes the hardware burden at the cost of depending on a provider and an internet connection. + +| Aspect | Cloud computing | On-premises | +| ------------ | --------------------------- | ---------------------------- | +| Upfront cost | Low, pay as you go | High, buy hardware | +| Scaling | On demand | Buy more hardware | +| Maintenance | Handled by provider | Your responsibility | +| Control | Less over hardware | Full control | +| Best for | Variable, growing workloads | Strict control or compliance | + +Many organizations use a mix, keeping some systems on-premises while moving others to the cloud. + +# Common cloud computing use cases + +* **Hosting websites and applications.** Run web and mobile backends without owning servers. +* **Data storage and backup.** Store and protect large volumes of data durably and cheaply. +* **Big data and analytics.** Process large datasets using scalable compute on demand. +* **Development and testing.** Spin up environments instantly and tear them down when done. +* **AI and machine learning.** Access powerful hardware like GPUs without buying it outright. + +# What are the benefits of cloud computing? + +The advantages are significant. Cloud computing eliminates upfront hardware costs and converts them to flexible, usage-based spending. It scales instantly with demand, so you never over-provision or run short. It offers global reach, high reliability through redundant infrastructure, and rapid provisioning that lets teams move fast. The provider handles maintenance, security of the underlying hardware, and uptime, freeing you to focus on building. For most teams, the cloud turns infrastructure from a barrier into an enabler. + +# What are the challenges of cloud computing? + +Cloud computing is not without trade-offs, and understanding them helps you use it wisely. + +* **Ongoing cost management.** Pay-as-you-go can become expensive without monitoring, especially data transfer fees. +* **Security responsibility.** Providers secure the infrastructure, but you're responsible for configuring access and protecting your data. +* **Internet dependency.** Access requires connectivity, so outages can affect availability. +* **Vendor lock-in.** Relying heavily on one provider's services can make migration difficult. Open standards and multi-cloud reduce this. +* **Complexity.** The breadth of cloud services can be overwhelming and requires learning to use well. + +# How to get started with cloud computing + +Getting hands-on is the fastest way to understand the cloud. + +1. **Create an account** with a cloud provider or a managed platform, many of which offer free tiers. +2. **Launch a basic resource**, such as a virtual server or a storage bucket, to see how provisioning works. +3. **Deploy a simple application** to the cloud and access it over the internet. +4. **Explore managed services** like databases and storage that remove operational work. +5. **Monitor usage and cost** from the start so you understand the pay-as-you-go model. + +A platform like [Appwrite](https://appwrite.io/docs) provides cloud-hosted backend services including auth, databases, storage, and functions, which is a fast way to build on the cloud without managing infrastructure. + +# Cloud computing best practices + +* **Monitor costs continuously** and set budgets and alerts to avoid surprises. +* **Apply least-privilege access** so users and services have only the permissions they need. +* **Encrypt data** in transit and at rest, and configure security carefully. +* **Use managed services** where possible to reduce operational burden. +* **Design for failure** by spreading workloads across redundant infrastructure. +* **Avoid unnecessary lock-in** by favoring open standards and portable architectures. + +# Conclusion + +Cloud computing is the delivery of computing resources over the internet on demand, transforming infrastructure from something you buy and maintain into a flexible service you tap into as needed. Understanding its core pieces, namely the IaaS, PaaS, and SaaS service models, the public, private, and hybrid deployment models, and the pay-as-you-go billing that ties them together, gives you the foundation to build and scale modern applications. Because it underpins almost all of today's software, familiarity with the cloud is essential for any developer. The best way to learn cloud computing is to create an account, launch a resource, and deploy something real to see the model in action. + +# Start building + +Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. + +Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. + +## Resources + +* [Appwrite documentation](https://appwrite.io/docs) +* [Appwrite AI products](https://appwrite.io/docs/products/ai) +* [Appwrite integrations](https://appwrite.io/integrations) +* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) +* [Appwrite on GitHub](https://github.com/appwrite/appwrite) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc new file mode 100644 index 0000000000..f50e6d3224 --- /dev/null +++ b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc @@ -0,0 +1,138 @@ +--- +layout: post +title: What is cloud storage? An expert guide for developers +description: Learn what cloud storage is, how it works, key types, benefits, trade-offs, and best practices for developers. +date: 2026-06-25 +cover: /images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.avif +timeToRead: 5 +author: aditya-oberai +category: architecture +featured: false +unlisted: true +faqs: + - question: Is cloud storage safe? + answer: Its safety depends on configuring permissions correctly and choosing a reputable provider, since most breaches come from misconfiguration rather than the provider itself. + - question: "What's the difference between cloud storage and a database?" + answer: Cloud storage holds files and unstructured data like images and documents. A database stores structured, queryable records. Many applications use both, storing files in cloud storage and metadata in a database. + - question: Is cloud storage free? + answer: Many providers offer a free tier with limited capacity. Beyond that, you pay based on how much you store and how much data you transfer out, so costs scale with usage. + - question: What is object storage? + answer: Object storage saves data as self-contained objects (file plus metadata plus an ID) in a flat structure called a bucket. It scales massively and is the most common type for application files and media. +--- +Cloud storage is a model where data is saved on remote servers managed by a provider and accessed over the internet, instead of being kept only on a local device or on-premises hardware. You upload files to the cloud, the provider stores them across reliable, scalable infrastructure, and you can access them from anywhere through an app, website, or API. + +This guide explains what cloud storage is, how it works, the main types, how it compares to local storage, its benefits and trade-offs, and how to get started. It's written for developers who want a complete picture, not just a definition. + +# What does cloud storage do? + +Cloud storage lets you store and retrieve data without owning or managing the physical hardware it lives on. Instead of buying disks, maintaining servers, and worrying about backups and capacity, you hand your data to a provider that runs all of that for you across data centers around the world. + +You can think of cloud storage like renting space in a professionally managed warehouse instead of stacking boxes in your own garage. The warehouse handles security, climate control, and expansion, and you can retrieve your belongings whenever you need them from wherever you are. You pay for the space you use and never worry about the building itself. + +For developers, cloud storage usually means storing application data, user uploads, backups, media files, and static assets in a service that scales automatically and is reachable through a simple API. + +# Why does cloud storage matter? + +Cloud storage matters because data is growing relentlessly and managing it on your own hardware is expensive and limiting. Here is why teams rely on it: + +* **Scalability.** You can store a few megabytes or many petabytes, and capacity grows on demand without buying hardware. +* **Accessibility.** Data is reachable from anywhere over the internet, which is essential for web, mobile, and distributed teams. +* **Cost efficiency.** You pay only for what you use, avoiding the upfront cost of servers and the waste of unused capacity. +* **Durability and backups.** Providers replicate data across locations, so a single hardware failure doesn't lose your files. +* **Less maintenance.** The provider handles hardware, patching, and uptime, freeing you to focus on your application. + +# How does cloud storage work? + +When you save data to cloud storage, it travels over the internet to a provider's data centers, where it's written to storage systems and typically replicated across multiple machines or even multiple geographic regions. This redundancy is what makes cloud storage durable: if one copy fails, others remain intact. + +You interact with the storage through an API or a client library, uploading and downloading files, listing them, and setting permissions that control who can access what. Behind the scenes, the provider handles the physical disks, networking, scaling, and fault tolerance. + +Most cloud storage also offers features like access control, encryption at rest and in transit, versioning to keep previous copies of a file, and lifecycle rules that automatically move or delete data over time to manage cost. + +# What are the main types of cloud storage? + +Cloud storage comes in three main types, each suited to different needs. + +**Object storage** keeps data as discrete objects, each with the file, metadata, and a unique identifier, in a flat structure often called a bucket. It scales massively and is ideal for unstructured data like images, videos, backups, and static assets. [Amazon S3](https://aws.amazon.com/s3/) is the best-known example, and [Appwrite Storage](https://appwrite.io/docs/products/storage) offers a similar capability for application files. + +**File storage** organizes data in a traditional hierarchy of folders and files, accessed like a shared network drive. It suits applications that expect a familiar file system structure. + +**Block storage** splits data into fixed-size blocks and is typically attached to servers as high-performance volumes, much like a virtual hard drive. It's used for databases and applications that need fast, low-latency access. + +Most application developers work with object storage, since it's the most scalable and cost-effective choice for files and media. + +# Cloud storage vs local storage: What's the difference? + +Local storage keeps data on a device or on-premises hardware that you own and manage. It's fast to access and fully under your control, but it's limited by the capacity you've bought, vulnerable to hardware failure, and hard to access from elsewhere. Cloud storage keeps data on remote, managed infrastructure that scales on demand and is reachable from anywhere, at the cost of depending on an internet connection and a provider. + +| Aspect | Cloud storage | Local storage | +| ----------- | ------------------------- | ---------------------------- | +| Location | Remote data centers | Your device or hardware | +| Scalability | Virtually unlimited | Limited by hardware | +| Access | Anywhere with internet | On-device or local network | +| Maintenance | Handled by provider | Your responsibility | +| Best for | Sharing, scaling, backups | Speed, offline, full control | + +Many setups combine both, keeping frequently used data local and using the cloud for backups, sharing, and overflow. + +# Common cloud storage use cases + +* **User-generated content.** Store profile pictures, documents, and uploads from app users. +* **Media hosting.** Serve images, video, and audio at scale to web and mobile apps. +* **Backups and disaster recovery.** Keep durable, off-site copies of critical data. +* **Static website assets.** Host files like images, CSS, and downloads, often paired with a CDN. +* **Data archiving.** Store large volumes of infrequently accessed data cheaply for compliance or history. + +# What are the benefits of cloud storage? + +The advantages are substantial. Cloud storage scales effortlessly, so you never run out of space or over-provision hardware. It's durable, replicating your data so failures don't lose it, and accessible from anywhere, which is essential for modern applications. You pay only for what you use, the provider handles maintenance and uptime, and built-in features like encryption, versioning, and access control come standard. For most developers, it removes an entire category of infrastructure work. + +# What are the challenges of cloud storage? + +Cloud storage is not without trade-offs, and understanding them helps you use it well. + +* **Internet dependency.** Access requires a connection, so offline use needs caching or local copies. +* **Latency.** Reaching remote storage is slower than a local disk, which matters for performance-sensitive workloads. +* **Ongoing cost.** Storage and especially data transfer (egress) fees can add up at scale and need monitoring. +* **Security and privacy.** You're trusting a provider with your data, so encryption, access control, and compliance require care. +* **Vendor lock-in.** Heavy reliance on one provider's features can make migrating difficult. Open-source options reduce this risk. + +# How to get started with cloud storage + +Getting hands-on is the fastest way to learn. + +1. **Choose a provider or platform**, such as a major cloud's object storage or an open-source backend like Appwrite Storage. +2. **Create a bucket** to hold your files, the basic container in object storage. +3. **Upload and download a file** through the console or an API to see the basic flow. +4. **Set permissions** to control who can read or write, which is critical for security. +5. **Integrate it into an app**, for example storing user uploads and serving them back. + +A backend platform like [Appwrite](https://appwrite.io/docs) provides storage alongside auth, databases, and functions, so you can manage user files and the rest of your backend in one place. + +# Cloud storage best practices + +* **Set least-privilege access** so files are only readable or writable by those who need them. +* **Encrypt sensitive data**, relying on both encryption in transit and at rest. +* **Use a CDN for public assets** to reduce latency and egress costs for frequently accessed files. +* **Apply lifecycle rules** to move old data to cheaper tiers or delete it automatically. +* **Validate uploads** for size and type to prevent abuse and unexpected costs. +* **Monitor usage and egress** so storage and transfer costs don't surprise you. + +# Conclusion + +Cloud storage is the model that lets you store and access data on managed remote infrastructure instead of your own hardware, scaling on demand and reachable from anywhere. Understanding its core pieces, namely the object, file, and block types, how data is replicated for durability, and trade-offs like latency, cost, and security, gives you the foundation to choose and use it well. For modern web and mobile applications, it's the standard way to handle user uploads, media, and backups without managing servers. The best way to learn cloud storage is to create a bucket, upload a file through an API, and wire it into a real app. + +# Start building + +Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. + +Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. + +## Resources + +* [Appwrite documentation](https://appwrite.io/docs) +* [Appwrite AI products](https://appwrite.io/docs/products/ai) +* [Appwrite integrations](https://appwrite.io/integrations) +* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) +* [Appwrite on GitHub](https://github.com/appwrite/appwrite) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc new file mode 100644 index 0000000000..61a63ff91c --- /dev/null +++ b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc @@ -0,0 +1,159 @@ +--- +layout: post +title: What is Kubernetes? An expert guide for developers +description: Learn what Kubernetes is, how its architecture works, core components like pods and services, and how it differs from Docker, in this developer guide. +date: 2026-06-25 +cover: /images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif +timeToRead: 5 +author: aishwari +category: devops +featured: false +unlisted: true +faqs: + - question: Is Kubernetes hard to learn? + answer: Kubernetes has a steeper learning curve than most tools because it introduces many concepts at once. The basics are approachable within a few weeks, but mastering production operations takes longer. + - question: Is Kubernetes the same as Docker? + answer: No. Docker builds and runs individual containers. Kubernetes orchestrates many containers across many machines. They are usually used together. + - question: Do I need Kubernetes for a small app? + answer: Often not. For a single small service, simpler options are easier and cheaper. Kubernetes pays off when you have multiple services, real scaling needs, or strict uptime requirements. + - question: "What does \"K8s\" mean?" + answer: "K8s is a shorthand for Kubernetes, where the \"8\" stands for the eight letters between the \"K\" and the \"s.\"" +--- +**Kubernetes is an open-source platform that automates deploying, scaling, and managing containerized applications across a cluster of machines.** Often shortened to "K8s," it takes the manual work out of running containers in production by deciding where they run, restarting them when they fail, and scaling them up or down as demand changes. + +This guide explains what Kubernetes is, how its architecture works, the core building blocks you'll use every day, how it differs from Docker, and how to get started. It's written for developers who want real depth, not just a definition. + +# What does Kubernetes do? + +Kubernetes is a **container orchestrator**. Once you've packaged your applications into containers, Kubernetes manages running them reliably at scale. Instead of manually starting containers on specific servers, you tell Kubernetes the desired state of your system, and it works continuously to make reality match that state. + +You can think of Kubernetes as an air traffic controller for containers. You declare how many instances of an application should be running and what resources they need, and Kubernetes places them on available machines, watches them, reroutes around failures, and keeps everything organized as conditions change. + +This **declarative model** is the heart of Kubernetes. You describe *what* you want, and the system figures out *how* to achieve and maintain it. Originally designed by Google and now maintained by the [Cloud Native Computing Foundation](https://www.cncf.io/), Kubernetes has become the de facto standard for running containers in production. + +# Why does Kubernetes matter? + +Kubernetes matters because running a handful of containers is easy, but running hundreds across many servers reliably is hard. Here is why teams adopt it: + +* **Automated scaling.** Kubernetes can add or remove application instances automatically based on traffic, so you handle spikes without manual intervention. +* **Self-healing.** When a container crashes or a server dies, Kubernetes restarts or reschedules the affected workloads to keep your app running. +* **Portability.** Kubernetes runs on any cloud or on-premises hardware, so you avoid lock-in and can move workloads between environments. +* **Efficient resource use.** It packs containers onto machines intelligently, getting more out of your infrastructure. +* **Consistency at scale.** The same declarative configuration deploys your app identically across development, staging, and production. + +# How does Kubernetes work? + +A Kubernetes deployment is called a **cluster**, and every cluster has two kinds of machines: the **control plane** and the **worker nodes**. The control plane makes global decisions about the cluster, while worker nodes run your actual application containers. + +You interact with the cluster by submitting configuration, usually written in YAML, that describes your desired state. The control plane stores this desired state and continuously compares it against the current state of the cluster. Whenever the two differ, Kubernetes takes action to close the gap. This constant loop of "observe, compare, correct" is known as the **reconciliation loop**, and it's what gives Kubernetes its self-healing and self-managing behavior. + +# What are the core Kubernetes components? + +A few building blocks make up almost everything you'll do in Kubernetes. + +## Pods + +A **pod** is the smallest deployable unit in Kubernetes. It wraps one or more closely related containers that share storage and networking. Most pods run a single container, and Kubernetes scales applications by running multiple identical pods. + +## Nodes and clusters + +A **node** is a single worker machine, virtual or physical, that runs pods. A **cluster** is the full set of nodes plus the control plane that manages them. + +## Deployments and ReplicaSets + +A **Deployment** describes the desired state for your application, such as which container image to run and how many copies you want. It uses a **ReplicaSet** under the hood to ensure the right number of pod replicas are always running, and it handles rolling updates and rollbacks gracefully. + +## Services + +Pods are ephemeral and their addresses change, so a **Service** provides a stable network endpoint and load-balances traffic across a set of pods. This lets other parts of your system reach your application reliably even as individual pods come and go. + +## Ingress + +An **Ingress** manages external HTTP and HTTPS access to services in the cluster, handling routing rules, hostnames, and TLS so outside traffic reaches the right service. + +## ConfigMaps and Secrets + +**ConfigMaps** store non-sensitive configuration, and **Secrets** store sensitive values like passwords and API keys, keeping configuration separate from your container images. + +## Namespaces + +**Namespaces** partition a cluster into virtual sub-clusters, which helps separate teams, environments, or projects within the same physical infrastructure. + +# The Kubernetes control plane explained + +The control plane is the brain of the cluster, made up of several cooperating components: + +* **API server** is the front door to Kubernetes. Every command and component talks to the cluster through it. +* **etcd** is the cluster's database, a consistent key-value store that holds the entire cluster state. You can read more about it at [etcd.io](https://etcd.io/). +* **Scheduler** decides which node each new pod should run on, based on resource needs and constraints. +* **Controller manager** runs the controllers that drive the reconciliation loop, making sure actual state matches desired state. + +On each worker node, two agents do the local work: the **kubelet**, which makes sure the containers described for that node are running and healthy, and **kube-proxy**, which handles networking rules so traffic reaches the right pods. + +# Kubernetes vs Docker: What's the difference? + +This is one of the most common points of confusion, so it's worth being precise. [Docker](https://www.docker.com/) is a tool for building and running individual containers on a single host. Kubernetes is a system for orchestrating many containers across many hosts. + +They are not competitors. In a typical workflow, you use Docker (or another container tool) to build container images, then use Kubernetes to deploy and manage those containers at scale. If you're new to containers, start by understanding Docker first, since Kubernetes assumes you already have containerized applications to run. + +| Aspect | Docker | Kubernetes | +| ------------ | ------------------------ | --------------------------------- | +| Primary role | Build and run containers | Orchestrate containers at scale | +| Scope | Usually a single host | A cluster of many machines | +| Scaling | Manual | Automated | +| Self-healing | No | Yes | +| Best for | Packaging and local dev | Production deployment and scaling | + +# How does Kubernetes handle scaling and self-healing? + +Kubernetes scales in two main ways. **Horizontal scaling** adds or removes pod replicas, and the **Horizontal Pod Autoscaler** can do this automatically based on metrics like CPU usage. **Cluster autoscaling** can even add or remove worker nodes when the cluster runs short on capacity. + +Self-healing comes from the reconciliation loop. If a pod crashes, Kubernetes starts a new one. If a node fails, its pods are rescheduled onto healthy nodes. **Health checks**, called liveness and readiness probes, tell Kubernetes when a container is broken or not yet ready, so traffic only goes to pods that can actually serve it. + +# Common Kubernetes use cases + +* **Microservices.** Deploy, scale, and update dozens of independent services without managing each one by hand. +* **CI/CD and rolling deployments.** Ship new versions with zero downtime and roll back instantly if something breaks. +* **Hybrid and multi-cloud.** Run the same workloads consistently across different cloud providers and on-premises hardware. +* **Batch and data processing.** Run large, parallel jobs that spin up and tear down on demand. +* **Highly available services.** Keep critical applications running through failures with automatic recovery. + +# How to get started with Kubernetes + +Getting hands-on is the fastest way to learn. + +1. **Containerize an app first.** Make sure you have a working container image before touching Kubernetes. +2. **Run a local cluster** using a tool like Minikube or kind, which lets you experiment without cloud costs. +3. **Learn `kubectl`**, the command-line tool for interacting with clusters. Try `kubectl get pods` and `kubectl apply -f`. +4. **Write a simple Deployment and Service** in YAML, apply it, and watch Kubernetes run your app. +5. **Experiment with scaling and failure.** Increase replicas, delete a pod, and watch the cluster heal itself. + +When you're ready for production, managed Kubernetes services from major cloud providers handle the control plane for you. For backend features around your app, [Appwrite](https://appwrite.io/docs) gives you auth, databases, storage, and functions that complement a container-based deployment. + +# Kubernetes best practices + +* **Set resource requests and limits** on every container so the scheduler can place workloads well and prevent one pod from starving others. +* **Use liveness and readiness probes** so Kubernetes knows the real health of your containers. +* **Keep configuration in ConfigMaps and Secrets**, never hardcoded in images. +* **Use namespaces** to separate environments and teams cleanly. +* **Pin image versions** instead of relying on `latest` for reproducible deployments. +* **Start simple.** Kubernetes is powerful but complex, so adopt features as you genuinely need them. + +# Conclusion + +Kubernetes is the standard for running containerized applications reliably at scale, automating the deployment, scaling, and healing that would otherwise consume enormous manual effort. Understanding its core pieces, namely pods, deployments, services, the control plane, and the reconciliation loop that ties them together, gives you the foundation to run resilient systems in production. The learning curve is real, but the payoff is significant once your application outgrows a single server. The best way to learn Kubernetes is to containerize an app, spin up a local cluster, and watch it manage and heal your workloads firsthand. + +# Start building + +Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. + +Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. + +## Resources + +* [Appwrite documentation](https://appwrite.io/docs) +* [Appwrite AI products](https://appwrite.io/docs/products/ai) +* [Appwrite integrations](https://appwrite.io/integrations) +* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) +* [Appwrite on GitHub](https://github.com/appwrite/appwrite) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc new file mode 100644 index 0000000000..eda32d6c82 --- /dev/null +++ b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc @@ -0,0 +1,138 @@ +--- +layout: post +title: What is serverless? An expert guide for developers +description: Learn what serverless means, how it works, FaaS vs BaaS, how it compares to servers and containers, plus benefits and trade-offs, in this developer guide. +date: 2026-06-25 +cover: /images/blog/what-is-serverless-an-expert-guide-for-developers/cover.avif +timeToRead: 5 +author: atharva +category: architecture +featured: false +unlisted: true +faqs: + - question: Does serverless mean there are no servers? + answer: "No. Servers still run your code. The term means you don't manage them. The cloud provider provisions, scales, and maintains the infrastructure on your behalf." + - question: Is serverless the same as cloud computing? + answer: "No. Serverless is one model within cloud computing. Cloud computing also includes virtual machines, containers, and managed services that don't fit the serverless model." + - question: Is serverless cheaper than traditional hosting? + answer: Often, yes, for variable or low-to-moderate traffic, because you pay only when code runs. For steady, high-volume workloads, always-on servers can sometimes be more cost-effective. + - question: When should I not use serverless? + answer: Avoid serverless for long-running tasks that exceed execution limits, latency-critical workloads sensitive to cold starts, or steady high-volume traffic where reserved capacity is cheaper. +--- +**Serverless is a cloud computing model where you write and deploy code without managing the servers that run it, and you pay only for the resources your code actually uses.** Despite the name, servers are still involved. The difference is that the cloud provider provisions, scales, and maintains them for you, so you focus purely on your application. + +This guide explains what serverless is, how it works, the main types, how it compares to servers and containers, its benefits and trade-offs, and how to get started. It's written for developers who want a complete picture, not just a definition. + +# What does "serverless" actually mean? + +Serverless does not mean there are no servers. It means you, the developer, never have to think about them. Instead of renting a server, configuring it, keeping it patched, and scaling it under load, you hand your code to a cloud platform that runs it on demand and handles everything underneath. + +You can think of serverless like ride-sharing instead of owning a car. With a server, you own the vehicle: you maintain it, insure it, and park it whether or not you're driving. With serverless, you summon a ride only when you need one, pay for that trip, and never worry about maintenance. The infrastructure exists, but it's someone else's responsibility. + +The defining traits of serverless are that the provider manages all infrastructure, your code scales automatically from zero to many instances, and you're billed based on actual usage rather than reserved capacity. This model emerged in the mid-2010s with services like [AWS Lambda](https://aws.amazon.com/lambda/) and has since become a core part of modern cloud development. + +# Why does serverless matter? + +Serverless matters because it removes a large category of operational work and lets small teams ship and scale quickly. Here is why developers adopt it: + +* **No server management.** You don't provision, patch, or maintain machines, which frees you to focus on writing features. +* **Automatic scaling.** Serverless platforms scale your code from zero to thousands of concurrent executions and back down, with no manual configuration. +* **Pay for what you use.** You're billed per request and per millisecond of compute, so idle code costs little or nothing. +* **Faster time to market.** With infrastructure handled, you can prototype and deploy in hours rather than days. +* **Built-in availability.** Providers run your code across redundant infrastructure, giving you resilience without extra effort. + +# How does serverless work? + +Serverless is fundamentally **event-driven**. Your code sits dormant until something triggers it: an HTTP request, a file upload, a database change, a scheduled timer, or a message in a queue. When a trigger fires, the platform spins up an instance of your function, runs it, returns the result, and then tears the instance down. + +Because instances are created on demand, the platform can run many copies of your function in parallel to handle bursts of traffic, then scale back to zero when demand drops. This is what makes serverless both elastic and cost-efficient. + +One important detail is the **cold start**. When a function hasn't run recently, the platform needs a moment to initialize a new instance, which adds latency to that first request. Subsequent requests reuse the warm instance and are faster. Cold starts are one of the main trade-offs to understand when designing serverless systems. + +# What are the main types of serverless? + +Serverless comes in two broad categories that often work together. + +**Functions as a Service (FaaS)** lets you deploy individual functions that run in response to events. You write a small piece of logic, and the platform handles everything else. AWS Lambda, Google Cloud Functions, Azure Functions, and [Appwrite Functions](https://appwrite.io/docs/products/functions) are examples. + +**Backend as a Service (BaaS)** provides ready-made backend features, such as authentication, databases, storage, and real-time messaging, through APIs you call directly. Instead of building and hosting these services yourself, you consume them as managed components. Many modern backend platforms combine FaaS and BaaS so you get both custom logic and prebuilt features in one place. + +# Serverless vs traditional servers: What's the difference? + +With a traditional server or virtual machine, you rent a fixed amount of capacity that runs continuously. You're responsible for provisioning, scaling, patching, and securing it, and you pay for it whether or not it's handling requests. With serverless, the provider handles all of that, capacity scales automatically with demand, and you pay only when your code runs. + +| Aspect | Serverless | Traditional servers | +| ----------------- | -------------------------------- | ----------------------------- | +| Server management | Handled by provider | Your responsibility | +| Scaling | Automatic | Manual or configured | +| Billing | Per use | For reserved capacity | +| Idle cost | Near zero | You pay regardless | +| Best for | Variable, event-driven workloads | Steady, predictable workloads | + +# Serverless vs containers: What's the difference? + +Serverless and containers both help you run applications, but at different levels of control. Containers, often managed with [Kubernetes](https://kubernetes.io/), give you full control over the runtime environment and run continuously, which suits long-running or stateful workloads. Serverless abstracts the environment away entirely and runs only in response to events, which suits short, bursty tasks. + +They aren't mutually exclusive. Many architectures use serverless functions for event-driven glue and containers for steady, resource-intensive services. The right choice depends on your workload's shape, latency needs, and how much control you want over the runtime. + +# Common serverless use cases + +* **APIs and backends.** Serverless functions behind an API gateway power web and mobile app backends without dedicated servers. +* **Event processing.** React to file uploads, database changes, or queue messages automatically. +* **Scheduled tasks.** Run cron-style jobs like cleanups, reports, or syncs without a running server. +* **Real-time data and webhooks.** Handle incoming events and notifications as they arrive. +* **Rapid prototyping.** Stand up a working backend quickly to validate an idea before investing in infrastructure. + +# What are the benefits of serverless? + +The advantages of serverless are significant. You eliminate server management, scale automatically with demand, and pay only for actual usage, which can dramatically reduce costs for variable workloads. Development moves faster because infrastructure is handled, and your applications inherit the provider's reliability and global reach. For many teams, especially small ones, serverless turns weeks of setup into minutes. + +# What are the drawbacks of serverless? + +Serverless is not the right fit for everything, and understanding the trade-offs matters. + +* **Cold starts.** Infrequently used functions add latency on their first invocation, which can hurt latency-sensitive applications. +* **Vendor lock-in.** Building heavily on one provider's serverless ecosystem can make migration difficult. Open-source platforms reduce this risk. +* **Execution limits.** Functions often have time and memory limits, so long-running tasks may not fit the model. +* **Harder debugging.** Distributed, ephemeral functions can be more complex to monitor and debug than a single application. +* **Cost at scale.** For steady, high-volume workloads, always-on servers can sometimes be cheaper than per-request billing. + +# How to get started with serverless + +Getting hands-on is the fastest way to understand serverless. + +1. **Pick a platform** such as AWS Lambda, Google Cloud Functions, or an open-source option like Appwrite Functions. +2. **Write a simple function**, for example one that returns a greeting or processes an incoming request. +3. **Connect a trigger**, such as an HTTP endpoint, so you can invoke your function from a browser or client. +4. **Deploy and test it**, watching how the platform runs your code without any server setup. +5. **Add backend features** like a database or authentication through a BaaS so your function does something useful. + +A platform like [Appwrite](https://appwrite.io/docs) combines serverless functions with auth, databases, and storage, which is a fast way to build a complete serverless backend in one place. + +# Serverless best practices + +* **Keep functions small and focused** so they start quickly and are easy to reason about. +* **Minimize cold starts** by reducing dependencies and, where supported, keeping critical functions warm. +* **Make functions stateless** and store state in a database or storage service, not in the function itself. +* **Set sensible timeouts and memory limits** to control cost and catch runaway executions. +* **Handle failures gracefully** with retries and dead-letter queues for event-driven workloads. +* **Monitor and log everything**, since observability is essential in a distributed serverless system. + +# Conclusion + +Serverless is a cloud model that lets you run code without managing servers, scaling automatically and charging only for what you use. Understanding its core ideas, namely event-driven execution, automatic scaling, the FaaS and BaaS categories, and trade-offs like cold starts and vendor lock-in, gives you the foundation to decide when serverless is the right tool. For event-driven workloads, rapid prototypes, and small teams, it removes enormous operational burden. The best way to learn serverless is to deploy a single function, connect it to a trigger, and watch the platform scale it for you without a server in sight. + +# Start building + +Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. + +Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. + +## Resources + +* [Appwrite documentation](https://appwrite.io/docs) +* [Appwrite AI products](https://appwrite.io/docs/products/ai) +* [Appwrite integrations](https://appwrite.io/integrations) +* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) +* [Appwrite on GitHub](https://github.com/appwrite/appwrite) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif b/static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..997a9c0f92ff95793d8b0c1ff8fbd872dfe2967b GIT binary patch literal 13988 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 rF}ljI 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 C2h|4v literal 0 HcmV?d00001 diff --git a/static/images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.avif b/static/images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..cd4136d9466078bfb43175532089ff16661d7f0b GIT binary patch literal 3600 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 Kwf|%MPx60&mTSNO literal 0 HcmV?d00001 diff --git a/static/images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif b/static/images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..eda4d5d156877c92f1404979f65ad2a2294dd7f8 GIT binary patch literal 7428 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 literal 0 HcmV?d00001 diff --git a/static/images/blog/what-is-serverless-an-expert-guide-for-developers/cover.avif b/static/images/blog/what-is-serverless-an-expert-guide-for-developers/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..89ef5766bb7142371cfaaf2b5f715df2cf0f1241 GIT binary patch literal 12953 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 F{{s{zg4F;3 literal 0 HcmV?d00001 From 4b3d0bd1ee1dbf732328ffae6d4111bd1baaecec Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 25 Jun 2026 10:38:51 +0000 Subject: [PATCH 03/71] remove cloud computing SEO blog and image --- .optimize-cache.json | 1 - .../+page.markdoc | 147 ------------------ .../cover.avif | Bin 13988 -> 0 bytes 3 files changed, 148 deletions(-) delete mode 100644 src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc delete mode 100644 static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index ae4dc13c61..4885d25550 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -1257,7 +1257,6 @@ "static/images/blog/what-is-an-ai-backend/cover.png": "cb36f49035cbdcd97a70ac658783741f275d3a220b7cfd16b39d4fb86a929edd", "static/images/blog/what-is-cdn/cover.png": "ef77860288e150c6c22f3950a5eae4c88aefefb6db204f10c2a0544e51548703", "static/images/blog/what-is-ciam/cover.png": "45a5261ae1bb8a38777f60a21ea60426c0832e3d58bf3164100548400d388ce1", - "static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.png": "874a9f48db98f99912d6a7dfa00cca4548d894db042de1a466effa1a4c1fb4c3", "static/images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.png": "b7f545dbe9334d60f214e748ddfcea47484530a97f30ecf579d064a053c2821d", "static/images/blog/what-is-docker-a-simple-guide-for-developers/cover.png": "acd9c50ad749fcf676dd58b38cc6bbffba913bf5d817c6b725bd2c305088689e", "static/images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.png": "a7601f375841b143d62511fe3bbfb4bacb6989ddc56613f772b7dcd3d5e90688", diff --git a/src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc deleted file mode 100644 index 902d19cc44..0000000000 --- a/src/routes/blog/post/what-is-cloud-computing-an-expert-guide-for-developers/+page.markdoc +++ /dev/null @@ -1,147 +0,0 @@ ---- -layout: post -title: What is cloud computing? An expert guide for developers -description: Learn what cloud computing is, how it works, the IaaS, PaaS, and SaaS models, deployment types, and how it compares to on-premises, in this developer guide. -date: 2026-06-25 -cover: /images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif -timeToRead: 5 -author: aishwari -category: architecture -featured: false -unlisted: true -faqs: - - question: What is cloud computing in simple terms? - answer: Cloud computing is renting computing resources like servers and storage over the internet instead of owning them, paying only for what you use, much like getting electricity from the grid. - - question: What are the three main types of cloud computing? - answer: The three main service models are IaaS (infrastructure), PaaS (platform), and SaaS (software), each offering a different balance of control and convenience. - - question: Is cloud computing secure? - answer: Cloud computing can be very secure, with providers investing heavily in infrastructure security. Most issues come from customer misconfiguration, so configuring access and protecting data correctly is essential. - - question: "What's the difference between cloud computing and the internet?" - answer: The internet is the global network that connects computers. Cloud computing is the delivery of computing services over that network. The cloud uses the internet, but they are not the same thing. ---- -**Cloud computing is the delivery of computing services such as servers, storage, databases, networking, and software over the internet, on demand and paid for by usage.** Instead of buying and running your own hardware, you rent computing resources from a provider and scale them up or down as you need, turning large upfront costs into flexible operating expenses. - -This guide explains what cloud computing is, how it works, its service and deployment models, how it compares to on-premises infrastructure, its benefits and trade-offs, and how to get started. It's written for developers who want a complete picture, not just a definition. - -# What does cloud computing mean? - -Cloud computing means accessing computing resources over the internet rather than owning and maintaining them yourself. A cloud provider operates vast data centers full of servers and storage, and you use as much or as little of that capacity as you need, paying only for what you consume. - -You can think of cloud computing like electricity from the grid. You don't run your own power plant. You plug into the grid, use the electricity you need, and pay for that usage. Cloud computing delivers computing power the same way: as a utility you tap into on demand, without managing the infrastructure that produces it. - -This shift has transformed how software is built. Startups can launch global applications without buying a single server, and large companies can scale instantly to meet demand. Providers like Amazon Web Services, Microsoft Azure, and Google Cloud popularized the model, and it now underpins most of the modern internet. - -# Why does cloud computing matter? - -Cloud computing matters because it removes the cost and complexity of owning infrastructure and lets anyone build and scale quickly. Here is why it's foundational: - -* **No upfront hardware costs.** You rent capacity instead of buying servers, turning capital expense into flexible operating expense. -* **Scalability on demand.** Resources grow and shrink with your needs, so you handle traffic spikes without over-provisioning. -* **Global reach.** Providers run data centers worldwide, letting you deploy close to users for speed and reliability. -* **Speed.** You can provision servers, databases, and services in minutes rather than weeks. -* **Less maintenance.** The provider handles hardware, power, cooling, and much of the operational burden. - -# How does cloud computing work? - -Cloud computing works through **virtualization**, which lets a provider divide powerful physical servers into many virtual ones that customers use independently. When you request resources, the provider allocates them from its pool of hardware, and you access them over the internet through a dashboard, command-line tools, or APIs. - -Behind the scenes, providers run enormous data centers and use software to manage allocation, scaling, networking, and fault tolerance automatically. If demand rises, more resources are provisioned. If hardware fails, workloads shift to healthy machines. You're billed based on usage, such as compute time, storage consumed, and data transferred, which is the **pay-as-you-go** model at the heart of cloud computing. - -This abstraction is what makes the cloud powerful: you work with computing resources as flexible, on-demand services without ever touching the physical machines. - -# What are the types of cloud computing? - -Cloud services are commonly grouped into three main models, each offering a different level of control and convenience. - -**Infrastructure as a Service (IaaS)** provides the basic building blocks: virtual servers, storage, and networking. You manage the operating system and applications, while the provider handles the hardware. It offers the most control and flexibility. - -**Platform as a Service (PaaS)** provides a ready-made environment for building and running applications, handling the underlying infrastructure and runtime so you focus on your code. - -**Software as a Service (SaaS)** delivers complete applications over the internet, such as email or collaboration tools, with the provider managing everything. You just use the software. - -Newer models extend this further, including **serverless** computing and **Backend as a Service (BaaS)**, which provide ready-made backend features through APIs. You can read more in our guide to [serverless](https://appwrite.io/blog). - -# What are the cloud deployment models? - -Beyond service types, the cloud comes in different deployment models that describe where and how resources are hosted. - -* **Public cloud**, where resources are owned by a provider and shared among many customers over the internet. It's the most common and cost-effective model. -* **Private cloud**, dedicated infrastructure used by a single organization, offering more control and often used for sensitive workloads. -* **Hybrid cloud**, which combines public and private clouds so workloads can move between them. -* **Multi-cloud**, using more than one public provider to avoid lock-in or use the best service from each. - -# Cloud computing vs on-premises: What's the difference? - -On-premises means running your own hardware in your own facility, where you buy, maintain, and scale everything yourself. It offers full control but requires significant upfront investment and ongoing operational work. Cloud computing rents that capacity from a provider, scaling on demand and charging by usage, which removes the hardware burden at the cost of depending on a provider and an internet connection. - -| Aspect | Cloud computing | On-premises | -| ------------ | --------------------------- | ---------------------------- | -| Upfront cost | Low, pay as you go | High, buy hardware | -| Scaling | On demand | Buy more hardware | -| Maintenance | Handled by provider | Your responsibility | -| Control | Less over hardware | Full control | -| Best for | Variable, growing workloads | Strict control or compliance | - -Many organizations use a mix, keeping some systems on-premises while moving others to the cloud. - -# Common cloud computing use cases - -* **Hosting websites and applications.** Run web and mobile backends without owning servers. -* **Data storage and backup.** Store and protect large volumes of data durably and cheaply. -* **Big data and analytics.** Process large datasets using scalable compute on demand. -* **Development and testing.** Spin up environments instantly and tear them down when done. -* **AI and machine learning.** Access powerful hardware like GPUs without buying it outright. - -# What are the benefits of cloud computing? - -The advantages are significant. Cloud computing eliminates upfront hardware costs and converts them to flexible, usage-based spending. It scales instantly with demand, so you never over-provision or run short. It offers global reach, high reliability through redundant infrastructure, and rapid provisioning that lets teams move fast. The provider handles maintenance, security of the underlying hardware, and uptime, freeing you to focus on building. For most teams, the cloud turns infrastructure from a barrier into an enabler. - -# What are the challenges of cloud computing? - -Cloud computing is not without trade-offs, and understanding them helps you use it wisely. - -* **Ongoing cost management.** Pay-as-you-go can become expensive without monitoring, especially data transfer fees. -* **Security responsibility.** Providers secure the infrastructure, but you're responsible for configuring access and protecting your data. -* **Internet dependency.** Access requires connectivity, so outages can affect availability. -* **Vendor lock-in.** Relying heavily on one provider's services can make migration difficult. Open standards and multi-cloud reduce this. -* **Complexity.** The breadth of cloud services can be overwhelming and requires learning to use well. - -# How to get started with cloud computing - -Getting hands-on is the fastest way to understand the cloud. - -1. **Create an account** with a cloud provider or a managed platform, many of which offer free tiers. -2. **Launch a basic resource**, such as a virtual server or a storage bucket, to see how provisioning works. -3. **Deploy a simple application** to the cloud and access it over the internet. -4. **Explore managed services** like databases and storage that remove operational work. -5. **Monitor usage and cost** from the start so you understand the pay-as-you-go model. - -A platform like [Appwrite](https://appwrite.io/docs) provides cloud-hosted backend services including auth, databases, storage, and functions, which is a fast way to build on the cloud without managing infrastructure. - -# Cloud computing best practices - -* **Monitor costs continuously** and set budgets and alerts to avoid surprises. -* **Apply least-privilege access** so users and services have only the permissions they need. -* **Encrypt data** in transit and at rest, and configure security carefully. -* **Use managed services** where possible to reduce operational burden. -* **Design for failure** by spreading workloads across redundant infrastructure. -* **Avoid unnecessary lock-in** by favoring open standards and portable architectures. - -# Conclusion - -Cloud computing is the delivery of computing resources over the internet on demand, transforming infrastructure from something you buy and maintain into a flexible service you tap into as needed. Understanding its core pieces, namely the IaaS, PaaS, and SaaS service models, the public, private, and hybrid deployment models, and the pay-as-you-go billing that ties them together, gives you the foundation to build and scale modern applications. Because it underpins almost all of today's software, familiarity with the cloud is essential for any developer. The best way to learn cloud computing is to create an account, launch a resource, and deploy something real to see the model in action. - -# Start building - -Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. - -Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. - -## Resources - -* [Appwrite documentation](https://appwrite.io/docs) -* [Appwrite AI products](https://appwrite.io/docs/products/ai) -* [Appwrite integrations](https://appwrite.io/integrations) -* [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) -* [Appwrite on GitHub](https://github.com/appwrite/appwrite) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif b/static/images/blog/what-is-cloud-computing-an-expert-guide-for-developers/cover.avif deleted file mode 100644 index 997a9c0f92ff95793d8b0c1ff8fbd872dfe2967b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13988 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 rF}ljI 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 C2h|4v From be3febb2da40c35480a0b581288f15033142a6d3 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Fri, 26 Jun 2026 18:03:05 +0530 Subject: [PATCH 04/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc index 61a63ff91c..332d6531a4 100644 --- a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc @@ -5,7 +5,7 @@ description: Learn what Kubernetes is, how its architecture works, core componen date: 2026-06-25 cover: /images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif timeToRead: 5 -author: aishwari +author: luke-silver category: devops featured: false unlisted: true From ec360b228fd214e58678f70914ff2b0bcb892682 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Mon, 29 Jun 2026 20:30:46 +0530 Subject: [PATCH 05/71] Address tables terminology review feedback --- .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 9 +- .../+page.markdoc | 5 +- .../+page.markdoc | 1 + .../agentic-ai-vs-generative-ai/+page.markdoc | 1 + .../blog/post/ai-crystal-ball/+page.markdoc | 17 ++- .../ai-vibe-coding-insights/+page.markdoc | 1 + .../+page.markdoc | 62 ++++++-- .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../announcing-bigint-columns/+page.markdoc | 1 + .../post/announcing-bulk-api/+page.markdoc | 1 + .../post/announcing-csv-export/+page.markdoc | 1 + .../post/announcing-csv-imports/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 2 +- .../announcing-database-upsert/+page.markdoc | 1 + .../+page.markdoc | 2 +- .../+page.markdoc | 34 +++++ .../post/announcing-go-support/+page.markdoc | 1 + .../+page.markdoc | 11 +- .../+page.markdoc | 5 +- .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../announcing-transactions-api/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../appwrite-functions-guide/+page.markdoc | 1 + .../blog/post/appwrite-indexes/+page.markdoc | 3 +- .../post/appwrite-query-api/+page.markdoc | 1 + .../+page.markdoc | 2 +- .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 3 +- .../+page.markdoc | 1 + .../post/backend-as-a-service/+page.markdoc | 2 +- .../+page.markdoc | 1 + .../best-pagination-technique/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 9 +- .../+page.markdoc | 1 + .../+page.markdoc | 2 +- .../post/build-saas-waitlist/+page.markdoc | 1 + .../building-custom-auth-flows/+page.markdoc | 2 +- .../building-init-giveaway-app/+page.markdoc | 5 +- .../post/bun-function-resume/+page.markdoc | 1 + .../blog/post/ccpa-vs-gdpr/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../ci-cd-examples-in-appwrite/+page.markdoc | 1 + .../blog/post/claude-design/+page.markdoc | 1 + .../post/claude-mythos-preview/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../compliant-architectures/+page.markdoc | 1 + src/routes/blog/post/cors-error/+page.markdoc | 1 + .../+page.markdoc | 1 + .../customer-stories-smartbee/+page.markdoc | 1 + .../post/customer-stories-undo/+page.markdoc | 1 + .../customer-story-socialaize/+page.markdoc | 1 + .../+page.markdoc | 1 + .../developer-tools-appwrite/+page.markdoc | 3 +- .../+page.markdoc | 52 +++---- .../post/easiest-file-uploads/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../blog/post/google-oauth-expo/+page.markdoc | 1 + .../hacktoberfest-ideas-2024/+page.markdoc | 1 + .../+page.markdoc | 1 + .../hooks-appwrite-databases/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../post/image-classification/+page.markdoc | 1 + .../post/improve-devex-dev-keys/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../post/messaging-explained/+page.markdoc | 1 + .../+page.markdoc | 1 + .../blog/post/new-string-types/+page.markdoc | 55 ++++--- .../post/offline-first-journal/+page.markdoc | 5 +- .../open-source-contributors-16/+page.markdoc | 1 + .../+page.markdoc | 1 + .../personal-chatbot-gpt-4o/+page.markdoc | 1 + .../+page.markdoc | 1 + .../product-update-august-2025/+page.markdoc | 16 ++- .../+page.markdoc | 1 + .../product-update-jan-2025/+page.markdoc | 2 +- .../product-update-july-2025/+page.markdoc | 1 + .../post/product-update-june/+page.markdoc | 1 + .../product-update-september/+page.markdoc | 2 +- .../post/react-protected-routes/+page.markdoc | 1 + .../save-weeks-managed-backends/+page.markdoc | 1 + .../+page.markdoc | 2 +- .../+page.markdoc | 1 + .../setting-up-google-signin/+page.markdoc | 1 + .../simplify-messaging-twilio/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../uber-clone-nextjs-appwrite/+page.markdoc | 1 + .../understand-data-queries/+page.markdoc | 1 + .../post/using-nextjs-wrong/+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 1 + .../+page.markdoc | 3 +- .../docs/products/auth/teams/+page.markdoc | 7 +- .../products/databases/rows/+page.markdoc | 12 +- .../products/functions/examples/+page.markdoc | 134 ++++++++++++------ .../products/functions/execute/+page.markdoc | 31 ++-- .../tooling/command-line/tables/+page.markdoc | 6 + .../replication-rxdb/+page.markdoc | 4 +- 139 files changed, 424 insertions(+), 192 deletions(-) diff --git a/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc b/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc index bef4618f3d..2d38c962b6 100644 --- a/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc +++ b/src/routes/blog/post/25-startup-ideas-you-can-build-with-vibe-coding/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "25 startup ideas you can build with vibe coding" description: "25 concrete startup ideas a solo founder can build with vibe coding tools like Cursor, Claude Code, and Lovable, plus the backend primitives each one needs." date: 2026-05-11 +lastUpdated: 2026-06-29 cover: /images/blog/25-startup-ideas-you-can-build-with-vibe-coding/cover.avif timeToRead: 12 author: aditya-oberai diff --git a/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc b/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc index 80801a7004..6a4d18ffb1 100644 --- a/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc +++ b/src/routes/blog/post/3-things-you-can-build-with-go-runtime/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "3 things you can build with the Go runtime" description: Explore a few use cases of how to leverage Go's speed in your app. date: 2024-08-22 +lastUpdated: 2026-06-29 cover: /images/blog/building-with-go-cover.avif timeToRead: 8 author: aditya-oberai diff --git a/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc b/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc index d3b9f23693..b2b3585eb5 100644 --- a/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc +++ b/src/routes/blog/post/7-prompting-mistakes-you-need-to-stop-making-right-now/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: 7 prompting mistakes you need to stop making right now description: Avoid these 7 common prompting mistakes that lead to poor AI outputs. Learn how to write better prompts and get more accurate and reliable results. date: 2026-04-27 +lastUpdated: 2026-06-29 cover: /images/blog/7-prompting-mistakes-you-need-to-stop-making-right-now/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc b/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc index 42eb50cf42..2de5006282 100644 --- a/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc +++ b/src/routes/blog/post/7-steps-to-achieve-gdpr-compliance-for-startups/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "7 practical steps to achieve GDPR compliance for your startup" description: All you need to know about GDPR compliance for startups, the do's, don'ts and best practices. date: 2024-09-25 +lastUpdated: 2026-06-29 cover: /images/blog/7-steps-gdpr-startups/cover.avif timeToRead: 4 author: aditya-oberai diff --git a/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc b/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc index 7d7a3cceec..c9b24a6f6d 100644 --- a/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc +++ b/src/routes/blog/post/7-things-claude-can-do-that-will-blow-your-mind/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: 7 things Claude can do that will blow your mind description: Discover 7 things Claude can do that most people don't use. From better prompts to smarter workflows, learn how to get more out of your AI. date: 2026-04-27 +lastUpdated: 2026-06-29 cover: /images/blog/7-things-claude-can-do-that-will-blow-your-mind/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc b/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc index 7e92bf3222..60745436b9 100644 --- a/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc +++ b/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc @@ -5,6 +5,7 @@ description: Learn how to add a search function to your application. cover: /images/blog/add-a-search-function-to-your-app/cover.avif timeToRead: 5 date: 2023-11-17 +lastUpdated: 2026-06-29 author: haimantika-mitra category: tutorial featured: false @@ -14,7 +15,7 @@ faqs: - question: "What is an Appwrite Function template?" answer: "Function templates are pre-built [Appwrite Functions](/docs/products/functions) you can deploy in a few clicks. They cover common integrations like Stripe, OpenAI, Meilisearch, and more. You configure the required environment variables, connect a Git repo, and the function is deployed and ready to call." - question: "How does the Meilisearch sync function stay in sync with new rows?" - answer: "By default the template syncs rows on demand when the function runs. To keep the index up to date automatically, configure the function to trigger on database row events so every change is mirrored to Meilisearch in near real time." + answer: "By default the template syncs rows on demand when the function runs. To keep the index up to date automatically, configure the function to trigger on `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.*.create`, `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.*.update`, and `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.*.delete` events so every change is mirrored to Meilisearch in near real time." - question: "Do I need to self-host Meilisearch to use this template?" answer: "No. Meilisearch Cloud is the easiest option and the template works against either Cloud or a self-hosted instance. You just need a Meilisearch endpoint URL, an admin API key for indexing, and a search key for client-side queries." - question: "Can I run the Meilisearch sync function on a schedule?" @@ -97,7 +98,7 @@ Visit the **Domains** tab on the function page and copy the domain URL to test We’ve added search functionality to our app and opened up many possibilities to improve the experience of our app’s users. How can the *template* be extended ? -- Using events to automatically index new tables +- Using `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.*.create`, `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.*.update`, and `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.*.delete` events to automatically index new rows - Using weights and other meilisearch features to optimise search such as excluding certain fields from indexing Some examples are: @@ -109,6 +110,6 @@ Be sure to check out the other available Function Templates. We’ve created mul For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: Learn more about how to use Appwrite Functions. +1. **[Appwrite Function Docs](/docs/products/functions)**: Learn more about how to use Appwrite Functions. 2. **[Functions Announcement](https://dev.to/appwrite/serverless-your-way-unleashing-appwrite-functions-true-potential-2l4f)**: Read the full announcement on Functions 1.4. -3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. +3. **[Appwrite Discord](/discord)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/adding-url-shortener-function/+page.markdoc b/src/routes/blog/post/adding-url-shortener-function/+page.markdoc index 7acf1a5dc2..1e9d8b70c9 100644 --- a/src/routes/blog/post/adding-url-shortener-function/+page.markdoc +++ b/src/routes/blog/post/adding-url-shortener-function/+page.markdoc @@ -5,6 +5,7 @@ description: Learning how to add the URL shortener function template to your app cover: /images/blog/adding-url-shortener/cover.avif timeToRead: 5 date: 2023-11-08 +lastUpdated: 2026-06-29 author: haimantika-mitra category: tutorial featured: false @@ -68,6 +69,6 @@ Be sure to check out the other available Function Templates. We’ve created man For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: Learn more about how to use Appwrite Functions. +1. **[Appwrite Function Docs](/docs/products/functions)**: Learn more about how to use Appwrite Functions. 2. **[Functions Announcement](https://dev.to/appwrite/serverless-your-way-unleashing-appwrite-functions-true-potential-2l4f)**: Read the full announcement on Functions 1.4. -3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. +3. **[Appwrite Discord](/discord)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/agency-backend-standardization/+page.markdoc b/src/routes/blog/post/agency-backend-standardization/+page.markdoc index d119d374ed..3e89425a36 100644 --- a/src/routes/blog/post/agency-backend-standardization/+page.markdoc +++ b/src/routes/blog/post/agency-backend-standardization/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "How agencies standardize backend stacks across clients" description: Why development agencies benefit from standardizing their backend stack and how to choose a platform flexible enough to serve diverse client needs. date: 2026-03-16 +lastUpdated: 2026-06-29 cover: /images/blog/agency-backend-standardization/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc b/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc index 3c87d4aa3c..867bfc9eae 100644 --- a/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc +++ b/src/routes/blog/post/agentic-ai-vs-generative-ai/+page.markdoc @@ -5,6 +5,7 @@ description: Explore Agentic AI vs Generative AI with clear examples and key dif cover: /images/blog/agentic-ai-vs-generative-ai/cover.avif timeToRead: 10 date: 2025-10-23 +lastUpdated: 2026-06-29 author: veeresh-mulge callToAction: true unlisted: true diff --git a/src/routes/blog/post/ai-crystal-ball/+page.markdoc b/src/routes/blog/post/ai-crystal-ball/+page.markdoc index c5321227c7..20737486a9 100644 --- a/src/routes/blog/post/ai-crystal-ball/+page.markdoc +++ b/src/routes/blog/post/ai-crystal-ball/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Predicting your developer destiny: how I built the AI Crystal Ball" description: How I used Appwrite, OpenAI, GitHub, and SvelteKit to develop an AI prank app. date: 2024-05-10 +lastUpdated: 2026-06-29 cover: /images/blog/ai-crystal-ball/cover.avif timeToRead: 9 author: aditya-oberai @@ -80,10 +81,10 @@ Create the table and add the following columns: | Key | Type | Size | Required | Array | | --- | --- | --- | --- | --- | -| languages | Text | 2000 | - | Yes | +| languages | Text | - | - | Yes | | followers | Integer | - | Yes | - | | following | Integer | - | Yes | - | -| username | Text | 255 | Yes | - | +| username | Varchar | 255 | Yes | - | Visit the table settings, enable **Row security,** and set the following (table-level) **Permissions**: @@ -97,8 +98,8 @@ Create the table and add the following columns: | Key | Type | Size | Required | | --- | --- | --- | --- | -| destiny | Text | 25000 | Yes | -| username | Text | 255 | Yes | +| destiny | MediumText | - | Yes | +| username | Varchar | 255 | Yes | Visit the table settings, enable **Row security,** and set the following (table-level) **Permissions**: @@ -281,7 +282,7 @@ export const github = { } ``` -At this point, we also want to create our database library using the Appwrite SDK, so that we can store the information from the GitHub API. For that, we shall create a file `./src/lib/tables-db.js` and add the following: +At this point, we also want to create our database library using the Appwrite SDK, so that we can store the information from the GitHub API. For that, we shall create a file `./src/lib/databases.js` and add the following: ```js import { Permission, Role, ID } from 'appwrite'; @@ -511,12 +512,14 @@ Since our UI has already been prepared in the previous step, we need not make an ## Storing and sharing the destiny -Lastly, to share our destiny with the rest of the world, we must create an additional page that gets destiny data from the Appwrite Database and displays it. For this, we must first add functions to add and get destinies from the Appwrite Database to our Database library. To do so, we visit `./src/lib/databases/js` and add the following functions to our export: +Lastly, to share our destiny with the rest of the world, we must create an additional page that gets destiny data from the Appwrite Database and displays it. For this, we must first add functions to add and get destinies from the Appwrite Database to our Database library. To do so, we visit `./src/lib/databases.js` and add the following functions to our export: ```js const destinyTableId = env.PUBLIC_APPWRITE_TABLE_ID_DESTINY; -export const destinyDb = { +export const db = { + // Existing getUserData and addUserData functions + addDestiny: async (username, destiny) => { return await tablesDB.createRow({ databaseId, diff --git a/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc b/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc index 932c570e5d..1bf29d71f4 100644 --- a/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc +++ b/src/routes/blog/post/ai-vibe-coding-insights/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Exploring AI and vibe coding: Insights from the Appwrite developer community" description: Survey insights on how developers are using AI, vibe coding tools, and the Appwrite MCP server. date: 2025-08-25 +lastUpdated: 2026-06-29 cover: /images/blog/ai-vibe-coding-insights/cover.avif timeToRead: 10 author: laura-du-ry diff --git a/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc b/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc index 32681807c4..42ee460cac 100644 --- a/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-databases-new-ui/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing an improved Appwrite Databases experience. A completely new look and feel" description: Appwrite Databases just got the most significant update to date. We proudly present new terminology, a new TablesDB UI, and a supporting TablesDB API, all built to make working with databases simpler and faster. date: 2025-08-26 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-appwrite-databases-new-ui/cover.avif timeToRead: 5 author: darshan-pandya @@ -12,19 +13,19 @@ faqs: - question: "What is TablesDB in Appwrite?" answer: "TablesDB is the updated naming and API layer for [Appwrite Databases](/docs/products/databases). It maps the familiar relational vocabulary (tables, rows, columns) onto Appwrite's existing data model. The storage engine itself has not changed, only the terminology and the new method names exposed in the SDKs and Console." - question: "Do I have to migrate my code to the new TablesDB API?" - answer: "TablesDB is the recommended API for new projects. Existing projects can adopt it at their own pace, and new tutorials, SDK snippets, and Console workflows use the TablesDB methods." - - question: "What data model does TablesDB use?" - answer: "TablesDB uses databases, tables, columns, and rows. Methods follow the same pattern: `createTable`, `createTextColumn`, `createRow`, `listRows`, and so on. The underlying behavior is consistent across the Console, SDKs, and API." + answer: "No. The old document-based methods like `createDocument` and `listDocuments` continue to work and are fully backwards compatible. They are marked as deprecated and will receive security patches but not new features, so we recommend the TablesDB methods for new projects." + - question: "What is the mapping between the old and new Database terms?" + answer: "Collections become tables, attributes become columns, and documents become rows. Methods follow the same pattern: `createCollection` becomes `createTable`, `createDocument` becomes `createRow`, `listDocuments` becomes `listRows`, and so on. The underlying behavior of each call is unchanged." - question: "Does the new TablesDB UI replace the existing Databases section in the Console?" answer: "Yes. The Databases section in the Appwrite Console has been redesigned around the TablesDB UI, with browsing, editing, and managing data built around tables, rows, and columns. Existing projects automatically open in the new UI without any migration step." - - question: "Can I store flexible row data in Appwrite Databases?" - answer: "Yes. You can store flexible row data, use the same query operators, and apply per-row permissions. The relational vocabulary is meant to make the model easier to reason about for developers used to SQL." + - question: "Can I still use Appwrite Databases as a document store?" + answer: "Yes. The rename is purely a terminology and API change, not a switch to a strict relational engine. You can still store flexible row data, use the same query operators, and apply per-row permissions. The relational vocabulary is meant to make the model easier to reason about for developers used to SQL." - question: "Where can I learn the new TablesDB methods in detail?" - answer: "The [Databases documentation](/docs/products/databases) covers every TablesDB method with examples for each server and client SDK." + answer: "The [Databases documentation](/docs/products/databases) covers every TablesDB method with examples for each server and client SDK. The deprecated document methods remain documented for reference, but new tutorials and references default to the TablesDB naming." --- -As Appwrite has grown, so has the diversity of developers building with it, from teams shipping fast prototypes to teams deeply familiar with relational data structures. To make the platform more intuitive and consistent for everyone, we’re evolving how Appwrite Databases is presented and managed. This update also adds the ability to generate dummy data for faster prototyping, and we’re actively working on features like AI-powered suggestions to help you design your structure even faster. +As Appwrite has grown, so has the diversity of developers building with it, from document-based systems to others deeply familiar with relational data structures. To make the platform more intuitive and consistent for everyone, we’re evolving how Appwrite Databases is presented and managed. This update also adds the ability to generate dummy data for faster prototyping, and we’re actively working on features like AI-powered suggestions to help you design your structure even faster. -Appwrite Databases now adopts a more familiar **relational model** across the Console, API, SDKs, and beyond. The model uses conventional data concepts like **tables**, **rows**, and **columns**, making it easier to work with structured data while maintaining full backward compatibility. +Appwrite Databases now adopts a more familiar **relational model** across the Console, API, SDKs, and beyond, moving away from the documents and collections terminology rooted in our JSON-based API. The new model introduces conventional data concepts like **tables**, **rows**, and **columns**, making it easier to work with structured data while maintaining full backward compatibility. As part of this shift, the Appwrite Console has been completely redesigned. The new **TablesDB UI** was built specifically to support the upgraded database experience, making browsing, editing, and managing data more intuitive. @@ -32,11 +33,35 @@ We’re also introducing the **TablesDB API,** a new API layer designed to bridg # What’s new -This release brings a **completely reimagined data management interface** and a dedicated **TablesDB API**. Let’s dive in. +This release brings both **terminology changes** and a **completely reimagined data management interface**. Let’s dive in. -# TablesDB API +# Updated terminology & the TablesDB API -The **TablesDB API** introduces method names that map directly to common CRUD operations in a relational model. Methods like `createTable`, `createTextColumn`, `createRow`, `updateRow`, `deleteRow`, `getRow`, and `listRows` make it easier to understand exactly what an operation does at a glance, while still running on the same powerful API that Appwrite has always used. +Until now, Appwrite Databases used terminology that made sense in a JSON-document world but could be unintuitive for developers used to relational data concepts. We’re introducing a parallel set of API endpoints and terms aligned with relational database language to make the platform more approachable. + +| Previous terms | New terms | +| --- | --- | +| Collections | Tables | +| Attributes | Columns | +| Documents | Rows | + +Functionality remains the same, but the developer experience becomes clearer and more consistent for anyone familiar with structured data workflows. + +# New TablesDB methods + +Alongside these terminology updates, the **TablesDB API** introduces new method names that map directly to common CRUD operations in a relational model: + +| Previous methods | New methods | +| --- | --- | +| `createCollection` | `createTable` | +| `createDocument` | `createRow` | +| `createAttribute` | `createColumn` | +| `updateDocument` | `updateRow` | +| `deleteDocument` | `deleteRow` | +| `getDocument` | `getRow` | +| `listDocuments` | `listRows` | + +These methods make it easier to understand exactly what an operation does at a glance, while still running on the same powerful API that Appwrite has always used. Here’s an example of how you can use the new SDK methods: @@ -62,10 +87,11 @@ async function main() { name: '<NAME>' }); - const nameColumn = await tablesDB.createTextColumn({ + const nameColumn = await tablesDB.createVarcharColumn({ databaseId: database.$id, tableId: table.$id, key: 'name', + size: 255, required: true }); @@ -80,9 +106,15 @@ async function main() { main(); ``` +# What happens to the existing methods? + +The old document-based methods are now deprecated and will no longer receive major upgrades. They will continue to receive security patches and essential maintenance, and we are ensuring backwards compatibility with those methods for the API, so there’s no need to migrate immediately if a specific issue arises. + +However, we recommend adopting the new TablesDB API for future projects to take advantage of ongoing improvements and new capabilities. + # The new TablesDB UI -The TablesDB UI changes the way you interact with your data in the Console. It gives you a fast, spreadsheet-like surface for browsing and editing rows. +The TablesDB UI changes the way you interact with your data in the Console. The previous Databases view was read-only and required multiple clicks to edit a single record, fine for small fixes, but inefficient for larger updates. With TablesDB UI, now you can: @@ -97,9 +129,9 @@ Watch this [product tour](https://www.youtube.com/watch?v=b80BXqj5CJE) to learn # What changes in your workflow? -**For the TablesDB API:** +**For the new terminology and TablesDB API:** -The `TablesDB` API introduces a relational model experience. +The existing `Collections` API will continue to function as expected. The new `TablesDB` API introduces a parallel, relational model experience. Key changes include: diff --git a/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc b/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc index cd628de0c8..f1276fdd9c 100644 --- a/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-integration-catalog/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Appwrite's new Integrations Catalog" description: We are beyond excited to announce the launch of our brand-new Appwrite Integrations Catalog. date: 2024-07-29 +lastUpdated: 2026-06-29 cover: /images/blog/integrations-catalog.avif timeToRead: 12 author: aditya-oberai diff --git a/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc b/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc index f9ea39f3b1..b5073cfb6d 100644 --- a/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Appwrite is now HIPAA compliant description: This is another step towards building a platform for developers from all industries. date: 2024-04-11 +lastUpdated: 2026-06-29 cover: /images/blog/hipaa.avif timeToRead: 4 author: may-ender diff --git a/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc b/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc index 7628f86d33..8563efc1d4 100644 --- a/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Messaging: Push, Email and SMS" description: You can now send emails, SMS and push notifications with Appwrite’s easy-to-use APIs. date: 2024-02-26 +lastUpdated: 2026-06-29 cover: /images/blog/messaging-announcement.avif timeToRead: 6 author: eldad-fux diff --git a/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc b/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc index 9a14b6cb7a..ac905bcc1f 100644 --- a/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc +++ b/src/routes/blog/post/announcing-atomic-numeric-operations/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Atomic numeric operations: Safe, server-side increments and decrements" description: Safely update numeric columns like counters, stock levels, or credits without fetching or rewriting the row. date: 2025-08-04 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-atomic-numeric-operations/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc b/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc index d498a92e1b..9076c7958c 100644 --- a/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc +++ b/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Auto-increment support: Built-in numeric sequencing for your rows" description: Get reliable, sequential ordering across your tables with fast, indexed auto-increment IDs. date: 2025-07-15 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-auto-increment-support/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-bigint-columns/+page.markdoc b/src/routes/blog/post/announcing-bigint-columns/+page.markdoc index 5aaaa26159..d021f61450 100644 --- a/src/routes/blog/post/announcing-bigint-columns/+page.markdoc +++ b/src/routes/blog/post/announcing-bigint-columns/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing BigInt columns: Store 64-bit integers for counters, IDs, and timestamps" description: A new column type for values that overflow the 32-bit integer range, with the same constraints, defaults, and atomic operations you already use. date: 2026-05-12 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-bigint-columns/cover.avif timeToRead: 5 author: arnab-chatterjee diff --git a/src/routes/blog/post/announcing-bulk-api/+page.markdoc b/src/routes/blog/post/announcing-bulk-api/+page.markdoc index 118eb8aaf6..04d77fbd24 100644 --- a/src/routes/blog/post/announcing-bulk-api/+page.markdoc +++ b/src/routes/blog/post/announcing-bulk-api/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Bulk API: Handle heavy data workloads with ease" description: Perform multiple database operations in a single API call. Enjoy faster writes and better performance for heavy server-side workloads. date: 2025-07-03 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-bulk-api/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-csv-export/+page.markdoc b/src/routes/blog/post/announcing-csv-export/+page.markdoc index f6c6b3d718..ddc0e4c9e5 100644 --- a/src/routes/blog/post/announcing-csv-export/+page.markdoc +++ b/src/routes/blog/post/announcing-csv-export/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing CSV exports: Effortless data extraction, right from your Console" description: Export your data to a CSV file directly from the Appwrite Console. Filter, customize, and download your data in just a few clicks. date: 2026-02-04 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-csv-export/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-csv-imports/+page.markdoc b/src/routes/blog/post/announcing-csv-imports/+page.markdoc index 3740b738bb..6ead788ec1 100644 --- a/src/routes/blog/post/announcing-csv-imports/+page.markdoc +++ b/src/routes/blog/post/announcing-csv-imports/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing CSV Import: Bring in large datasets to Appwrite with ease" description: Learn how to import rows into your Appwrite tables using a simple CSV file, a new feature built on top of Appwrite's migration APIs. date: 2025-07-01 +lastUpdated: 2026-06-29 # update this cover later, once available! cover: /images/blog/announcing-csv-imports/cover.avif timeToRead: 5 diff --git a/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc b/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc index 5d29b73443..a9c9a4f6bb 100644 --- a/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc +++ b/src/routes/blog/post/announcing-database-ai-suggestions/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Database AI suggestions: from table name to schema in one click" description: We’re introducing new AI features into Appwrite Databases that generate complete schemas and indexes from just a table name. date: 2025-11-28 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-database-ai-suggestions/cover.avif timeToRead: 5 author: darshan-pandya diff --git a/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc b/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc index 56ac5abaeb..e7a856ff69 100644 --- a/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc +++ b/src/routes/blog/post/announcing-database-reads-and-writes-pricing/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: Announcing Database Reads and Writes pricing description: To ensure Appwrite Cloud's sustainability, we are introducing pricing for database read and write operations, effective April 10th, 2025. date: 2025-03-13 -lastUpdated: 2026-05-22 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-database-reads-and-writes-pricing/cover.avif timeToRead: 6 author: eldad-fux diff --git a/src/routes/blog/post/announcing-database-upsert/+page.markdoc b/src/routes/blog/post/announcing-database-upsert/+page.markdoc index 265eabe8ab..60bfc40534 100644 --- a/src/routes/blog/post/announcing-database-upsert/+page.markdoc +++ b/src/routes/blog/post/announcing-database-upsert/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Database Upsert: Simplify your database interactions" description: A cleaner, faster, and atomic way to manage your rows in Appwrite. date: 2025-07-08 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-database-upsert/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc b/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc index f0cda63dfb..1ef96a1a42 100644 --- a/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc +++ b/src/routes/blog/post/announcing-encrypted-string-attributes/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: "Announcing encrypted text column support: Built-in encryption for sensitive fields" description: Easily encrypt sensitive text fields at rest, with no manual encryption logic. date: 2025-07-10 -lastUpdated: 2026-05-22 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-encrypted-string-attributes/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc b/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc index 9359c1cace..05eebcb90f 100644 --- a/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc +++ b/src/routes/blog/post/announcing-full-schema-creation/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Full Schema Creation: Provision complete tables in one atomic call" description: Create a table, all its columns, and indexes synchronously, ready to use instantly, with no background jobs. date: 2025-12-30 +lastUpdated: 2026-06-29 cover: /images/blog/full-schema.avif timeToRead: 5 author: aditya-oberai @@ -45,6 +46,39 @@ This step-wise flow introduced delays, race conditions in automation scripts, an With Full Schema Creation, all of that collapses into a single operation. You define everything upfront, Appwrite validates it all together, and either the entire schema is created successfully, or nothing is. +```js +const table = await tablesDB.createTable({ + databaseId: 'contacts_db', + tableId: 'contacts', + name: 'Contacts', + columns: [ + { + key: 'email', + type: 'email', + required: true + }, + { + key: 'name', + type: 'varchar', + size: 255, + required: true + }, + { + key: 'is_active', + type: 'boolean', + required: true + }, + ], + indexes: [ + { + key: 'idx_email', + type: 'unique', + attributes: ['email'] + } + ] +}); +``` + # How it works Full Schema Creation introduces an atomic, synchronous way to provision database schemas. Here’s what happens under the hood: diff --git a/src/routes/blog/post/announcing-go-support/+page.markdoc b/src/routes/blog/post/announcing-go-support/+page.markdoc index d356ed5369..c6269c384d 100644 --- a/src/routes/blog/post/announcing-go-support/+page.markdoc +++ b/src/routes/blog/post/announcing-go-support/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Introducing Go, high-performance Functions runtime and SDK" description: We’re excited to announce that Go runtime is now supported in Appwrite Functions and we have added a Go SDK. date: 2024-08-22 +lastUpdated: 2026-06-29 cover: /images/blog/go-cover.avif timeToRead: 7 author: matej-baco diff --git a/src/routes/blog/post/announcing-inversion-queries/+page.markdoc b/src/routes/blog/post/announcing-inversion-queries/+page.markdoc index 5eaa21dd40..20128ff82f 100644 --- a/src/routes/blog/post/announcing-inversion-queries/+page.markdoc +++ b/src/routes/blog/post/announcing-inversion-queries/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing inversion queries: Exclusion rules made simple" description: Adding five new NOT operators to let you exclude what you don’t need while keeping queries efficient. date: 2025-09-04 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-inversion-queries/cover.avif timeToRead: 5 author: jake-barnby @@ -38,11 +39,11 @@ With inversion queries, you can express these cases directly in your database ca They include: -- `notContains`: Find rows where the attribute does not contain the given substring -- `notSearch`: Find rows where the attribute does not match the search query -- `notBetween`: Find rows where the attribute is not between two given values -- `notStartsWith`: Find rows where the attribute does not start with the given value -- `notEndsWith`: Find rows where the attribute does not end with the given value +- `notContains`: Find rows where the column does not contain the given substring +- `notSearch`: Find rows where the column does not match the search query +- `notBetween`: Find rows where the column is not between two given values +- `notStartsWith`: Find rows where the column does not start with the given value +- `notEndsWith`: Find rows where the column does not end with the given value # Why does this matter? diff --git a/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc b/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc index 49e76051f7..6c08459b85 100644 --- a/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc +++ b/src/routes/blog/post/announcing-realtime-channel-helpers/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Realtime Channel helpers: Type-safe subscriptions made simple" description: Build realtime subscriptions faster with a fluent, chainable API that reduces errors and improves code clarity. date: 2026-02-13 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-realtime-channel-helpers/cover.avif timeToRead: 5 author: jake-barnby @@ -10,7 +11,7 @@ category: announcement featured: false faqs: - question: "What are Realtime channel helpers in Appwrite?" - answer: "Channel helpers are a fluent, type-safe API for building Appwrite Realtime channel strings without manual concatenation. Instead of writing strings like `databases.<id>.tables.<id>.rows.<id>`, you chain methods on the `Channel` class and the SDK builds the correct string with IDE autocomplete and compile-time checks." + answer: "Channel helpers are a fluent, type-safe API for building Appwrite Realtime channel strings without manual concatenation. Instead of writing strings like `tablesdb.<id>.tables.<id>.rows.<id>`, you chain methods on the `Channel` class and the SDK builds the correct string with IDE autocomplete and compile-time checks." - question: "How does Appwrite Realtime work?" answer: "[Appwrite Realtime](/docs/apis/realtime) opens a single WebSocket connection per client and streams events for every channel that client subscribes to. When data changes in your project, Appwrite emits an event and pushes it to every subscribed client over that connection, so you do not need to poll." - question: "Which channels does Appwrite Realtime support?" @@ -57,7 +58,7 @@ const subscription = await realtime.subscribe( ); ``` -Instead of writing `databases.<DATABASE_ID>.tables.<TABLE_ID>.rows.<ROW_ID>`, the helper builds the correct string for you while providing autocomplete and validation every step of the way. +Instead of writing `tablesdb.<DATABASE_ID>.tables.<TABLE_ID>.rows.<ROW_ID>`, the helper builds the correct string for you while providing autocomplete and validation every step of the way. # Flexible and composable diff --git a/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc b/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc index 33921851ec..435098be9b 100644 --- a/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc +++ b/src/routes/blog/post/announcing-time-helper-queries/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing time helper queries: Cleaner, more expressive time-based queries" description: Handle time-based filtering directly in your queries using new helpers for created and updated timestamps. date: 2025-09-02 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-time-helper-queries/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc b/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc index 2decabef48..9033d9a4c9 100644 --- a/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc +++ b/src/routes/blog/post/announcing-timestamp-overrides/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Timestamp Overrides: Accurate timelines for production workloads" description: Move historical data into Appwrite without losing context or disrupting chronological accuracy. date: 2025-08-13 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-timestamp-overrides/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-transactions-api/+page.markdoc b/src/routes/blog/post/announcing-transactions-api/+page.markdoc index cb7ce12022..95c4d7793a 100644 --- a/src/routes/blog/post/announcing-transactions-api/+page.markdoc +++ b/src/routes/blog/post/announcing-transactions-api/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Announcing Transactions API: Reliable multi-record writes across tables" description: Appwrite introduces a new Databases feature called Transactions API. This new feature allows developers to group multiple operations across tables and commit them in a single atomic action, ensuring data consistency and eliminating partial writes. date: 2025-10-09 +lastUpdated: 2026-06-29 cover: /images/blog/announcing-transactions-api/cover.avif timeToRead: 5 author: jake-barnby diff --git a/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc b/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc index c35830b474..3f1d5201b0 100644 --- a/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc +++ b/src/routes/blog/post/announcing-type-generation-feature/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Introducing Type generation: Automate your type definitions with Appwrite" description: "Automatically generate types from your tables with support for multiple languages." date: 2025-06-24 +lastUpdated: 2026-06-29 cover: /images/blog/type-generation-feature/cover.avif timeToRead: 4 author: chirag-aggarwal diff --git a/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc b/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc index fca27565f0..447e083d7a 100644 --- a/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc +++ b/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc @@ -4,6 +4,7 @@ title: "Appwrite 1.8.0: The most powerful self-hosted release yet" description: Appwrite 1.8.0 brings powerful database features, new runtimes, and key performance updates to make your self-hosted setup faster, safer, and more scalable. cover: /images/blog/appwrite-1-8-0-self-hosted-release/cover.avif date: 2025-10-31 +lastUpdated: 2026-06-29 timeToRead: 5 author: steven category: announcement diff --git a/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc b/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc index bc69dfc54d..19d059cf8d 100644 --- a/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc +++ b/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Appwrite 1.5 is now available on Cloud description: This release was highly anticipated by the community, and we're very happy to finally share the great news. date: 2024-04-29 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-1.5-now-available-on-cloud/cloud15.avif timeToRead: 8 author: eldad-fux diff --git a/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc b/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc index d998814007..6b1f138dcb 100644 --- a/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc +++ b/src/routes/blog/post/appwrite-for-hackathons-build-fast-ship-faster/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite for hackathons: Build fast, ship faster" description: Learn how Appwrite helps hackathon teams go from idea to working prototype in hours, not days. date: 2026-03-30 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-for-hackathons-build-fast-ship-faster/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/appwrite-functions-guide/+page.markdoc b/src/routes/blog/post/appwrite-functions-guide/+page.markdoc index 753b528376..8f6faab77d 100644 --- a/src/routes/blog/post/appwrite-functions-guide/+page.markdoc +++ b/src/routes/blog/post/appwrite-functions-guide/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite Functions: everything you need to know" description: A complete guide to Appwrite Functions covering triggers, execution modes, deployment options, permissions, and practical use cases for server-side logic. date: 2026-03-24 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-functions-guide/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/appwrite-indexes/+page.markdoc b/src/routes/blog/post/appwrite-indexes/+page.markdoc index 4b717ee63a..b10153595d 100644 --- a/src/routes/blog/post/appwrite-indexes/+page.markdoc +++ b/src/routes/blog/post/appwrite-indexes/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite Indexes: how to speed up your database queries" description: Learn what indexes are in Appwrite Databases, which types to use, when to create them, and when adding more indexes actually hurts performance. date: 2026-03-26 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-indexes/cover.avif timeToRead: 5 author: aditya-oberai @@ -168,7 +169,7 @@ Indexes and the Query API work as a pair. The Query API expresses what data you Before putting a table into production, review every query pattern you will run on it and verify the needed indexes are in place. Adding indexes retroactively on large tables takes time and temporarily affects performance during the build phase. -The [Appwrite Databases queries reference](/docs/products/databases/queries) rows every `Query` method and makes it clear which ones require or benefit from specific index types. Keep it open when designing your schema. +The [Appwrite Databases queries reference](/docs/products/databases/queries) lists every `Query` method and makes it clear which ones require or benefit from specific index types. Keep it open when designing your schema. # Build faster queries with the right indexes diff --git a/src/routes/blog/post/appwrite-query-api/+page.markdoc b/src/routes/blog/post/appwrite-query-api/+page.markdoc index 9a282c8b6d..e517fd6da9 100644 --- a/src/routes/blog/post/appwrite-query-api/+page.markdoc +++ b/src/routes/blog/post/appwrite-query-api/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite's Query API: filtering, sorting, and pagination" description: Learn how to use Appwrite's Query API to filter, sort, and paginate database results efficiently, including offset and cursor pagination. date: 2026-03-25 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-query-api/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc b/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc index 9fbaa36bae..b4e163a6f4 100644 --- a/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc +++ b/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc @@ -7,7 +7,7 @@ timeToRead: 6 date: 2024-09-02 author: damodar-lohani category: tutorial -lastUpdated: 2025-10-14 +lastUpdated: 2026-06-29 faqs: - question: "What is Appwrite Realtime, and how does it work?" answer: "Appwrite Realtime lets your app respond instantly to changes, like new database entries or deleted rows, without needing manual refreshes. You simply subscribe to events (e.g., row creation, updates, or deletions), and Appwrite automatically pushes updates to your app via a WebSocket connection." diff --git a/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc b/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc index c443f2e55f..8bb5f803e7 100644 --- a/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc +++ b/src/routes/blog/post/appwrite-server-sdk-vs-client-sdk/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "How to use Appwrite's Server SDK vs Client SDK" description: Understand the difference between Appwrite's Client and Server SDKs, when to use each one, and how to avoid common security mistakes in your app. date: 2026-03-26 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-server-sdk-vs-client-sdk/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc b/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc index 8e2ab5fb6d..7c2c7447a1 100644 --- a/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc +++ b/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to build a file manager with Appwrite Storage description: Learn how to create buckets, upload and download files, set permissions, and build a complete file manager UI using Appwrite Storage. date: 2026-03-24 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-storage-file-manager/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc b/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc index 8b15d3a8a9..15e63bb8f4 100644 --- a/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc +++ b/src/routes/blog/post/appwrite-vs-convex-ai-agents/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite vs Convex for AI apps and agent workflows" description: "Compare Appwrite vs Convex for AI apps and agent workflows, from agent primitives to Auth, TablesDB, Realtime, Storage, Functions, and MCP." date: 2026-04-28 +lastUpdated: 2026-06-29 cover: /images/blog/appwrite-vs-convex-ai-agents/cover.avif timeToRead: 9 author: atharva @@ -37,7 +38,7 @@ Around that, Convex layers a broader platform: - HTTP actions for webhook endpoints and custom clients. - A document-style database with optional schemas, indexes, and paginated queries. - Realtime that is automatic as long as you read data through query functions and client libraries. -- File Storage with upload, store, serve, and delete, referenced from database rows. +- File Storage with upload, store, serve, and delete, referenced from database documents. - Scheduled Functions and Cron Jobs for durable scheduling, plus higher-level Workpool, Workflow, and Cron components for larger scale. - Authentication via Clerk, WorkOS AuthKit, Auth0, Custom OIDC, or the beta Convex Auth library. - Self-hosting under an FSL Apache 2.0 license that converts to Apache 2.0 after two years. diff --git a/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc b/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc index 25f7daa1cd..1c0c2f9f7b 100644 --- a/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc +++ b/src/routes/blog/post/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "April Product update: MongoDB support, Appwrite 1.9.0, Realtime upgrades and AI tooling" description: Get a full recap of everything shipped across Appwrite in April, including the official MongoDB partnership in Appwrite 1.9.0, Terraform support, Realtime upgrades, performance improvements, new infrastructure APIs, and deeper AI integrations for Claude Code, Cursor, and MCP workflows. date: 2026-05-08 +lastUpdated: 2026-06-29 cover: /images/blog/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/backend-as-a-service/+page.markdoc b/src/routes/blog/post/backend-as-a-service/+page.markdoc index 4d1474e802..37250548da 100644 --- a/src/routes/blog/post/backend-as-a-service/+page.markdoc +++ b/src/routes/blog/post/backend-as-a-service/+page.markdoc @@ -8,7 +8,7 @@ timeToRead: 12 date: 2024-10-09 author: aditya-oberai category: product -lastUpdated: 2026-05-04 +lastUpdated: 2026-06-29 faqs: - question: "What is backend as a service (BaaS)?" answer: "BaaS is a model where a vendor runs common backend primitives (authentication, databases, file storage, APIs, and often serverless functions), and you integrate through SDKs and HTTP APIs instead of provisioning and operating that infrastructure yourself." diff --git a/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc b/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc index aed7b7ac16..b0eedc179a 100644 --- a/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc +++ b/src/routes/blog/post/backend-mistakes-that-quietly-cost-small-teams-weeks/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Backend mistakes that quietly cost small teams weeks description: "Small teams don't lose velocity because of talent, they lose it because of backend mistakes made early. Here are the 6 that cost you the most, and how to avoid them." date: 2026-03-17 +lastUpdated: 2026-06-29 cover: /images/blog/backend-mistakes-that-quietly-cost-small-teams-weeks/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/best-pagination-technique/+page.markdoc b/src/routes/blog/post/best-pagination-technique/+page.markdoc index 15f1d12434..8b40cd9d6e 100644 --- a/src/routes/blog/post/best-pagination-technique/+page.markdoc +++ b/src/routes/blog/post/best-pagination-technique/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Best database pagination technique" description: "Learn how to fix database-related performance problems using offset and cursor pagination." date: 2024-08-05 +lastUpdated: 2026-06-29 cover: /images/blog/best-pagination-technique/cover.avif timeToRead: 8 author: matej-baco diff --git a/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc b/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc index 13be91be30..52db344311 100644 --- a/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc +++ b/src/routes/blog/post/build-fullstack-notes-app-cursor-appwrite-tanstack-start/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Build a fullstack Notes app with Cursor, Appwrite, and TanStack Start description: Learn how to build a modern fullstack notes application using Cursor AI, Appwrite for backend, and TanStack Start for the frontend. date: 2025-11-05 +lastUpdated: 2026-06-29 cover: /images/blog/build-fullstack-notes-app-cursor-appwrite-tanstack-start/cover.avif timeToRead: 15 author: tessa diff --git a/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc b/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc index a4e7e10a20..a2c63ac6c0 100644 --- a/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc +++ b/src/routes/blog/post/build-fullstack-svelte-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Building a full-stack app with Svelte and Appwrite description: Learn how to build full-stack apps with Svelte and Appwrite by building an expense tracker. date: 2025-01-31 +lastUpdated: 2026-06-29 cover: /images/blog/build-fullstack-svelte-appwrite/cover.avif timeToRead: 15 author: ebenezer-don @@ -547,9 +548,9 @@ We'll start with our imports and state management: ```svelte <script lang="ts"> import { onMount } from 'svelte' - import { databases, account } from '$lib/appwrite' + import { tablesDB, account } from '$lib/appwrite' import { DATABASE_ID, EXPENSES_TABLE_ID } from '$lib/appwrite' - import { Query, Permission, Role } from 'appwrite' + import { Query, Permission, Role, ID } from 'appwrite' import { formatDistanceToNow } from 'date-fns' let expenses = [] @@ -736,7 +737,7 @@ function getCategoryName(categoryId) { function editExpense(expense) { editingExpense = expense editFormData = { - amount: expense.amount.toText(), + amount: expense.amount.toString(), description: expense.description, category: expense.category } @@ -957,7 +958,7 @@ Visit the displayed URL in your browser, and you should see a fully functional e The expense tracker can be enhanced in several ways. Data visualization with charts would help users understand their spending patterns over time. Advanced filtering and search would make it easier to find specific expenses or analyze spending by category. -Data export would let users analyze their expenses in external tools. Custom categories would let users organize expenses in ways that make sense for them. Budget tracking with alerts could help users stay within spending limits, while receipt image uploads would provide better expense rowation. +Data export would let users analyze their expenses in external tools. Custom categories would let users organize expenses in ways that make sense for them. Budget tracking with alerts could help users stay within spending limits, while receipt image uploads would provide better expense documentation. ## Conclusion diff --git a/src/routes/blog/post/build-internal-tools-quickly/+page.markdoc b/src/routes/blog/post/build-internal-tools-quickly/+page.markdoc index 52a7fb614f..58e42e73e1 100644 --- a/src/routes/blog/post/build-internal-tools-quickly/+page.markdoc +++ b/src/routes/blog/post/build-internal-tools-quickly/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "How to build internal tools quickly: Admin panels" description: A practical guide to building admin panels and operations dashboards quickly using Appwrite as the backend, without sacrificing security or reliability. date: 2026-03-18 +lastUpdated: 2026-06-29 cover: /images/blog/build-internal-tools-quickly/cover.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc b/src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc index 3e36eb48eb..55b485c2cd 100644 --- a/src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc +++ b/src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc @@ -7,7 +7,7 @@ cover: /images/blog/build-personal-crm-sveltekit/cover.avif timeToRead: 10 author: aditya-oberai category: tutorial -lastUpdated: 2025-10-14 +lastUpdated: 2026-06-29 faqs: - question: "What's the best tech stack for building a simple CRM or contact manager?" answer: "If you're aiming for speed and control, a lightweight frontend like SvelteKit paired with a platform such as Appwrite is best. You get ready-to-use APIs for data, auth, and storage (no need to manage servers) and can still customize everything when needed." diff --git a/src/routes/blog/post/build-saas-waitlist/+page.markdoc b/src/routes/blog/post/build-saas-waitlist/+page.markdoc index 1339a0b945..c248cc98eb 100644 --- a/src/routes/blog/post/build-saas-waitlist/+page.markdoc +++ b/src/routes/blog/post/build-saas-waitlist/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Build a SaaS waitlist landing page with Appwrite description: Learn how to ship a production-ready waitlist page with Vite, React, and Appwrite, including unique email validation and clean error handling. date: 2026-04-23 +lastUpdated: 2026-06-29 cover: /images/blog/build-saas-waitlist/cover.avif timeToRead: 10 author: atharva diff --git a/src/routes/blog/post/building-custom-auth-flows/+page.markdoc b/src/routes/blog/post/building-custom-auth-flows/+page.markdoc index c6a6029c1c..04e9c5899b 100644 --- a/src/routes/blog/post/building-custom-auth-flows/+page.markdoc +++ b/src/routes/blog/post/building-custom-auth-flows/+page.markdoc @@ -7,7 +7,7 @@ cover: /images/blog/building-custom-auth-flows/cover.avif timeToRead: 11 author: ebenezer-don category: tutorial -lastUpdated: 2025-10-14 +lastUpdated: 2026-06-29 faqs: - question: "What exactly are custom authentication flows?" answer: "They're login systems you build yourself instead of relying on standard providers like Google or Firebase. You decide how users are verified, how tokens or sessions are issued, and how identity data is stored. It's useful when your app needs unique logic or you already manage users elsewhere." diff --git a/src/routes/blog/post/building-init-giveaway-app/+page.markdoc b/src/routes/blog/post/building-init-giveaway-app/+page.markdoc index 735a6f61a6..0d1dc57e98 100644 --- a/src/routes/blog/post/building-init-giveaway-app/+page.markdoc +++ b/src/routes/blog/post/building-init-giveaway-app/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Building the giveaway app for Init Discord sessions description: How we used Appwrite and SvelteKit to develop a custom roulette-style giveaway web application. date: 2024-03-06 +lastUpdated: 2026-06-29 cover: /images/blog/building-init-giveaway-app/cover.avif timeToRead: 7 author: aditya-oberai @@ -66,7 +67,7 @@ Each table contained two **columns**: | Key | Type | Size | Required | | ----------- | ----------- | ----------- | ----------- | -| discordName | Text | 255 | Yes | +| discordName | Varchar | 255 | Yes | | email | Email | - | Yes | To ensure that one user could only be added once for a day’s giveaway, we created an **index** of the `unique` type. @@ -369,7 +370,7 @@ Using the load function would ensure that this list would be available on our pa // Uses Appwrite Realtime to get newly created rows and regenerate the wheel function subscribe() { return client.subscribe( - `databases.${DATABASE_NAME}.tables.${TABLE_NAME}.rows`, + `tablesdb.${DATABASE_NAME}.tables.${TABLE_NAME}.rows`, (response) => { console.log(response); props.items.push({ label: response.payload.discordName }); diff --git a/src/routes/blog/post/bun-function-resume/+page.markdoc b/src/routes/blog/post/bun-function-resume/+page.markdoc index 7d3ca30ab3..bf72f09bea 100644 --- a/src/routes/blog/post/bun-function-resume/+page.markdoc +++ b/src/routes/blog/post/bun-function-resume/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Share your resume using Appwrite Functions description: How you can create a resume using HTML and use a Bun Appwrite Function to share it with the world. date: 2024-03-07 +lastUpdated: 2026-06-29 cover: /images/blog/bun-function-resume/cover.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/ccpa-vs-gdpr/+page.markdoc b/src/routes/blog/post/ccpa-vs-gdpr/+page.markdoc index 1a39ecfeda..f8b6e87c6d 100644 --- a/src/routes/blog/post/ccpa-vs-gdpr/+page.markdoc +++ b/src/routes/blog/post/ccpa-vs-gdpr/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "CCPA vs GDPR: Understanding the differences and implications" description: Learn more about the difference between CCPA and GDPR and what you need to keep in mind when building your applications. date: 2024-09-19 +lastUpdated: 2026-06-29 cover: /images/blog/ccpa-gdpr.avif timeToRead: 8 author: jake-barnby diff --git a/src/routes/blog/post/celebrating-1.5-contributors/+page.markdoc b/src/routes/blog/post/celebrating-1.5-contributors/+page.markdoc index e0e7784b16..307d844718 100644 --- a/src/routes/blog/post/celebrating-1.5-contributors/+page.markdoc +++ b/src/routes/blog/post/celebrating-1.5-contributors/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite 1.5: celebrating the contributors" description: Appreciating the contributors from our community who help shape Appwrite as it is today. date: 2024-03-06 +lastUpdated: 2026-06-29 cover: /images/blog/celebrating-1.5-contributors.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/change-regions-with-migrations/+page.markdoc b/src/routes/blog/post/change-regions-with-migrations/+page.markdoc index 19876dd4a3..55bb42da8c 100644 --- a/src/routes/blog/post/change-regions-with-migrations/+page.markdoc +++ b/src/routes/blog/post/change-regions-with-migrations/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to change regions in Appwrite Cloud using migrations description: Learn how to migrate your Appwrite Cloud project from one region to another. date: 2025-04-16 +lastUpdated: 2026-06-29 cover: /images/blog/change-regions-with-migrations/cover.avif timeToRead: 10 author: ebenezer-don diff --git a/src/routes/blog/post/choosing-the-right-database-for-ai-applications-when-to-use-mongodb/+page.markdoc b/src/routes/blog/post/choosing-the-right-database-for-ai-applications-when-to-use-mongodb/+page.markdoc index 745239b628..eae564aa14 100644 --- a/src/routes/blog/post/choosing-the-right-database-for-ai-applications-when-to-use-mongodb/+page.markdoc +++ b/src/routes/blog/post/choosing-the-right-database-for-ai-applications-when-to-use-mongodb/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Choosing the right database for AI applications: When to use MongoDB" description: Choose the right database for AI workloads. Learn when MongoDB fits dynamic, high-write AI data and how Appwrite lets you build on it without managing backend infrastructure. date: 2026-04-03 +lastUpdated: 2026-06-29 cover: /images/blog/choosing-the-right-database-for-ai-applications-when-to-use-mongodb/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/ci-cd-examples-in-appwrite/+page.markdoc b/src/routes/blog/post/ci-cd-examples-in-appwrite/+page.markdoc index bef96e6dd1..19673fd1c3 100644 --- a/src/routes/blog/post/ci-cd-examples-in-appwrite/+page.markdoc +++ b/src/routes/blog/post/ci-cd-examples-in-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "CI/CD examples in Appwrite CLI" description: Explore the brand-new Appwrite CLI features in detail and take a look at some CI/CD examples. date: 2024-08-20 +lastUpdated: 2026-06-29 cover: /images/blog/cdi-cover.avif timeToRead: 5 author: ebenezer-don diff --git a/src/routes/blog/post/claude-design/+page.markdoc b/src/routes/blog/post/claude-design/+page.markdoc index 34fab7896c..23e5ddbb86 100644 --- a/src/routes/blog/post/claude-design/+page.markdoc +++ b/src/routes/blog/post/claude-design/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Claude Design: Anthropic's new canvas for designers, PMs, and developers" description: "Anthropic just launched Claude Design, a new Labs product for creating polished designs, prototypes, and decks by talking to Claude. Here's what it does and why it matters for developers." date: 2026-04-18 +lastUpdated: 2026-06-29 cover: /images/blog/claude-design/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/claude-mythos-preview/+page.markdoc b/src/routes/blog/post/claude-mythos-preview/+page.markdoc index 0bb2a55eef..e4d6d7a0bc 100644 --- a/src/routes/blog/post/claude-mythos-preview/+page.markdoc +++ b/src/routes/blog/post/claude-mythos-preview/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Claude Mythos Preview: the model too powerful to release" description: "Anthropic's Claude Mythos Preview broke out of a sandbox, found zero-days in Firefox, and solved a 10-hour corporate pentest autonomously. Here's why they chose not to release it." date: 2026-04-09 +lastUpdated: 2026-06-29 cover: /images/blog/claude-mythos-preview/cover.avif timeToRead: 7 author: atharva diff --git a/src/routes/blog/post/client-dashboards-internal-tools/+page.markdoc b/src/routes/blog/post/client-dashboards-internal-tools/+page.markdoc index 08c69619c3..b6fff53af9 100644 --- a/src/routes/blog/post/client-dashboards-internal-tools/+page.markdoc +++ b/src/routes/blog/post/client-dashboards-internal-tools/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Building client dashboards and internal tools faster" description: How to ship admin panels, dashboards, and internal tools quickly for clients without rebuilding the same backend infrastructure from scratch each time. date: 2026-03-20 +lastUpdated: 2026-06-29 cover: /images/blog/client-dashboards-internal-tools/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/common-appwrite-mistakes-and-how-to-avoid-them/+page.markdoc b/src/routes/blog/post/common-appwrite-mistakes-and-how-to-avoid-them/+page.markdoc index 2f21879104..19adb37483 100644 --- a/src/routes/blog/post/common-appwrite-mistakes-and-how-to-avoid-them/+page.markdoc +++ b/src/routes/blog/post/common-appwrite-mistakes-and-how-to-avoid-them/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Common Appwrite mistakes (and how to avoid them) description: Common mistakes developers make when building with Appwrite and how to fix them before they cause security, performance, or scaling issues. date: 2026-03-16 +lastUpdated: 2026-06-29 cover: /images/blog/common-appwrite-mistakes-and-how-to-avoid-them/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/compliant-architectures/+page.markdoc b/src/routes/blog/post/compliant-architectures/+page.markdoc index 32edeeacbb..a336111471 100644 --- a/src/routes/blog/post/compliant-architectures/+page.markdoc +++ b/src/routes/blog/post/compliant-architectures/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Designing compliant architectures without slowing your team" description: How to build compliance into your backend architecture from the start without creating bottlenecks or blocking your team from shipping faster. date: 2026-03-16 +lastUpdated: 2026-06-29 cover: /images/blog/compliant-architectures/cover.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/cors-error/+page.markdoc b/src/routes/blog/post/cors-error/+page.markdoc index 2a29a7c10e..661f397bf3 100644 --- a/src/routes/blog/post/cors-error/+page.markdoc +++ b/src/routes/blog/post/cors-error/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Solving CORS errors with Appwrite description: Understanding why you are getting CORS error when sending a request to an Appwrite backend and how to debug. date: 2024-01-16 +lastUpdated: 2026-06-29 cover: /images/blog/cors-error/cors_cover.avif timeToRead: 3 author: dennis-ivy diff --git a/src/routes/blog/post/cursor-3-parallel-fleets-appwrite/+page.markdoc b/src/routes/blog/post/cursor-3-parallel-fleets-appwrite/+page.markdoc index 25260dfd38..546b79fd77 100644 --- a/src/routes/blog/post/cursor-3-parallel-fleets-appwrite/+page.markdoc +++ b/src/routes/blog/post/cursor-3-parallel-fleets-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Cursor 3: parallel agents, cloud agents, skills, and MCP" description: An overview of Cursor 3 - agent-first layout, cloud agents, the skills marketplace and MCP, and the integrated browser - with notes on using it alongside Appwrite. date: 2026-04-03 +lastUpdated: 2026-06-29 cover: /images/blog/cursor-3-parallel-fleets-appwrite/cover.avif timeToRead: 7 author: eldad-fux diff --git a/src/routes/blog/post/customer-stories-smartbee/+page.markdoc b/src/routes/blog/post/customer-stories-smartbee/+page.markdoc index a090004d6c..ca7a49cd16 100644 --- a/src/routes/blog/post/customer-stories-smartbee/+page.markdoc +++ b/src/routes/blog/post/customer-stories-smartbee/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Smartbee: Revolutionizing coal mine monitoring" description: Learn how Smartbee leveraged Appwrite to build a performant and robust system to monitor and aggregate gas level data in real-time for 7 coal mines in Columbia. date: 2023-12-02 +lastUpdated: 2026-06-29 cover: /images/blog/smartbee.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/customer-stories-undo/+page.markdoc b/src/routes/blog/post/customer-stories-undo/+page.markdoc index 301a4ffabe..7fa39ba070 100644 --- a/src/routes/blog/post/customer-stories-undo/+page.markdoc +++ b/src/routes/blog/post/customer-stories-undo/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Pioneering asset management solutions for the circular economy with UNDO description: Learn how UNDO has leveraged Appwrite to transform logistics and supply chain management for circular businesses, supporting 5 businesses with over 9000 articles within 6 months of its inception. date: 2024-07-09 +lastUpdated: 2026-06-29 cover: /images/blog/case-study-undo/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/customer-story-socialaize/+page.markdoc b/src/routes/blog/post/customer-story-socialaize/+page.markdoc index 48991e83bb..f001fc472e 100644 --- a/src/routes/blog/post/customer-story-socialaize/+page.markdoc +++ b/src/routes/blog/post/customer-story-socialaize/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Simplifying social media management with automation and AI with StoreAlert and Appwrite description: Discover how Appwrite Cloud seamlessly powers Socialaize's growth, handling 200K to 600K daily function executions and delivering enterprise-grade infrastructure while creating annual savings of up to 300% on backend costs. date: 2025-08-22 +lastUpdated: 2026-06-29 cover: /images/blog/customer-story-socialaize/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc b/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc index c386a67865..486da9f988 100644 --- a/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc +++ b/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Deploy a PDF generation service in minutes with Appwrite Functions description: Learn how to deploy PDF generation service in minutes with Appwrite Functions. date: 2023-11-14 +lastUpdated: 2026-06-29 cover: /images/blog/pdf-generation/pdf.avif timeToRead: 5 author: luke-silver diff --git a/src/routes/blog/post/developer-tools-appwrite/+page.markdoc b/src/routes/blog/post/developer-tools-appwrite/+page.markdoc index 5a46f46ec1..d29cd01e38 100644 --- a/src/routes/blog/post/developer-tools-appwrite/+page.markdoc +++ b/src/routes/blog/post/developer-tools-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: 12 developer tools to supercharge your Appwrite project description: Boost your developer experience with Appwrite using these awesome tools. date: 2024-06-17 +lastUpdated: 2026-06-29 cover: /images/blog/developer-tools-appwrite/cover.avif timeToRead: 5 author: aditya-oberai @@ -104,4 +105,4 @@ To explore more tools and projects that can help you build your applications qui - [Built with Appwrite](https://builtwith.appwrite.io/): Discover a wide range of projects and applications that utilize Appwrite's features. - [Awesome Appwrite](https://github.com/appwrite/awesome-appwrite): A curated list of Appwrite-related resources, including libraries, tools, and projects. -- [Appwrite Discord](https://discord.com/invite/appwrite): Connect with other developers and the Appwrite team for discussion, questions, and collaboration. +- [Appwrite Discord](/discord): Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/document-vs-relational-databases-vibecoding/+page.markdoc b/src/routes/blog/post/document-vs-relational-databases-vibecoding/+page.markdoc index e1c4d49660..d5e27b8ed4 100644 --- a/src/routes/blog/post/document-vs-relational-databases-vibecoding/+page.markdoc +++ b/src/routes/blog/post/document-vs-relational-databases-vibecoding/+page.markdoc @@ -1,6 +1,6 @@ --- layout: post -title: "NoSQL vs relational databases: Finding the right fit for your AI project" +title: "Document vs relational databases: Finding the right fit for your AI project" description: "A comparison of SQL and NoSQL databases to help you choose the right tool for your next project." date: 2025-12-02 cover: /images/blog/document-vs-relational-databases-vibecoding/cover.avif @@ -11,22 +11,22 @@ featured: false callToAction: true faqs: - question: "Should I pick a SQL or NoSQL database for my next project?" - answer: "Pick SQL if your data is highly relational, your structure is stable, and you need ACID guarantees for things like payments or analytics. Pick NoSQL if you need schema flexibility, hierarchical data, horizontal scale, or you are iterating quickly alongside AI agents that emit JSON natively." - - question: "Why are NoSQL databases a better fit for AI-driven workflows?" - answer: "LLMs emit JSON natively, and many NoSQL databases store JSON-like structures natively, so there is less translation between what an agent generates and what gets persisted. Schema flexibility also lets agents add fields without forcing a migration, which keeps the build loop fast during early experimentation." - - question: "What is the difference between SQL and a NoSQL database?" - answer: "SQL databases store data in tables with strict rows and columns enforced by a schema, with strong support for JOINs and ACID transactions. NoSQL databases usually favor flexible structures and horizontal scaling. The trade-off is rigor versus flexibility." + answer: "Pick SQL if your data is highly relational, your structure is stable, and you need ACID guarantees for things like payments or analytics. Pick a document database if you need schema flexibility, hierarchical data, horizontal scale, or you are iterating quickly alongside AI agents that emit JSON natively." + - question: "Why are document databases a better fit for AI-driven workflows?" + answer: "LLMs emit JSON natively, and document databases store JSON natively, so there is no translation layer between what an agent generates and what gets persisted. Schema flexibility also lets agents add fields without forcing a migration, which keeps the build loop fast during early experimentation." + - question: "What is the difference between SQL and a document database?" + answer: "SQL databases store data in tables with strict rows and columns enforced by a schema, with strong support for JOINs and ACID transactions. Document databases store data as JSON documents with flexible structure, designed for horizontal scaling and rapid iteration. The trade-off is rigor versus flexibility." - question: "What kind of database does Appwrite use?" - answer: "[Appwrite Databases](/docs/products/databases) stores data in tables and rows with built-in permissions, queries, relationships, and realtime updates. It fits the rapid iteration style of modern app and AI development while keeping the data model easy to reason about." - - question: "Can NoSQL databases handle relationships between data?" - answer: "Yes. Many NoSQL databases support references between records, and Appwrite Databases adds first-class relationship columns so you can model one-to-many and many-to-many links. For very deep multi-table JOINs across normalized data, a relational database is still a stronger fit, but most apps do not need that." - - question: "Are NoSQL databases suitable for production-scale applications?" - answer: "Yes, NoSQL databases are designed for high-volume workloads and horizontal scaling. They power content platforms, social apps, IoT data, and many AI products at scale. The question is usually about query shape and consistency needs, not raw scale." + answer: "[Appwrite Databases](/docs/products/databases) is a document database that stores data in collections of JSON-like documents. It pairs the flexibility of the document model with built-in permissions, queries, and realtime updates, which fits the rapid iteration style of modern app and AI development." + - question: "Can document databases handle relationships between data?" + answer: "Yes. Document databases support references between documents, and Appwrite Databases adds first-class relationship attributes so you can model one-to-many and many-to-many links. For very deep multi-table JOINs across normalized data, a relational database is still a stronger fit, but most apps do not need that." + - question: "Are document databases suitable for production-scale applications?" + answer: "Yes, document databases like Appwrite Databases and MongoDB are designed for high-volume workloads and horizontal scaling. They power content platforms, social apps, IoT data, and many AI products at scale. The question is usually about query shape and consistency needs, not raw scale." --- -If you're building an application in 2026, the choice of database is one of the most critical technical decisions you'll make. The debate typically centers on two primary options: **SQL (Relational)** and **NoSQL**. +If you're building an application in 2026, the choice of database is one of the most critical technical decisions you'll make. The debate typically centers on two primary options: **SQL (Relational)** and **NoSQL (Document)**. -Developers often have strong preferences, favoring either the strict structure of SQL or the flexibility of NoSQL databases. +Developers often have strong preferences, favoring either the strict structure of SQL or the flexibility of Document databases. However, neither approach is always superior. Each works best in specific scenarios, and understanding their different strengths is how you choose the right tool for your project. @@ -46,15 +46,15 @@ However, neither approach is always superior. Each works best in specific scenar * **Analytical reporting**: Projects requiring complex queries and calculations across highly connected data. * **Stable data models**: Applications where the data structure is well-understood and unlikely to have frequent, major changes. -# NoSQL databases +# Document databases (NoSQL) -**NoSQL databases** often store data in flexible JSON-like structures. This model focuses on flexibility and developer experience. +**Document databases** (such as Appwrite Databases and MongoDB) store data as **documents**, typically in **JSON** format. This model focuses on flexibility and developer experience. -## Why choose NoSQL databases? +## Why choose document databases? -* **Schema flexibility**: Unlike SQL, many NoSQL databases allow you to update your data model without downtime. You can add new fields without changing an entire table, allowing rapid iteration. +* **Schema flexibility**: Unlike SQL, document databases allow you to update your data model without downtime. You can add new fields to a document without changing the entire collection, allowing rapid iteration. * **Developer experience**: Data is stored in the same format used in your application code (JSON objects). This removes the need for complex object-relational mapping (ORM) layers, reducing development complexity. -* **Horizontal scalability**: Many NoSQL databases are designed to scale out across multiple servers, making them perfect for high-volume applications that need to handle massive amounts of data and traffic. +* **Horizontal scalability**: Many document databases are designed to scale out across multiple servers, making them perfect for high-volume applications that need to handle massive amounts of data and traffic. ## Best use cases @@ -64,19 +64,19 @@ However, neither approach is always superior. Each works best in specific scenar # The AI factor -The rise of AI-assisted coding, or "vibecoding," has changed how many developers approach database selection. Flexible NoSQL databases often align naturally with AI-driven workflows. The agents and IDEs you use for that workflow differ too; for a practical comparison across common tools, see [Best vibe coding tools in 2026: comparison and tradeoffs](/blog/post/comparing-vibe-coding-tools). +The rise of AI-assisted coding, or "vibecoding," has changed how many developers approach database selection. Document databases often align more naturally with AI-driven workflows. The agents and IDEs you use for that workflow differ too; for a practical comparison across common tools, see [Best vibe coding tools in 2026: comparison and tradeoffs](/blog/post/comparing-vibe-coding-tools). -**Native JSON support**: Large Language Models (LLMs) are trained to understand and generate JSON. When an AI agent generates a data object, it can often be saved directly to a NoSQL database without the need for translation or mapping layers. +**Native JSON support**: Large Language Models (LLMs) are trained to understand and generate JSON. When an AI agent generates a data object, it can often be saved directly to a document database without the need for translation or mapping layers. -**Fluid iteration**: AI development involves rapid experimentation. If an agent suggests adding a new column to a user profile, a flexible database can accept this change quickly. In a SQL environment, this would typically require a schema migration, introducing complexity to the creative process. +**Fluid iteration**: AI development involves rapid experimentation. If an agent suggests adding a new attribute to a user profile, a document database accepts this change immediately. In a SQL environment, this would typically require a schema migration, introducing complexity to the creative process. -So while modern SQL databases like PostgreSQL might offer strong JSON support, a flexible NoSQL model remains the path of least resistance for many AI-focused workflows. +So while modern SQL databases like PostgreSQL might offer strong JSON support, the document model remains the path of least resistance for many AI-focused workflows. # At a glance -| Feature | Relational (SQL) | NoSQL | +| Feature | Relational (SQL) | Document (NoSQL) | | :--- | :--- | :--- | -| **Data format** | Tables with rows and columns | JSON-like records | +| **Data format** | Tables with rows and columns | JSON documents | | **Structure** | Rigid, requires migrations | Flexible, dynamic | | **Relationships** | Excellent (JOINs) | Good (often denormalized) | | **Reliability** | Strong consistency (ACID) | Configurable consistency | @@ -88,9 +88,9 @@ So while modern SQL databases like PostgreSQL might offer strong JSON support, a The right database depends entirely on your specific requirements. * Choose **SQL** if your data is highly relational, your structure is stable, and data integrity is your top priority. -* Choose **NoSQL** if you need flexibility, horizontal scaling, nested/hierarchical data, or are primarily building with AI agents. +* Choose **Document** if you need flexibility, horizontal scaling, nested/hierarchical data, or are primarily building with AI agents. -If you're looking for a solution that combines flexible data modeling with the ease of a [backend as a service](/blog/post/backend-as-a-service), check out [Appwrite Databases](/docs/products/databases). It's designed to support fast, iterative development for modern applications. +If you're looking for a solution that combines the flexibility of the document model with the ease of a [backend as a service](/blog/post/backend-as-a-service), check out [Appwrite Databases](/docs/databases). It's designed to support fast, iterative development for modern applications. # More resources diff --git a/src/routes/blog/post/easiest-file-uploads/+page.markdoc b/src/routes/blog/post/easiest-file-uploads/+page.markdoc index 3c9793763a..90713a3c61 100644 --- a/src/routes/blog/post/easiest-file-uploads/+page.markdoc +++ b/src/routes/blog/post/easiest-file-uploads/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "The easiest way to add file uploads to your app" description: A practical guide to implementing file uploads in your application using Appwrite Storage, covering setup, upload, access control, and image transformations. date: 2026-03-18 +lastUpdated: 2026-06-29 cover: /images/blog/easiest-file-uploads/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/encrypted-attributes-for-sensitive-fields/+page.markdoc b/src/routes/blog/post/encrypted-attributes-for-sensitive-fields/+page.markdoc index 2cddd3d43f..ba1b9756b3 100644 --- a/src/routes/blog/post/encrypted-attributes-for-sensitive-fields/+page.markdoc +++ b/src/routes/blog/post/encrypted-attributes-for-sensitive-fields/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Secure sensitive database fields with encrypted text columns description: Learn how to use encrypted text columns to protect sensitive data in your Appwrite database. date: 2025-07-10 +lastUpdated: 2026-06-29 cover: /images/blog/encrypted-attributes-for-sensitive-fields/cover.avif timeToRead: 5 author: ebenezer-don diff --git a/src/routes/blog/post/everything-new-with-appwrite-1.5/+page.markdoc b/src/routes/blog/post/everything-new-with-appwrite-1.5/+page.markdoc index aa6be4b63e..bb09d03e43 100644 --- a/src/routes/blog/post/everything-new-with-appwrite-1.5/+page.markdoc +++ b/src/routes/blog/post/everything-new-with-appwrite-1.5/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: See what is new with Appwrite 1.5 description: Here is a recap off all announcements for Appwrite 1.5. date: 2024-03-05 +lastUpdated: 2026-06-29 cover: /images/blog/everything-new-with-appwrite-1.5/1.5-recap.avif timeToRead: 6 author: dennis-ivy diff --git a/src/routes/blog/post/february-and-march-product-update-realtime-queries-appwrite-skills-and-new-database-features/+page.markdoc b/src/routes/blog/post/february-and-march-product-update-realtime-queries-appwrite-skills-and-new-database-features/+page.markdoc index 9efc451d77..fb29f4897f 100644 --- a/src/routes/blog/post/february-and-march-product-update-realtime-queries-appwrite-skills-and-new-database-features/+page.markdoc +++ b/src/routes/blog/post/february-and-march-product-update-realtime-queries-appwrite-skills-and-new-database-features/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "February and March product update: Realtime queries, Appwrite Skills, and new database features" description: Get a full recap of features, improvements, and tools we shipped across Databases, Realtime, and AI in February and March. date: 2026-04-24 +lastUpdated: 2026-06-29 cover: /images/blog/february-and-march-product-update-realtime-queries-appwrite-skills-and-new-database-features/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/firebase-vs-open-source-tradeoffs/+page.markdoc b/src/routes/blog/post/firebase-vs-open-source-tradeoffs/+page.markdoc index 26ce8dfbf5..230d764b27 100644 --- a/src/routes/blog/post/firebase-vs-open-source-tradeoffs/+page.markdoc +++ b/src/routes/blog/post/firebase-vs-open-source-tradeoffs/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Firebase vs open source: the trade-offs developers miss" description: "An honest look at the trade-offs developers make when choosing Firebase: vendor lock-in, pricing at scale, and data ownership versus open-source alternatives." date: 2026-03-20 +lastUpdated: 2026-06-29 cover: /images/blog/firebase-vs-open-source-tradeoffs/cover.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc b/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc index cadc3a746c..1c63009747 100644 --- a/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc +++ b/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Fixing OAuth2 authentication issues in Appwrite description: Learn how to fix OAuth2 and third-party cookie issues in Appwrite. date: 2025-02-18 +lastUpdated: 2026-06-29 cover: /images/blog/fixing-oauth2-issues-in-appwrite-cloud/cover.avif timeToRead: 5 author: ebenezer-don diff --git a/src/routes/blog/post/gdpr-compliance-mobile-apps-alternative-firebase/+page.markdoc b/src/routes/blog/post/gdpr-compliance-mobile-apps-alternative-firebase/+page.markdoc index 9a8c1ee8ae..7ff6bfb97d 100644 --- a/src/routes/blog/post/gdpr-compliance-mobile-apps-alternative-firebase/+page.markdoc +++ b/src/routes/blog/post/gdpr-compliance-mobile-apps-alternative-firebase/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "GDPR compliance for mobile apps: a developer’s guide" description: Learn how to ensure your mobile app protects user privacy while meeting GDPR. date: 2024-09-05 +lastUpdated: 2026-06-29 cover: /images/blog/gdpr-mobile-apps-guide/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/google-oauth-expo/+page.markdoc b/src/routes/blog/post/google-oauth-expo/+page.markdoc index 59b239547b..53bc289335 100644 --- a/src/routes/blog/post/google-oauth-expo/+page.markdoc +++ b/src/routes/blog/post/google-oauth-expo/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Implementing Google OAuth with Expo Router description: Learn how to implement Google authentication in Expo React Native. date: 2025-09-16 +lastUpdated: 2026-06-29 cover: /images/blog/google-oauth-expo/cover.avif timeToRead: 7 author: atharva diff --git a/src/routes/blog/post/hacktoberfest-ideas-2024/+page.markdoc b/src/routes/blog/post/hacktoberfest-ideas-2024/+page.markdoc index f5782290ec..1bcef9fcb1 100644 --- a/src/routes/blog/post/hacktoberfest-ideas-2024/+page.markdoc +++ b/src/routes/blog/post/hacktoberfest-ideas-2024/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Get inspired for Hacktoberfest 2024 with these ideas" description: Check out what the Appwrite team created during our internal hackathon and get inspired for your own project in the Hacktoberfest 2024 Hackathon! date: 2024-09-27 +lastUpdated: 2026-06-29 cover: /images/blog/get-inspired-for-hackathon/cover.avif timeToRead: 4 author: snezhanna diff --git a/src/routes/blog/post/hipaa-compliance-for-web-apps-a-practical-guide/+page.markdoc b/src/routes/blog/post/hipaa-compliance-for-web-apps-a-practical-guide/+page.markdoc index e54c95677b..a72a4be4cf 100644 --- a/src/routes/blog/post/hipaa-compliance-for-web-apps-a-practical-guide/+page.markdoc +++ b/src/routes/blog/post/hipaa-compliance-for-web-apps-a-practical-guide/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "HIPAA compliance for web apps: A practical guide" description: This guide breaks down what HIPAA compliance actually requires for modern web architectures, and how to design secure, PHI-safe systems from the backend up. date: 2026-02-25 +lastUpdated: 2026-06-29 cover: /images/blog/hipaa-compliance-for-web-apps-a-practical-guide/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc b/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc index 16519e4c67..ee9d6a6f2c 100644 --- a/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc +++ b/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How Appwrite streamlines database operations using hooks description: Learn how Appwrite implemented hook functions to develop custom filters in the Databases services. date: 2025-01-18 +lastUpdated: 2026-06-29 cover: /images/blog/hooks-appwrite-databases/cover.avif timeToRead: 10 author: aditya-oberai diff --git a/src/routes/blog/post/how-appwrite-simplifies-backend-development-for-frontend-devs/+page.markdoc b/src/routes/blog/post/how-appwrite-simplifies-backend-development-for-frontend-devs/+page.markdoc index 443c8fb930..cb586fa0fa 100644 --- a/src/routes/blog/post/how-appwrite-simplifies-backend-development-for-frontend-devs/+page.markdoc +++ b/src/routes/blog/post/how-appwrite-simplifies-backend-development-for-frontend-devs/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How Appwrite simplifies backend development for frontend devs description: See how Appwrite makes backend development easier for frontend developers by handling auth, databases, storage, and server-side logic through simple APIs and tools. This guide shows how you can build full-stack apps faster without getting buried in backend complexity or infrastructure setup. date: 2026-03-16 +lastUpdated: 2026-06-29 cover: /images/blog/how-appwrite-simplifies-backend-development-for-frontend-devs/cover.avif timeToRead: 5 author: atharva diff --git a/src/routes/blog/post/how-modern-developers-choose-tech-stacks-today/+page.markdoc b/src/routes/blog/post/how-modern-developers-choose-tech-stacks-today/+page.markdoc index c3ab54f8a5..9491a5bc8a 100644 --- a/src/routes/blog/post/how-modern-developers-choose-tech-stacks-today/+page.markdoc +++ b/src/routes/blog/post/how-modern-developers-choose-tech-stacks-today/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How modern developers choose tech stacks today description: Learn how modern developers choose tech stacks based on speed, developer experience, flexibility, and lock-in risk to find a backend that scales. date: 2026-03-28 +lastUpdated: 2026-06-29 cover: /images/blog/how-modern-developers-choose-tech-stacks-today/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/how-to-avoid-framework-fatigue-when-building-backends/+page.markdoc b/src/routes/blog/post/how-to-avoid-framework-fatigue-when-building-backends/+page.markdoc index c059e7cbb2..0587d19e76 100644 --- a/src/routes/blog/post/how-to-avoid-framework-fatigue-when-building-backends/+page.markdoc +++ b/src/routes/blog/post/how-to-avoid-framework-fatigue-when-building-backends/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to avoid "framework fatigue" when building backends description: Avoid framework fatigue when building backends. Learn how to choose stable tools, reduce stack complexity, and ship faster without constantly switching frameworks. date: 2026-04-09 +lastUpdated: 2026-06-29 cover: /images/blog/how-to-avoid-framework-fatigue-when-building-backends/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/how-to-build-a-remote-tech-stack/+page.markdoc b/src/routes/blog/post/how-to-build-a-remote-tech-stack/+page.markdoc index af04897d25..7f829c9738 100644 --- a/src/routes/blog/post/how-to-build-a-remote-tech-stack/+page.markdoc +++ b/src/routes/blog/post/how-to-build-a-remote-tech-stack/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "How to build a tech stack for a remote startup" description: 10 tools you need in your remote tech stack. date: 2024-07-16 +lastUpdated: 2026-06-29 cover: /images/blog/how-to-build-remote-tech-stack/cover.avif timeToRead: 5 author: snezhanna diff --git a/src/routes/blog/post/how-to-build-your-digital-event-tickets/+page.markdoc b/src/routes/blog/post/how-to-build-your-digital-event-tickets/+page.markdoc index 705ffa2b79..66ea7b3306 100644 --- a/src/routes/blog/post/how-to-build-your-digital-event-tickets/+page.markdoc +++ b/src/routes/blog/post/how-to-build-your-digital-event-tickets/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to build your digital event tickets description: Did you enjoy the Init tickets? In this blog we share how you can create your own. date: 2024-03-04 +lastUpdated: 2026-06-29 cover: /images/blog/tickets-cover.avif timeToRead: 12 author: laura-du-ry diff --git a/src/routes/blog/post/how-to-execute-database-migration-with-appwrite-cli/+page.markdoc b/src/routes/blog/post/how-to-execute-database-migration-with-appwrite-cli/+page.markdoc index f667f8edb2..61e9104bb9 100644 --- a/src/routes/blog/post/how-to-execute-database-migration-with-appwrite-cli/+page.markdoc +++ b/src/routes/blog/post/how-to-execute-database-migration-with-appwrite-cli/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to plan and execute database migration successfully with the new Appwrite CLI description: Learn how to use the new Appwrite CLI to migrate your databases. date: 2024-08-26 +lastUpdated: 2026-06-29 cover: /images/blog/how-to-migrate-database-with-cli/cover.avif timeToRead: 5 author: ebenezer-don diff --git a/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc b/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc index 6d7eaa6b38..593c242c9e 100644 --- a/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc +++ b/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "How to leverage Appwrite Dynamic Keys for enhanced security" description: Learn how to use dynamic API keys to protect your projects. date: 2024-08-21 +lastUpdated: 2026-06-29 cover: /images/blog/how-to-leverage-dynamic-api-keys-for-better-security/cover.avif timeToRead: 5 author: ebenezer-don diff --git a/src/routes/blog/post/how-to-optimize-your-appwrite-project/+page.markdoc b/src/routes/blog/post/how-to-optimize-your-appwrite-project/+page.markdoc index e72eb3ba0b..28a7966780 100644 --- a/src/routes/blog/post/how-to-optimize-your-appwrite-project/+page.markdoc +++ b/src/routes/blog/post/how-to-optimize-your-appwrite-project/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to optimize your Appwrite project for cost and performance description: Learn how to optimize your Appwrite project, manage resource usage, costs, and ensure smooth performance as yout application scales. date: 2024-09-20 +lastUpdated: 2026-06-29 cover: /images/blog/how-to-optimize-your-appwrite-project/cover.avif timeToRead: 12 author: ebenezer-don diff --git a/src/routes/blog/post/image-classification/+page.markdoc b/src/routes/blog/post/image-classification/+page.markdoc index 1691b88109..ca2ebf5c63 100644 --- a/src/routes/blog/post/image-classification/+page.markdoc +++ b/src/routes/blog/post/image-classification/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: A technical deep dive into image classification description: Learn all about image classification and how to integrate it into your Appwrite project using TensorFlow date: 2024-08-06 +lastUpdated: 2026-06-29 cover: /images/blog/image-classification.avif timeToRead: 9 author: bradley-schofield diff --git a/src/routes/blog/post/improve-devex-dev-keys/+page.markdoc b/src/routes/blog/post/improve-devex-dev-keys/+page.markdoc index 6281e00810..e431ea1319 100644 --- a/src/routes/blog/post/improve-devex-dev-keys/+page.markdoc +++ b/src/routes/blog/post/improve-devex-dev-keys/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Improve your Appwrite developer experience with dev keys description: Learn how you can create a dev key on Appwrite and use it in a web project to improve your developer experience. date: 2025-05-21 +lastUpdated: 2026-06-29 cover: /images/blog/improve-devex-dev-keys/cover.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc b/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc index 2b0f840dc4..0ae542424c 100644 --- a/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc +++ b/src/routes/blog/post/integrate-custom-auth-sveltekit/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Integrate any external authentication solution into your Appwrite project description: Add any custom authentication flow to your applications. date: 2024-05-30 +lastUpdated: 2026-06-29 cover: /images/blog/integrate-custom-auth-sveltekit/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc b/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc index 8e4626c7a0..4e128b5515 100644 --- a/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc +++ b/src/routes/blog/post/introducing-functions-ecosystem/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Leveling up the Appwrite Functions ecosystem" description: The new Appwrite Functions ecosystem is now faster, smoother, better and more secure. date: 2024-08-21 +lastUpdated: 2026-06-29 cover: /images/blog/init-day2/cover.avif timeToRead: 5 author: luke-silver diff --git a/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc b/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc index dd531d54e2..b59706169f 100644 --- a/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc +++ b/src/routes/blog/post/introducing-new-appwrite-cli/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Introducing the new Appwrite CLI" description: The new Appwrite CLI allows you to test your functions locally, easily migrate databases and more. date: 2024-08-20 +lastUpdated: 2026-06-29 cover: /images/blog/day1-cover.avif timeToRead: 5 author: binyamin-yawitz diff --git a/src/routes/blog/post/introducing-new-database-operators/+page.markdoc b/src/routes/blog/post/introducing-new-database-operators/+page.markdoc index 80b66694b1..a04f63d4d4 100644 --- a/src/routes/blog/post/introducing-new-database-operators/+page.markdoc +++ b/src/routes/blog/post/introducing-new-database-operators/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Introducing new Database operators: or & contains query methods" description: What is a database without queries? Not a lot. That's why we’re happy to announce a new set of query methods, array contains, text contains, and OR operators to Appwrite Databases. date: 2024-02-29 +lastUpdated: 2026-06-29 cover: /images/blog/db-operators-overview.avif timeToRead: 5 author: dennis-ivy diff --git a/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc b/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc index d41a29e4d8..63bf549cd2 100644 --- a/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc +++ b/src/routes/blog/post/manage-user-permissions-with-labels-and-teams/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to use Appwrite Labels and Team to manage user permissions description: Understanding the difference between Teams and Labels and how to use them for managing users and permissions. date: 2024-01-16 +lastUpdated: 2026-06-29 cover: /images/blog/manage-user-permissions-with-labels-and-teams/labels_cover.avif timeToRead: 8 author: dennis-ivy diff --git a/src/routes/blog/post/messaging-explained/+page.markdoc b/src/routes/blog/post/messaging-explained/+page.markdoc index 109a40d18a..b21f9ab848 100644 --- a/src/routes/blog/post/messaging-explained/+page.markdoc +++ b/src/routes/blog/post/messaging-explained/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Messaging explained description: Learn about Appwrite Messaging and how it works under the hood date: 2024-07-08 +lastUpdated: 2026-06-29 cover: /images/blog/messaging-explained/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc b/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc index 23f2833bbd..c81193ee8b 100644 --- a/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc +++ b/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Migrate Firebase projects to Appwrite description: Migrate your Firebase projects to Appwrite Cloud in just one click. date: 2023-11-06 +lastUpdated: 2026-06-29 cover: /images/blog/migrate-firebase-projects-to-appwrite/migrate-firebase-projects-to-appwrite.avif timeToRead: 10 author: vincent-ge diff --git a/src/routes/blog/post/new-string-types/+page.markdoc b/src/routes/blog/post/new-string-types/+page.markdoc index 2b17e37912..0eb4c1109d 100644 --- a/src/routes/blog/post/new-string-types/+page.markdoc +++ b/src/routes/blog/post/new-string-types/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Introducing new text column types for Appwrite Databases" description: Appwrite Databases now supports varchar, text, mediumtext, and longtext column types, giving you explicit control over how text data is stored and indexed. The legacy string type is now deprecated. date: 2026-02-12 +lastUpdated: 2026-06-29 cover: /images/blog/new-string-types/cover.avif timeToRead: 5 author: eldad-fux @@ -81,36 +82,30 @@ const tablesDB = new sdk.TablesDB(client); await tablesDB.createTable({ databaseId: '<DATABASE_ID>', tableId: '<TABLE_ID>', - name: 'articles' -}); - -await tablesDB.createVarcharColumn({ - databaseId: '<DATABASE_ID>', - tableId: '<TABLE_ID>', - key: 'title', - size: 255, - required: true -}); - -await tablesDB.createTextColumn({ - databaseId: '<DATABASE_ID>', - tableId: '<TABLE_ID>', - key: 'summary', - required: false -}); - -await tablesDB.createMediumtextColumn({ - databaseId: '<DATABASE_ID>', - tableId: '<TABLE_ID>', - key: 'body', - required: false -}); - -await tablesDB.createLongtextColumn({ - databaseId: '<DATABASE_ID>', - tableId: '<TABLE_ID>', - key: 'raw_data', - required: false + name: 'articles', + columns: [ + { + key: 'title', + type: 'varchar', + size: 255, + required: true + }, + { + key: 'summary', + type: 'text', + required: false + }, + { + key: 'body', + type: 'mediumtext', + required: false + }, + { + key: 'raw_data', + type: 'longtext', + required: false + } + ] }); ``` diff --git a/src/routes/blog/post/offline-first-journal/+page.markdoc b/src/routes/blog/post/offline-first-journal/+page.markdoc index 8d8a32e353..581177b357 100644 --- a/src/routes/blog/post/offline-first-journal/+page.markdoc +++ b/src/routes/blog/post/offline-first-journal/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Build an offline-first journal app with RxDB and Appwrite description: Learn how you can use RxDB to setup data replication and enable offline synchronization with Appwrite Databases in a JavaScript app. date: 2025-04-17 +lastUpdated: 2026-06-29 cover: /images/blog/offline-first-journal/cover.avif timeToRead: 14 author: aditya-oberai @@ -61,8 +62,8 @@ Next, head to the **Columns** tab and add the following: | Key | Type | Size | Required | | --- | --- | --- | --- | -| `title` | Text | 100 | Yes | -| `content` | Text | 20000 | Yes | +| `title` | Varchar | 100 | Yes | +| `content` | MediumText | | Yes | | `createdAt` | Integer | | Yes | | `updatedAt` | Integer | | Yes | | `deleted` | Boolean | | Yes | diff --git a/src/routes/blog/post/open-source-contributors-16/+page.markdoc b/src/routes/blog/post/open-source-contributors-16/+page.markdoc index b0196b1501..b43716940a 100644 --- a/src/routes/blog/post/open-source-contributors-16/+page.markdoc +++ b/src/routes/blog/post/open-source-contributors-16/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Celebrating the open source contributors for Appwrite 1.6" description: With this release, we’d like to highlight and celebrate our open source contributors that made Appwrite what it is today. date: 2024-08-23 +lastUpdated: 2026-06-29 cover: /images/blog/contributors-16/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc b/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc index 065d8e9723..9cc9b33c51 100644 --- a/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc +++ b/src/routes/blog/post/open-source-vercel-alternative/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Appwrite Sites vs Vercel: Choosing the right web hosting platform" description: Looking for an open-source hosting solution? Read this blog to compare Appwrite Sites and Vercel and understand which platform fits your project's needs. date: 2025-05-19 +lastUpdated: 2026-06-29 cover: /images/blog/oss-vercel-cover.avif timeToRead: 10 author: ebenezer-don diff --git a/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc b/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc index f8b6200fe4..f2c0c7ec4c 100644 --- a/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc +++ b/src/routes/blog/post/personal-chatbot-gpt-4o/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Build a chatbot with GPT-4o and Appwrite Functions description: Learn how to use OpenAI's new flagship model, GPT-4o to create an intelligent chatbot. date: 2024-05-17 +lastUpdated: 2026-06-29 cover: /images/blog/personal-chatbot-gpt-4o/cover.avif timeToRead: 5 author: aditya-oberai diff --git a/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc b/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc index 754aa32289..997938f5f2 100644 --- a/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc +++ b/src/routes/blog/post/planetscale-databases-alternative/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How Appwrite Databases can replace your PlanetScale database description: Compare PlanetScale Databases to Appwrite Databases so you can understand whether Appwrite is a viable alternative to PlanetScale's free-tier. date: 2024-03-10 +lastUpdated: 2026-06-29 cover: /images/blog/planetscale-databases-alternative/cover.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/product-update-august-2025/+page.markdoc b/src/routes/blog/post/product-update-august-2025/+page.markdoc index 3d3d5a4e4f..81500ed78d 100644 --- a/src/routes/blog/post/product-update-august-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-august-2025/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: "August product update: Cloud GA, new TablesDB UI & Sites Hackathon" description: Get a full recap of products, features and programs we released in the month of August. date: 2025-09-03 -lastUpdated: 2026-05-22 +lastUpdated: 2026-06-29 cover: /images/blog/product-update-august-2025/cover.avif timeToRead: 6 author: dennis-ivy @@ -14,9 +14,9 @@ faqs: - question: "What does Appwrite Cloud GA mean for existing users?" answer: "GA means the beta tag is gone and Appwrite Cloud is now a generally available product backed by formal availability and support commitments. Nothing changes for existing projects, but you get the assurance that the platform is production stable." - question: "What is TablesDB?" - answer: "TablesDB is a new API layer for [Appwrite Databases](/docs/products/databases) that uses relational terminology: tables, rows, and columns. It also ships with a spreadsheet style console UI for inline editing and bulk actions." - - question: "Do I need to migrate existing projects to TablesDB?" - answer: "No. Existing projects continue to work and remain backwards compatible. New projects should adopt TablesDB to access future improvements." + answer: "TablesDB is a new API layer for [Appwrite Databases](/docs/products/databases) that uses relational terminology: tables, rows, and columns instead of collections, documents, and attributes. It also ships with a spreadsheet style console UI for inline editing and bulk actions." + - question: "Do I need to migrate from the document API to TablesDB?" + answer: "No. The document based methods continue to work and remain backwards compatible. They are deprecated for major upgrades, but they still receive security patches. New projects should adopt TablesDB to access future improvements." - question: "Where is the new San Francisco cloud region available?" answer: "San Francisco (SFO) is available on all Free, Pro, and Enterprise plans. You can create new projects there or migrate existing projects using Appwrite Cloud migrations." - question: "What are atomic numeric operations?" @@ -77,13 +77,17 @@ Want to switch to a new region? Here are some resources to help you: Appwrite Databases now feels more relational. We’ve updated the terminology to match the relational model that developers are most familiar with. -The updated wording now centers Appwrite Databases around tables, rows, and columns. +Here’s what’s changed: + +- Collections are now Tables +- Documents are now Rows +- Attributes are now Columns 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. -The older Databases methods are now deprecated and will no longer receive major upgrades. They will continue to receive security patches and essential maintenance, and we are ensuring backwards compatibility for the API, so there’s no need to migrate immediately if a specific issue arises. +The old document-based methods are now deprecated and will no longer receive major upgrades. They will continue to receive security patches and essential maintenance, and we are ensuring backwards compatibility with those methods for the API, so there’s no need to migrate immediately if a specific issue arises. However, we recommend adopting the new TablesDB API for future projects to take advantage of ongoing improvements and new capabilities. diff --git a/src/routes/blog/post/product-update-december-2024/+page.markdoc b/src/routes/blog/post/product-update-december-2024/+page.markdoc index b40a39acb7..2c9661095e 100644 --- a/src/routes/blog/post/product-update-december-2024/+page.markdoc +++ b/src/routes/blog/post/product-update-december-2024/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "Product update December 2024: Highlights of the year" description: Get a full recap of products, features and programs we released in 2024. date: 2025-01-09 +lastUpdated: 2026-06-29 cover: /images/blog/product-update-december-2024/cover-image.avif timeToRead: 10 author: dennis-ivy diff --git a/src/routes/blog/post/product-update-jan-2025/+page.markdoc b/src/routes/blog/post/product-update-jan-2025/+page.markdoc index 8a18d34dd0..c10431548e 100644 --- a/src/routes/blog/post/product-update-jan-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-jan-2025/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: "Product update January 2025: Partners program, Scale plan and more" description: Get a full recap of products, features and programs we released in January. date: 2025-02-06 -lastUpdated: 2026-05-22 +lastUpdated: 2026-06-29 cover: /images/blog/product-update-jan-2025/cover-image.avif timeToRead: 10 author: dennis-ivy diff --git a/src/routes/blog/post/product-update-july-2025/+page.markdoc b/src/routes/blog/post/product-update-july-2025/+page.markdoc index fe7db8c370..aa74d0ebe1 100644 --- a/src/routes/blog/post/product-update-july-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-july-2025/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "July product update: New Database features, Sites live, and Console improvements" description: Get a full recap of products, features and programs we released in the month of July. date: 2025-07-31 +lastUpdated: 2026-06-29 cover: /images/blog/product-update-july-2025/cover.avif timeToRead: 3 author: dennis-ivy diff --git a/src/routes/blog/post/product-update-june/+page.markdoc b/src/routes/blog/post/product-update-june/+page.markdoc index d2cda72075..04b8c2e5c3 100644 --- a/src/routes/blog/post/product-update-june/+page.markdoc +++ b/src/routes/blog/post/product-update-june/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "June product update: Public roadmap | The Appwriter | Messaging" description: "Check out everything new that happened in June, including public roadmap, the Appwriter release and the new Messaging page." date: 2024-07-04 +lastUpdated: 2026-06-29 cover: /images/blog/product-update-june/product-update-june-2024.avif timeToRead: 5 author: dennis-ivy diff --git a/src/routes/blog/post/product-update-september/+page.markdoc b/src/routes/blog/post/product-update-september/+page.markdoc index 470297cbc3..d0a9d0b5d2 100644 --- a/src/routes/blog/post/product-update-september/+page.markdoc +++ b/src/routes/blog/post/product-update-september/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: "September product update: New Roles | Hackathon | CCPA | 1.6 for self-hosted" description: "A recap of everything new at Appwrite in September." date: 2024-09-30 -lastUpdated: 2026-05-22 +lastUpdated: 2026-06-29 cover: /images/blog/product-update-september/cover.avif timeToRead: 5 author: dennis-ivy diff --git a/src/routes/blog/post/react-protected-routes/+page.markdoc b/src/routes/blog/post/react-protected-routes/+page.markdoc index 6ba1aea901..4b1c3bd06a 100644 --- a/src/routes/blog/post/react-protected-routes/+page.markdoc +++ b/src/routes/blog/post/react-protected-routes/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Setting up protected routes in React description: Learn how to set up protected routes in React in this easy tutorial. date: 2024-10-02 +lastUpdated: 2026-06-29 cover: /images/blog/react-protected-routes/cover.avif timeToRead: 4 author: dennis-ivy diff --git a/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc b/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc index f87b52cea3..1b39e92882 100644 --- a/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc +++ b/src/routes/blog/post/save-weeks-managed-backends/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "How developers can save weeks by using managed backends" description: A concrete look at the development time saved when using a managed backend platform instead of building and maintaining backend infrastructure from scratch. date: 2026-03-16 +lastUpdated: 2026-06-29 cover: /images/blog/save-weeks-managed-backends/cover.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc b/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc index e1c5db67f1..f381b0b1d3 100644 --- a/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc +++ b/src/routes/blog/post/serverless-functions-best-practices/+page.markdoc @@ -8,7 +8,7 @@ timeToRead: 5 author: ebenezer-don category: product featured: false -lastUpdated: 2025-10-14 +lastUpdated: 2026-06-29 faqs: - question: "What are serverless functions?" answer: "Serverless functions let you run small pieces of code in the cloud without managing servers. You just define a function, deploy it, and the platform (like Appwrite, AWS Lambda, or Vercel) automatically scales it up or down based on usage. You only pay for the time your code runs, no idle costs, no manual infrastructure setup." diff --git a/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc b/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc index 1837c1be95..a841b1478c 100644 --- a/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc +++ b/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How to set up Google authentication in React with Appwrite description: Learn how to set up Google authentication in a React application using Appwrite. date: 2024-07-19 +lastUpdated: 2026-06-29 cover: /images/blog/set-up-google-auth-appwrite-react/cover.avif timeToRead: 9 author: ebenezer-don diff --git a/src/routes/blog/post/setting-up-google-signin/+page.markdoc b/src/routes/blog/post/setting-up-google-signin/+page.markdoc index a0a0ff42c1..26552e64b9 100644 --- a/src/routes/blog/post/setting-up-google-signin/+page.markdoc +++ b/src/routes/blog/post/setting-up-google-signin/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Setting up “Sign in with Google” in your app description: Learn how to set up Google OAuth2 authentication in your app. date: 2025-09-09 +lastUpdated: 2026-06-29 cover: /images/blog/setting-up-google-signin/cover.avif timeToRead: 5 author: atharva diff --git a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc index 98acd5d059..7df7d1c975 100644 --- a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc +++ b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: How Twilio simplifies messaging for developers description: Learn the challenges of building a messaging system and how Twilio helps in simplifying implementation. date: 2024-02-26 +lastUpdated: 2026-06-29 cover: /images/blog/simplify-messaging-twilio.avif timeToRead: 7 author: aditya-oberai diff --git a/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc b/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc index 7e8a5431d9..c930600322 100644 --- a/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc +++ b/src/routes/blog/post/simplify-your-data-management-with-relationships/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Simplify your data management with relationships description: Learn how to simplify your table management and save time and effort with database relationships. date: 2024-01-05 +lastUpdated: 2026-06-29 cover: /images/blog/simplify-your-data-management-with-relationships/cover.avif timeToRead: 6 author: jake-barnby diff --git a/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc b/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc index ec6621dad7..c446e47fd6 100644 --- a/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc +++ b/src/routes/blog/post/the-fastest-way-to-launch-your-next-side-project/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: The fastest way to launch your next side project description: Ship your side project faster by skipping backend setup. Build your MVP in days with authentication, databases, and APIs ready out of the box. date: 2026-03-19 +lastUpdated: 2026-06-29 cover: /images/blog/the-fastest-way-to-launch-your-next-side-project/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc b/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc index 4bc963aebb..7983efb876 100644 --- a/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc +++ b/src/routes/blog/post/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "The future of coding: Cursor, AI, and the rise of backend automation with Appwrite" description: How Cursor, AI, and Appwrite's MCP integration are redefining modern coding through backend automation and intelligent workflows. date: 2025-11-06 +lastUpdated: 2026-06-29 cover: /images/blog/the-future-of-coding-cursor-ai-and-the-rise-of-backend-automation-with-appwrite/cursorappwrite_cover.avif timeToRead: 6 author: tessa diff --git a/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc b/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc index 97371f249d..4628e7d558 100644 --- a/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc +++ b/src/routes/blog/post/the-top-3-claude-features-you-are-probably-not-using/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: The top 3 Claude features you are probably not using description: Discover the top 3 Claude features most developers overlook. Learn how to use them to improve prompts, streamline workflows, and get better results from Claude. date: 2026-04-27 +lastUpdated: 2026-06-29 cover: /images/blog/the-top-3-claude-features-you-are-probably-not-using/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc b/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc index c048024a69..27e8ea26a1 100644 --- a/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc +++ b/src/routes/blog/post/the-underrated-value-of-great-sdk-design/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: The underrated value of great SDK design description: "Great SDK design can make or break developer adoption. Here's why SDK quality matters, and what developers actually expect from modern backend platforms." date: 2026-04-15 +lastUpdated: 2026-06-29 cover: /images/blog/the-underrated-value-of-great-sdk-design/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc b/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc index 971f9870d6..a595f0687a 100644 --- a/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc +++ b/src/routes/blog/post/three-important-steps-you-need-to-complete-with-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Three important steps you need to complete before setting up your first Appwrite project description: Are you getting errors when setting up your first project in Appwrite? Take a look at these steps. date: 2024-02-15 +lastUpdated: 2026-06-29 cover: /images/blog/three-important-steps-you-need-to-complete-with-appwrite/3-important-steps.avif timeToRead: 3 author: dennis-ivy diff --git a/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc b/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc index 3cd00d65b4..ea55d4aece 100644 --- a/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc +++ b/src/routes/blog/post/top-7-prompts-every-developer-should-use-to-get-better-results/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Top 7 prompts every developer should use to get better results description: Using AI but not getting great results? These 7 prompts help developers get clearer, more accurate outputs and actually make AI useful day to day. date: 2026-04-27 +lastUpdated: 2026-06-29 cover: /images/blog/top-7-prompts-every-developer-should-use-to-get-better-results/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc b/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc index 3b9564f459..86462073f3 100644 --- a/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc +++ b/src/routes/blog/post/track-document-order-with-sequence/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Using $sequence to track row order in Appwrite description: Learn how to use Appwrite's $sequence column to track row order in your database. date: 2025-07-16 +lastUpdated: 2026-06-29 cover: /images/blog/track-document-order-with-sequence/cover.avif timeToRead: 6 author: ebenezer-don diff --git a/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc b/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc index 29bef3f751..51ab4f512d 100644 --- a/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc +++ b/src/routes/blog/post/uber-clone-nextjs-appwrite/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Build an Uber clone with Geo Queries and Realtime description: Learn how to build a real-time ride-hailing app using Appwrite's Geo Queries and Realtime features with Next.js and Leaflet maps. date: 2026-04-03 +lastUpdated: 2026-06-29 cover: /images/blog/uber-clone-nextjs-appwrite/cover.avif timeToRead: 15 author: atharva diff --git a/src/routes/blog/post/understand-data-queries/+page.markdoc b/src/routes/blog/post/understand-data-queries/+page.markdoc index 2ca3b5e0d8..078f3021cc 100644 --- a/src/routes/blog/post/understand-data-queries/+page.markdoc +++ b/src/routes/blog/post/understand-data-queries/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: Understanding data queries in database management description: Learn about the different types of data queries, shedding light on their functions and best practices. date: 2024-02-29 +lastUpdated: 2026-06-29 cover: /images/blog/understand-data-queries.avif timeToRead: 6 author: aditya-oberai diff --git a/src/routes/blog/post/using-nextjs-wrong/+page.markdoc b/src/routes/blog/post/using-nextjs-wrong/+page.markdoc index e02151e961..55bd78fba9 100644 --- a/src/routes/blog/post/using-nextjs-wrong/+page.markdoc +++ b/src/routes/blog/post/using-nextjs-wrong/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "You're probably using Next.js wrong" description: Next.js isn't just React with extra steps. Learn when server-side rendering actually matters and how to use it properly with Appwrite. date: 2026-01-22 +lastUpdated: 2026-06-29 cover: /images/blog/using-nextjs-wrong/cover.avif timeToRead: 8 author: atharva diff --git a/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc b/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc index 4b96b5e92e..286ae4bc58 100644 --- a/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc +++ b/src/routes/blog/post/vibe-coding-security-best-practices/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: 20 security best practices for vibe coding description: Vibe coding is becoming popular, but it's not always safe. Follow these best practices to secure your apps when using AI-generated code. date: 2025-04-01 +lastUpdated: 2026-06-29 cover: /images/blog/vibe-coding-security-best-practices/cover.avif timeToRead: 15 author: ebenezer-don diff --git a/src/routes/blog/post/what-developers-actually-want-from-a-backend-platform/+page.markdoc b/src/routes/blog/post/what-developers-actually-want-from-a-backend-platform/+page.markdoc index a0f19f21ed..6295bb2cea 100644 --- a/src/routes/blog/post/what-developers-actually-want-from-a-backend-platform/+page.markdoc +++ b/src/routes/blog/post/what-developers-actually-want-from-a-backend-platform/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: What developers actually want from a backend platform description: Explore what developers expect from modern backend platforms, from scalability and permissions to pricing predictability and long-term flexibility. date: 2026-04-16 +lastUpdated: 2026-06-29 cover: /images/blog/what-developers-actually-want-from-a-backend-platform/cover.avif timeToRead: 5 author: aishwari diff --git a/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc b/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc index 2119368252..7e78093415 100644 --- a/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc +++ b/src/routes/blog/post/when-custom-backend-stops-being-worth-it/+page.markdoc @@ -3,6 +3,7 @@ layout: post title: "When 'custom backend' stops being worth it for small teams" description: The real costs of maintaining a custom backend and how to decide when switching to a managed backend platform makes more business sense for your team. date: 2026-03-18 +lastUpdated: 2026-06-29 cover: /images/blog/when-custom-backend-stops-being-worth-it/cover.avif timeToRead: 6 author: aditya-oberai @@ -60,7 +61,7 @@ The problem is that most small teams don't meet these criteria. They have a cust The fear of migrating away from a custom backend often outweighs the reality. Modern backend platforms support: - **Gradual migration.** You don't have to swap everything at once. Authentication can move first, then storage, then databases. Each service you migrate reduces your maintenance burden. -- **Data export and import.** Appwrite's databases store standard JSON row data. Exporting your existing data and importing it is straightforward for most data models. +- **Data export and import.** Appwrite databases accept JSON inputs that are mapped to the table schema. Exporting your existing data and importing it is straightforward for most data models. - **API compatibility.** Most backend platforms provide REST and SDK-based APIs that your existing front-end can call with modest changes. # Appwrite as your managed backend diff --git a/src/routes/docs/products/auth/teams/+page.markdoc b/src/routes/docs/products/auth/teams/+page.markdoc index 9e8f0567d9..a572a8bdd4 100644 --- a/src/routes/docs/products/auth/teams/+page.markdoc +++ b/src/routes/docs/products/auth/teams/+page.markdoc @@ -32,13 +32,11 @@ client .setProject('<PROJECT_ID>') // Your project ID ; -const promise = teams.create( - { +const promise = teams.create({ teamId: 'teachers', name: 'Teachers', roles: ['maths', 'sciences', 'arts', 'literature'] -} -); +}); promise.then(function (response) { console.log(response); // Success @@ -234,4 +232,3 @@ These details can be made private: - `userName` - The member's name - `userEmail` - The member's email address - `mfa` - Whether the member has enabled multi-factor authentication - diff --git a/src/routes/docs/products/databases/rows/+page.markdoc b/src/routes/docs/products/databases/rows/+page.markdoc index 707b8b4d3a..4d33317454 100644 --- a/src/routes/docs/products/databases/rows/+page.markdoc +++ b/src/routes/docs/products/databases/rows/+page.markdoc @@ -1020,12 +1020,12 @@ const client = new Client() const tablesDB = new TablesDB(client); -const promise = tablesDB.upsertRow( - '<DATABASE_ID>', - '<TABLE_ID>', - ID.unique(), - {} -); +const promise = tablesDB.upsertRow({ + databaseId: '<DATABASE_ID>', + tableId: '<TABLE_ID>', + rowId: ID.unique(), + data: {} +}); promise.then(function (response) { console.log(response); diff --git a/src/routes/docs/products/functions/examples/+page.markdoc b/src/routes/docs/products/functions/examples/+page.markdoc index b9393b4bb4..7bf4a6239d 100644 --- a/src/routes/docs/products/functions/examples/+page.markdoc +++ b/src/routes/docs/products/functions/examples/+page.markdoc @@ -309,16 +309,16 @@ Create a Topics table with the following columns: | Name | Type | Description | |---------------|--------|----------------------------------| -| `title` | string | The name of the topic | -| `description` | string | Long form description of the topic| +| `title` | Varchar | The name of the topic | +| `description` | Text | Long form description of the topic| Create a Votes table with the following columns: | Name | Type | Description | |---------------|--------|------------------------------------------| -| `userId` | string | The ID of the user who cast the vote | -| `topicId` | string | The ID of the topic that was voted on | -| `vote` | string | The vote cast by the user. Must be either "yes" or "no" | +| `userId` | Varchar | The ID of the user who cast the vote | +| `topicId` | Varchar | The ID of the topic that was voted on | +| `vote` | Varchar | The vote cast by the user. Must be either "yes" or "no" | ## Code @@ -349,8 +349,8 @@ export default async function ({ req, res }) { databaseId: '<DATABASE_ID>', tableId: '<VOTES_TABLE_ID>', queries: [ - Query.equals('userId', vote.userId), - Query.equals('topicId', vote.topicId) + Query.equal('userId', vote.userId), + Query.equal('topicId', vote.topicId) ] }); @@ -376,6 +376,7 @@ export default async function ({ req, res }) { from appwrite.client import Client from appwrite.services.tables_db import TablesDB from appwrite.query import Query +from appwrite.id import ID import os def main(context): @@ -398,8 +399,8 @@ def main(context): tablesDB = TablesDB(client) existing_votes = tablesDB.list_rows(database_id='<DATABASE_ID>', table_id='<VOTES_TABLE_ID>', queries=[ - Query.equals('userId', vote['userId']), - Query.equals('topicId', vote['topicId']) + Query.equal('userId', vote['userId']), + Query.equal('topicId', vote['topicId']) ]) if existing_votes['total'] > 0: @@ -408,11 +409,16 @@ def main(context): 'message': 'You have already voted on this topic.' }, 400) - vote_row = database.create_row('<VOTES_TABLE_ID>', { - 'userId': vote['userId'], - 'topicId': vote['topicId'], - 'vote': vote['vote'], - }) + vote_row = tablesDB.create_row( + database_id='<DATABASE_ID>', + table_id='<VOTES_TABLE_ID>', + row_id=ID.unique(), + data={ + 'userId': vote['userId'], + 'topicId': vote['topicId'], + 'vote': vote['vote'], + } + ) return context.res.json({'ok': True, 'message': 'Vote cast.', 'vote': vote_row}) ``` @@ -423,7 +429,8 @@ require(__DIR__ . '/../vendor/autoload.php'); use Appwrite\Client; use Appwrite\Exception; -use Appwrite\Services\Database; +use Appwrite\Services\TablesDB; +use Appwrite\ID; use Appwrite\Query; return function ($context) { @@ -445,10 +452,14 @@ return function ($context) { $tablesDB = new TablesDB($client); - $existingVotes = $database->listRows('<VOTES_TABLE_ID>', [ - Query->equal('userId', $vote['userId']), - Query->equal('topicId', $vote['topicId']) - ]); + $existingVotes = $tablesDB->listRows( + databaseId: '<DATABASE_ID>', + tableId: '<VOTES_TABLE_ID>', + queries: [ + Query::equal('userId', $vote['userId']), + Query::equal('topicId', $vote['topicId']) + ] + ); if ($existingVotes['total'] > 0) { return $context->res->json([ @@ -457,16 +468,21 @@ return function ($context) { ], 400); } - $voteDocument = $database->createRow('<VOTES_TABLE_ID>', [ - 'userId' => $vote['userId'], - 'topicId' => $vote['topicId'], - 'vote' => $vote['vote'], - ]); + $voteRow = $tablesDB->createRow( + databaseId: '<DATABASE_ID>', + tableId: '<VOTES_TABLE_ID>', + rowId: ID::unique(), + data: [ + 'userId' => $vote['userId'], + 'topicId' => $vote['topicId'], + 'vote' => $vote['vote'], + ] + ); return $context->res->json([ 'ok' => true, 'message' => 'Vote cast.', - 'vote' => $voteDocument + 'vote' => $voteRow ]); }; ``` @@ -493,10 +509,14 @@ Future main(final context) async { final tablesDB = TablesDB(client); - final existingVotes = await tablesDB.listRows('<VOTES_TABLE_ID>', [ - Query.equals('userId', vote['userId']), - Query.equals('topicId', vote['topicId']) - ]); + final existingVotes = await tablesDB.listRows( + databaseId: '<DATABASE_ID>', + tableId: '<VOTES_TABLE_ID>', + queries: [ + Query.equal('userId', vote['userId']), + Query.equal('topicId', vote['topicId']) + ] + ); if (existingVotes['total'] > 0) { return context.res.json({ @@ -505,16 +525,21 @@ Future main(final context) async { }, 400); } - final voteDocument = await database.createRow('<VOTES_TABLE_ID>', { - 'userId': vote['userId'], - 'topicId': vote['topicId'], - 'vote': vote['vote'], - }); + final voteRow = await tablesDB.createRow( + databaseId: '<DATABASE_ID>', + tableId: '<VOTES_TABLE_ID>', + rowId: ID.unique(), + data: { + 'userId': vote['userId'], + 'topicId': vote['topicId'], + 'vote': vote['vote'], + } + ); return context.res.json({ 'ok': true, 'message': 'Vote cast.', - 'vote': voteDocument + 'vote': voteRow }); } ``` @@ -556,11 +581,16 @@ def main(context) }, 400) end - vote_row = database.create_row('<VOTES_TABLE_ID>', { - 'userId': vote['userId'], - 'topicId': vote['topicId'], - 'vote': vote['vote'], - }) + vote_row = tablesDB.create_row( + database_id: '<DATABASE_ID>', + table_id: '<VOTES_TABLE_ID>', + row_id: Appwrite::ID.unique(), + data: { + 'userId' => vote['userId'], + 'topicId' => vote['topicId'], + 'vote' => vote['vote'], + } + ) return context.res.json({ 'ok': true, @@ -685,9 +715,9 @@ Create a Messages table with the following columns: | Name | Type | Description | |------------|--------|----------------------------------| -| `name` | string | The name of the message author | -| `email` | string | The email of the message author | -| `content` | string | The content of the message | +| `name` | Varchar | The name of the message author | +| `email` | Email | The email of the message author | +| `content` | Text | The content of the message | ## Code @@ -807,6 +837,7 @@ require(__DIR__ . '/../vendor/autoload.php'); use Appwrite\Client; use Appwrite\Exception; use Appwrite\Services\TablesDB; +use Appwrite\ID; $html = '<!doctype html> <html lang="en"> @@ -846,7 +877,12 @@ return function ($context) { ->setKey($context->req->headers['x-appwrite-key']); $tablesDB = new TablesDB($client); - $row = $tablesDB->createRow('<DATABASE_ID>', '<MESSAGES_TABLE_ID>', ID::unique(), $message); + $row = $tablesDB->createRow( + databaseId: '<DATABASE_ID>', + tableId: '<MESSAGES_TABLE_ID>', + rowId: ID::unique(), + data: $message + ); return $context->res->text("Message sent"); } @@ -895,7 +931,7 @@ def main(context) .set_key(context.req.headers['x-appwrite-key']) tablesDB = Appwrite::TablesDB.new(client) - row = tablesDB.create_row(database_id: '<DATABASE_ID>', table_id: '<MESSAGES_TABLE_ID>', row_id: ID.unique(), data: message) + row = tablesDB.create_row(database_id: '<DATABASE_ID>', table_id: '<MESSAGES_TABLE_ID>', row_id: Appwrite::ID.unique(), data: message) return context.res.text("Message sent") end @@ -907,6 +943,7 @@ end ```dart import 'dart:async'; import 'package:dart_appwrite/dart_appwrite.dart'; +import 'dart:io'; Future main(final context) async { final html = '''<!doctype html> @@ -945,7 +982,12 @@ Future main(final context) async { .setKey(context.req.headers['x-appwrite-key']); final tablesDB = TablesDB(client); - final row = await tablesDB.createRow('<DATABASE_ID>', '<MESSAGES_TABLE_ID>', ID.unique(), message); + final row = await tablesDB.createRow( + databaseId: '<DATABASE_ID>', + tableId: '<MESSAGES_TABLE_ID>', + rowId: ID.unique(), + data: message + ); return context.res.text("Message sent"); } diff --git a/src/routes/docs/products/functions/execute/+page.markdoc b/src/routes/docs/products/functions/execute/+page.markdoc index 9d0c4817f9..630667dc43 100644 --- a/src/routes/docs/products/functions/execute/+page.markdoc +++ b/src/routes/docs/products/functions/execute/+page.markdoc @@ -88,6 +88,7 @@ const client = new Client(); const functions = new Functions(client); client + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint .setProject('<PROJECT_ID>') // Your project ID ; @@ -210,6 +211,7 @@ const client = new sdk.Client(); const functions = new sdk.Functions(client); client + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint .setProject('<PROJECT_ID>') // Your project ID ; @@ -217,8 +219,8 @@ const promise = functions.createExecution({ functionId: '<FUNCTION_ID>', body: '<BODY>', // optional async: false, // optional - path: '<PATH>', // optional - method: 'GET', // optional + xpath: '<PATH>', // optional + method: sdk.ExecutionMethod.GET, // optional headers: {} // optional }); @@ -237,6 +239,7 @@ let client = new sdk.Client(); let functions = new sdk.Functions(client); client + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint .setProject('<PROJECT_ID>') // Your project ID ; @@ -245,7 +248,7 @@ const promise = functions.createExecution({ body: '<BODY>', // optional async: false, // optional xpath: '<PATH>', // optional - method: 'GET', // optional + method: sdk.ExecutionMethod.GET, // optional headers: {} // optional }); @@ -752,20 +755,19 @@ const client = new sdk.Client(); const functions = new sdk.Functions(client); client + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint .setProject('<PROJECT_ID>') // Your project ID ; -const promise = functions.createExecution( - { +const promise = functions.createExecution({ functionId: '<FUNCTION_ID>', body: '<BODY>', async: true, xpath: '<PATH>', - method: ExecutionMethod.GET, + method: sdk.ExecutionMethod.GET, headers: {}, - scheduledAt: '2020-10-15T06:38:00.000+00:00' -} // Schedule execution (optional) - ); + scheduledAt: '<SCHEDULED_AT>' +}); promise.then(function (response) { console.log(response); // Success @@ -782,20 +784,19 @@ let client = new sdk.Client(); let functions = new sdk.Functions(client); client + .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint .setProject('<PROJECT_ID>') // Your project ID ; -const promise = functions.createExecution( - { +const promise = functions.createExecution({ functionId: '<FUNCTION_ID>', body: '<BODY>', async: true, xpath: '<PATH>', - method: ExecutionMethod.GET, + method: sdk.ExecutionMethod.GET, headers: {}, - scheduledAt: '2020-10-15T06:38:00.000+00:00' -} // Schedule execution (optional) - ); + scheduledAt: '<SCHEDULED_AT>' +}); promise.then(function (response) { console.log(response); // Success diff --git a/src/routes/docs/tooling/command-line/tables/+page.markdoc b/src/routes/docs/tooling/command-line/tables/+page.markdoc index 6519aecdc5..fce69034d9 100644 --- a/src/routes/docs/tooling/command-line/tables/+page.markdoc +++ b/src/routes/docs/tooling/command-line/tables/+page.markdoc @@ -221,6 +221,12 @@ appwrite tables-db [COMMAND] [OPTIONS] * `create-relationship-column [options]` * Create relationship column. [Learn more about relationship columns](https://appwrite.io/docs/databases-relationships#relationship-columns). --- +* `create-string-column [options]` +* Create a string column. +--- +* `update-string-column [options]` +* Update a string column. Changing the 'default' value will not update already existing rows. +--- * `create-text-column [options]` * Create a text column. --- diff --git a/src/routes/integrations/replication-rxdb/+page.markdoc b/src/routes/integrations/replication-rxdb/+page.markdoc index 268bdceaaf..1780b7faef 100644 --- a/src/routes/integrations/replication-rxdb/+page.markdoc +++ b/src/routes/integrations/replication-rxdb/+page.markdoc @@ -37,9 +37,9 @@ Click on the **Columns** tab and add the following columns (schema used for demo | Key | Type | Size | Required | | --- | --- | --- | --- | -| `name` | Text | 100 | Yes | +| `name` | Varchar | 100 | Yes | | `age` | Integer | | Yes | -| `homeAddress` | Text | 2000 | Yes | +| `homeAddress` | Text | | Yes | | `deleted` | Boolean | | Yes | > **Note:** The `deleted` column is necessary to add because RxDB only soft deletes to prevent data loss in offline scenarios (no hard deletion of data occurs). From 4517764b6e10869bc9109a99685f6edb492c951e Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 12:29:35 +0530 Subject: [PATCH 06/71] Update +page.markdoc --- .../+page.markdoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc index 332d6531a4..93426854aa 100644 --- a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc @@ -145,9 +145,9 @@ Kubernetes is the standard for running containerized applications reliably at sc # Start building -Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. +Appwrite Cloud gives developers a fully managed backend so you can ship fast without provisioning or maintaining any infrastructure. You get auth, databases, storage, functions, and real-time out of the box, scaling automatically as your app grows. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. -Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. +Whether you're prototyping your next idea or scaling a production app, Appwrite Cloud gives you a complete backend in one place, with no servers to manage and nothing to set up. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) and give your next build a real backend to grow on in minutes. ## Resources @@ -156,4 +156,4 @@ Whether you are prototyping your next idea or scaling a production app, Appwrite * [Appwrite integrations](https://appwrite.io/integrations) * [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) * [Appwrite on GitHub](https://github.com/appwrite/appwrite) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file +* [Join the Appwrite Discord](https://appwrite.io/discord) From 56bfcfe86f8462d2f903360e797376de07f12029 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 12:30:37 +0530 Subject: [PATCH 07/71] Update +page.markdoc --- .../+page.markdoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc index eda32d6c82..f81ae03a5e 100644 --- a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc @@ -124,9 +124,9 @@ Serverless is a cloud model that lets you run code without managing servers, sca # Start building -Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. +Appwrite Cloud gives developers a fully managed backend so you can ship fast without provisioning or maintaining any infrastructure. You get auth, databases, storage, functions, and real-time out of the box, scaling automatically as your app grows. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. -Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. +Whether you're prototyping your next idea or scaling a production app, Appwrite Cloud gives you a complete backend in one place, with no servers to manage and nothing to set up. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) and give your next build a real backend to grow on in minutes. ## Resources @@ -135,4 +135,4 @@ Whether you are prototyping your next idea or scaling a production app, Appwrite * [Appwrite integrations](https://appwrite.io/integrations) * [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) * [Appwrite on GitHub](https://github.com/appwrite/appwrite) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file +* [Join the Appwrite Discord](https://appwrite.io/discord) From 9979eafc3acd1a28557ff8f7f46ce0bde77de0dd Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 12:32:16 +0530 Subject: [PATCH 08/71] Update +page.markdoc --- .../+page.markdoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc index f50e6d3224..737497a734 100644 --- a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc @@ -124,9 +124,9 @@ Cloud storage is the model that lets you store and access data on managed remote # Start building -Appwrite is open-source, self-hostable, and built for developers who want to ship fast without surrendering control. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. +Appwrite Cloud gives developers a fully managed backend so you can ship fast without provisioning or maintaining any infrastructure. You get storage, auth, databases, functions, and real-time out of the box, with file storage that scales automatically as your app grows. Recent releases have added [MongoDB support, Appwrite 1.9.0, realtime upgrades, and new AI tooling](https://dev.to/appwrite/april-product-update-mongodb-support-appwrite-190-realtime-upgrades-and-ai-tooling-1eg6), with [more landing every few weeks](https://dev.to/appwrite/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more-9h5). We post weekly roundups of product announcements, AI updates, and [developer insights](https://dev.to/appwrite/weekly-roundup-presences-api-git-deployment-triggers-and-ai-updates-58lj) on the [Appwrite blog](https://appwrite.io/blog) and across our developer channels, so follow along wherever you read. -Whether you are prototyping your next idea or scaling a production app, Appwrite gives you auth, databases, storage, functions, and real-time in one place, all open-source. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) or spin up a self-hosted instance in minutes, and give your next build a real backend to grow on. +Whether you're prototyping your next idea or scaling a production app, Appwrite Cloud gives you a complete backend in one place, with no servers to manage and nothing to set up. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/) and give your next build a real backend to grow on in minutes. ## Resources @@ -135,4 +135,4 @@ Whether you are prototyping your next idea or scaling a production app, Appwrite * [Appwrite integrations](https://appwrite.io/integrations) * [Appwrite quick start guides](https://appwrite.io/docs/quick-starts) * [Appwrite on GitHub](https://github.com/appwrite/appwrite) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file +* [Join the Appwrite Discord](https://appwrite.io/discord) From ce6e510428c68f4cc18d391d67ce280b276ccc1a Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 13:55:34 +0530 Subject: [PATCH 09/71] Update +page.markdoc --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc index 737497a734..e6fd2fe688 100644 --- a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc @@ -12,7 +12,7 @@ unlisted: true faqs: - question: Is cloud storage safe? answer: Its safety depends on configuring permissions correctly and choosing a reputable provider, since most breaches come from misconfiguration rather than the provider itself. - - question: "What's the difference between cloud storage and a database?" + - question: What's the difference between cloud storage and a database? answer: Cloud storage holds files and unstructured data like images and documents. A database stores structured, queryable records. Many applications use both, storing files in cloud storage and metadata in a database. - question: Is cloud storage free? answer: Many providers offer a free tier with limited capacity. Beyond that, you pay based on how much you store and how much data you transfer out, so costs scale with usage. From e071e2dd978ff4242add08eb0c1c0a3d3fba985b Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 13:56:16 +0530 Subject: [PATCH 10/71] Update +page.markdoc --- .../+page.markdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc index 93426854aa..63c14457ab 100644 --- a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc @@ -16,8 +16,8 @@ faqs: answer: No. Docker builds and runs individual containers. Kubernetes orchestrates many containers across many machines. They are usually used together. - question: Do I need Kubernetes for a small app? answer: Often not. For a single small service, simpler options are easier and cheaper. Kubernetes pays off when you have multiple services, real scaling needs, or strict uptime requirements. - - question: "What does \"K8s\" mean?" - answer: "K8s is a shorthand for Kubernetes, where the \"8\" stands for the eight letters between the \"K\" and the \"s.\"" + - question: What does \"K8s\" mean? + answer: K8s is a shorthand for Kubernetes, where the \"8\" stands for the eight letters between the \"K\" and the \"s.\" --- **Kubernetes is an open-source platform that automates deploying, scaling, and managing containerized applications across a cluster of machines.** Often shortened to "K8s," it takes the manual work out of running containers in production by deciding where they run, restarting them when they fail, and scaling them up or down as demand changes. From 5b13d81be7572cd2e307839f78c88e269304ac95 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 13:57:12 +0530 Subject: [PATCH 11/71] Update +page.markdoc --- .../+page.markdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc index f81ae03a5e..4cce3d1b73 100644 --- a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc @@ -11,9 +11,9 @@ featured: false unlisted: true faqs: - question: Does serverless mean there are no servers? - answer: "No. Servers still run your code. The term means you don't manage them. The cloud provider provisions, scales, and maintains the infrastructure on your behalf." + answer: No. Servers still run your code. The term means you don't manage them. The cloud provider provisions, scales, and maintains the infrastructure on your behalf. - question: Is serverless the same as cloud computing? - answer: "No. Serverless is one model within cloud computing. Cloud computing also includes virtual machines, containers, and managed services that don't fit the serverless model." + answer: No. Serverless is one model within cloud computing. Cloud computing also includes virtual machines, containers, and managed services that don't fit the serverless model. - question: Is serverless cheaper than traditional hosting? answer: Often, yes, for variable or low-to-moderate traffic, because you pay only when code runs. For steady, high-volume workloads, always-on servers can sometimes be more cost-effective. - question: When should I not use serverless? From 63c87deceea0115a4d8e6c090970654d3a44282a Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 18:21:28 +0530 Subject: [PATCH 12/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc index e6fd2fe688..6c1282826a 100644 --- a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: What is cloud storage? An expert guide for developers description: Learn what cloud storage is, how it works, key types, benefits, trade-offs, and best practices for developers. -date: 2026-06-25 +date: 2026-06-30 cover: /images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.avif timeToRead: 5 author: aditya-oberai From 93203636e7cd9cfdc6476098753bcc5a64717806 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 18:22:23 +0530 Subject: [PATCH 13/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc index 63c14457ab..7ecbededb8 100644 --- a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: What is Kubernetes? An expert guide for developers description: Learn what Kubernetes is, how its architecture works, core components like pods and services, and how it differs from Docker, in this developer guide. -date: 2026-06-25 +date: 2026-06-29 cover: /images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif timeToRead: 5 author: luke-silver From 5ec7176e400b1f36b71129e41e3ea3bfc6573cdb Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 30 Jun 2026 18:22:43 +0530 Subject: [PATCH 14/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc index 4cce3d1b73..50a2b38e86 100644 --- a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: What is serverless? An expert guide for developers description: Learn what serverless means, how it works, FaaS vs BaaS, how it compares to servers and containers, plus benefits and trade-offs, in this developer guide. -date: 2026-06-25 +date: 2026-06-28 cover: /images/blog/what-is-serverless-an-expert-guide-for-developers/cover.avif timeToRead: 5 author: atharva From be3e42b2f4cdbb917aadf24038816f8dc81717e6 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 2 Jul 2026 18:38:49 +0530 Subject: [PATCH 15/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc index 6c1282826a..6d2ef025a4 100644 --- a/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-cloud-storage-an-expert-guide-for-developers/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: What is cloud storage? An expert guide for developers description: Learn what cloud storage is, how it works, key types, benefits, trade-offs, and best practices for developers. -date: 2026-06-30 +date: 2026-07-01 cover: /images/blog/what-is-cloud-storage-an-expert-guide-for-developers/cover.avif timeToRead: 5 author: aditya-oberai From f078446786e93757046dd20725d8ac5904f0a2e1 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 2 Jul 2026 18:39:10 +0530 Subject: [PATCH 16/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc index 7ecbededb8..0d63a806fa 100644 --- a/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-kubernetes-an-expert-guide-for-developers/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: What is Kubernetes? An expert guide for developers description: Learn what Kubernetes is, how its architecture works, core components like pods and services, and how it differs from Docker, in this developer guide. -date: 2026-06-29 +date: 2026-07-02 cover: /images/blog/what-is-kubernetes-an-expert-guide-for-developers/cover.avif timeToRead: 5 author: luke-silver From 27c65fc2c62d4060c490832a6b74311e5892043f Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 2 Jul 2026 18:39:30 +0530 Subject: [PATCH 17/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc index 50a2b38e86..d9399b1963 100644 --- a/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc +++ b/src/routes/blog/post/what-is-serverless-an-expert-guide-for-developers/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: What is serverless? An expert guide for developers description: Learn what serverless means, how it works, FaaS vs BaaS, how it compares to servers and containers, plus benefits and trade-offs, in this developer guide. -date: 2026-06-28 +date: 2026-06-30 cover: /images/blog/what-is-serverless-an-expert-guide-for-developers/cover.avif timeToRead: 5 author: atharva From 1724a70cfff858dd1f2da4e7c8ef2294ccfffaaf Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Fri, 3 Jul 2026 16:15:51 +0530 Subject: [PATCH 18/71] june product update --- .optimize-cache.json | 5 + .../+page.markdoc | 105 ++++++++++++++++++ ...ow_in_the_official_Claude_marketplace.avif | Bin 0 -> 10926 bytes ...ntroducing_the_Appwrite_React_library.avif | Bin 0 -> 9012 bytes .../Password_Strength.avif | Bin 0 -> 22621 bytes .../cover.avif | Bin 0 -> 28307 bytes .../introducing_self-serve_baa.avif | Bin 0 -> 28748 bytes 7 files changed, 110 insertions(+) create mode 100644 src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc create mode 100644 static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.avif create mode 100644 static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif create mode 100644 static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif create mode 100644 static/images/blog/june-product-update-react-library-password-strength-baa-and-more/cover.avif create mode 100644 static/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index bbc57f5e6c..62142f5a7c 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -825,6 +825,11 @@ "static/images/blog/introducing-python-machine-learning-runtime/cover.png": "2976f7c650ab992ade016df1767c8b783da8173f8a3bbe10549fe4d3e4767536", "static/images/blog/introducing-python-machine-learning-runtime/create-function.png": "0728b8ed66cd81e826d2d0a5b70e9f572d415f995065cf44feed2e22ce50e492", "static/images/blog/introducing-python-machine-learning-runtime/settings-timeout.png": "84214c72048b9911dfb2b9b40b62dd715f856c01badae58b148066be137fdfb5", + "static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.jpg": "f8679e1c03a01ccc2a3a1d3709d609ee8dbd9af63e9548cdcc336059457dae3c", + "static/images/blog/june-product-update-react-library-password-strength-baa-and-more/cover.png": "b636e349b4ecc0d569967d449ddb665e3ae1a6ed554224b1a643e4efab18d251", + "static/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.png": "4d4ed038ee7e94249857342f6d317b31dbb5b44410941fa14f6280e0bc8d938b", + "static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.png": "f69d9adae872ab44368fd32159ece9daf621cdf002ab78461f7f1d07b66dba73", + "static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.png": "bc6a351aa59b845d6a9513ec4a4993c393b3059c9a7d324c999bea52142d8648", "static/images/blog/kcollect.png": "d044d69e18de7dd4af75213b7f4cf131529f43875352d7db86fe80c274466242", "static/images/blog/local-development-guide/localdev-cover.png": "07cce5e779991c560d2e8c58b280803ea8ebcfc8775bcc75e959d76b01409fa7", "static/images/blog/logo.png": "6df582f74767156f37ced895ebeb6b5a656858301dd09539cbc84157a6a54ed3", diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc new file mode 100644 index 0000000000..715f88714f --- /dev/null +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -0,0 +1,105 @@ +--- +layout: post +title: "June product update: React library, Password strength, BAA and more" +description: Catch up on Appwrite’s June product updates, including the React library, self-serve BAA, Password strength for Auth, Claude Code support, and resources. +date: 2026-07-06 +cover: /images/blog/june-product-update-react-library-password-strength-baa-and-more/cover.avif +timeToRead: 5 +author: aishwari +category: product +featured: false +faqs: + - question: What is the Appwrite React library? + answer: The Appwrite React library helps developers manage Appwrite Auth in React apps with less boilerplate. It includes an AppwriteProvider and authentication hooks for sign-up, sign-in, sign-out, OAuth, and current user state + - question: Does the Appwrite React library support Next.js? + answer: Yes. The Appwrite React library supports client-side React apps, with SSR support for frameworks like Next.js and TanStack Start + - question: What is self-serve BAA in Appwrite? + answer: Self-serve BAA lets eligible Pro organizations enable a HIPAA Business Associate Agreement directly from the Appwrite Console without going through a manual sales or legal process + - question: What is the Appwrite plugin for Claude Code? + answer: The Appwrite plugin for Claude Code helps developers use Claude Code with Appwrite projects. It includes agent skills for the Appwrite CLI and major SDKs, plus MCP servers for the Appwrite API and documentation. + - question: What are Password strength controls in Appwrite Auth? + answer: Password strength controls let teams set minimum password length and require uppercase letters, lowercase letters, numbers, and special characters for user passwords. These rules are enforced during sign-up and password changes. +--- +June brought new updates across Appwrite Auth, compliance, React development, and AI-assisted workflows. + +This month, we shipped Password strength controls for Auth, self-serve BAA for eligible Pro organizations, the Appwrite React library, and Claude Code marketplace support. + +Here is a quick overview of what shipped in June: + +* Appwrite plugin for Claude Code in the official Claude marketplace +* Self-serve BAA for eligible Pro organizations +* Password strength controls for Appwrite Auth +* Appwrite React library for Auth in React apps + +Let's dive in. + +![Appwrite plugin for Claude Code is now in the official Claude marketplace.jpg](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.avif) + +# Appwrite plugin for Claude Code is now in the official Claude marketplace + +The Appwrite plugin for Claude Code is now listed in the official Claude marketplace. + +Developers can now install the plugin directly and start using Claude Code with Appwrite without adding a separate marketplace first. + +The plugin includes agent skills for the Appwrite CLI and major SDKs, plus MCP servers for the Appwrite API and documentation. This helps Claude Code better understand Appwrite projects, docs, SDK usage, and common development workflows. + +[Read more](https://appwrite.io/docs/tooling/ai/agents/claude-code) + +![introducing self-serve baa.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.avif) + +# Introducing self-serve BAA + +Eligible Pro organizations can now enable a HIPAA Business Associate Agreement directly from the Appwrite Console. + +Organization owners can open the Settings tab, select Enable BAA in the BAA section, and accept the agreement from the Console. + +This helps teams building healthcare apps, patient portals, telehealth platforms, and PHI-related workflows move faster with the agreement in place. + +[Read the announcement](https://appwrite.io/blog/post/announcing-self-serve-baa) + +![Password Strength.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif) + +# Introducing Password strength for Appwrite Auth + +Appwrite Auth now lets you enforce Password strength on every project. + +You can set a minimum password length and require any combination of an uppercase letter, lowercase letter, number, and special character. + +These rules run at sign-up and whenever a user changes their password, so weak passwords are rejected before they land in your project. + +Password strength works alongside existing Appwrite Auth protections like password history and the password dictionary, giving teams more control without custom password validation logic. + +[Read the announcement](https://appwrite.io/blog/post/announcing-password-strength) + +![Introducing the Appwrite React library.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif) + +# Introducing the Appwrite React library + +The Appwrite React library helps developers manage Appwrite Auth in React apps with less boilerplate. + +It ships with an AppwriteProvider and a small set of authentication hooks for sign-up, sign-in, sign-out, OAuth, and current user state. + +The library supports client-side React apps, plus SSR support for Next.js and TanStack Start. + +Install it with: + +`npm install @appwrite.io/react` + +[Read the announcement](https://appwrite.io/blog/post/announcing-appwrite-react-library) + +[community.avif](June%20product%20update%20React%20library,%20Password%20streng/community.avif) + +# Community Recognitions + +# Engineering resources + +* [What is CI/CD? A complete guide for developers](https://appwrite.io/blog/post/what-is-cicd-a-complete-guide-for-developers) +* [Appwrite Arena: June 2026 update](https://appwrite.io/blog/post/arena-june-2026-update) +* [Best AI productivity stack for developers in 2026](https://appwrite.io/blog/post/best-ai-productivity-stack-for-developers-in-2026) +* [What is Docker? A simple guide for developers](https://appwrite.io/blog/post/what-is-docker-a-simple-guide-for-developers) + +# What's next + +We are continuing to improve Appwrite across Auth, developer experience, compliance, frontend development, and AI-assisted workflows. + +Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. \ No newline at end of file diff --git a/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.avif b/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.avif new file mode 100644 index 0000000000000000000000000000000000000000..9accc82f3dd1d16c00d898944df2060394ae9cc1 GIT binary patch literal 10926 zcmY+obBrfU&@KEM?%1|%+qP}nwr$(CZSB~$Jv*~w&$rKezxO7$I$h_S%1OGC{-Zku z003~zTs$2N-7L)j|H9VNjPXBiYianOUbQuKG5oLoF9<D6Y@GfN1ppi@ja~ki|1ZKh zSi0E$j{y3Yi7ajGjsH_30sx?Y>%Vya{}Djh@=p<4TH5{3q5o4w{U=O;|8xEG8oDts z{zug;9h@BgA%~@dvHd@UF?3@T4kY~_8;Yf~gXw=J008XY2HyLZ5F9K$EdQ&3KtMqJ z12jtq+yCwVUlSmKz#sqsWsj|ip$ifK3X0Rp{Hu2e7z>twsaRQDlLo->8$kik{I3Du z2`)qBuEuv}K~xM(bJjn4j*`_Fg_}@HGsb5x?!(zp$9IiLvx|+33j6y0KR=7KYW`2A zD$r`c6DJ77M)I_-{du*hl-Y~#*=L|}z>RRnr6zD&g6oXMbOTA@gkh+KJV~v)P&ruI zM`d+B?WE)(nIzfs67A-rAitJkS|kNOQ9W+sDcDSNHdAGz;t6d`0}0^~g2(X*_=T)% z<BC&rC4F)XmMGcp>3?+m*t01-tA%-!!K6?<e?zV5!LDA<@UGOT#kJeG3q25@wEdpd z$DW3~k#(YlO-E2dYC9w27t-{cR_C3+z+&HGkNF{SeLI6{Zk^j9El~Yn)fIS%H7`?O z4k^y&Ux-DMbSCWO^q^1gm%j+-W)^vJo8gO_X3K}(WE8r!4BrQuI**^{tu<i*rM{#S zt2(RkN`6HGX#O2<p~PMMCCjxcs_+iVYH8kCHUnOSkn~uIpS1qE;#qp_E_YkxHDaFf z*8ObmD0^^?dL&W2%eK#ShsVhz(_zP0xirjq_IrXr{T19LpG~hX&2#Ov8={XssZK*P z?^(BMK?ius!l2r00oAH*G=LBC|K8dMXQ<=th;k?cWg66LuVeR&Dfd0NbMD9@7Wgj* z+m*rOnabAv`BO;9B(X3**5_s7w~?}Mt3S+q%;oizI{uCU6;>1suzaq&_ZofI=9hAD z(%!;CZlKk3cPuf6bzmf<05=i4Gagonf(CH;C)9mYfLZCliy2bS;!9%4WfsX+S{pEu z(tFXbSKnE6l9TqTEz7hyAlm!gXCaFd_Dqb`4%Jo3R)(GuvKhr@SCj~^lh4M(TcUZc zxBMAL#0C0@e%}K~_#`QGuQpSYrG7zlXs_T*gJsG^D<n~FxCZl~f`L9N=6gAMOfMTm z+6azN_+~NT0$^pM>(;qhAm|o5GSX~zpyC9jv|C#!9B4%M3BE)~!a@x<TKL?{0@GVV zePks~yB#%58A5B2bytjB1Yg*e`yY(4d5ZG4$Mi&%y<ns0K(Q#mS0;$Wt0@E}fBnbM z+HY@Ne9b*6oeFw0ER}FZC?cM>GdSx~ypnKk##WJ^Md$uk0<thr!3{m!cKO=DU<H@V zFI@!OJ0*f$W`1WrU+o=8FW}+>Xzh;R{+28SYcMZ)o@7fEyNnp%HT|c8k2*jKiQ53g z)k(EjGwZOiRQ5jhVTolOHDC9^SlnwgomW3t*vI52NbcLBe^Z)|4HI^lCF#OagkQEV zab#^A*@I<S`9zvju`g&fxDY(6>v|d)y0kh_NHTm&CN~l0y`3J`)ai!0e?kDrnY3CW z`O=1W`DcoQCykRfxVSP^%qdX0{M*k5z4S`-l(|ic|C28G?7>Ct_b2~v_O)HLt2g87 z18q6{uXMDsVHX%|zZ!qE;p-Ge2_(byvEkHiAriH>TTmEl1;`ZUi8U1ZRcLCC&Xt;s zo3aYcE~~bmrgjL<1pyEFr1Jq(;V!ERAP>`g1EQ@x>h{2=qI?vhi;@I`xHp)zFC7nv z?nZuR90rSGq1H4o9cm{F=E-1|GYYwdR(mIqs1uWht6rcmHLmk!5jS!1dTVaJylBz} zHLl7_DL=`OIDh65a0hVX7=j8)H@o#qgnkWRuG=#sS6<#CPHat#om_}Z?k+k61RAzh zDhr0k7ggo*V(>cjZ&ga+@YLR`?`C9zDSPsgdg5(@i=E>`*LWP2ME{hUilM_cAL!lM z4-ey>YS?N_uMAMlNUJ-yvNigjJv@bBQ3p5hb+F>)(SwACh$F@lmEl%vdk#0030GvB zO9f2<eRzKv{WH6{?|6j$4wzW67H60z3HulFtIV!V-GIKZ#F!Fi-g1<|ujfS3*AQ&+ zEb^AeG($iqCT;_`dquubdN-Bc_RpXI>KoV<N@@B1Jku7<0EbOyh{iU}3V?!|l1IJ5 z6{-T+Br(&W@K<n-6Wz}XH|8;DZ}j{xT4vXuBMB^06ERAZ5cQxBOdmwM6G<hp=pIRi zwc{pgg;XxJ3GsA{#ViCOT--Q_Cg>dK`D7UKI?8$z^Tw)v=_VtezS1fM;7r2`J51TP zi)W|ucp9?5ytet3j&l`jDcUDNHf%vJ$ex9SO4KnswmVvlWeYq0WWS$hNz5;nZ#&4_ zL13#+`bisScGgh4g{+05M>l9Vz*1MZrDjA|c=Pp@;&Y#~4;pa`ZQ&KIFB)7_m@o?W zjFMUvOs~4a<sPr3JMP`}owU5zUFFS3)oW#(=6N^=MV!p8I2>2Z*0NC-wtL0CS&WF- zv4c5u`wa+KJnzWd9Vg4!BGuAtku8RMlgG&MtTpoJj-E)Z{K9f${gpz=?$NtgZL-Jb zK2>tu5RkKYyzNWqBF5YQK2IrDdex-URgK7A1k|F&V`Fy9DR%|+Grj$lJ0Hs>DfNw` zyA*RJQv?o9KtF&z=@2m&Ul19Y{gPlaAR^-EDzVm(v_H7(uYB!_L08&SEca=U2-*NH zX8C(8Xi$22il3Z`cTARTA;Jn5Y7iHm`lw?eBwA)ymNm`l7$QtN0V`2GuLnG2A==D~ z#%0C5UYvaxpi<j@7%7RH!rtY9J^aTW<;T={R~F4Up@XLS5dvCi5WHceAT<hCLopXb z;4P^D7);40$+Fphq*VS^Qi@SGboH;3v$@GRM}0Zl8|yfIRw7Ok%(`DFKGS^Q;2MDz zRVyQi+GRCv89(5h%ini){V1E5TFoXf6^fGWNl?>_-Cz7&Hbf!lnXOu>=l=dz`kaTM za-Y*fsLMMK``*L>nc!pwQ&eUi=NspNacp{$UO#9S8Rd@Lqlu;$ox*{asyQ|#u>!n1 zj4B;4B>79&B9cjg@!w9nB9aGR-P6CtMXZ~xRfIB96GuE(Ce;s`0>sx^o6%^@2v8R< zkx7`}^G?7qm5=lkTVIwfXR~V{QvBfkA<4WOeHfze;fK(?kdF`}fkXG=S>ZLD{;*)a z=yL>xqp2)tjdfbnijnx6fz&_GgOJh7N-W;Fv+S4Xg#4@REofy%iG*pq6Do&RxpVHl z3@X*$cTR(L5<OF0*~})vaXhqW&`8YsEtV!-UKfAT8ZL^D{;akwi`zDb4tDl>2V40n z7KVPFiRz=0)}l%o8uM-1Id&uL2SfDVc_A@uOk~(mfm2{Usx=SHO!Y4kvSA>m-~A<2 zK<Z?shEB@`4Ovs8?7NiYBWrQB4=OBySIA_|ribsef`$jqHz*7F(0^`vog+pt1Mg36 zF-V4R?4h$iCXwJEQ_s2*2OTJuP6Sq3LdBL;HB`C0{kVU7gGMZXpRRupc{Zc<`w|cM zVffix+EnislwD)VLM-5mxWdr^+oX|0z0SCmEqO}gStR=AB3hTSL*N>bqV$$Km&!di zeM>Dhs{QTbI}O@JgH76NxiVGY!YBFpe59UgL28nxp$4U1olsUi?NDiPS@gLo+o`u; z_DC~yex!YW_{N)+VhiR_&)ZBKA^}zQLv0eHS&7m&uUVBSf7U4*)&SsDK+{aLST>$h zq+5^PJM|9eB?%F-Wk#@C9GQvGi#<&AFNQ97@$2-0F>u*p6Tqh)x9$uQA7WWlMl773 z9Gk&j<Q_456BEJL(c-GQ&h#@Oe67wiL4I+`RVBgasu|UJp-X;I-AtT4>04QHU9sEW zE_)+9`2z8Ezr)&s_I)`R?Y=rLZR5Q^$mk}T6|q7dzz`j~z^{2kx)Ol?e?CxVw6}qR zB;{{yFKS8sprKR{T45Ldbz4^H!;EYZ%gFU43`}0HMzgm3o^Tb;M4yTqgn!MF<ccwh zdhUx16Y~*tzW^B85jk8|U(NuCW>GHyj1Nml{gX1KZ}5nNGQKHe3Bn`IIrBt2zO`37 zR^INE(WF6uzCWUeQUSqk_3l+(;c9mL&(mgtLtspb2fP(oYKNqMGc8*xV!8^7U18rq z2-yA;CvtCo;h*ph1j=mR^Fy?GO|@C%N41oDLG{<`5WDWeZ5%X-pVM<<Ifx_}syCsG z@Vz*dd=QB|p|Z5~i6N}cHNWiGh0}!n*{R<|`cLe{btn>d?d7xQLqS%8lgoBRncr!( zi4}GIiNps|Wo{58_F3;(L31T5a*c1m%CbE~>%CU&XCERY%nJtdc>`_wi)Bwr(Uwp; zQP3$ZCI>d11`$LuVpt+KRLg9f0=jLaNxG%2VvI*8E;<Nqcx4{+(YaQ|Qw-~ae?Il9 z8W?<tM(=(G=qs>Mwi$8nywR(SXt(^z1*c^|ZpD3aKgmB{v<STOV#Vq<K{~Z~mOqO@ zP~%WiPfCnikS={fQcVR_&Z9<&(U=shuMgUosfLGPs-^4Y%kyAAc#EXFgH~Dd^T>8z z01YHqYEl&vA%(N-g33|oqts+6lrWYTa|<^$PucA5BP{OeQ6Dxz`20p!WSf9}rvYE( zW0}=8eTNmMWOtkKkVIqr+qxmQP*o-{)4*ntrTqzvXCyAEYvAVIMTg0iS({D9nfwWO z@PWUYYst3wz*#Z`NYR+Cv^dnJaY{6#MRLWUvA2BJ3zXfml8W`Mew9aW2hS{uv(7mC zHzPDu+(_Whk+?HIYgKz8lSeaj8EjXCU(XcktcXz-<f9QRfO&)SWiSKOsE$6-uPH4p zJWTy0lFs{^$p(KzDptb}*dr)@`yoEM-)etSJu^sDCx82&Xq#2Q5y;DSeirJvP@~{_ zYf0(i7dGf2iqd^8=r^mr`SK4<Sm%UN7<NpeSQAAq&MeM;Ic9oHds)=9ehUt1`shgv zI5?h1N2)V1w#;IgO^%>q%ps-DW>h!0i||&A_F)uy=kLB*&9gD|F||@-R03{$csCNc zjcPEqh85Ad{icc*a*nHHDPVkS1x1$3*{&vYU5GP4a;rA-#&`5Sn8;0ePfeS9FVJ#- zf4FJQZOB214~$M&+AJCIn#VTk@o3Wt<;)g<<y0%R`uT_!K*8sQq~1NkY7%RTX|L@O zUj;01^j@OWCZZ{Ues#_Q`afA0-9Tyg82<d?*8UrG&S8F#%&X;uxbV>PG|%9DMSSv@ zHE%i=PNIJvFlxh2oVFhSIG+LvIrJ^Qt6IzxKr~Vf{G8hUqE5I9#H}<(ULmC5au`b| z>m_E)w1u%ok1-k)KmjLyaHUKb{4+^{`~6oOxH<0{_R~AKNwFo=TX7)Jt|RP*PUQAA zL>Z2qaGNn9>>Ad*ks310d~DnMmZ_E?7yI0Ihj9f?@JxTJt`h!v4Oqjl)BkbbhT2vH z4Pv;TEqtmOoJ-119Dv@?W1TnHUN7nZK;xSpf_kf6P|S@P%VfJ!KyZ{dvHkss-7(yT zxmZk#XYnR4W0K0>=M-Pw{*{(v++PG)^1M3ZGt?cbCo>4hO*s&mpv7@X3ojkW=4NZK zd-oMJdzvbV<1-$tUvp3?KALZffp%{6t#f%Zbc+<r+ON^yBm%k)tgLHDh#9G4Tp?K3 z-?WvKj&4OJ?D%twA|`rRkVog(t@D98i)#RE6Ti|D)N4;_7XLy9`#J|BGC0A_EVfMs zC-h)b)s81_H)`C8Z`YL23Bxz`^{_QAp7lC37!^*KHcc-IAJ-|uDmfthvG<AqDM@Ch z@XRxQM4MG_2)k@%-v3;UrQU_FK#*hWo8jDUU&C)<2?RG?pHe7bj?a)CP<KWliY$7S z9Y~z*76vL_j*3?L2dMzQq;|Zk7LQ7KP;T5)!{nZfW;isB1or+8MaQRKG}xFw@I|IM z#{2P{A6Y8o%ueU}3reEmuqpkW=mU%tHx1VTy3XIiM{iKQtSoKS!4U}tD3>UAsQs1l zxjd0<Q$;dhc6yy0=}^Ica6ms<X_iNx@_zS2iyg5E@c=vX3Kyeb76D(01W^yl9EWV2 zb5nSoN?HU>#;YAF@Z1SITJ4IB^~oh}<N@1CS4?W<Si&oT`pjDhS9gM%EyArF>KQl& z<UvC_sRG`z{D;~;D>k2ExP?EF(NrBzY&5c7=%TCYa9;DKiP(Og=SkOADKkz?T3S+u z=XaK6|M0Yri+XHnaYrJ0I?f~N>kAYA;Izw$b0RW^)b~2-)~{*GHjpz#8t3`C?b0z+ z5%>E>37}|S2^>hZjBFTRkhn&Li|?d|!W{=lv!FM1mO1u%R5XQD1Lhet6pFrS&3RSb zyVBPlQ{E2Y>xeJ=)OqNWRYta0k?VS9V@6xiS<bMRc(;bjNxAR{D6rFaQUW!^e(StH zGKKOi2scX`8ayy~$ljsZJmVs;QL0?L?=yqgb8xFz9e^Jgry=s!zK_1?r(2Fimy$na z(1H&^fAr_&cs0vIY;U}!PLFv73S+TV(@^l{Ygwq}jZ<@Evl+XXARh6gBU*cVb1Gj} z2tkMD(n;la;-tfT^%HI-U(EiD$mr~c(YeErRIa0`M!JmXp~TZiQ1qTb@<clO*TrHH z_ja)-kiF=fGC~)kG}Y!qQA(U2291G;ES<4!`TI&_4qfUBhWAj(8nn$>l`xsmW^bTt z&?iVfS;pQF&eiviN(OfoOFH*>S|Of#xiJr+GeNNjt&zBRk?4m6Qtnx}p9l%W>mIJG zy$SK5_=(ey6)HPp6(&z}bXm9#pX+f@y$bwjc@RWyn+*^}EO$K*$rl>dR1!aP^^3(R ze2wvag0%(<8<4}4iumVA=b6l8Fdb{0;=`~`A)<^`t7rQ$<=0w>cVZveCO713gPsMX zgkHY%M;-O7uyw;^%-$^y+6er7-*=KGaj#Pqt<Ftw{2{E)Gz7OE`3s?|8M3$-;--0I zw!!RH=%an72%W!7!S!!?_<x3gP3R1CPsRh74Ff2Nlvr<jSC8lD&bK?s(fB#^75Z#_ zD(6U9+TzZsl&Gm)di1F=Jvie9z-OB%k(R{dS-p55SS>7T5Z}|-1z_;>FuNS&BR(rA zsuw@4C>|f`^-$as(R#Czlj7KLzB%QJZqR1Fo|g+W&jhS*t?QP(7SiGAD?1sbEm8#; zybCMMtpYABdlEZ)$afiRW3slQcJkl8uTzy*nztl@s*uY}L20oi84G#B1>YZNPc<dG zX}ahJHFGm+CzCg{7co=EM#_<&tGo8p|0YhdR2MCww?5q=0Z*_PYh9L98Vl_`QkU|9 z<kLucziY>wUZf*3zsfYV9mMig@wouE-R$J=9@|fD-dY)?ycAvCB&=hGNd4k|T^kTh z>#x=_-8Ka@B*oex`YlGp*OQD)sD_i(H>Hzl97|I`wo3W$Z_hpze^PqTO{AScX_t;J zyz{3-$V0)U&0%?8FPmOBP?@!F(Gz6qUer*@drN#y<}+i*01a{0Gc3M2j9F5T4Aci{ z14SY(*Haf+7;_NDpE&a8YS>)@Kj%s)QAbZ*K)*F-tqDFF(KOLsB6sBjkF<z$_Hx(P zvM*l=mQrfpu2ruhJNTEo2-Qp)|Jq{R@OfL4Jxt;~?7+<Tr5PZ!ZWz3iPWjfzIXimU zU=8b+dY#o<x+|e*y{3Nyk5o3)YTpm2H+oi|=txhOBkt?H;A9mU#^_XV6}8CgLv8rI z&naL&uk(H2Oc=9B-(bSD2G3>_asCc-0ZtOG9FX#*pOZNaqfMGn@Z=U!L8GK|B;#6} zqWfY-Tod0acI^{`20Qt*v|BkLu7_gy;5$pL;PC@fNhTkW30K(o*%g0-L)+<JwuP4P z4P{+_k>%ID{*}sse~M@;A`$JY0}^yK^;vm{uR#+1J~N<p|Gjoad7nA#YL$hQw6P<9 z1HDCZ<Z47tr90<h<SSJIMfYI=@v3@|`4tJ?9Hb9-hkc~va(#97mZ+1;U(OBmhN<&A zw$QS31;eq1mh6QgJdj5%K#q_4xE>qXAibsuiE?5`hPe9I>hfe+$DHu}RkLlms_e6h z<X6>kAXFT?Qa@hSd_aeQQHC}00Wzpo5j>h0_;Z9(tEg^Bb7Vv>@VBRLJl!&%s{l=F zz;b=tQ`Cg?W8iZ|hcj|kXi;Va`P;7aMm6Q4rlLOTVM~ya9#H>UqkAC9c%khg@vDLf zGw#=87B_CiG~e!gOejG^SYFy1A!r)>QNXKF&}aUzOkwPRvavsEr-=5CIY860Wo(2) zIYrr`=X1%MIM|sPFJ32i%Bho{HtDXA88*yU;)T<RZv<I|A(vf`u@0vIkY~^q)(;Vg zVL3|FmMOGSyoa7(X8>b`lGNhpasdq8Ff^tNrh-B_<J*h91nB&;u2dzrpNw1qHFj53 zKZ(PL9vgupL$-wO#KiQg^L0_&#|PPF(eg^P29EX*;<Cf5=OYnz4O=Nv@?I2oI42RW zKGS(-Nze6ZB)>Hyxb^5m##%c$<w)>~ma_lUcs$wm<tEeX+HiW9$An}&g?0XZsD-O| zEy9h2s)%DAQWukKDHGk4>A|sYwA!a_wu9Zngc3+IkGZnxG9Ru}k@JD-^}Fw{wyHi; zVOFmX5%lsbIEC6}VqG&MN4o(L3V0Qmsfe$tb6`h`w+9lD;Hy!T*;|9>*ffStv2w9! zXP)d{jav65?mc_|AaC;fRF`&5iE56y`#5EdXpn0jFS(qRsOECv8(ykd8*KK{s%OQ* z{kpL2#P3P*9P=`pW&N&|;Jm-A`z5;>x@NWdUOlAEqWP#6_aTmfURlAgMco=}6fgtb zm20bx_vc1Vmr}G5LUXc^pSR@A(e5w8h}m4~FWtG4yhnXL9nW<W!?D?TC^mZ19<EaA z13yWXUC~?2Ik2j-y2ld+ayLIk99O=^aEJ#){G7x*AK$gTxaE^uxz4S(+n-{{fgb66 zPd{me=79dCx$fVpn@=yqDaHIvsL37)wQLag*%cczbV_3UobPCLJ&Z0#I^O0y#G!+Z znJZ8l_@&iU7Z{vSxbYp9QCr+ZdE|IW@+qMEb3W#6>1b;!3g(Pr6|f~)=>_xJ205FV z3ho9gOsBfvcc^(w+>;SjNTH|=6LlD3de}0AlQ}sbp+4zu8AkzvC&!(#wt81q*nAy( zU^Xe5D1Vt`VKW&RoHP&4_SCkeoxsD;G7Fv5=P-z|iNTilS6H6@Q0>O}+U=ZW@T)oY zeZiRo^Lj07zDv{dH99tmiVI(<#(kf5n4BZwYcGj>UVpkq?$+2P^Yl8<d<%T+$g;Ds z*L<q-feXp<R)h7ozqW#|yoX>h7u4)Yvg3y71(lGVvAV|5pEqdsTY?HcLWmxN3US(d zq?4r}-xqj%scLZ&kvBxPcLmkQ1~NeZs-YHO0r6hAVh9$Shop{STEucDNCy@A6-5j3 z1oqkPn`lMU8vrG}ff7Ctl}gltATI`I5`$@wv~2kEg`9G{mhx=GHwDr`gQ}eTd(omR ztW>0L!vRBm{u$zHD=Thm*ak@hYWDC%#kyYj=<muk`>qY-Uxl01ARq0d2KqWIfMD1m zD>MCquxLsx>XI%-2SyQQnQ$nCNR1R82Z0&c-cGgNyI24h`((-ZBJGY1mLlnD^=}J~ z(+?9jHpZ7Oa(k3J#8)%kqF5K?3`3T=#gXHi9F%h%bSVxbBI3*Rze4LG0YeEx22^%J zasXwphqj8|-bMhyF*(#x)r7<^3dn;zBxl1K{6L(g=pVYMJoW@~o;s2E-#@0t9zQ=& z#x9(}!UHq}n80AlnK0{WSNSG?zVLj9o!1}j<8gXo@QQ$H%;FZAP{r*6N?)0xcdmzX zGjyPeI2F49eTg6*TgkK*N4=akEwRhx)9rM7?{Dqcvy8o@eL9@<3U5fXh2}I$pWT*@ z`X2vgvmY!J>Vpsn{;3;>3kTV9Hw>GbC#OvV5*-c;>OimK9HS2sbbk1P&ZSrQpH)Cj zAei$BRCgb@<wx>6?AuK5R?+!dAw(Zkj*Ei>phS$dDGfp&Z-y&LsOR}Ap}#gcssT%p z1#OlB9;pPQt2A$fnf4>jFl$B3)`K#OqoHs@b6_R-ZJv`|6GjD?TQspfC?-%@eA4v) z9^a{eL^nC4fH}0@{ze2@Uf$_xb&+>g*;$&TOy@Yk&FYiz_(-!>5}_ll#}hx-Z9R7O zLcdjZ!Hon!EKoa0v29-nxS@V9fv;^Tb324n=&4_e93}th$$XFJqd1^_iUD1(9noVC zgl3TnCKo_UH>I^@Rl`((X}=!_<nDK4%XayVgc^gQy_S7zU6;87Ukhy!w_SLrJJ`h8 zbT_-a!5>%}h7_xgA%y5RYj0%s7K+(|Z%tYzWG)!LAwq80-y?~hu)0`kb3M<FX?lYH zCL4+46AoRmCv7y2#kuhrYnQ&7&M&UcXYd4mr=lPgXJV7$tTIKkV@E_4UQUmp9!gtu z0heASvQPynn|`Yn;v20f2-I+yg8e4CXgrxF?I<WuL)>{>tReWFriKALc7|AqZ4)Y~ zQCrW_V;IJMii;018Db8lY-~c}(s0GXLJN`4YUF?&_$Bij1zO!UfA++FA{)^jUo+>y zpOa)=6KkuR-@Tpd>5`^hy*RopVNFyX2M!)(M;mgVraY<@3;Iig>6xLW(r%CK+mARq zkAPbeA@F_%k5`sJp<p2$ncBvPk{j_>DqnYLvA8$!`!uN((0Wo16>>mjs&9VLBYQBF zMuCi}1$H2)Sbl_{<$PEK^5~1>AuWdAr`NUUKfm(Vrdh?!qP~^MtAZgF@-1LBbf+GY zGefdI2;$~}XYv)*q0Qaim)Xp(OZjTo)T!J~OZWkI0E{331URn-&LEc!waS*X8zu<; z(kF$}z&r3b<^U0$b_A8_)*K{IRvoj~a?_D9tPFyLCC4mjCXnVVF1W2h_Asi@&x~L0 zw(7!YeJiz-xxOIsVgHKe8F!zNJCA;mgYq`t>#Nybald}NCo6V{h<m>YtKeW5Xb>=& zv;)PE<ei=;`l`@D1OfLQoVDuwL`|twG+-&WR$NRyhjPSy04TzSiwzC8eIVQLLJT+h znk0|ReiEIN)$Oc9SIa;HpK5tY5nzfZ9ie$@-^;9N(n;8-oxOx{Oo}L(j<rDGf<qWB zQ=pcqFjyTOZH?b{i=G&*MH<b6AEv*+@zNW&Yijy+2*;sfzIHsP<obB1Zm349TRiZ? z$CVIXg)(F6Qa(_#!<45m1zGu0K$h<O{Y84F150nRGF&<0#11b0>z0+E+Ei=#GqRSG zMDO;r>Qh4Jy3rF^##LDasyaM`L2zY(Ar?adIaCW4Lux9J4Fcm(Wf?iCXPH2EO%4_b z90LNU^0K988`dMK5AE}vfP1g0O!E{Nzi?c757`sB(*qMXs1i3Vyg~$SVvcXJoq2u8 z(Oo};DnKoH;x{WaCE63lR^%4+U+50><FS|vg{0=?eEX0vIQYU3(EH}YSsu>Y8+4tl zlu9#9=4W&rMMRj{$jt>|k?O+^!)T;<sO}JcTCYe(Q-f8|<P4O@Jn%@h)fvlzug|Ou z1a%l-kJ!O@>mVIvizjtuJ-sk6o_AOH<I-x;Ga;#PF-%x_i(eVJcp1+(^>oS?BIZ58 zEXY6Fw98F}gTNf{RQ#+U??NFFu%8t*3#!w8HtclgVEJ=6qM+<1F7sf%fp+vH)Cp)} z1&|cG=g(u1lK4%?D+r?Z5;sYSh(R?8&$kWLN^bWVlO^{_QdoeO+Y!=~aZ5@cXb@A; zoxt<6U({!xVAV={=3=~`jY0U)r3$b~MBWkZlkr&1BQRRYg%cp6MBGsleMgWQw?oo; z7pd2P9fPblR?UXq@7UZZ;$qAWLOlT{+tT0Qg3D#JKf~3fPiE%ue0L5&(nSKnDm5Wi zA^n!v@`(?siCbX%zv_Vagm0HQIIOQ{H5dov_Z(sZ70t7`l&b9`ksCFrOciZ3b`==y zw76Xnx@x@q8OqCdojDPGlU4W-tmPM`x;p@HeV$)wx%L-;IF<`XSM=}3+eN=C!qz^8 z??h5Ind5;?3z!4AsDWBK8>Z)tybuUbEI(jd3E@Y6s3=GgG52fAK%gH<w0fs}67H5N z9`Bsf!HpekUc*a6u7Q_M^K0p+Wah0Xe%~`=v$^IuM8A6i*?EtfMK0yB%qWPWSmqf? z)~@>eTnO-IDH$2PYG~^b^WcLtfK<3OIG&rx@BK9u<|SIbSZ?eMd6S25&1w16GeR_! zVf6q%6t1}kY84&x9_@jmQi*EVJ=<fME`4QlmHBqK1KojRs4den+~w<v!9QLU3jIyP z-k09#Tq^u+B|Jda&~F)mlM}p}t@N4AwBm4ILD67s;tI7EVu<A22S@_Z&Cjs7VrJ;+ zQK~>7<(HI1r$fSN16}%k!M7ufqn|#o(X?28ut7!B5&L?MmK?GxB&7D*m+bvQ$|b%X zND%EDDC_;^_}M%Ld`3lDn1|vToVp$5bUnL5)|!ess`=S;otL_66#eHjbI!Ku^(Y13 zIF?c6^diz-wS;z1XC-OlOi|;t&yK_7S6HF&qEw{i!9hIZb^P?Q3d%`;@}v$J(=qH} zZ@4mIWUqpo4MbSwbw5V2(a%jMwkwHiA))v@Gqf&Z7%?!!UzdD;W$QICj+)>AvwB>; z5-iq;y=*iHA7salHAzOWEnW}XJ)U02s<(iJ0RgF6s4Zj743n#YG<tM!fx{|b=X?pb zT4@QO=j>Atvbt5{w{U8?_j&au4Bke^gSRZ(K=2z0kW!HZxPG2D#<W3tUo7KqEB`zL zI+r9gj@|<M0xHQ8axWQ`m2NKZ?B0{?vhlh1vgk&pwaE`?PURixL?Wg3x~XVwT&CwI zV01vZGXE@lHP2!;=e7AZYlm;`6Fm-*#p3dk#p6ivbVy~3?2QJimy<mbZVitYks=9` z%yZF%mospcQC@dCb@@QK$x(5~!5MJN3v9lNV@on%%6-ZFg5y=Be1u;kwwNGD2TD|E zBN7iB-7e(7=v9gL6Bu*lE@f$BTz@h!($*jbfz|1xKhS_~L3zq6%DmWFR1k8q4uCK~ zI~mqRxrKgx>$SiN>s$?bVZhsWDVxusgsP%-_Lc5CSgylP-2$E(u!QF@g^4<pwYNQ? zl;x&peStk4m=4fYi0w;2z|g<*_R`3e^oM@7)R614h{2YEuD~Zdr9y<Y0Mk9#cQ!D_ zD1g!ab2T|{hrA`L6ID({g%!ZEw%p|;DExj5aX1(!^1iiT+-35!KU?lSo#cegtXs&( zL^o>`bQrMIU6IN(X|bafGlZXQJcsMW67O7^D(=Q?o7S--o`=2qOOTo<+wN9of^FW6 z3L<69m8``eJH-PAic?9jTymyo3}0h5G8<AX=cBt?p}wR_fZAYqMN*W|J=}%;lp)uH z&+k3e_Vhw2)Lx|U$N!NMJdRQvLqPYG>YPNyagaM8L^)gA-#u1wi>%eYzQcN}gKv$I zqVjtjgN^xR<#<Vt-kQBesp#>s75=KJ`0nqi*b8I{Uofh$1{3>5pCVXUgfugz)f+3^ zUFC*#DcF-}=r1k2KuFb{g#9$12t>FjukXep!!;i*oe0l_S!#8>8ow;m0Jt|C(qw+o zmXU*5mYVCo1cd6f$$9D6(CgdSq0eG_4|85G>N;)lT0=yC(Nd1OdM-mPS$Qu>q!K0} zBZNV&k#0XV3{9tR3cMc%<b7B(yovjq6AWfqAID|kLBW&~-s&dLV7>7lFk4zXeJK1z zj!J+CSO_@W)EOILmNu&eiX!f*(6efy2&%5-2Aw@e_|`!=Rb<eb2|?NPNcBf^B?1(8 z3cgVhJi`rsZM!&Sm&#L^ht}&oho$pN$`&Kj2a-A`N*|u^o7Wa2!sp00qQ`g{Ei4SR zTuAA5R0t*_J3X-)ZHX{t$RgrAcj$O${Eb$6%7=SJR(p)cTp>EsEp|R0;xK?LMVZ}S zcZ5~$_P#!-XI-*MDt0#bc8R<+eBm;J9gw~6)V#Y;hkO*UENC($3CNjTp0hk6*(P=C zxRcf~IA0aYiYX-Y%=o%CJ{xOR^k+Gi_HLcO1H)?xoQXsqF|55%_aN>-GC7hkMg0TK zSRJ?mBrGCfPWxIhc~VB9uPUs)cvrEy)44tAaHQX9S&e#|`|04tKQmtvg5oI}7o-8< z*m>>4Ooz>JCFxPq-QQjzAmL-R5Wt!wCxg5U<2mcsm*ko6NH8>lL;^Rs75-y9)gSYG gMpa-^#%3}0mt)+UgLT<|@l4^VxZk%~eN5p017h&eZvX%Q literal 0 HcmV?d00001 diff --git a/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif b/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif new file mode 100644 index 0000000000000000000000000000000000000000..0cec81ba815e76566d5c0656468e629fd912fa22 GIT binary patch literal 9012 zcmZu%Ra70@mOZ!=+}$B)aF^gN!QDByySux)1$Pb}+zArg3GTsNa+-TzztKOv#@I{d zTys~gJ?f)AHUI!1vT*fsG<FAC06xqPXu<YRZU;2}s39Ef%w3KD!9R@L%FNdJKPdp< z2sCy5Z~oti>IihT`?rAj@Ekx}2h)ElaS;F{;2#74k@}zbv6tuv_F)u@|3v_XA0-bE zX#ekP{L5m06z2c7eW;DyS=s(k{2%zi{1>bTIyyUkkkLR#Q-_a;Z0yeVHHi9OEf&zl z(fl7J008r`AZI@unj_E?_zwaF4-fwl{?iXb^bhng#eX=6e;6KPH_xyCz;4d=e0GlJ zmj602K2xBnBcF?xi>tYv3*Sc%&=zRy?8Rqn>uB}wc@YC0?fy+Zq#x5m1wldqAfZDc zVZuKE0-&?`f5!ZH+=tlq-vjy>lDxvs%-9tJfQZOzZTVg_07-yC_N75gN`es}3WKZ+ z;Dp#Z6C)cF((IG5)Xja_G|XKM*=$;$j_65d_xHH(;Hpn?;iR{>$0^90zil(L)SMH) zC=!DHs;?Zh!&nUYYI)%G{o3}gDY@hhdpL6$#UH}qmc5o(e_{oEOUEfU_%vEAjnloZ zAKnLz-D#VcR7<9pcWuskL>r}E*SCsWgg?^gcUK<m^}`Sg70DH-ZQcwh63&P9txt0% zYI-ueKXFVU+c185VZehsg&w*Iscwv`Ux5p@$6K^W|4vj)Z>fut`Bt{i`v>dQO+eaM zL~kD(fsGgI+~`;6&xSDOK$>dlG>*4p0*LbL$c5T3lD0F6z3qRy_sy3Zl`@yzkgk$+ zNVo!p-96yX_Fnu08IO4Ixj0VCk=XL*20VkyfT{jj0W?{&$n4?eObO+NbfXG~xQlq= zIe`M7w(eme?Zk*X6#2IEE#oiZ@e-q}HSPSOZ2f{q2C6cfMSe<SjcXb3G2|O|`O9UU zDA%epe7jCzsbJ(rv1D}93t+JC3nQJx{$4fL-3%wP51|)eAzbGEh=tI*@L9<~Q-+vh zAJ6IwmrFhDcJd|&+}3wJGg~a?#%<?JeP^3@re}GTij+G+Yd+U3j*#aVL3*AnQG|MY z2(DIOM)Bz}=*wOlcuEE%fU?u}p7JtYrN?N#i>mn;mL$jcoew|nL#=vMqY=EOoHdNg z{p_hWG`YE?axog(>KBg(Twb#(<@_z7ti-AkOemFVbpu5`lUeq9pWgAbv;`V#2P~`M ztW8cKBjxUvi}+a1co?o8XWgCf<7|2^_%pUOF0<4~lw!;~7yOZ*_++4-mx1!En_KM$ ze!S9!B3Sydz=7Ifkw+njkLwAAY<p*kHT<yRIY}<w@~O&Ex>a1QeJT$Yb8vet^LKGM zgh)#;3Le~R2e6ls=~O9!<iQuS+s#aU4b%gpLhiqbrnX=B@hL^Im5ZmaPNWNaM(XVM z?V1ANzx|*Z#5+V%im&bVYL0eRS=mcS%&Yjk*NaBZwsRQ1|4A{7QyeyQDVT9cYUW83 z!PaOTRaz^6iOiEUEMvCKV8G1T6`3WH@DAUK5tMuROC*e8&9T3{SQ<%=YHCF&y^*(r z)To7s5BbmnI^zwee$@+XS<Z6#9mtXKEhkttxD$Fik!CTY^ZT(wl=x_1`0P1sKUUJF zOY(8G|6?sIts{FN?PS@atdp<Vx2?(v7tw%Fe5ko7(lR;Oc0QNmn>2I`CNsP*5Fy0{ z4%D*;BbH*kz#rw8si+b~&<V?mMDu?!V=6r;#nN7Ms<)33tY=5Wrs&Zy81Y5t>s)~X zKTM>`i%Rgfv69t28WVG3xVXN2#X^O-8GKY^Hzeio&M&+VbZ2_1^`Noq<bSx`ng&n? z?{LMU=ss3|za6R;YlnpFe<->wO*WZK*)WTm489{G%xZjq|5Ls>@LCX5@RD<41sgT3 zy&hEiASac(Ek;g{b<tx76?DXnA8#chtQKB?RjMwWk0GW}^<}UxSCa`jE7-fX7;did zfKMbwdvZ+SW(GF&j5pCNoah}n9!?E^)J5U*7761HrBlFuS;AE1I=jEiO)D>qYNZN2 z413%$9j=f#E=1jxzseTz`U}c>EYaUU{2QH_K)=HB>uz6mfYUbm7~Xp3qBmNV8rv*D z9YzaBVDltwA0+1Y1LJSpJ=FCRFN(S^n)oWGV5YgByb%_mW`6xMmgf<-|KqPxzW@~$ zs&0tFA}x~=C$_Ki@&S)$3LF}sJ{IO$iIvGwo)YblUOgwZLItvB3hxU`0}i>XK~B_! zw$dR9DT+z0rA$~E^lM7WUY+Syw?|p5#9S*DZK>cfx~Ad*KSnn3-QtHvxb5K(lvKlG zmDUGot5@s#&{f!G0ux!;oN)x-JQF6PX+RF8T!p1OAr3T8e2s-&t(J%4+ST1lUSj|6 z6`;ZDnQu~WfBoecs=6Vc4nTU2pK_w@(UdqVlT$};owKYQs&U68iSeAEyFx<LDg~|q zD?HBBZZvS7S&^@svipMdPdo;AH4}39?YYjgJc2SXQ2{3Yq|LjSYnVv|0$NTquF2M^ zk&EbvKi#D{Qd!*CgYCU)YHy=xM-?5y)N1L$dr3={vn1qur0_c=Qe~K6xM!cygS)Lm z)`lp(<b=(i3d(-`p*P8t_W7Vx(KraQ4#BA!?bexiPX6YvCb#E#<RXo+o~irtv=vz| zWs8{_eN`jB)U#W#^S>`cP2Bcfpfe8x<iMN6k9mEL3|i{K@b)MgBzRDW37)-GNxC)2 z4iS5}QM9@gLDj5vovOUtD1j<GMMvA{s<m`?yrh5>S}#^%zdcw}DtmT_&jv3NlflJ| zg}7Bd4e3*64tdZJYn(nzA~CL#@xYqutCX)<2xm#*4!^@Vr+!3~Ka=#s{ibGTw<|b9 z)Wxl^>z|n>+D^DGSGbEK6WNj&Q+SHrx*EwLHifFL%M{_60FhR7fmF>M1;xgBv+VEO zuScd*6GHTY3OZMukbEnvc|3$hsMWcTsd5pAp2DVM6VSi^Bx`PJa&U#%QUA)K?f<SB z{+e8rNf7f4Ux1&c<36ozEwe)q0cO*V^Y-cv&2TUVkEC2r>F)a{=1sQq28g6=hi$Yd z3f^|n>hcUyzhBxcAVp0bMdfV#h^WEL4&sydgWADGm<${=ZR3jXD(RTE)GwP8wpZUG zm!P_zJ9y5F;kSJ+yCF*K3~-rQCvlqAzXKCpQZR%c??8@Aol%;7(-CUdDtw!hh?Auw z?@mve@cANjWn>5+0I*BlT(?fAvnuW|%?ZVlJ0A$Is<xvsU|*a@5!o2<h|-lMBd^LP z?}JbIVb7Nnr-6StQVqQ8j6=krhcd1>@6$c>FcTd!1yQ+lRNOXG>$|?(VTaWdJGdD- zUrM9?ts{2FEC@?$ur$JrY5@0q6JoG~_rc+witMv<gLJf+HXd9L1u8lqjSs8nhcQE- z$NqFvsmp*lla{aLb@KRK>N8GP+fVm1eKQQX_in&O5a*TLkj5bJgnEC7xi#c7#VsCx z#*}>n4t!q|E!sP_qr9*9k8Y`9)agb3)T=X__o04m?DT3+TF$ydn@X`ya*iIIZP+WB z3D*59{JmOl2r_WmEkn!Yrn6zL;yJ^6uTRqw8=CefIp~Dj<q^ME?Bs9AkfNM^-&tRm z?3?jT9Fx|Y+KudVaHB8_QHPNjVe?~`uF7g)$dmI-5>A^pu~hW$RR@-1{YBAx--rC9 zrrYBv%m@2G<EyCDJTGK)Xy%DyT-oAWXUd9e?dP+?LQcO-e^*PTnNGXPlq9i+g|gay z$V5BHgbSJbXg2L9Pn*eRTkGk$vSJgNlCqPMh4bE!$LmAYKtwGlg65JZb1tALOGO!+ z{8oV$Pto2QTq!;jqoIl;Nz#JGS^eEkc?3~+CA!`#h6uUzFV5ARDXnOao~B8xS-mh1 z1)k<m=DT2}!>%6)*Tf#ZC?tZ30Ek9BkgsOS?96sqoNw3Q0FAP{Cm<K_y3-q8%;Z*H zTj`=z^n7G1v#12cm2_}3OP~#U(7#zBfjccAz4>EmGwRAOFN=c6j_?p!b@ArUYrj{g zo!<MFS|l=sLA{E=I?37?W2%FmL8S)ysOkSEcqrsW(>KIFDToqVXKZHUgvDJ&f*b8d z=)?M@YBM8d(%R7iHyFM8q*mUNd1HLNHY83RQE_xZ_it)q`zROX*w<B(hUhLoswM_h zQj13fV|I|_qs!ZAf=*@HT8Ti4K#_lBT?KdJqqy6+Gjtrk1^3+BfV6kb=<1I5PWR4z zw?_bYUr_*PTM%u0Lmf>yp1`S-S%?=loRjsEW5DR3fhp2$JN1*O-+glD>F%;MHKR#@ zYvAb3N@<lIHp#N+0t-{w*jTt(8PmvD`LSS?Ot*OzHpmjMVa4KiZrGAC$<G6bnP2zk zx(hu~x+0@ODBElJOs6u1tqYewCg~ej#yd`~MA8Bw_6_=dEbOJ9;5ob*SG&!`JDpDM z^b5GW^P^%Dgjd0av9{lV;MZwo+;v}0;7;g`L-we2hLK)ZU49<m@P$cLh8SWF9#cAU zhpAX#^QQ36y(rU=bF>{!C;W_aWex0x(u)29SN)B=uLd?sS!%a<+)VpSG}t)D*H+9q z#l4*omOiuBsga;%=5b-I_aXj00FKO*mwZw}{ObssDa<dZUFCDo8z~2Fbyaez4?Qa` z_w@TWnn0}*2=s5bdSQL7w$Ye*1{JDN!PPZAF{@G(MBfx~(1zuINk(v9RrRo^A!=?4 zl{xCHJo3oH88Gj!%EJYAyA6&wVnlE~9slZu!tlML<fE`N%cB}7cs{U?WvzPsL*LJ+ z&?5~hqqIy2sQ}!={OFrA8j%2^=(uHQD5NQ@+i;u~Wcd=?Qr`*#Zs6y1A?HOSTV5BE z#~Yuy23SvmLn#7JvWdCk4$5*Rou=htt@M6jm$#W}5|n54<?txWIs~$l@c5<LreO&7 z1AGGXdbz8i4gvPR#Y+@7`EJFwm7CKlKgB$Y`Y-Vc<}Zl82&Z!BCIsS$p>)t!lC`DZ z<#XK|I*=mmWYr0f&z@;JT5&LN=^jXhM$CJxnp=FMW=2vx=$5<L#Ma<kL=L-AD)*8= z=rVIEZGSTNo5NY*;}=8(2SQXbkdZ>}j<99-RSctGl=2Qu(A${e0B!cTT@|5X8oy(% zNK4rNB@0BGX&l*Ep-d2k{d}n>Y1`3)Aus~>x$`w>?J52l@@0mvK3=tNybXk~a0A(z zgZa?D0!?&5`z3`c>$a@VwM;iy7%ah)h_j9b!0ARET_(Xqsesi}zdGyM<%g9$<naA= zDWmr%h%(($1l#5t%(3HXvWIRxJ@Ja)hII<J`LG6}u&H%R#46eO@6+Y}v}M&nEvg7? z>eF;zK5bIw4Pk>S1VrN*VQF_RLd9Mgppmx>)4Y^k^{GmMtBExFyo_ol1rGR9VvXqu zDKgQhaw~%LaC_rNyMwmzt3Rzn`4yDQ)jG%dSDeqC1I|#d@V^m2!K^E_9XX$ecYO_Z z2WgZe6=v~NVvW|l&s4{IKFNhV93M$YA%}d|;I-clD^R>0p0w^HxD)@P7)zDFq5GwG zpM*_6wE7dVh29|!xO|q_Yn)M+%&El!k4)>dIPnl<tldN7t)8v8uMUu93V9;tFbvk7 z^#1mTPV|Tcw>W|lhJQ~Flfv|w<dH>My!|(|o}|1!P7fP;T3Ouhn??5_q_Q9GFc`TB zhFWyP21z=D9!@q6-B{=8$i)v)#N|9XwnvgXzvnU%#U_w(dV6rUpzhTrffszLyEJM6 zE=;gq740MupaqfGK2!e4R$aOnrQ%v}Rk^Y>9XD-uzRdCJlS)v8V8MuGx*)w9X822I zwkkX=Pk!2rN(iC`o^zhw?3+8ar8j!Z6WHyoZJhCVnt^$DBg&{c7@hZdoyJDWmPf+F z;>$^gv3LA<pCM7*X${Rnb3&29n2!3lcifi2A_7rz`M}B6#Qt!}OZ5g)ugKgh(=gU3 ziQb;XP3ISNlXzgLV!EdFiYxdcMBX1=Uv?tRB%rdr>F#PFJy0Mq;wlnJ<coQ)Uq)G0 z&aV4RNBBOCiHeXQ<Wo^V$I13V=TVu4gu$P@KXr`6UY7PA8*&lFnxH9~F*bZm0{A{i zRCuAIn03#buB`p-a2scSb4W4N7-ho{-Y%n&we$1|+$o>dNE}A4wIBCsMeb8lBJk!O zO!z!n<~Eu!0j{m>mJncI(_$a)@0N>Ega8NJWepTYbfZ5%jc98x3K*m<i$knus7!hO z#@xZjxG_a47I0GorYw6-mC}R1w57y9Tv&+sIeNgTR<9^CCRIj%a+^u|LpMxt#8*`F ze5&fp+N8p0$+W=Cac@-<QF4IikqHd+^zbea0(}$B@}SFcn34@z>ir3!J8iDoE?mjl zC7z16h_?P+jzK51Wv%XDpJ?!<RX{U8pk{qBs#kcv=suI|AhUAf<jU(amOIu>+ZR%L ziML3N2p(_1P(ntd7UtX+`-k$bAIP+aVXJo_di+Iip^n1vg+mu-1(h~#iL?pD4todI zXVqw%!@&Xgy(L_*ez?2wJopKP3O7GLmW6nTAJc*ZY~?x#u*k`gXSv~uEKeE#%k!Q6 zzC_=+hkUS7K`cFEPND*q750wUD{bD2Lw_i!m8t&PB9f#$|Hoa(N@#7tmxV_utjXvs z^z$K!UhM+Dq)ek;Atl{&HpI-Po0XkLvUmqWO&SJB#E9PSu?ibTJ2W?(gO<_oKT7yx zjGJYys8(L=pda77CBuRSItCHTcs54JWvw}>5KrdS<rwF2JZ7GrN^9uj4YR86dG^Mn zUAdlHgU@0$-NyRxXxv!?69Kp4!(w6!yGki5pPkR<z@vqX9w9`FC%WAC9Ce;JFEoN~ zI+ABRZ=#G31~1qzcd*R0{*H3nD6>BEitx^l^1G6p#)Vg(yh%8rpi|CZmSPa~Cm{6X zOrVyn+TEmhh4Ra0E7t(Dyl@F-lVMA$jQ%x4<48}{t}=Medfv4l;4bJn>N73W#U6K# zHwG>&jj;O`)NkbMJp>0<w5hU6i3*4B8xLRbSCZpj5aU~GE{2|$&ilpg2hcNWf7%LB zm(CYgIrfmg#C@d^38qY*ixaA1>T|Mj#a5@kV}XbE;FctE67PptxHE|8i!>$vt9Ee3 zjD(Jw-*Ry<gWhqt-7c<@CTlfA=*;G&C_m>$&f!qv>EIipaLdhDG_8flv-i|<?|~Y5 zEZNJbkB-@<LbOE5v_hcY>bP;DACkK}{U#wRkuw_SOW!6;i()M3pYryrdIK16s5n$$ z+E7I`=Vg6V{8YW-ur=1OIAaX75c+1m_#WUOfsSM3K<FE!)B;zj0jG@4FTbekddjZr zb{Do!Kc3go2Omu^FHx<k!tQp80Y{yHGX<u>O;cL05b%+;+E$o2cml>n3Fnv<*b^z{ zf|XIRxo(nw|3aG5nuFA8nTs|w5Lz>8WRs-)Zp{RpnJ$>5JBa=EU_oLjLXF!qN>PP^ z{ufi^^P|3xO(N3;yOv_n35Zf8Ofr7W^wk_Hxz8Mz<1|F9uF3V6CyeowU>dvYYc)PA z0&v2<7adBM-!C9(22irW2vJ)@QUmu{Br<KTPUo@F`@SmTS}8B4J>NP$pxwOBxv9lF zjjKXMM}=Y{)!)ZzDa%l2x2sG(fBxa!REoM9LO~ku(|gQSv@r&aCE@TD(q3FKe`84@ zMlEMpi!fmR<JVgm*a@eiTyd#Pn&+gj>l(f%*5l+q3CDD?f_d*k?dUQ=&G@-Nl2f7h z<^tD&W!cT(v8ih-pbzS7NdgY}s1W8C>W?!;&*ER?Up=9-N7sWpA)_0tC@1!Hd3W8K zX`SVQwWh15L)IJDdvyC@qxL6n2G|5<sb8|+p<;zINCP=*)!mg`URV!ULf`d#71JhT z8vwU}(u=%E>?>h@oS@Eho(i%)7@jWJIjfq)9I>+wXMqjS{n`?D61(qNft@U*Gzt$Z z+3to2r}3O|6dzT$es=Xjkl_=Er$f5sDmi9|>iV_R_Iq;u)0G6ada%lcrdFVa{}Uzj zx+*c`xZ1Yc>!33u-iR&z2r=|gi!S}&y=E!`LkgGLIG1{eL}OwQSJ=}0oefEMJ*dnG z@u5t-SxRrNV#OzUGRU2QzZg?Pbh@9ax~a*Z=LS7~9>yX8Ha}I6qA--dS;6r>OZTfq zSH^-bURJB!SJ16fKE%1S#pxqd0ncIYY3&R?E?>0sb4qZ^5Qh>Ps=lPZe;x@~9Fe@< zKurv@qw`gaBLj#oowY9UdM2s~m2Uz`44z}eZG@M=3M1<N4YWUoTCo8?`?Z4>`|YsL zBKXl9-0G@ByyQZ+=ir~1T9jai#%Ofju7*%&AiOw=^jt7lHGX;q)wL>}EE5uNHrKbt zf##kh$N;sa-1r(hg{m5te*q&uDWf1(Lns|PRP$00jAVS!VV@3IS7Lce8`-&efca%) zYJ24O!+xIHI`n@A-k-#;P^;FyW<bfC`Pax4<J*EZ*B$ym#R@syWf*Y6v;?dpP>v5| zIAk6v2`K5k5GY)cFZx&wu#e6OE8^eET4CKHK9iV+CN`#CM5`yhD69San{?$(G|`X| zhuIQ7{e&oUMK{-X<wyaWP3iW$7|$JIPSN3Y7}fQ_xoE(vBwz?kRM~?$F@hfm|1tCY z*xi8z@fykht0Bg~D5IFJ0TQF4zeXN+*9hLl?KaYYxCvEphrowaS6_wP=(<uAX_QOi zb1O+6E78cA3yKG^s+O^7u$_N4Tu7Mc<)gdWc_`5a@|ur4mXu8YnS<xx#lv`x3KRo> z2U8B$WeF7SUv~wYF>tsXz9_vN;csL2L2FA54l-F|&~#K<1<|JG%&<{}E{Oq$mD!X% z>|n;^#EYL`ukp{4vRNf7{w{gSy=$-wcJQYcgVhdIfWYHJd%Op1P14fr{7ilskpOsx zeOe<mHF3Kzutn9<_n5{erMwza2uF@u4-_3DM7nGb+wOF!!`;|pB-N`kuPwty`aMan z<`&Lxk;V$8^tf!QJimCpr-8@7bkh~g7><#fG!$+^AzZPBA-6E-{w}d!CI{Q`VnG3o z^+?~&O2UhEbuhb%7%1YeyfW7B61bVv94^<RqMT|PNYtj~M7|a#M$?7xy93<)jk00H zJCR{diL!!$xjKCH+ioYmuiiP1%=F6Q*-|ogh9wU#nKW^GYErWa1rs55)B@<|JMmdI z;go(HWZm7Mh@O8{_+jqGgkKiWH1$}9v7{`?V|GP9y-$dUfl)0zivV+h<hH=Kl+@$z zIEd-c2RZnw0&mh)v7P^Sv!LE1au*Zo>Rh#~GtMv<hsmf!Qz>{>2NjkF7RNyJ*3v(5 z%ka32WRn<`c1j1@mWK(Z8CUs<!hvV^*1#);bkg%~f!M^}SIPtmB@nt##y;|(jdD-@ zz4dl6+L`slq3^}4G4nT0X|LvDrC@LN+^gUw?Npb7#E^KkN(duF=^8mM$S6WT^s@km zDnD?8<D}_z2`Qrx3QG_5+7^j0vCDylz(szCni7B)6knY`#&C<UHQpEv)~GD|D)`zj zGUT-BdYHK+pPLszEy-j1+|g>+_eoOCJ}<AyZ-cj9#-bdPb6IJY1MiD6B-ortywj@U z)pBHJ;GWDHwjZP)PHQ5i&_(i@6O<~90DgZ60we|Wq5yH{dgc5tDT`9g3i2i_a1<pw zIPf|J{`|IAv2)FJbAP9PS2B@b&f%w}5a36tU7HoDxY&Q0oj!RZeqA0>A}LK<^;bPZ z(ec#eYMND<$+r&`qMm%^IxGDNv;XVC%=cSHa=geA!+NF0#fY2Ib<aqU)=nM?>Th@( z(Vu23OOsH~4QFhBYHk#9<<WzL{QK82??QGe2#Rj-7tLCS@yIecJ3=nuKollF;jc|8 zjMk;ey+;(Yhsz0c7n+HP?4j2e27(|{voO50C?1w#k4Pw~F-jZJ&Y_rQ$q~5uqv)4q z#iv{Sb!<0hk0{M+8}Kw0qwegvs<x`6Vk~0<&S34ZCt1X{tlBkE%diADiSc_u6}~6_ z;v;knXx3{viEkosuWbj<K&VFSW2o3VqL6#?_ox!FHAWL!$(=b9qeYE2ceh#inwE=d zxCxB$5d>YwD`vYxEOe+m_6fMYcb*YvBR?MI4sV1Q`#AD>o=${-(yjo7xwvXg4nb-x zln5wQDt^KS4Ep7qdtqBTG%7yZ4&2x*Nb(Jaor}^k2LZhqkXsvSk4AgRD%OzX4+%Y- zm^3Q`cWA<%zsHi)TNwCs+MKQm!dLdw4+MU<w_nL3^1<hkZvGZuRnpEuM-Ye7f}bu( zVW1m@AYmy(-*D)LLz!zk$FcdHHhp^okN5$v8X19f>P#ptbBu%ftp(7uzoRYV$;T3~ zEs;*;f|Lf*e^C)LMRJ}rK1kvND@$_RpNfl@u<W|SO8j0w;WUe_WrVmIW~27btJdmv zF2+L@(`|Yn^tVZh33^ux^tNQvl&z4tQ~?9Y@(9G|a^sWUjNwiy;(Z^#VkJ3y#sBJW zd)-pxE<8Cl48tPiSAy`BMVj@;l*7BM1&=;S^wD<>vGL-CA01S`2=FBmN#xpnF_h>e zdldY3Er+qhxji{G%m-PfijLs^OA~u$hUT+%{fI_<Kbl7))eDN%GqYmeqtCeS?uDBA znye~JsovD%>P_V256)D_+~=vA1sS)oKgQShbXv*qd9XhR_S4=D6|>PO-Z`6&6Ay-D zyH-cfcys?!ERDXL5?heq42dsH4GmE0@cz!CgCvwVc`8bk`+CN#kdiQ<Kfb(f?7WRI zIdbC^k@&tXH1A1=EdI$nCO8!zx02#iw_%PPw2bUbuuAC6xxvB;W`CS@vek>XENqPX z9tl8a+B;ibR=M)CGF3e5V&LfUomxt62hU6TTtyz>0k(|k(V<|3oZ}{QwOu39+O;WC zw12`v;8g487(|rhmh}cz#?b_JG)H?(y``XM*N*CB^gIh8HX8ImyLXy&=2k9`sp7L0 zfV%MaDB&<__2FDNvde*oW4yW<)bV4l6`S(UVVi@au}A(%SpDhoMPq=nx${_jl5bh# z0tqJpOLBh97j=%mu=e5T-$a%UIma$MO!=vd$;;?nCtkWz6T2|h;c&t`MIFKY@ART9 z<pkDkK=*6Bhn(_U9X>jDkYnXbX|rM5E<wi>S(E@928$w^LgK~}X#t>+d@~2-aJwe? zQ{R06D-L{dBq|7gqeq_BD5hS;8_}zNF^B{o_q8aZ=tKy=u1HjIk5d4Dv5T010AyI^ zz&i0+{Cq~^{b(P9uf*GAwJnEgi9BB>zLfck^14g@yy71J4Fuvc;I6&&B$!oO#6q|{ zr!pjw8jxqcMssq2*cjKP#CO>++mTgZ@twEG1BU5x1r_coJBx)7m6tVocmzm-LhrFj z3|a6j7g}UsF75LUh=j~IQJDEu74{^nW^PSTn4gj4%g-D)5Oy~(cuz&S<uTEA*!-;W z6D}Ew1YV0?%$ve4!C#fO1h*{+5#{|_ER*2xjnq=pHKe8E$)kkm-rg9F%m8teVLZp? zShHG2_^gYR7tVQzb16^k&4dk$2UZK~=Fpx|M`p#<BAeDITQ^v|TVAD`9eiTvc%poN zqs=}eM_<Xz#DicM5yl_?>@3qss){95ixgwA0v`E1yUFrvoY5nvN{LeBj45fz4lgIe z<@q@?e8w|=pRmaWo#cnxN%-T-Uc<))3OM|KFHjVIQ6&a6007DWcnn_5*;}N!>%jjn RgZ&S?{r_?Qhy8EU{{U0M?GOL} literal 0 HcmV?d00001 diff --git a/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif b/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif new file mode 100644 index 0000000000000000000000000000000000000000..5a44d2d7088914176767ec1295db30b6dd2c923a GIT binary patch literal 22621 zcmYIuV~{9O((Kr_ZQFClw&#v*+qP}nwr$(CZM?g?@x`l%uByzejP5!=I}QK<0FH^1 zyPdv^xe36(ur@bg{7-LfuKy1M+F2Vr>HmlS7ldX;Ru2Db0RZgG4W0h4|Gx@nXYOSE zUjX<ovzS}i8vX|f^8)|@{D%PmO!{9108kbF$NdYnwf|!Pg8xAdb90;je#U=Q)PKPE zzhnR0`YsHN|8e|(@}Kg5WUaZKgWW$d!rac#_Fsk3cVQIrC;hJ%#oW=(_&-hn0MLIA z(EPuIU}x@T{vQSy0s`V+`QJP!&VQ(XTl`N0{Exz+@9ZY@AKKZ$hRfQ{*z~_ikjv2A z(2mQ|-O<U|+L7zujJcJ$zJoiLzLlNXf6oio+|K&H%|GkE?ScJ)fB}F&f`C9n{t;N_ z4#xjm^WW?KnXUeNK>wChowqj9cR~Vyg5tC={mvf%!h$7WYN!Gf6QKbR07a1p_<#if zc4-p=u!ezdqG|NrH<~eppEZ{ydT#3hri5=}ziVz45|X`0==$@WSLj9E6AD22gQ#+6 zVw@DIAq^pKKdjgFvgBfx1P$UdCH1=dDlgFcbwSzEVwISlrtm9DN?Fj`BXyzCY8%<; zVqpFQKdL5+Am>DfO1P9M)&Y+A0<COvZu~eNeA<Rar!0AWVWsVVtAE4xwE=K~YSt)p zEo1Mgs=~qI6YX%N9IBrY;chHi`6twY``pcO^!qz}M!mkyVnldemBaof$sZkhq;)}K z1!sMt_ubP2UC#S*;4$t%f)E^)-6ljs7H|397>g4z(}YU`^gbXj7tY;{D)xnO68eZY z761*9S$`_KkQu`&!!$^Ekbt+jk0|t2oUPCwPTJf@M3yC#E7eMO;IvS}DSs*Hj6L9d zFvL5U)B1~SCt1U-M|cH-{|1(Jo9M3e31;vGi_n1d(Xp$CMxNs?!_4f_TpUJZ(i7s( zZTtN+PQoQ=fge)DkETR7nU<WniCOVmk$i3bC!23r^^V}QkYBMbexSKtSBE#-y`&<l ze7tP!0ytR6*b_-<d5)u>4J)h9a(95z-;i0J`1p)@)kbuIz-$9si{mgx{bkVIVpw4! z-KtN^h+A9UompZ#n3~{8-5GJ6uX1$nKsKaQCii|1FAr+VEu`EEZgLwju?ZKt0Dtl! zy)tCkgHmzIST;z^DP;d7#MX65DTF5M-Coo|^N|j}6#k^Lj}Nv(3h0ndlq7X_Iqv1> zrkJ-IWRqVgcFd<?8km?+oh-6cCd%}~9*92bCad$i!??0ZeoDjmCr&ST<&U_dVv8ak zEVJT}XD=~pe6I1eGWE9bUeIGiS%gccb`<teq&u;rGO?SL-=CUi&tM|uwYCpIFUKUF zXAFA}jKgRobmW+9Bc{>;UTj%osbBn+>JI;(C7%5C@eO3z;MyFU*+rn5IO7+dt;nzA znIoTUIvxLt>tB83oP_a*O{}SLW86cJ4Bx}pBnW@Dhkl53zkN{Fs}48XkUEE$l*!)i zC{}ET>oi|mD)FEIe$svstGbNQMlQAhn>ObZTA;md*}$P<CGNZCbgMe~RWQJL--t~E zP_u1g?-b2gy&0Xms?{xRjK-l-Qj5YkXYE{3Xh7=T17AgnQA1Q$Hj_-4l9k0)#(D{k z)EZ@md`p%+!Huq`AdT}XRQTg&iV(lE*6POJ-qdg>2EwoKa)T2KtQf1flyD`&4v@!H z^fDC^)_LuYI$fOv%=+CM@{>}5+!nwMrjRmj>|G@(fk*5R^FXlBw2qYyUp48Tcq-=X z_1G$y?>r|x=BG<2f<5j+ahUDy@srBv)Pdf=Wb(@C%O)~;Nz7FR=+M1IwI08B$66*6 z#fV$4(<*pM)G6K}J;KoLrAlwn$+(z``$tGEoFLwK3V)Ksl8FcPUT1y5PZv174go(j z)?n9##t+@`Mkg@3+m4v&1!&2n8Z1k-Cnc1!t$h?DxhAW%S^dAI@F&Ob);XXE7*}2; zahB+U?HIrfFEG6KcwxYxdLcZ4W^wTESUfx1WAQh>Ey1BtVT57|F53n(5tK+^gb39A zI9&AS(ACm^oo9nXth8tQ)ME)pfyM^aXM*wN-MdE<QRT2tw!40o^+PqL$2~fSUIUc1 z(vz1mg65tI`T4{ygWu1(;iOB!A6Oh60TVISO~<sv0?{1E$l{YlZK2~w{PNf?Zw{s^ z?NHh?4G*NMR*EztlL2p`E_Kx55cBetam&iJ^C4#*>{#~($|n@M?@-*4Lr*fyQ?p>| z4{>JA`7?%G>4y$BHU=8+q&k%CZ5FOe^WXpIRb;Ia<Y|=L00{sT-U6gew6@VTGfN<X zb<k>^v+N~xbaOkHgWm64rnZZ4DN9;@f<PT!jD%{y<YefiGjkv#&AU@#()O8UGe%JP zvKLod3A5W0s5ZpaLlIr}pG91gKvADMQS+bUA8bn<I{`rY9dUQETYYDMMSFD=KOkF! z|KfrW{<RiG%D1Kyyeuf)WsETVQyOz(P)rC|hnBpwz9MrbZeG)6nU-<scvQ({m$2=% z1l0%kc2q1Fe`gn^<czMn=+TP=4f@{ZXhkfK70Y_q(i-*U4y8O3$me&MjGSHbX9no| zq<Ggr$}d~3@p<-pgmgNHV}hZH_9HEL%GNTKw7G%Txbkwa#G&YTJC}29$rYz2691e` zYj`@Gwf`t-3WgEm(F5zm{0D=ljc?X1ST2h}93Jb!1`Vc9k>@}pAB0zN#dy6<tpg1z z_d=`{{(9lMC<fD&5MB&#SFCf3_TgIS^7EF#JO~>Ig&rZ?&4vddqc7c`N(B6xlWDir zvB>Kg{99Ju21G&Rt@PMPhRWAnqF{hs$fX@}fX9s-i9wqWEqeMF_Wn#G`MKgV5uAK9 zX3&c`t8f%kQXAPAQchA|<lOqK_{JHqA8zqxxUEl=a+c`3fE+6L`-CgO-oUkYs<`R! zW9D#*o<eSM^qGT#ZGnQi{3wS~@rdwdTYdgYCXQze5pJH(YioFrYH-W^Pvqljn|)QS zP8@f&z=hU+8WQy%B5L7J@!I7ZAIYcu%Js)}p~_$mSzQR5SZj(RG?h&#Wp?8Ik5A;X zkAwA?klDC=AbA-b<k(}s-jb^Xz;Waq1;r0_W&5YtGA!~Gm`sACj@h(e%3GD0zJBIa z76FGXFn%v!FITG=Wu>#mTxSBR`9Ql59VoqfEM_pUM&iA1iO<2BZaRLD?pz@X_lNd@ zLrU48{T%%+d#jUnVGSwfbLtbdJ>`$yMFr<&d9^@3CC5F3nj0RyQfSxy?nwKnCl|Wa z_Xz2!s)h_mOO;n=cq!^VQF-}(kQG#NI(Z@=!5~i>k<d&a#d6?Pi9y86J;s-vbn?qs zU!)gs2LxJ9_8&_-oG2m6Fobd!HTTMng5$~JJ=_bIW(bR@PP?Q7aL!r|pYH1RY;SVF z*HNIpRws^~!<jPaOOgJ~iqI;R3{d7m3NT~AOJkflCae!x2BO{x`fI(ISuSwgApokC zRnZb9#e}e^_9ZkVcSAY$M!q2SyF773<k$wr$xQKRC)bZJW<=iM6d09fa{~;TTc0m} zX~A;k7nB?E)h(aC2$a7BckswNEKMP_o1g;-21UFEbIyRaCyNs<T47(f69@Xa*y%!q z>Hy8E275l2r{n~alN><8cEKvIu$oS%ERj_{;%)_Jqjh?oUAAMzxh@lb)9XC?J`CF9 zKF$F`51}xtiH@h3jpVY2xe$XR6+kDjM6!)?PNURgZ9!JHQp0L4P+4VM;VcXZ&T=tD z;D^^@7H2jA@Y3H(7%h80P&Z?c3u7%hD<UWeJybIeI}l`^1AV%~@RyY)sHbBgNkMq= zhstp@H%Ujt1sb_OSpbc2&ij7c__d6(izoR?$zm8dLC%|psVH<Y_l<ic3e~tsP<XBZ zOxiRk^48FIOJFY$bH8fcDOJ-<oLVSqeVuz1el0TR=3Yq{Wv(80CN)m5{eS^ZzI%p$ z3q;V-7^NG!0=XldYI53L{mS=na{s)p^4lz``Dc&kPxeWWkQX{K*?HCh&>YQM=TZ4K zi%MsE(N)(DB7IJchtj5udkr)fHMet3^OaJm+pi+l)2NhjsYS>|dTQSRCFbk3WQ2$U z<m|CJZKV7CS}-M`j|9{p0yN<nX4?|vR!t4}=@GkBT1+%Z9N+ra!$4ne$SsIfQlkoo zirTV8+vo4`=ip3Pb{>r0j*Ylu9Axrr6^%|Be&ZYL^zh}V`YoDCxa$Z6srt7lkb+m; zH8i=U(Y~b>RsL00y)D~9IG0INUt~t;u;`4728vn+Yt>SYOrG`cE!oMR@Cr$lMQ{au zr3qK9W#*`4Esdt^YjtarEt8%Jwg1Z_=yVgRgy*e<-jZ-IFZ)cP8P02)lGFrBE=em~ z<APadue0(eTK4pe)#1D{_aNDLfMral_$_jcoc9l#Dh2+ksMP_ZC*R)1PgP8Hiq+Cy zRt%v@bW?#s4SvneKyn4M_4C6a^W0xd#<vOiwR7PIK;{rpCM3Me)wKxXKeqM?b3k9Q z>7$_VRB3y_y=&UK=DQ8{d5ito*S`^-c^TkltEnmE&YE#lA;s5d`kDQAdSBgsDQN^% zeM)_|OMe-OmMBBF8mTE3m-x)Wk(fbdlfrK>jg`P$;u+I;!BtI>G4qoLn{hij%=U)> zJty7t6(;iw)KOp7t0qm0a2-ygKLP?1VU9ri7LYHUHn7%ruPNe5G)9Ae+RJ(^kts{& zDWGBCBc<~A8d!UO8!i{$aqPJpR4d75QZ<OO7$j!^*jC!uV}I)Q1}3)Hlp<8auWo)6 z!sM7Enl^xw{pbU>(vu5O<jYmHTviTFAj`<1vdqan{osifekz2ll*JnkJNRNdb;5M) zy^pd?DJj;ZQS#n>M+^XLTMG7gT=py23#pG-47sO{L|$lM+O``_-1Kc+@FEvf-`t&0 zmx}w7d$URyw?57yi)`H-*dmS?5tu$e$~J@X6sP;3T-e3iN=r#gPLh_;@r)wk@O^~l z8&HlGCnwWsM>%9S2A0+|V%feFEIFs{h8PO|Ska99+LAtGnxQY^gA<XB2FfnpQFNcC zCDj{qsD+i}=58{7Um~r+TaR6U%@LR)3IWFX0}tnBchG@Tk9{g{KxbErP@DGb$tPDF zx)4w`$C278hml_pU*A+|>d`ek(C(h4GvmY{;G`^ud-D7;xojWaT5#j@ub}OMXdw9# zLjYIkt(!$#E}M1Xefe!52xtWWSG%v$M%<J+>Wjn<)jofj)@KhdgY31`hb;{|b*jJt z?n`0og%sLn*Z}1&(DHzFMmwz$xqn*Uug1uKSXDOKp&zEUEaG8SCjhRKAhd|g^UMJO zBjZ`Sjv%<JNisUnUAvsVDlBfTy!=FjR~8)xQ^U3Ogpxv{PDH8`?|!%#QTi_Z?vk;y zO<(=Z#3)dL0@1<OWmq-?S*y~2!wn`GOVZu*NdW1v$6f@D43VN0M1M5Nz2ia5xk*90 zPD8pO93ofA3=c%hyR4+8qfErBsIPkn-&J(tVv9QUm0kY0*+X{@3ZYTIbZ?LJJ+A=_ zdEg&MP^ODpWv`ecNdDwqEznA2<xkRr@+zD>3SSR3lVVtW$97;T#0&<6kr%(@^o!D4 zl3}16^k9jeRq5$V%hNT#3Ez@;(@GC0bQnl9)jY?QOVp!SyZDR2*#gix5l^?K%G;eY z@hyM%XEo8Xqy>*qN03e%egX`34L+DdOw2KG46k5PQz2W^!3%un3k<BOob+<QJ0HOK z4@xexDKoSXU&lcj3<}wNwRuW;2_J~i=`}!s5MBVHNy@PhY8MN9YzaXdL#8eF0-Jpf z_A7E1|E=|I9JFz$zoF4@3j5^;snz&2y0>r{cPlrXHyzOQa6nFtHPt@SzT@l{l}2<e ztoFMuoDSOoFmODeJQ$=}!2a=ib?ak4FB{8Ww<@+8J{o3<zSB>?7Y7$3d|E-vf#v+& zX=3-EbM&OS7p7gb?UWIH2XNM1&&_))KhXKVZrTq&U1rNu$A2!!5mj?Dg{n;}Q!b9X za$iOJahvlVIrKZs;Vb;^IIaN0;>z(tu6yuW+o&dy@aiYWSMjhKB9!X<rx?zmERj9u z#|xUu4LNMb#8!T?wZ14)3osS1@#lWRpy>-s1ijQ>(|ML62P%e1^-+qjY~!^3ZcaU+ zkW3(K=}UG#I0b3hP2GKEredXo9px@zWF|B^oMpoRSVg~fU8h$<k28@8E!2tfN#+#N zLJ+dCib9tYAnu9bp8>#bfqIyn!W3J(W`N+)O;Vv<k9cER!WfLIN-`1zt!qTHZBue0 z0O-XK;j)N^W=h_an5=aVv~G^+?nBRvDvjPyL0I47M-4mg_=(-56mD3QP4Ilh^JVwg zU_0-~9_JIEeQ~mgn)5q-_WRWO`_NIeKpL_@NhPv#oN=tNjgLaR3WNKTpG<0Rn*5)N zxo!cdlnJ*@ozcYBYI);Xw6mXye#_naX8TD?Zh;*Y0&k4{B?m6g0do%5XKZEojAfIQ z9+`=wo^DMpd%9xF<@hCNL64J;;~<Sp=qyH6gMZVcm&ohJTs&|qByjAIRz3lW5uooh zvl#fXi_F0E`|c+Q(2q4>G48(&m`dM@^!A2s7+XZUP-C2kKIy@w=~Xw=t+3oBwA#Q{ zevKUnCIJ1;s|qbm&MAq(rWI}(mA~k233^e?jKw1C!=t%c+k<smiB-(5;1!L`aZXoT zGsmS5AHXnbRKJmpUrttzC!=(0ct`BLn!t1kUbshwYH_9+Shn<(?waJ-IBwis*bgDa zWE8ANEQg)R+2mrSaxYP|Whk!Z*Rix`GS~Ll%i=m<rY`Dk(F05%D`i1B$2*K|%g$Ka z+l{k%%f}T4egQ}rAH;6$`ouxcg#ZsvJ;J3xJ8)%&I^HzCT)Xf$Sx{G+S74r_j{qF1 z)cANC$hqg@BF8XqNBLxwq{LvF+_?tzJ)NFHb-c{2cW+Cs8Q8FB;p)=WXw)@w&8>+0 zW}5=-yYUhU1Yw1&$xshn{Fy(P#b9+0l|`UZr4FvN^7?bgvkZPa_!{yu4Rg2Cp45yM zhGbk8R=Q{mT<FV7<oEFoU))%1z#pkt*aGfn-*nkT60KuIzMJj5MT4@NQSfJJ4rRKg zU+a&~fKN8RnZE969^(2UlHB%;Hb^9L(^;zAl@ZjMXDvFveo?bM&8YAgkoH8utA%;* zZ#Q;p5h0CorZ{;R^eUSrr$rT+|8CpH8~7OFT--@$b#i?fzvL~+VifXpP4l@hpjQI$ zsN!Kh^j^N(5V{k|-b-1U5m)6kQzgIfS+IU(cts1NWUq86KF|fI09TZ5xjfKF)`YK^ zm$iq>fM^znkIHPIVYl|!W+9)skz3kLCBK~ezG9-3%BVsXlKUs~*QCL#t757V!gE-i z2H%MqW2dP>P2&o2Z7_}BU?fCZ>|C;Hrj-mF-H!R%Fp|B-C%n-69Ns_M21C?!J%>4w zJ<PTTno1!81ys2b>&@&w!Cs(0wa~S`;X@XWn~g97-aTNk!||~WE_cTPL|Y~eSr0Xn z;XZh~!xm%0z0VS4lkraT_Ct6FNl*AP@?Jxh0NluDIimS5Oki45Ry0MRl9ZsebEgF1 zRp~~iNE5P$r!78C%z!`4CLR?$Th-#1jclNjGx5DPhZTp)QCxnoc4VQySWQ>^uVZ&5 zr&?7*85B#nHuUdTet&5Lm*&%L*w1P0j9Sf9M(eWnId^+^z2v%pfpZpsNGqi}6@H;3 z&4<>Wpo1b|TCoYLDr4TI9$n}+`er-c#5ZUX(ZK7agobt#*{av1dI6S*OwUxIXOf-> zho@4)l$XHPdA8-cST^2qi2nKM-mJ}1qlkfd$H}R*G*%#PRk(;HOQ?}-tPUBzgCHQF z**4Z4c2e^-tM=8<5s;<muacy)RUEl+ZP=D5Wi}*1UYqD@ufK>q>ReB`sih&~hFtY- zxgbHRbi#p2)c_~ia;szmplsH(GI*XI)&2nq?uu#2ryVu#+p|)~N^cG92BQRtpTXi^ zMIG;NxvM5=bBg{&B>e&rUr5kfS@|J8zD^9`=Sxv5)cyl|uIsBUwrf?+rKj_zPi9pp z<NUa!?~PRi$%48LY1d5+o?7@z63^4lFD}?sH8M6LZeGYtvxrKE1ncK>V&pPtkAf7R z(v@66lSk2n(WQ7#(TD~0tlj7UT`WZVLRcVX@SXL()bQ2rn0)vtGx2Cd>syp-<f}V% zi8CI?S1nR`^HPlc?DJ%_WLNLCoqRq^&!o=yO%g{_!5;Hlm+TK+KSy4i$_PV<AOa<} zH^p*bO-RtW5{fUw=uGaY%Gd^rMHS#UDtt3(us4f;%1bvj0Et<~E$iH7jzT(cQ8HZL z6FE)p*FDnGXs7wc2WcUcVU{0eKJp=$B+2{1P}=;xef@xt46jd1*)L#AAJXop3$OzS zOyp;If61!&;{{`@5hbbleaU`1cQQy34QxxQYSDD2m;NoJLbA>gs-24NYc5#}<~F!n zXY*DyKzYMKi%mha;$JLqTEP4|TPJ1EFO|<eZyj>AMiL!tTc>XtA6GAV%<%yyQ&5b& zF{K7<D31ghH%jgN)ZM`Oa>m?b{O6Tid5``tMQErq+zWdE!;)T10OW8v)ed51KIjMq zmlM-$H!b<ajTD7z6vr4ax4`bMMtVaT+QDfK!XI#U=5JAZgj_fJ!FrTZm>s-_OONC@ znh*t=qn?-f{?PksKj`jud6aIS=mlT^24pJf)HJWnxN4*vCyt2kZbQp8g05EhX4704 z5gW>Yqh~9Ki_rHWeT_kOF6M97(N>M|4i_BFGg7D<nxai`cw9B%q4QVEzS4P)iAWnu z;>^LalJJbbRqd4!l-+ULRu278-ATs2J>up_-5pl|_exR&hpDe6?0$LPLJqnXx|&%< z#iwjr9>G!>;sTe<?DGhq5Cbs~^yei^2LkKa-28~~umxVQf(j%rZ&tG4bc~=jq`6V` z1>rnASIFd}TBZj<30nBYHi)K-9&ak0D7?qcy*MBRm{YOY`;YV)mMkhdOXRoILGrk8 zO2b)CZ&6u!+I;WFKHS?9U1Gg0B>cay`ZCz^kL!YQ%M%42PbSWcaiy-x%+Ic}O2)x& zpRTPW6OyDsuyjLTjll&RwxuS)L`LynL7>~YxJ1$JL8jupvAq^~D#6ptzCO5_uEmfw zRiR-Ger<#AQ1g;gaiTbm2w-k~_&tPI*izKmJ##6j6A^@tHvrDxo09y!>(@Nx<f0sz zb|c|BOr*amgqh`Gu!Iephbm5gy`K2Gt)i+#vCINTFO>Q0?fdl2fZwbIRV8Nnu-RH* zW2Kqa=8SCF!|iOf@15dXcB;u=5u~%sZ>971m%q$~66mXjiMz@ij&0WNj5Q!qmkxTA zpvhPu?AE7(s!N`PcSS)VQnLjRgp17fWqqt5#B&`bi+o1Q-?o74O_dz>M#oCom{qo5 zb^E<Ox?X&JJ8r(fFWO1F%Bqu;*I1;SB<32%b58HVAQ(EE&uI+M<<?%Py_uJ)TLdZ8 zhVw+Zv??Dmk=xuup*~H1F@L9lC@fSAAia+}f_lkuByNf|=QtGyb0}NdEGUm_u;)_Q z)}jqh=P>U^W;Fu4Y|LcVH`WLh5lV4h<5nt3ei`<HZ6yAv!qNu<k~n1}#Ln{`a*|(_ zTYm00l4WA^jbcavGk*BG>wGrm5XmXYQ1pstgE(nOr_qfUAk{8C2$0@N);4CsrUDzU z<cMB}G96t@)ytlG(q`1(dpi~<TSeju-KLFq3Iqgyvj}K!r$KS*BxA1kX4Eyh6TEl9 zYyft>!dlvnzv0_1rxi+0TPSkTpz5_sQ(hjPwC?p^VWmK`xuVN?zRX26(3(%%AgoE4 zY99#}&~`Fc#Aooj+A?)PHlssgJXlc_+r`#OTgod9nQ36<iH1>K$4Cf8h}m_yhSo3c zeCt>HK%Dd(e7#&6M8;$spppoSr;$&jZH%!wBMPyth{ld%+!~>neHv4?a92lkdw~(s z9giukB<og>?K<nFA?m326<2TogErXg<d^`&ifUUTlHQ!Xmr#Irjrx!+T&drp=k6$X zzXlM-OOGF6QI~`dCyh_>Fw-RPl%VeixtAs1FPcg3aMl7AP7|?Ye!SM>o749erup-H zz^UW`onqiFAOuW7VHIM!P#Q<EVilYp6_kvym;@&<+h8Y(^9J?>#uopfViY(@wcDoM z&Lq?^OGYZ}G`cQOKaitA<vFLE;5wllbZ!y(ahtTkJZny6itlh_S0{``O3d3cNydiI zCbHI;9r9{|Zv}ioWJ*O)JNcwZ-Rj67enq)6tA8(@7#+I(^v~D5p~i7J6MU!82X6A` z-%T|TJQQ=AK<edb=B1s=2}}J!y>tAUk1&i`p+l`8pw4uBL$8vE%}%OWKxfZHDbY#( z)R>?eXWROW7DC(3_vh1K;!GW`Oz_V!rFOQtJ%Om#e&}H|p16`k_Fg*tI`TUbqG47k z<niRmVD;UX^}w0|eaiN%J+IQ&h{gBUzJe99p9{3aqpt=TiM_!iO`Ch7=R7L)X1UBb zXEu}tJ?<M7eZm<otG#?rxvZC-;~+4alPTb=bdDBs>H-?L+obv3`GrUMNNd7!M|kQ; zu7)6^cVUaj(>4`{bN}~KE$=I5GZDRhcDCb)QzAaCQ<+E7P()cHE=~T%b@*N9cyt-c z-{)}^B7*BX^E@YLDlfO12)0h=Nke}Vu{nSNUsL0VQP(DK=*&kc(mQXAk#Ud7IH2WH z7)n1(M)8->0c7#IeYI#GhTAyA9|G{?5a!&S?k!^K@^4+*z}Xp%_I?FuGaA<$WE6{G zA%yS#+*znT4yRjLOXU1SwGx17EAHpMWxusg^y{qVO|Xtf-Tir7o;!-+Q&5qYb$cMq zU)Zc%6%?dWgB`;tU>e=jwW5cIHq}$f;u8mEQTw$yF$>#+NOU>?T9@uWBJ95vsBtt6 zxZ;*U{t;EJTV0im_bRefPbZFeK?)4pR~oVPQ}G`xGPUU__;1*Dal|R>)Iz=HEBfEd zI#Dz&_zX~Y-%sGpD~Z2CW1joe;Cxue^epSdBJ=!-y?%V+`?Qw&GfYeT6}t$23QQ*6 z*fssq<yC@d=v+ZCn?ZWlL@9;$<nq<xVkT1Xj+}wyAsS7;N^X4seP+Hqm|cS!BlF1< z1(G~KCPf(rfHgn$K8U}&*c{fs^q=r{$4GUlhkU<LDmwBxG(doVfnXKhy%Grn7o8s( zLPR919tm~HoUOF(T~PZ{)xafgNo}DIwyoQav%gnI@MK||E*zzd#M{?ieqGE<F&WJ4 zw3#gtmgV=7S|P1B$O1>Gq+GbmCdzYgW8rH#TTHT#cVFKWKPYU6Y`Ak-$Dp)z5y+%S z9oyCAuOf5;V<i<+$$}0Zq&Th{_~;GXtCji5hV;Y6DW`Np%S^QVvGPdLGSq%232t}4 zhi(aCTO`s?`_1YqflRvQ+5@b_`)-hD0k@JZrb+%}%R-GAHZ|c?!nH}BB+5QNA|_W# zc=+^!zoPsRy>kNELY6G?DeHe3Wz*25nYnP<kR2k9ltB~SG*C)5OBfe`_3dHEwyw|S z##b=s(QH2)|BmTsxOfA_73TEg5?Jy{{rh{wH!j`2^Tv75-(0ziKAH+*s-6JgYiqvl zZ3|C>%|A@<n|><X)6zep6-(m=xOFzAD=b-uVXmh{)OxdZH}?CR&_qd-KKDoDHV1Rx z#w&zG%ZzvH6e)q$S0cJA{wD0=Xy82a`qz(oXM#S5+_Z^Ef&dQ?2UqqS!EBYtE0_LH ziyywm8*hS~G9vTy2iB03nv@Q;sLg!x?G{3U)kkjI$XpDCYCct5HB~#*ZnW}eCMSK^ zf-W7MDPLEUeSc-~h2m-B{Ll59nC>h2dU7QC2qRVemSAO15#v^0_s6=g0`^mM<AjJN zr6Fi2E+YsCJ1d!w5b!KW^1wa278Xu}5>wBc{WtQ7RBuQy4zpGIXrV|$msT@cWFNdr zYNHUFEk^xdO8)3HolA@mCb_5VQe2`<>|E(EUZ@z(gpMkb$9gYiH&PF&!5k1{nsA^w z4$A9fs)Zo8w%rAWU--MTKXwW?rb*h5A~l7ADU`6mDBTBWp-<mFiura5X%e>$o0!-^ zk?dNi5@#pTH~o%dwzXDE4Y)6(*-XM-EZJB@8Wwt0FykSln@S7;3T_KHEF@Fkrh4Ja zoMZ=(r26V*-ki)}v~nB}ygD(XG=Oik1Lvh?;YkYpq9aX{9^?LT&LXLg82N(Itub|$ zC@RX#j@5n|u~HTE0IiPx?^QgAcb$t~8ee=O7t-c529UTJep+B8m@Gm{&_hcnA&M+S zVX?Y5hrplCl9EP9!BLhtZ2O6YKplC*-=$%Td3&d;zjN`gH9vxtoR~Ra&UiNr0t?+3 z0}q0<gNbGl%E1wl-YCb`F+6(W;Hd~VxAet35AHO(Z`tRozBrrRucJIqYNxEIhkqK9 ztzjN%{gUk7l>RX0{mB6glio1lA}fa6j@Apq%W>Osdq%)nGt9|MA5#CwJke#m5!3f# z%P=cHtd<#1;N{xvlzEIAt=2haE7z-L8AW~(D<Z&)nRPJto!Hshj0t{4BM>k7w6?}y zWH)?N?ETJdBxr1F3C1-_jF9_<EAgDW@hR2yLSp!ocoE{v<ZRHGz!qOKhJr8nfoyjZ zd_cOy|H8ad67i?&P<O|lIi)>m2|jf|_3J0PAgXXotFoJe1z#0);ZMK!@Mo4p26EQH zH(zX~JZi<MCPBHq+_09Zk7s_J&*oi5P~ze$6`>viuOLB|6&L1GVR<X1AE*(s%cUCc zuaBWA-r&$>4=-fD@>bfN-)*os8;lqnmrpTsB^()`QK>HX=y0CGNQ9+_0PnH$9(^8c zNO5AWLzu^&pEC5LgHtoShRf^Ujk7_zzZH&A=_qwX5%7lWMj5$+L&^f93}iRE<%MUK zXyc)Y^NVXSn@IDx;feEA&HPKx7IRX{5{Af;QMA6XkVC<+TPm`Fz^M9%++rnE5+59$ z>p|jY)V~B5XehvV2ku4beZ_xwk)G9wA$7EbT4v!)^!BlZ6IjxhO3Z2>%Om7c6p}|X z=P1ci5)|#=c9MPBlmf^?Ma`M^uJ!139M*nf_SP0>289*NcB5R<-3V<UM0WZ3bGu#g z2UZ?@1c5jzV*MCTdj?TnFl0hs|I@t2!QqmWJ`)E5PgjC|C|fHG=2k_AIuU}QWbV)z zjBqn`FN}$AM5Z((S)m_W_$*Lss~YFiRa?%ZZ<ud4gEGN=Oo_$M8IJ~!*blI2Gk_vq z&9LeX(~^C+-K-WsdhAREx(idf(|w^=8qs1F7cAxCZA_=T`{cg6f6DMIw}H~O)>G!T ztKp<yQYtp5AadvJ+k&n1m8DvV33p=scP9yGaqg}?h(Ub2f<PR$X$&o(wl&-(_m5{~ z@ncMwuooIA6bXAu7c3=7>Tzf&E?+*i95&8OvEgRD=kx^?w)Hc6)y>~fW8h>>-8sf( zL($*)pe$<4{>_hjhmjKzrW?Il4U9b@X?2oxU!X-s@NTT;-f;1+<pB+34i9jp+uft^ zSEwvLqYP{VUvrK`d1^N_n)a3=?kD#G#R$LiG2=?y!3DT6dgTk781hRQt*;rnc4Ec; zV9o^*&hD3cJa5&$XE%3USN!z-Zy;a&k7M!pqTV*7&5;uzmfsQ+mh+4Zu#M}_pK<oG z$>4Y6E-b2Dc(0)W2(R;w^~>w+E!=6F=gBZ5>6L3Z$9tP-e=t<lhdo334^L>qp2oaB zBs<5JO@Q;8)YN{K+v5A<(SoN7(JnEU5pi9qgwp|@(=4DgIgG6Xn(jv_;tpdqy4AHs z=2$~|Fw=2Q2crOZDN!;qB^e22s-qa;+qkQqaT-4rX~)DD`3R+6__Q`?X*F`qsYfJ? zBu~)}$-#3r+Yk#w?7=|cDao;J@!TaHWL3<t%M0^W6fX6j17HC8L+J9A=P^U$z(J~l z_cHd)3lz#*>g<p=YbV3<YdMgOc#bhd{XW(g<6i3d9CDiSfdnHOU`4-YaPU4%&r+~~ z-<?QHg@g#pm)k2HRl_m4v?W|)Zg_a}D8n~PeW>|Vj<Rj!^E2w=czHi4aAD`ft|Om* zL}1PhlwHkK5gwTQzuK{){LTd8CU+_UB%8K^{<7ws!mR@e2rBp-$Yu*u8(!zR94k2x z5=prY3Kd-PpHY~(M>*CdFH>8_=BEXYP)X}QMp5k;cf5agIjXoV8fNTgbpnP^hjU#v zgZL-la6gGPeY;0_U0bPGvjar8h=uZdn5ACYNY1yEgTQaVs0ns`$0J~MOoiS9hZ)NF zk-0EryLj$d17u@jI;$CD&y_ws)S&9!#ztgDFF2y;f5YRTkI+UMu1QTH2Cq^HCHi-J z^e2B!0{+MZObSdwK@YVpb$PaD>~`A)*$~0WxAvs53Z!pOrJ2FP5`FgOTj|gogVp2< zC<$p6({t#2id(4(C+VI3oi>a51SE$h7I*h!^QyeVvC3n^<S{)ar8Xd5?i(!=p9082 zb&_W=j;1)xve>fizGzol;|1J&Jvm55!RE&?@3}MG2H%FZs4TJ)d$~}BbqmQ=(FYp@ zTAnSsrt2EM9_imm1OW;quH61w<2@|ibRb8zCd|rbL}Y_U>j%5<Aw7=Ng`+{S%)zx% z638IvSp|!<wPvnNLx-i>8S1&;w%V2kk7UV$jjLe0iF%hP;Hc=+)bS`n6=E1F5j40X zo_6&WcDsVYS0Hcv3>XcUw2%vA%`&o(y*0fnG*a`K6}PrWYx%(Ww64oJqn06-8FN%t z))zV{dLqxzOsco3F*BC}%g<mL*y=FBTgwExOCT5E#$eXpA4{u3wGv7Z0g~I1sxw7a z>ppvIiC<xi2}4{`7;TaW{$gn0XGsAv;Cg5AuMv$BF_xn<%W5Gg;rVH}zbxALvpux( zvA~<kZ$twjwG)4~aV};0AewO`ZNo{Q@5Jc{Rl9HLok7E4@KvP`3D398DwiEru%4jF zJfy<bEt^&Sa$SgH-4xS}&~;}tZM3Fx!<9+95N;i*oF|!&-_`uvXC~7cev#ObyK~;X zjYIKDtb}0YUo~L<ihofm<<SnB8NcF_m-VL?D==M;dHb1@LCiYaBTfXU%=w$vn_)%= zNG+*hesH6rI35L#J2^<(bvbnlWdRm5dg8Qa4H?3XEs9@@tFqahWPog!_99HGVao3u zLOxjey{=SGM`>^PWZ@*9w479q1nCx-5mnNj=<K7>I0Hj5P~vB4-F92aH0ah!MRSe; z1q)Owz`j^Pr1Fu6Nt<7%h4?!mfEE*sOjk+RoJTUs+UqsSV=Eg4OL23M6<e9oP5oZ` z@*poawJ#oj8Q5{4C6V_0irpLN?D+ldLh%6t+Cxfm>`G#?xsU9NRlft#ru{LCQBamb zSTmM@_%8GDX=wMb``TnZRX%*C>^|#IFHB{~z2@``?8zl-q}vm8+r<jR$p!MH=IDKr z`uYMG(3_5R0Cmx&N_Zsu`nu-t-DHkHeKJs;#Bv#Kn8r6E1`&Y9#eqK9i#16aoMK=> zx@sE@0{6Ee>{UZ%*D%-vQ!{F(&wOqN>iiAr*miG%Wehi=tU`GDA^+}AH$7orz8o`k z<=k+g;SxCvTzSXzW{!m5?O%Z6h?_?ni79cAKrq$ZR@W)*@*V1LN|w^CD(AS21Y=H0 zINFdZ-TDQm=#_cb3oE*kL`V>a(K+8Cu(*lg08>te4YVy~1gKMsHwT$>jO~Z^c$9d) z+)1;1nC4@LU=9@foM2#NVHhZ&2PV>etf<+Awy-6svj8S;l2v}Z_0%r<QJHZ0!~^s- zehhDgP_9P;UE&}6p^*w1wzhUdtAx{c&wf49=IHGY7Q_CzD!L%5hDgh%!glW%2BOmh z42QzW?=UXu?Ll(ave3N;g&I2i=+zJeBtEVN3__;S^M!uOx(rO{feO~)d<sgzu9zJ3 zDY(I8LOU1NDBK8(A|hSFhF->CIGlScQk8~p4Ze(0vcW<jAC&sNyAPg7`ostv;G{#S z=-V|7IRyH1UTL1t13>BK^lS6Os>mDS9(sRz442*J_nEXZr9RlZ9vc_L*8{V^j)=<k zS0eJDd87?Bj?9@@JLf5DG&l#~FcCLq#@yovMqokt=LI=<^&LZOZ^Mc5o6_kao0@#x zFePGnk4N#+5!@!y#`9nW%>~@^f=B(tr$+RC56k<+*e#ta@J#^}<vr|(**EqT+x&2= zh@9TvvwRB1Y4T8%G_jAjOS|V7mv9?2Dh_^P2h}V#9y&44vIM3o-tqeG_Wdj}IV~{f zda~SEOH+(S8@Zwk`EcM>utl`ZlD5ttvl^pJDm8l1eO~P8c}X|{D{F;zF0gI_c|~vi z+5`hrO!LG&piXOZe!{`zc8VCIIrDRP9L+lL@ZOn8;M`!oG+OCW{wG>C6xkKGg;a&_ zAWK8*5qm4i+aYN6?e{rcf0u$IVjKem8r)iK5%Ug|(=NVW%g2?059W`n%~F{m4R_#z zU(EN0ijkb^9N}W2DSbh#BTUHan;L%T6SAgVPZS<^#-*~@MR0=$cVzFXwzmZ<BK?tN z04^FGNS>+HhMt5~<KBj7M8?tQulSlv9cCj)d?g2rh7RC-N@aW;8nVbHFPIfra;AG% z=W|>8G%d)+l5cvV&P37=l&QBm(X5n2q3&P5vf22z2ry1X2}Fi@#dX&9@pTP~4ei!Z zRohUzjAro+wbL3q-#L(LZZ4;E48^c<GFFL)VqAn6SE$C0#9MEkgvFDiYd1eiFzjc| z;8nA(VG7`n_>f>e7WG!Q257T4=kiDOV5@rM^Yq@mZAs4pEt+AzFAeSluqk1H{5V;; znN#=dzs~MPrFYeS@*4G2Z3=6qS}u`!%GROOL*8`OB1_5k`--&@9!To07br$(AAZx@ zlp%32NwT)9uuxL{bc{FuR?}h@dCJZ%`K`rkbg0dh+IbN28C9r$<fc)}>7wtSWvbuT z%#J5(fiT8qzB9#ioSlvC3Dd7iRyJQroE^wCko9qAgB?im?^f+WkNosKFodm{_7%vY zf=#En)}C9HIHFO;oR7CkU|xUbv!S@8`*XfH;2ax?|B=ks?$I+#Y^l6JZKdWkxhGC^ zC&$PmJo~e3fXFTjU>;`R_%&?U;*4e^fJD>JP^$RSNDU9OaBR5!wM#EO_&7q#ZEe(C ztzzNHYOFW(qjZ`ufug2(8pPF8%MFnYaeR<D8YpPf4au|%Srr)yqCL_C1!Xg(8;|lZ z5is^gbHHM%$%VBvbd!tK^fDF%sqfpInfYLIib&<AHFCk}!%J3gsyzfA?}u2~uU4Kw zJWKiEoad}iq5T02zxi||w<}$(^VHJ#?*j$byGzP+3`%!8z<@mB;!{5rEgr{ha8VHM z?jj`2=Y+Uh{X$-A7<mbL#mUy>l{T0+-YkfZ7t8}Rd@5*}$6Catp3TiCTzo>cB|q-) zwCq`B5Mgoe5oV1$Xa#2(-<a!J1LwmsE2Oj;DyR)us_06u;Hujhy_KM)#nIjkR$RC` z_==B}yT)LfLk{upUkneDnvRRgCyK)ly`Y7z@C=pr9M9o%lf~6_Hn|%P+*jRFBdU;3 z-y0S-w6C!0+n4vg%$KccU$7f(&(>849Vwp~0ybpKcj6eEIIDT>!sn~M*5J_hqtEFf z7hy*(Gr{{Ut^1R1z?DjH0cM@6%#jHVfIy=G>ppUA+Y)igXcx5tJc0PztYRM~B6f%{ zc(DLbdgrqiLG9T_SzcJUx{$IaO~Q7ed&Q}sKAEeVM_XX(`CzwfX2PKgOO!7-Frd4k z;6~6szg28-VmmrSEq$C^ou!&jh2g0H9vs$tXy}4>Di$}#%)V`Ti%eMAXKqp)qVSoU z7A!Z*QvP#iq&^Y}LTy;^jQ71YUQ^Fs(Du~Vq84t*3Ck<J7fdRRQ9EcA5DyqxMU?U! z<{+ibTJmlz1wG}Fu_owgVpe;4FF{2N-NX0&4IurCx4ZtDY%JORCKp{Q(5)80zKsqa z{_x5@_SVge&<>c?V;ejI&daEPl#LG7MH^~CobXx4kxu@ip}T$WszP2l3I2hzU5?EZ zpxhMX)V(XU%rozjW`8Yej5Wa%5XsF|9^UtIn1>XSsoHI)#)b(#>&z;)g+CNf1i^I5 zQ+O^)bt;J_);~PRN^Sa}_S^uTFKK6rtbSQ=P3bEh1Et_i3L4(%BlSxJs7S#jE}bcP z!iVlY$*6-DAlYNc&5zmI=q?cIO)_V_93hadhH@QO==@ygTP;62zK4KL$5s(sh1(3B z4i)?Pr7xvHcP;@bCaFfS0}i(iqJ=R<BW?7vD|_!}MacTzCNx_g41L_fK8D8ye2j8X zO%o#N@miEEyzw`-#+;{w4TLZK()M0qYn<w(p({jhc2wL@fX`hxngKNvy(oLXJw`3+ zF?S6N5hElPawhr|7d*KN=~mATlF(100I%Z;GVcnq!b`DEWv3+~om40EJ?Se>EA{!r zW0Ey-FB_+SM42@I+yjbO!ZKdkkaY@+)!25*n4ojVK2u*fM0or?qx#siX)1!Y(=Ur! zH?N^jvZEzE)!-vRVom9#+T=IM;Tbobr$SlP@=_mRzxiawNJaM6H#=W|HH>h>)J_t= ziwG)}E@S8-ykCzh0>%t+Y3W|Zx}qFH5s6OW6&FYr!yTq`&iAfFL(bm8qDp6BV3iUP zj+@0Hk-+b8^=O2ZepFd9@Wh5<MAKEGUUCcd<BD@(8=FnV_gh(HS6M;%@O5R9V9@sR zwJx_%4#YL}iyt%OH-XqtrA`5H9qFz^9-Z~6npXs<OQYsknfX(o3@Z_}C~%d6do9&5 z!Po$<MF$#&x9B#jj`eXz!?C&w(i@(j%u-Im?naz)M1a~-roi#(NWy{Fw0d%6!AV!D zfNo1D&G#{B5Csl$x-Wb<GJU$8(|H-=EM1|MihO&0(=bAPl@$e1h<A5G%XP$^?`Xd_ z@_zaRj2jj&-k}3i<qe(M2~y3cDIkg{PxuY)`^@lQdhV6V%)Y?^=q9QAL=v$Geiqi& z1m&jtrO{5WEC=bL^%i=1nl<;Fm}=S?ZTqwU<y2QEAO&0)^)&JJ%^!zAC-qjvMw<Rg zqwws#P@(`PsoHPCY-R*_wmMsX^8LAU@g+WOs=_TSoV^AP38v%(id&AVTUeL6UQ-J> z+L-MI-u;G&b!0bJD{9f~YOW_=KU*c&`z2`PsB{1cgdy2;qPynxF1YZFHE+TcxvJ3y zB3RJK-8%vQEBVrWu0Z7=%nE*@A~%;&WJCJUL;W2UE@s4vrZAHi38yAKPky<tF8tRh zAiZFuEyHNIHbENt?3L%EjL9G=ThS2kr}1^|ZrNhuuSOg3y#|o*4=DKJ^*Fvr!R!^Q z(fzVQy0o?wlwm6mcv-*N<P;%qiI=aei!;Md6y!=Go-(He!8^6-Xdz$fs^WEz>jt29 zgdc0j8U!T?H-a<^wi+vn<A(v6S*9C_+OYWujo<!-tx8>Z0KV4wOA8ochgM+tqG;%b zG4Y{yff<UWa%JbzDVcrX0uHbrf&b#~bWvSNe?5r@CN4y%m4d%+P0ypEFn^3)mezXP z^Vcxo4U?22|0O5@uv?`?Y1HyDtfxA~c_MX?Palebhgowjt?|F>n0K7)3W@DJv~Rhv znTl%3=ImCDrGt=d+y=>+97ve$;Jy&XGn0o&;emru$aOIK_hrsOOvxQ4W3wjv4B^UL zd;OVS&R1=3ePBz87*-h3&mbjo?^gAtl;d%#iq{(#@f-u$C^-761Xg3w;RVDs+N%?D zmMD>R^xr!8S`;vzizYIZIEOGtB(uA~@dn3Pu|_SbQ)x(1n(r94%IH`2m^&nrJeZiO zN+>15R^%mx*=kK&iIF^<A+YWSt#D&ce!jiPBFBPIAx<L1NqlkO%Uv|XSAq3;+B~^f zvv9gt{3G=qJlcFO)t+-WFyJ&<0x-uvEZpBUX~y;U_(&reW<u8?A}@A9G!Oj5U@~gb zNNbSNK8O2pJ{0&1xjw%ug^oOSm?#7Cvo`0-zT@$fBkof^M5kD&VC_)W2x&4R1yNeL zZWx_^z}y}Am4iouh#o!Z8bv8jaDWJO*tJ}IDXaSGK52woiY^yjlQJVG6QR(_R59fn z>l$c+5EUh`)Lum4EIWU+tK<oI+f<Bsp|3S9b6g{u(O8U;hMKf8^MaMLzamH+B{C`i zV#G+pr-HgMCt5Zg(#G2wZhepVF7{c58FZho+8k$t|75LC@gyUXDT>O4kKoVTs<V`~ zCAuG(*2k5IgW5V~quy3?n|U8KDM{^<o$YR9Es9-1ird1hLt^7<dlqkHJk!odW%{Jq z0m29?j+Rvyi2kjIY`~WPvNNFVT6ANb-I)eOZd6v8N@>F4%0t><{A)D-4540#!p*GU zXY0PmDpAirPeTJ}0m3}<>dx#MGl;HllutV4X^`Fzue8Wp^arw8gI2_~>Oy40j3*-o zHX9H_=P`(Fq_1KdoOVjxE2Hj6SN)Z?A;TM1ioJN~dKA^n04<Qn{V#a<_hU82y;-tw zJXbCSn(!CJd$blF5Q9gxd%6=aS4YN*BJv+SY0W|+J1%G|HS)9W;ESfjRCufg5DB<L zou?L59~+fh%J?ZD1kiGh&`ticdkD54c6Qf348FCav)I6b7NLyxe#LB5Nk-o)-l5X& zNOBv2cL!hB7Fy?AnyffXbzHIBy!aw8Ke@IaFoF8v7Auh*SMVSfFM%{A8V(8<2m}>u zBw&USTIJp1Zz9Jqi_Uo=_N)|;=fp9?0wNRjjG<XC79W-oD7J(pQDe}m%!57^d$xdP zzZNivL=FRQZ|o%wINb4CmC9BKkE4hw4P@y^7C6a3S9*#biu58jp_1bbvoF2HBswE% zi%?OSP_<Fy(7$<}unI2C3~g5bZsg<-4=5I%a%wGVAPIe$lcG9sa^)3jZUqL*PBBR# z*#KfGwpCo5i_25za9-b2AYd6YKL80}P>&ruYS{Y$Bl=Yc%%V>?;2P#m)d_hxkZ_f{ zCAo{`%7>*|bATLj`{|=S9wJ1z$%VYneE*a?wb{hzzmhH4cHqS22H&~hsP373PNpwe zMe8o#g#v*MG}TL4&UH8iL-^)GX#WmcqhWW9t3*;s9XKf3P*FV)lV}W;W%INVZ%B$B z1ypvxHSX;yt8=b2`FHt=jgAK!bSlsYj!V=vHryl+(~fM_OR4#XMqkwQ#r4(<n<kd* zbJjAJF#6s$-*Qt$IKyguYPUeSKL7(1k&7MrpH1bhq`L<1-3XVBP_%Lg$v66OVLFt! zVI{=%bGttsiQ`DRX5R^nf2v0sQuEQ<yCRz$$eo}T5zp6tm*20(`f6PkwV@BUm|#*o zV2%mV%XA5vK3tvgN-ml2@G%VKfW{zu(AM^*7uz0H%-`Zo9>y5L*-anGUPBXmW9!q^ z9;z-u3FIYDb)_2-V+vO(yK{V(Y1+z$CzTy=ATK4>-2?DVX|cZS`^>+t|K&)EcISm_ zKDgo#=rMm7!&{4&!2A9^UBqelc9rgdO{&mVt@&iFs00bP>R`{N`M&lalQMItw<8KA z3^f$@jDwvAKZ(e=P&|RkYHNqjD}aCMKu)7<hzGfl>2+ibp7%J85DF?*EH-=BA6BLf zjdYD*rUUms{fz}F*`RB!RHRK<3#MX@5qx=n3q;Zw;>_{^jyZNfXTS;TJ3G1B1C<he zEK`qGqdbES<+`*#Ol$)kkG@$U_<sSa7ggvu;g5Hl^r^xF*hw}!@dRQ&>n;$16+V1` z2Mpi#^meAhd{^A}8t`(w9mTbM#8?0T<9*UO2B8;sHPGzZgh#u(<84j^BB}0}_%}f7 zmWnRnG*EPOvo6`Uulqvl7m6P)k*O99;`x!w#lD*i9hf;GvA?)h=3FF@11}S|))e@x z2%yD!o)+Oro;$5qIlRENLW9<1A`j6NwQuueH#KeYSDifbc&<AN_zOnB4AX9Mz5rIk z3<%tWPCF~U7L{%4mo0C~4I6?jBY8ZN_?eytLvsyUwX>$<oDb@l`kgu|ZH#mNX(^sn zg<M|NUWtSA7iw)g&9OHcb7NmBE@M@m=SP9k%Ll!LIyl1(A@MC>WRg51|NQm8Lq3e- zquIL);mOKp;sJk{;1qq>i`lrKAzjs?i*(^B7s1a$N%r0pv>kiHBR1h<tKMUFE>sL= z@1pMzLwnbgvByKkE{&;0?WAH^MbrB10WM^+(a6jXWjKy8oZor$2o0ePVp6L{D?FG- z`U77$Z0_N+sH$Ype&5(#xSMRn`}Q)A!RhbNv&H86c1)T;hTHokhNn-BMQ5{ZDT%!m z9jribq7zSf?;1DwB+&+08T_-2Xl%>an>rK(b^o%D&3`>zMtCg+TyLKUCZMcjg`;Eh z`fJ}IgwD;T?(C6I6-86+m^(tzaCJ=`9f#R)UEZ_)`!e4}yDL5D(LPc2O_bb};byF6 z@jjRb&HUJ9$liS^9f)rd44q`uDb5P_(;+k6fB5&Yc+eW?lEGz1A%v!h4Bb;R=P>ez z`_mqGjo2{xq%#viMb9O=SS<QWbd&F~qSIO&+2imJ+rx?8r4*;kCg(?+L*8s+asA{R z16)Q`Gtm_M!LWKBb^c-}L90YpTDGPh0Z2$#95=Gk3CwdlENl4<RMZU+OOtn93N7@e zHH01hhfm#}j#^f@QERUB_RERl^@`qa@^Vrgeoyf<VXnd;`8v=p{*#>}UVv9kY0;|* zBIbd!hu>lB3nI9RWgVk{+;r2}{A@X*^Bc*1MHMsksDaqa9v0Io$`c4_>=+G%+c|}O zO@BaQ$J?;jHJKpegZXND;}s?`8}C|7vSOaxl}~hOn}P8AJU@IQJ&nS&I3r0jDU@wS z$8XH)G@~9wKZNw54gE*`BsD=#9rLzni#voI-VLxS73xokP$C=y!4gzQWOo+>Qa%p$ z@>Ux&rztJ7lL*O1{>AU}G7hBSZR!Yp#x1mBvp!~iOl7Ug_$JB-%UyBrv|wLuJyHtt zLfWkT2Fb^oe?68;msg3MK~+0QG44{;vCk%0C0X{q<xLztMM*C4Iq%UJpW3_B>e|4T z0?0=1swMKX0}nWIMHvGK^$YyKq#4uAEAU1EdfSFTTi5wBTQF8CZo1WT+X`#H8&YBd zr#>&Y=QM{YAsf9N!tWy!Sq5pXkvcX8N37z`C!#(D{B4P1{d~=*xS&U}3_4eR3iS#( zWNP5q7jQ1urGkWZN&M8nCh-(h7ZOhdhWrthQ>ORch+sj6>S%gWlju3?;<$<0^gs75 z>I}MD^vnrNxC-B4+1B8@T7odb)`==jf=p5-`-7L4q{SrD*qy(*YY_yH)ipfS>~j1a zVe8zpgqQP`--^k1bvtCUIXAk(iDM*qfqpy~)Rw=lb$H($ohLghU(mYHW1_HGj{RUU z*w$ikmzeeRnW^qkeY_=#-a5T~KGiP6<=P>T9BX6hidffOhU)Q%bPUqZa}6^Dx&09k z_HSA-C+}UFE!Sc$TD=54mgN5;?_D(M#rU0|=C6sDF;Ag83NbwrkAR-q{4A92n<Rmf zdI`iUd-)3m>g%;d`+sk%nWxfGlr*tgnY`%R92q+GquYumU|#2EmD1x9hTjfM@Y-eQ zz{={=bJUM7$FP4qGFu3=Jq?xhBRFVqF#L(=@8O_LY$ba6{4PNKb*<Fk`CEDgRJnWt zJa01>=DxcUc+LxHS}-ZP=!32i8L=_;0NZ=)(w66Tt0O8tL_Kz{s{oR=dE8s6ELFip zLfdFwZ}WLH(2a7TkLwvW>@t4N=wt`h!H<mlx(wi{)z7x8j9FG=xOLb=Sv2UimadPL zyML&KDT^0;_Vi3Ll~WX#!YD^;4^nQ*73wG0vgx#jurx6-Rn7je*Z6F_;{SdBlIeSJ z0uplKM2=;^2O!4h{pYy9d*l4^&SfSf(!;9EFW4UEWSz`{8UDWj^@>acAL*wA=}}q= zM6JtJi=@)1QJ}-Y-nr@@)c8ByHXVe;Y3~_fTM=K^;Lz9(-zwmvjf88xD|%hKE*tpP zBaC_u`<mh)8ZVAyJB{00M?zZdP5EVG)}RV+nHfUt+zutbOUx@UARH9shqdHQ0X~mO zc-~${6xuq5g%#DCyJ`<XVJ@-GCq&z!es$t!`K}wqVGMg6Rt$exMR%^RrPC76&=CL( zS0brvUg6GeKDo|w=9L7?j`u?A`nbn8&j-`ilw{Mp_8U!s^*YrH{{|@_5Wun#e&yoU zs7<q|N`Cp3w$0idxUXib8<4rr2H;~A1xWhZYRjFVGVKc7Rca~Dq6}HAz$StEJ^xUV zN8HJnzHHA3tI>tQcuoKgIBeS%L%{B+5wMv{;kQK}Z;fP{2uaP+2#%EQVKCma43qos zM3SZ}LxnFk-B0iQ_@$H|Pxez|IpM^Gp<F1{vAxm)9`yoLd9(8>Y7!S1xouC~<<dKt z#9O%CH}?%4V~O!pj4Rhb3&JLk!}<R0O9U)T^iFqqwgqj$@w{nu=GnhxiG5Ow#wk-( zYJrN6+PQ7>;M~p=JBi<DI>b#&5SaOxzq1NDNgtX;y@{8tTz2Ko2lAc~BVF0jc2>0+ z)^lsF1F-WXJJ0tuKzbV4-seSF=D>*%5il8ZC+8cE1%EDi7aU`pADpDa;x)6zY%$DL z(I8-m7jdnjbi5<ZRLme)lHTAh_kH8pUZdD9{qGZok8QqbjmrJd<I?iQ-RK(d6Ul8= zq!t@6aKa)nN}N#<-HOvtfq1|Fg53aH4To3bMzH<-x=Ql`c-$n-Z%@f?;!p7>v#2(C zq6(4hLB{7=>NkE{6-?qoO;iHr*BXrws?$~$wtsuQtDnwysCR~(Lf5y9p_V7N<7V3( z?V(>qwsAXgtzQo$qH>&<*x)O<)fGSuty?RZy-#9&dpsg{BOn<|GkB1hWhkJ7LcZ8Y zw4vz_%<*zW+#Y3^PIpr#JmQh^jKr2B;9E;{%R_G{VU8kJ&bgoE$UqXtW_F~uJUOzf zGM@;v8E&!;8)dMP?^b$4jHlIoi9n+Xj48^h4G{rSzh>WTjedfMT<#ov?(PqvrD4zO z9^~Hrw~&z*HgSa@R$PKbM6G~m8^gKyo*xq)HIffq(vjfjo6$#9YCX*SV7!3Oar`tI zN)8pY+g%kvpPuh+ktB7;NLpXS3HxSF1F|*nW$i+ER8_iSw_!WuJdMMinsK#mF)suS z>fPY2D;E1(RN2$ULp}9%LDzq9{6p4W%WUFEE1f|xe)FENRmR-ciVbmgvmY#c>D$aG zwCT94Bgo{EM!l92%{}23HoL=>hqbRX5}9JmCZ>c^91FabTFh6(sJLp`xQb7HE<SD{ z2Q*kid8ehI>vabeB$%vV%MuH;2B(jWFn4-cOme8#pn-8Pfl^)$QmpkF6=OBw-^BR0 zX6j|}Ks%X^dFI+da%o$lX2FxkUZ%`!uO}64efLA}M0~(|h23<@HFR`rPIo&$8!Sin zyZ3cA+9Ms#pD-a@oT>Nd$>2IZBC-F<A1>&D&s+GPE<&zK0|SQ}v%+@1UxGrt>BUM3 zRD}G#gTU||PS*tuQ=kQc$~dztjc!ZMK5ip@kX+w+)mirpc?q(2UA(*AG8o(Wn11q+ zQRp#>9fm~<8#{(rC({b5fj<V44vs3j{Te{-t{|pOjoRH)GBM4Tk}|D9MNrCI!2;Z1 zTR=dGeu!RM^&Rzgr^~K@nS*ig9j(GMz8u@L>AOVWINi=EvvwAJ)6zuz1s5+Au^e;K zNKI$IfF5R6^`9STO~BAnN;N4qq$rK2OYB7>1_cPJAx6`IDr^@6d`=zH)PgY#P>s{& zP^3dloppg%#*Eemx7;7}VW^l@pg6|t9pYsxRlRyl6H*3o+kU0Xl@z&ti$=Q1UsV_F zqehcsPvfTW5{pWXWH&c{QT5$p*AgAX-`Q3h+o0c~4ojc}E)OxOcZXB(7vduh;p$}O z{6BKkFD3;N8vxzt0ZYeVq*UCZ8jk*y+a<EJUUou8N+V|0^z!@h`~&fG*U>$90rX_L zd%2_hg%&Vci>DQde{Di=pnZ{OIjV}PM72N7S&j_@#CTL69-?TbQ9c+E2ix}x*AldP z`x(RLoCq^QIEX;!0w2+uAc=n(vUT2v%P*Io8spj4)hM#Eky&9rHePCPT9sVRhX(_a zu}t$9;-(ZWmw_fp4D@FM4Yzy)+;WcxZUQ;xQ7dr|0H-bDf-#BoeARQPPKuriambY< zEmM@OW?EqrLvXmg$!66@gnBKi*_YbCJ4B@7sBe+GtNDrM)8uLMVlccWzE!XY&+DdR z>vA-_tNJrPoEuI>&L9MdB9h9Bq&@~B5O6yb$z<~!`;#mtay@-=K4Ca0)(JnvtP6O$ zteQQmo$c2!3AJ9Q?(q^buNQ)BLDs{Bw6JrZ39yhkGii6{3sR5|=+{YiY4?QFq@Cn5 zG3YQczvKRy+}E|AJY2j0<vk#0q#fYCp40^egp_<cNNHKr$!ah~QCUu`#E*@@a;y%^ z)7!D6^*AdsBy)dnB6l2kJyd}V#e$x>Yn1**#P68oDo;2AW@qfKusk&Gad!%NFe4FB z4=mUpbT`@iNH){rtpt#<{yeTtP7;)*hK9H0?}nxhn#eyMJfPhziK1al*os4zzPcju z%qP)kA8r2EJPeGwj22x<NeuCw7JvL!G1}uPAlo}l?fpUe#>Vt1Q-L6Vzli^YG2;Qj zi&6A{_~btDYAbuL5es3$Zf~z^RT4PYH)d4?L1?JKmyjAlukNx9Davv)OgL>z?Ocn( zX<=>y2x10o7Asi)_^Qu+S)EYs7`c+8(Zck%&X`yoqLJC*v@aM0cu@y<=1qD>*dGYn z@IPexIl%ATDVJ2lK4RJ*u`BrN>X6PWDW-vNL<jg);X{&BxGno{pmpTl^qNK}#73&r z(y+6(OB|O7RHW00JWBIz)Ftc`<M@GmD}_TRXkwth#cQSLT9oDCfWze8-LjEOZN(7V zY2?65J}Ae)-c_p*222+-7)mFZ@K#*W5??r&7Hk0Bk4P(~26J)$2w2vvj1EyjS(->Y zQ7xJCYT?2fD}1keyX=@5>y7nRh8{e{$~8~0@J?P+D=-YE{j+O|$jay*BMuOh)l}4W zlkCpuBC!u9!9Vm!Z*BkK010aBS}$F^nYMhE>-Vdbd`{H%WTYwKQzCb^nnj)&;)+DM zUJhNF3AqF#{}-JQAb<sZtqlzR+~yw_0YohB-d{Jy;@cAvwikkE=ZKxa3BCo29;qtH zQcGQ!_ZsAa?$>q7fGguC;i$$+jII<X*`v)Gf6vS?`F%D2D?l&I_f?$TaEP!WBQ&kG zV;HIUE}R?Y$k3ahC|RxHhd66)wrx6(ZCY~NX1U()0WiUhXf}yJ=L%o!O8xe39X;?1 z4M!=L@w}{DI4fwl)5Y3j0j9deC*-KWs8+hJPxnPr?uN6!i_Lb2I?T5apO{9XS=toO zohP~Ml5P;ub!HN#RbpEpuc)+NVAhHHExc!oI?J%1wgC5io}K%@XHM&0URfAo+!>2_ zUPw!<5TG1|$Qlg@B|2<d+6f81>Dt1Hf4(^-{H1X=dpHZxJCe-%fRv!RLIdN@lu8YK zb1TK3iLDK(9e`Ssu*xGNOk7{d#SLCt<EX>w1IGpIv6MZFrE&{l6hRZMU4ZV=yf>^( zhp~qpX^F_z+#;>=g8`#h-n4wh@1rCN(`2SV5Eo>O<DBLGNZH;GO_={P8$^n`PZ&n6 z0uDyG%zvHoVsc}6?BNo3fvdWvfpFC-&q1KlLl{V~y_Q%s$Ra<UAC7uq6-7>5lgE{l znvb1sncHpMj@!4AxE|vHY8<oYzc+{}Nax(5pksQIvhI^EZ{t)8<BIe}w~s=%#|?%A zk|q%~_7s2h^tRE@%mK4WtzZXULGFm|js**^%HUVN?3yQ$R^QOVrlt-TGG;MSmuxe9 zr+ijCqu-8T@wE@EQvddc(m3t-4g(3s<0v<JXEY^q2e+nS?W&1O<oAfGR29pbmI6Rw z=fdE3DU;;g!MdO&lX>?*IsWN7oeAoE{x&U!bPHz6D7rnh)06z9H#?oM5W@Skjt@J{ z1)iTb^N)ZG@>=)I6G?kLU}zIZAiF`Gx3(f2qH~YPXABMcmv!2cc~Xd*x|p{XkVZUL zaV{h5Odk!@TR`A0Y0E`SpA|v#hEhHL^St7zz^$zrrV|4KLSgo_Sx<aP65+%kb9~<Z z52U{MP<xKKTuu}*>K>$Pjf8Tjk0#A9E?}@f<8bhM=jG+~4AN%w>$9rg6hJ(gN=$P_ z`~b)a075b==r`+C<DCmPl`;wSW3Q8@isOXLO}gy5AQ1yZ;L~Nnm}@gZbXjAJVTG&@ zj-wU8q*u({|NXD*`Ai6`^^R!fn+;R*Uuh2LkfeyhNV%3CZ;YT3pI%@XMkcDL(qRaF zEwhRG`Q5g{LX|th3f`$-)B@n5=#+MUNx_Lf+9fkfq3Bj6cI}nD;55}Nwz!5%WGOp| z!kRz*#I$@2!)m7Y{3f7%RVvu+roI{_A+e$WTN$G7XBPZd;ah3^v+^xdqWfjs*Q~da zElE)xCPIh6`1juf4#UBG=SchI9ESh;4)<;!#p`Xd+Nn~?3XEcRPc@z(If5J*<cS)t z;CDqoUeoe#73WxpcLvL+<4}%hRK6=dEe}1rd!(M9^t_jN-FIwCJV+;kXL;qy2_kyj zosO0Ar|ur1@h{9zTay^^Am`dcc~9jt`f#kFK%+pQLt)X|l4;k|d9WFGPWXiK`<so! zjW1M_aD!X^`;b2#Ib}>TZN}3>qf{5L%Gmwf!7k<jLiN+?z#%X8sg0QD^|n%#=-8*) zU26f<M=$W<=*~KuHrQw<!_#$rEj*)|yu_$|6Mnp$uMHTYJ_S;SEMtBvE^LiMgqoyL zJK|fS)!Fmnj^fIt7Fr~bLU~B{n|oIhk1)3!Wiq7{byk<m)g;f7SM@_~&5qZj87~|_ zx&7H7)q^y0$pBgMU}x}$<e3IQd?m!B?cofLG~3I_d;dhOo(%V>0V-|}>yN-&!+fQu zBJ5tGX=sfr95koEJbZhgQD&!T!B_dY#L!%&np+`yGI;~`>H4T*mVtXgi|~&0_oq_+ z%I&Kanz?*3Q;XV26(_8>61R>nFM_;L3Ve?=Rf3!^%>G@6)_dv(vj473X`GvXT9u~Z zZmZDHsYPx|PuU9-?ilF@&6Ofgy<%XS(hYlOduMn6S4M0FF)Vf;jQ;JDkjb`fCM>(} z+$(Jrb;smVGDclgX1i0~?UiD0sK7Uyw+Y=A|7V;8D9yuKjIdn_=H%ay*YFigGmaaM zwWf7!p-Y`|0sMM7KHnNTWn+Ne?&k$)NMF>!8~|0AEFPmwtz>+=LNCvunR@Bl^=c9P z6!cQ>Vs<S75AiU;(RNyp(I9l)Xj{4=j~NzX3^yd?AxJn>L8tIuyLM?cgX&RS`)Oy@ zB7m_>Mn=+#m&%9)&!#psFozGPu$LKXK5c?F2WCQT0}ynKInACAkl{UD=RsGM0cMd4 zkb@lJ1GBlY4VYbLI6dp?FMiJl(cN*J5&#MZ8ER+!p~9dtct=z$000yK2ogCH(en$^ z@qh>tITO+I3)1m`2ogCH(en$^@qh*rITO+I3*ZnEITO+I3(?j<6mB~184#Ix82|w7 zl-JH#Qj`>6DBgPpGtSjRU97ya`|Lm!008Zj*UvF#p%L-KEc;FY&#@p3TsRUr6VdYv E;PrEJ_W%F@ literal 0 HcmV?d00001 diff --git a/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/cover.avif b/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..a4eeaa7be59953fcf5468220faa2a08c4bb3e74e GIT binary patch literal 28307 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 R{%`i+|K}+Gx9I;B{SV7&gkS&w literal 0 HcmV?d00001 diff --git a/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.avif b/static/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.avif new file mode 100644 index 0000000000000000000000000000000000000000..3f3c3d75894f42f2f0db3b9e896866f6d942ae7d GIT binary patch literal 28748 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 literal 0 HcmV?d00001 From 475d0ead1cbc85b7d32b21481f7879026048ba87 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Mon, 6 Jul 2026 19:21:56 +0530 Subject: [PATCH 19/71] Fix placeholder alignment, snippet formatting, and restore historical wording --- .../+page.markdoc | 2 +- .../post/announcing-bulk-api/+page.markdoc | 6 +- .../+page.markdoc | 4 +- .../+page.markdoc | 1 - .../+page.markdoc | 6 +- .../+page.markdoc | 2 +- .../hooks-appwrite-databases/+page.markdoc | 4 +- .../product-update-july-2025/+page.markdoc | 4 +- .../setting-up-google-signin/+page.markdoc | 2 +- .../simplify-messaging-twilio/+page.markdoc | 6 +- .../products/auth/magic-url/+page.markdoc | 6 +- .../products/auth/multi-tenancy/+page.markdoc | 12 +-- .../products/auth/preferences/+page.markdoc | 6 +- .../docs/products/auth/teams/+page.markdoc | 6 +- .../products/messaging/apns/+page.markdoc | 12 +-- .../docs/products/messaging/fcm/+page.markdoc | 12 +-- .../products/messaging/messages/+page.markdoc | 96 +++++++++---------- .../products/messaging/msg91/+page.markdoc | 36 +++---- .../send-email-messages/+page.markdoc | 64 +++++-------- .../messaging/send-sms-messages/+page.markdoc | 48 ++++------ .../products/messaging/telesign/+page.markdoc | 20 ++-- .../messaging/textmagic/+page.markdoc | 12 +-- .../products/messaging/topics/+page.markdoc | 18 ++-- .../products/messaging/twilio/+page.markdoc | 24 ++--- .../products/messaging/vonage/+page.markdoc | 24 ++--- .../network/compression/+page.markdoc | 6 +- 26 files changed, 170 insertions(+), 269 deletions(-) diff --git a/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc b/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc index 9076c7958c..d621814244 100644 --- a/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc +++ b/src/routes/blog/post/announcing-auto-increment-support/+page.markdoc @@ -32,7 +32,7 @@ This new feature automatically handles a `$sequence` column within your rows, in # Automatic, predictable ordering -Maintaining consistent insertion order and generating numeric identifiers can require manual increments, complex logic, or dependence on timestamps, which are not always accurate or reliable. Appwrite’s Auto-increment support feature solves these issues seamlessly, providing a built-in numeric identifier that increases predictably with every new row added. +Previously, maintaining consistent insertion order and generating numeric identifiers required either manual increments, complex logic, or dependence on timestamps, which weren't always accurate or reliable. Appwrite’s new Auto-increment support feature solves these issues seamlessly, providing a built-in numeric identifier that increases predictably with every new row added. Whether you're creating paginated data sets, managing invoice numbers, logging activities, or building real-time feeds, Appwrite's Auto-increment support feature offers effortless numeric sequencing. This means less manual work, fewer bugs, and significantly improved reliability. diff --git a/src/routes/blog/post/announcing-bulk-api/+page.markdoc b/src/routes/blog/post/announcing-bulk-api/+page.markdoc index 04d77fbd24..bc45c8b052 100644 --- a/src/routes/blog/post/announcing-bulk-api/+page.markdoc +++ b/src/routes/blog/post/announcing-bulk-api/+page.markdoc @@ -15,7 +15,7 @@ faqs: - question: "Why is the Bulk API restricted to server-side SDKs?" answer: "Bulk operations typically involve high-volume data changes that should be authorized by trusted code, not by end users. Restricting the API to server SDKs (which use API keys) prevents clients from issuing mass writes or deletes against your project." - question: "When should I use the Bulk API instead of single-row calls?" - answer: "Reach for the Bulk API any time you are processing data in batches: importing CSV files, syncing from another database, applying changes from a scheduled job, or cleaning up stale records. For interactive UI writes, the regular methods are usually clearer." + answer: "Reach for the Bulk API any time you are processing data in batches: importing CSV files, syncing from another database, applying changes from a scheduled job, or cleaning up stale records. For interactive UI writes (one row at a time), the regular methods are usually clearer." - question: "How does Appwrite handle partial failures in a bulk request?" answer: "Bulk operations are transactional at the row level, so individual row validations (such as permissions or schema mismatches) are reported alongside successes. Check the response to see which rows were processed and which failed, then retry only the failures." - question: "Are there limits on how many rows I can send in one bulk call?" @@ -28,9 +28,9 @@ We're excited to introduce another Appwrite Databases feature, **Bulk API**. Exp # Faster development with bulk actions -Writing or modifying large amounts of data in Appwrite Databases can require many row-level operations. Sending one request per row is inefficient for batch workloads, especially when dealing with thousands of records. +Previously, writing or modifying large amounts of data in Appwrite Databases required sending one request per row. This method was inefficient, slow, and resource-intensive, especially when dealing with thousands of records. -With the Bulk API, you can create, update, or delete multiple rows in one go, vastly speeding up your workflows and reducing network overhead. +With the new Bulk API, you can create, update, or delete multiple rows in one go, vastly speeding up your workflows and reducing network overhead. # Optimized for server-side workloads diff --git a/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc b/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc index 447e083d7a..32a3b10105 100644 --- a/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc +++ b/src/routes/blog/post/appwrite-1-8-0-self-hosted-release/+page.markdoc @@ -12,7 +12,7 @@ faqs: - question: "What is new in Appwrite 1.8.0 for self-hosted users?" answer: "Appwrite 1.8.0 introduces TablesDB, a Transactions API, spatial columns, CSV import, a Bulk API, Database Upsert, auto-increment support, opt-in relationship loading, and new time-based and inversion queries for [Databases](/docs/products/databases). It also adds new runtimes and performance improvements across the self-hosted stack." - question: "What is TablesDB in Appwrite?" - answer: "TablesDB is a relational-style API on top of Appwrite [Databases](/docs/products/databases). It uses tables, columns, and rows, with endpoints like createTable, createTextColumn, and createRow for developers who prefer a structured schema." + answer: "TablesDB is a relational-style API on top of Appwrite [Databases](/docs/products/databases). It introduces tables, columns, and rows alongside the existing collections and documents model, with endpoints like createTable, createTextColumn, and createRow for developers who prefer a structured schema." - question: "How do Appwrite database transactions work?" answer: "You stage multiple operations across one or more tables and only commit them when you are ready. If every step succeeds, Appwrite commits atomically. If anything fails (permissions, conflicts, validation), Appwrite rolls back the entire transaction so your data stays consistent." - question: "Can I use Appwrite to store and query geographic data?" @@ -38,7 +38,7 @@ Over the past two months, we've been rolling out a series of major database upgr Meet **TablesDB.** A major step forward in how Appwrite handles structured data. It introduces familiar **relational concepts** like tables, columns, and rows, along with a new **TablesDB API** that aligns with standard CRUD patterns such as `createTable`, `createRow`, and `createTextColumn`. -Built for developers who prefer a more structured model, TablesDB offers the clarity of relational databases while keeping existing projects compatible. It's ideal for analytics, structured datasets, and complex relationships, giving you more control and flexibility when modelling data at scale. +Built for developers who prefer a more structured model, TablesDB offers the clarity of relational databases while remaining fully compatible with Appwrite's existing collections and documents. It's ideal for analytics, structured datasets, and complex relationships, giving you more control and flexibility when modelling data at scale. [Learn more about TablesDB](/blog/post/announcing-appwrite-databases-new-ui) diff --git a/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc b/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc index b4e163a6f4..cb7bfc381a 100644 --- a/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc +++ b/src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc @@ -49,7 +49,6 @@ Switch to the Columns tab and create the following column. Also note down the * - Type: Text - Column Key: name -- Size: 25 - Default: null - Required: true - Array: false diff --git a/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc b/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc index 7c2c7447a1..1e33805c35 100644 --- a/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc +++ b/src/routes/blog/post/appwrite-storage-file-manager/+page.markdoc @@ -53,8 +53,7 @@ const client = new Client() const storage = new Storage(client); -const bucket = await storage.createBucket( - { +const bucket = await storage.createBucket({ bucketId: ID.unique(), name: 'User Uploads', permissions: ['any'], @@ -62,8 +61,7 @@ const bucket = await storage.createBucket( enabled: true, maximumFileSize: 10000000, allowedFileExtensions: ['image/jpeg', 'image/png', 'application/pdf'] -} // allowedFileExtensions (MIME types or extensions, e.g. 'jpg') -); +}); ``` The `fileSecurity` flag is important. When set to `true`, each file can have its own permissions in addition to bucket-level permissions. When `false`, only bucket-level permissions apply. For a multi-user file manager, you'll want `fileSecurity: true`. diff --git a/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc b/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc index 1c63009747..1fd8c4f891 100644 --- a/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc +++ b/src/routes/blog/post/fixing-oauth2-issues-in-appwrite-cloud/+page.markdoc @@ -84,7 +84,7 @@ const signInWithGoogle = () => { provider: 'google', success: `${baseUrl}/auth/callback`, failure: `${baseUrl}/auth` - }, // failure URL + }, ) } diff --git a/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc b/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc index ee9d6a6f2c..7f7f1286eb 100644 --- a/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc +++ b/src/routes/blog/post/hooks-appwrite-databases/+page.markdoc @@ -101,7 +101,7 @@ Database::addFilter( ## Step 3: Registering the hook functions -Next, we attached these filters to specific hook points within Appwrite. For example, the `encrypt` filter we saw in the previous step had to be declared for each column that needs to be encrypted in a table in Appwrite's underlying MariaDB database, like the `secret` column in the `tokens` table in our [code example](https://github.com/appwrite/appwrite/blob/a49c3a33f0fd831423afa7a0b53df2c5d709fc2b/app/config/collections.php#L502): +Next, we attached these filters to specific hook points within Appwrite. For example, the `encrypt` filter we saw in the previous step had to be declared for each column (attribute) that needs to be encrypted in a table (collection) in Appwrite's underlying MariaDB database, like the `secret` column in the `tokens` table in our [code example](https://github.com/appwrite/appwrite/blob/a49c3a33f0fd831423afa7a0b53df2c5d709fc2b/app/config/collections.php#L502): ```php . @@ -123,7 +123,7 @@ Next, we attached these filters to specific hook points within Appwrite. For exa . ``` -These encode and decode functions for these filters were already "hooked" into the necessary row write and read paths within the Utopia PHP Databases library. The [encode](https://github.com/utopia-php/database/blob/f979e2fed855118da1455da205982645be8b2ae6/src/Database/Database.php#L5329) and [decode](https://github.com/utopia-php/database/blob/f979e2fed855118da1455da205982645be8b2ae6/src/Database/Database.php#L5388) functions then verified which filters had to be applied for each field in the database entity using the table name. With a simple declaration in the Appwrite configuration, we could apply any filter to any data added or retrieved from our underlying database. +These encode and decode functions for these filters were already "hooked" into the necessary functions within the Utopia PHP Databases library, like the [`createDocument`](https://github.com/utopia-php/database/blob/f979e2fed855118da1455da205982645be8b2ae6/src/Database/Database.php#L3265) function. The [encode](https://github.com/utopia-php/database/blob/f979e2fed855118da1455da205982645be8b2ae6/src/Database/Database.php#L5329) and [decode](https://github.com/utopia-php/database/blob/f979e2fed855118da1455da205982645be8b2ae6/src/Database/Database.php#L5388) functions then verified which filters had to be applied for each field in the database entity using the table name. With a simple declaration in the Appwrite configuration, we could apply any filter to any data added or retrieved from our underlying database. ## Step 4: Triggering the hook functions diff --git a/src/routes/blog/post/product-update-july-2025/+page.markdoc b/src/routes/blog/post/product-update-july-2025/+page.markdoc index aa74d0ebe1..6905014d81 100644 --- a/src/routes/blog/post/product-update-july-2025/+page.markdoc +++ b/src/routes/blog/post/product-update-july-2025/+page.markdoc @@ -20,7 +20,7 @@ faqs: - question: "What does CSV import do in [Appwrite Databases](/docs/products/databases)?" answer: "CSV import lets you bring a CSV file directly into an Appwrite table through the migration APIs. It is built for seeding tables, onboarding legacy data, and bulk loading without writing a custom script." - question: "How does encrypted text column support work?" - answer: "Appwrite can encrypt text columns at rest in [Databases](/docs/products/databases), so you do not have to implement encryption logic in your application code. You enable encryption on the column from the Console." + answer: "Appwrite can encrypt text columns at rest in [Databases](/docs/products/databases) and [Storage](/docs/products/storage), so you do not have to implement encryption logic in your application code. You enable encryption on the column from the Console." - question: "What changed with OTP email previews?" answer: "Appwrite now surfaces the OTP code in the email preview, so end users can read the code from the notification without opening the message. This reduces friction on phones and improves login completion rates." --- @@ -76,7 +76,7 @@ Database Upsert lets you create or update a row with a single API call. If the r ![Encrypted ](/images/blog/announcing-encrypted-string-attributes/cover.avif) -We’ve added an extra layer of security to Appwrite Databases. This feature allows you to encrypt text columns at rest directly from the Appwrite console, without needing to implement manual encryption. +We’ve added an extra layer of security to Appwrite Databases and Storage. This feature allows you to encrypt text columns at rest directly from the Appwrite console, without needing to implement manual encryption. [Learn more](/blog/post/announcing-encrypted-string-attributes) diff --git a/src/routes/blog/post/setting-up-google-signin/+page.markdoc b/src/routes/blog/post/setting-up-google-signin/+page.markdoc index 26552e64b9..e282ab3b85 100644 --- a/src/routes/blog/post/setting-up-google-signin/+page.markdoc +++ b/src/routes/blog/post/setting-up-google-signin/+page.markdoc @@ -129,7 +129,7 @@ account.createOAuth2Session( provider: OAuthProvider.Google, success: 'https://example.com/success', failure: 'https://example.com/failed' -}, // redirect here on failure +}, ); ``` diff --git a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc index 7df7d1c975..ca4412911e 100644 --- a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc +++ b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc @@ -98,16 +98,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const promise = await messaging.updateTwilioProvider( - { +const promise = await messaging.updateTwilioProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, accountSid: '<ACCOUNT_SID>', authToken: '<AUTH_TOKEN>', from: '<FROM>' -} // from (optional) -); +}); ``` # Resources diff --git a/src/routes/docs/products/auth/magic-url/+page.markdoc b/src/routes/docs/products/auth/magic-url/+page.markdoc index 8759132e5b..d9c3c54361 100644 --- a/src/routes/docs/products/auth/magic-url/+page.markdoc +++ b/src/routes/docs/products/auth/magic-url/+page.markdoc @@ -20,13 +20,11 @@ const client = new Client() const account = new Account(client); -const token = await account.createMagicURLToken( - { +const token = await account.createMagicURLToken({ userId: ID.unique(), email: 'email@example.com', url: 'https://example.com/verify' -} -); +}); ``` ```graphql diff --git a/src/routes/docs/products/auth/multi-tenancy/+page.markdoc b/src/routes/docs/products/auth/multi-tenancy/+page.markdoc index b6bd1759f8..d90d915cd3 100644 --- a/src/routes/docs/products/auth/multi-tenancy/+page.markdoc +++ b/src/routes/docs/products/auth/multi-tenancy/+page.markdoc @@ -41,13 +41,11 @@ const client = new Client() const teams = new Teams(client); // Create team for a new tenant -const tenantTeam = await teams.create( - { +const tenantTeam = await teams.create({ teamId: 'example_corp', name: 'Example Corp', roles: ['owner', 'admin', 'member'] -} // Tenant roles -); +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; @@ -116,14 +114,12 @@ const client = new Client() const teams = new Teams(client); // Invite a member to the tenant -const membership = await teams.createMembership( - { +const membership = await teams.createMembership({ teamId: 'example_corp', roles: ['admin'], email: 'user@example.com', url: 'https://example.com/accept-invite' -} // Redirect URL after accepting -); +}); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; diff --git a/src/routes/docs/products/auth/preferences/+page.markdoc b/src/routes/docs/products/auth/preferences/+page.markdoc index 9a797271d6..8504cd0bb1 100644 --- a/src/routes/docs/products/auth/preferences/+page.markdoc +++ b/src/routes/docs/products/auth/preferences/+page.markdoc @@ -187,16 +187,14 @@ const client = new Client() const teams = new Teams(client); -const promise = teams.updatePrefs( - { +const promise = teams.updatePrefs({ teamId: '<TEAM_ID>', prefs: { theme: 'corporate', notificationsEnabled: true, defaultView: 'kanban' } -} -); +}); promise.then(function (response) { console.log(response); // Success diff --git a/src/routes/docs/products/auth/teams/+page.markdoc b/src/routes/docs/products/auth/teams/+page.markdoc index a572a8bdd4..e741cba8d4 100644 --- a/src/routes/docs/products/auth/teams/+page.markdoc +++ b/src/routes/docs/products/auth/teams/+page.markdoc @@ -120,13 +120,11 @@ client .setProject('<PROJECT_ID>') // Your project ID ; -const promise = teams.createMembership( - { +const promise = teams.createMembership({ teamId: 'teachers', roles: ["maths"], email: "david@example.com" -} - ); +}); promise.then(function (response) { console.log(response); // Success diff --git a/src/routes/docs/products/messaging/apns/+page.markdoc b/src/routes/docs/products/messaging/apns/+page.markdoc index 0fbdc51b05..ee791ef170 100644 --- a/src/routes/docs/products/messaging/apns/+page.markdoc +++ b/src/routes/docs/products/messaging/apns/+page.markdoc @@ -115,8 +115,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateApnsProvider( - { +const provider = await messaging.updateApnsProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, @@ -124,8 +123,7 @@ const provider = await messaging.updateApnsProvider( authKeyId: '<AUTH_KEY_ID>', teamId: '<TEAM_ID>', bundleId: '<BUNDLE_ID>' -} // bundleId (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -141,8 +139,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateApnsProvider( - { +const provider = await messaging.updateApnsProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, @@ -150,8 +147,7 @@ const provider = await messaging.updateApnsProvider( authKeyId: '<AUTH_KEY_ID>', teamId: '<TEAM_ID>', bundleId: '<BUNDLE_ID>' -} // bundleId (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/fcm/+page.markdoc b/src/routes/docs/products/messaging/fcm/+page.markdoc index 21c2f66f14..6b0d449e13 100644 --- a/src/routes/docs/products/messaging/fcm/+page.markdoc +++ b/src/routes/docs/products/messaging/fcm/+page.markdoc @@ -138,14 +138,12 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateFCMProvider( - { +const provider = await messaging.updateFCMProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, serviceAccountJSON: {} -} // serviceAccountJSON (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -161,14 +159,12 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateFCMProvider( - { +const provider = await messaging.updateFCMProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, serviceAccountJSON: {} -} // serviceAccountJSON (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/messages/+page.markdoc b/src/routes/docs/products/messaging/messages/+page.markdoc index 74ee900a4c..0d7ab6c973 100644 --- a/src/routes/docs/products/messaging/messages/+page.markdoc +++ b/src/routes/docs/products/messaging/messages/+page.markdoc @@ -249,28 +249,26 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createPush( - { - messageId: '<MESSAGE_ID>', - title: '<TITLE>', - body: '<BODY>', - topics: [], - users: [], - targets: [], - data: {}, - action: '<ACTION>', - icon: '<ICON>', - sound: '<SOUND>', - color: '<COLOR>', - tag: '<TAG>', - badge: 1, - contentAvailable: false, - critical: false, - priority: 'normal', - draft: true, - scheduledAt: '' - } - ); +const message = await messaging.createPush({ + messageId: '<MESSAGE_ID>', + title: '<TITLE>', + body: '<BODY>', + topics: [], + users: [], + targets: [], + data: {}, + action: '<ACTION>', + icon: '<ICON>', + sound: '<SOUND>', + color: '<COLOR>', + tag: '<TAG>', + badge: 1, + contentAvailable: false, + critical: false, + priority: 'normal', + draft: true, + scheduledAt: '' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -286,28 +284,26 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createPush( - { - messageId: '<MESSAGE_ID>', - title: '<TITLE>', - body: '<BODY>', - topics: [], - users: [], - targets: [], - data: {}, - action: '<ACTION>', - icon: '<ICON>', - sound: '<SOUND>', - color: '<COLOR>', - tag: '<TAG>', - badge: 1, - contentAvailable: false, - critical: false, - priority: 'normal', - draft: true, - scheduledAt: '' - } - ); +const message = await messaging.createPush({ + messageId: '<MESSAGE_ID>', + title: '<TITLE>', + body: '<BODY>', + topics: [], + users: [], + targets: [], + data: {}, + action: '<ACTION>', + icon: '<ICON>', + sound: '<SOUND>', + color: '<COLOR>', + tag: '<TAG>', + badge: 1, + contentAvailable: false, + critical: false, + priority: 'normal', + draft: true, + scheduledAt: '' +}); ``` ```php <?php @@ -1001,8 +997,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -1010,8 +1005,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -1027,8 +1021,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -1036,8 +1029,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/msg91/+page.markdoc b/src/routes/docs/products/messaging/msg91/+page.markdoc index b9fdcf70d9..21a1f157c4 100644 --- a/src/routes/docs/products/messaging/msg91/+page.markdoc +++ b/src/routes/docs/products/messaging/msg91/+page.markdoc @@ -80,8 +80,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -89,8 +88,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -106,8 +104,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -115,8 +112,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```php <?php @@ -387,16 +383,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.updateMsg91Provider( - { +const message = await messaging.updateMsg91Provider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, - templateId: '<SENDER_ID>', - senderId: '<AUTH_KEY>', - authKey: '<FROM>' -} // from (optional) - ); + templateId: '<TEMPLATE_ID>', + senderId: '<SENDER_ID>', + authKey: '<AUTH_KEY>' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -412,16 +406,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.updateMsg91Provider( - { +const message = await messaging.updateMsg91Provider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, - templateId: '<SENDER_ID>', - senderId: '<AUTH_KEY>', - authKey: '<FROM>' -} // from (optional) - ); + templateId: '<TEMPLATE_ID>', + senderId: '<SENDER_ID>', + authKey: '<AUTH_KEY>' +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/send-email-messages/+page.markdoc b/src/routes/docs/products/messaging/send-email-messages/+page.markdoc index 2b3b5ac363..8c16a5aac8 100644 --- a/src/routes/docs/products/messaging/send-email-messages/+page.markdoc +++ b/src/routes/docs/products/messaging/send-email-messages/+page.markdoc @@ -51,16 +51,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); -const target = await users.createTarget( - { +const target = await users.createTarget({ userId: '<USER_ID>', targetId: '<TARGET_ID>', providerType: sdk.MessagingProviderType.Email, identifier: '<IDENTIFIER>', providerId: '<PROVIDER_ID>', name: '<NAME>' -} // name (optional) -); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -72,16 +70,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); -const target = await users.createTarget( - { +const target = await users.createTarget({ userId: '<USER_ID>', targetId: '<TARGET_ID>', providerType: sdk.MessagingProviderType.Email, identifier: '<IDENTIFIER>', providerId: '<PROVIDER_ID>', name: '<NAME>' -} // name (optional) -); +}); ``` ```php <?php @@ -323,12 +319,10 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const topic = await messaging.createTopic( - { +const topic = await messaging.createTopic({ topicId: '<TOPIC_ID>', name: '<NAME>' -} // name - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -344,12 +338,10 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const topic = await messaging.createTopic( - { +const topic = await messaging.createTopic({ topicId: '<TOPIC_ID>', name: '<NAME>' -} // name - ); +}); ``` ```php <?php @@ -562,8 +554,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createEmail( - { +const message = await messaging.createEmail({ messageId: '<MESSAGE_ID>', subject: '<SUBJECT>', content: '<CONTENT>', @@ -576,8 +567,7 @@ const message = await messaging.createEmail( draft: false, html: false, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -593,8 +583,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createEmail( - { +const message = await messaging.createEmail({ messageId: '<MESSAGE_ID>', subject: '<SUBJECT>', content: '<CONTENT>', @@ -607,8 +596,7 @@ const message = await messaging.createEmail( draft: false, html: false, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```php <?php @@ -902,21 +890,19 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createEmail( - { - messageId: '<MESSAGE_ID>', - subject: '<SUBJECT>', - content: '<CONTENT>', - topics: [], - users: [], - targets: [], - cc: [], - bcc: [], - draft: false, - html: false, - scheduledAt: '2025-02-13T22:01:00+0000' - } - ); +const message = await messaging.createEmail({ + messageId: '<MESSAGE_ID>', + subject: '<SUBJECT>', + content: '<CONTENT>', + topics: [], + users: [], + targets: [], + cc: [], + bcc: [], + draft: false, + html: false, + scheduledAt: '2025-02-13T22:01:00+0000' +}); ``` ```deno import * as sdk from "npm:node-appwrite"; diff --git a/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc b/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc index d9175c1553..38ae523ace 100644 --- a/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc +++ b/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc @@ -60,16 +60,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); -const target = await users.createTarget( - { +const target = await users.createTarget({ userId: '<USER_ID>', targetId: '<TARGET_ID>', providerType: sdk.MessagingProviderType.Phone, identifier: '<IDENTIFIER>', providerId: '<PROVIDER_ID>', name: '<NAME>' -} // name (optional) -); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -81,16 +79,14 @@ const client = new sdk.Client() const users = new sdk.Users(client); -const target = await users.createTarget( - { +const target = await users.createTarget({ userId: '<USER_ID>', targetId: '<TARGET_ID>', providerType: sdk.MessagingProviderType.Phone, identifier: '<IDENTIFIER>', providerId: '<PROVIDER_ID>', name: '<NAME>' -} // name (optional) -); +}); ``` ```php <?php @@ -329,12 +325,10 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const topic = await messaging.createTopic( - { +const topic = await messaging.createTopic({ topicId: '<TOPIC_ID>', name: '<NAME>' -} // name -); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -346,12 +340,10 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const topic = await messaging.createTopic( - { +const topic = await messaging.createTopic({ topicId: '<TOPIC_ID>', name: '<NAME>' -} // name -); +}); ``` ```php <?php @@ -535,8 +527,7 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -544,8 +535,7 @@ const message = await messaging.createSms( targets: [], draft: false, scheduledAt: '' -} // scheduledAt (optional) -); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -557,8 +547,7 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -566,8 +555,7 @@ const message = await messaging.createSms( targets: [], draft: false, scheduledAt: '' -} // scheduledAt (optional) -); +}); ``` ```php <?php @@ -795,8 +783,7 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -804,8 +791,7 @@ const message = await messaging.createSms( targets: [], draft: false, scheduledAt: '2025-02-13T22:01:00+0000' -} // scheduledAt (optional) -); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -817,8 +803,7 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -826,8 +811,7 @@ const message = await messaging.createSms( targets: [], draft: false, scheduledAt: '2025-02-13T22:01:00+0000' -} // scheduledAt (optional) -); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/telesign/+page.markdoc b/src/routes/docs/products/messaging/telesign/+page.markdoc index fc11c398f2..7e9440eeea 100644 --- a/src/routes/docs/products/messaging/telesign/+page.markdoc +++ b/src/routes/docs/products/messaging/telesign/+page.markdoc @@ -381,16 +381,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateTelesignProvider( - { +const provider = await messaging.updateTelesignProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, - customerId: '<USERNAME>', - apiKey: '<PASSWORD>', + customerId: '<CUSTOMER_ID>', + apiKey: '<API_KEY>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -406,16 +404,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateTelesignProvider( - { +const provider = await messaging.updateTelesignProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, - customerId: '<USERNAME>', - apiKey: '<PASSWORD>', + customerId: '<CUSTOMER_ID>', + apiKey: '<API_KEY>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/textmagic/+page.markdoc b/src/routes/docs/products/messaging/textmagic/+page.markdoc index 179da6240f..e1aa733a4b 100644 --- a/src/routes/docs/products/messaging/textmagic/+page.markdoc +++ b/src/routes/docs/products/messaging/textmagic/+page.markdoc @@ -381,16 +381,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateTextmagicProvider( - { +const provider = await messaging.updateTextmagicProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, username: '<USERNAME>', apiKey: '<API_KEY>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -406,16 +404,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateTextmagicProvider( - { +const provider = await messaging.updateTextmagicProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, username: '<USERNAME>', apiKey: '<API_KEY>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/topics/+page.markdoc b/src/routes/docs/products/messaging/topics/+page.markdoc index ce665b8956..f0ac3cb4c7 100644 --- a/src/routes/docs/products/messaging/topics/+page.markdoc +++ b/src/routes/docs/products/messaging/topics/+page.markdoc @@ -58,13 +58,11 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const topic = messaging.createTopic( - { - topicId: '<TOPIC_ID>', - name: '<NAME>', - subscribe: ['<ROLE>'] - } - ); +const topic = messaging.createTopic({ + topicId: '<TOPIC_ID>', + name: '<NAME>', + subscribe: ['<ROLE>'] +}); ``` ```deno @@ -350,13 +348,11 @@ const client = new sdk.Client() const messaging = new sdk.Messaging(client); -const subscriber = await messaging.createSubscriber( - { +const subscriber = await messaging.createSubscriber({ topicId: '<TOPIC_ID>', subscriberId: '<SUBSCRIBER_ID>', targetId: '<TARGET_ID>' -} // targetId -); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; diff --git a/src/routes/docs/products/messaging/twilio/+page.markdoc b/src/routes/docs/products/messaging/twilio/+page.markdoc index d9bea4e3db..b46c6b7ee4 100644 --- a/src/routes/docs/products/messaging/twilio/+page.markdoc +++ b/src/routes/docs/products/messaging/twilio/+page.markdoc @@ -81,8 +81,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -90,8 +89,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -107,8 +105,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -116,8 +113,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```php <?php @@ -385,16 +381,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateTwilioProvider( - { +const provider = await messaging.updateTwilioProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, accountSid: '<ACCOUNT_SID>', authToken: '<AUTH_TOKEN>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -410,16 +404,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateTwilioProvider( - { +const provider = await messaging.updateTwilioProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, accountSid: '<ACCOUNT_SID>', authToken: '<AUTH_TOKEN>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/messaging/vonage/+page.markdoc b/src/routes/docs/products/messaging/vonage/+page.markdoc index a7a25fe864..5a9e686d0b 100644 --- a/src/routes/docs/products/messaging/vonage/+page.markdoc +++ b/src/routes/docs/products/messaging/vonage/+page.markdoc @@ -81,8 +81,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -90,8 +89,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -107,8 +105,7 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const message = await messaging.createSms( - { +const message = await messaging.createSms({ messageId: '<MESSAGE_ID>', content: '<CONTENT>', topics: [], @@ -116,8 +113,7 @@ const message = await messaging.createSms( targets: [], draft: true, scheduledAt: '' -} // scheduledAt (optional) - ); +}); ``` ```php <?php @@ -387,16 +383,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateVonageProvider( - { +const provider = await messaging.updateVonageProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, apiKey: '<API_KEY>', apiSecret: '<API_SECRET>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```deno import * as sdk from "npm:node-appwrite"; @@ -412,16 +406,14 @@ client .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; -const provider = await messaging.updateVonageProvider( - { +const provider = await messaging.updateVonageProvider({ providerId: '<PROVIDER_ID>', name: '<NAME>', enabled: false, apiKey: '<API_KEY>', apiSecret: '<API_SECRET>', from: '<FROM>' -} // from (optional) - ); +}); ``` ```php <?php diff --git a/src/routes/docs/products/network/compression/+page.markdoc b/src/routes/docs/products/network/compression/+page.markdoc index a85d0cdc0f..0111cf898c 100644 --- a/src/routes/docs/products/network/compression/+page.markdoc +++ b/src/routes/docs/products/network/compression/+page.markdoc @@ -80,8 +80,7 @@ client .setProject('<PROJECT_ID>') // Your project ID ; -const result = storage.getFilePreview( - { +const result = storage.getFilePreview({ bucketId: 'photos', fileId: 'sunset.png', width: 1800, @@ -95,8 +94,7 @@ const result = storage.getFilePreview( rotation: 0, background: 'FFFFFF', output: 'webp' -} // output jpg format -); +}); console.log(result.href); ``` From 3b166c293053e70e71f627ad140bc80368a6c9cc Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Tue, 7 Jul 2026 11:49:33 +0530 Subject: [PATCH 20/71] Apply suggestion from @greptile-apps[bot] Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- .../+page.markdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index 715f88714f..578ae652d8 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -57,7 +57,7 @@ This helps teams building healthcare apps, patient portals, telehealth platforms [Read the announcement](https://appwrite.io/blog/post/announcing-self-serve-baa) -![Password Strength.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif) +![Password Strength](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif) # Introducing Password strength for Appwrite Auth @@ -71,7 +71,7 @@ Password strength works alongside existing Appwrite Auth protections like passwo [Read the announcement](https://appwrite.io/blog/post/announcing-password-strength) -![Introducing the Appwrite React library.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif) +![Introducing the Appwrite React library](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif) # Introducing the Appwrite React library From 578b71e6a460da2eecba7e434d52ba7b1af5502b Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Thu, 9 Jul 2026 03:52:27 +0530 Subject: [PATCH 21/71] Add Grok 4.5 coding model blog post --- .optimize-cache.json | 1 + .../post/grok-45-coding-model/+page.markdoc | 135 ++++++++++++++++++ .../blog/grok-45-coding-model/cover.avif | Bin 0 -> 10398 bytes 3 files changed, 136 insertions(+) create mode 100644 src/routes/blog/post/grok-45-coding-model/+page.markdoc create mode 100644 static/images/blog/grok-45-coding-model/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index a84f1bf7cb..0d11ee2019 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -699,6 +699,7 @@ "static/images/blog/google-oauth-expo/login-successful.png": "441ef69e3ba8716c4ff4c20dc8c31f8f3f418010a11ff1e74585645bad414f74", "static/images/blog/gpt-5-5-launch/card-problem.png": "9cfd1fa44c5f8d76a54904d1e656595f1580721d498952a96105dd6f9ddc82fd", "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", + "static/images/blog/grok-45-coding-model/cover.png": "e1e36da19a733bd032957417891bb8ec39a3dd5cad013a1929a5dadc0130ca7c", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", "static/images/blog/handle-cors-in-serverless-functions/cover.png": "9db00c07cedfbc97f7c4a1a79d1ce1f0d31adab3ea246935ac9bdc9f47fc1e4c", diff --git a/src/routes/blog/post/grok-45-coding-model/+page.markdoc b/src/routes/blog/post/grok-45-coding-model/+page.markdoc new file mode 100644 index 0000000000..0fef82094a --- /dev/null +++ b/src/routes/blog/post/grok-45-coding-model/+page.markdoc @@ -0,0 +1,135 @@ +--- +layout: post +title: "Grok 4.5: coding model benchmarks and pricing" +description: Grok 4.5 is SpaceXAI's new coding model. Here's a source-backed look at benchmarks, pricing, availability, token efficiency, and AI agent workflows. +date: 2026-07-09 +cover: /images/blog/grok-45-coding-model/cover.avif +timeToRead: 8 +author: atharva +category: ai +featured: false +unlisted: true +faqs: + - question: "What is Grok 4.5?" + answer: "Grok 4.5 is SpaceXAI's flagship model for coding, agentic tool calling, and knowledge work. It is available as `grok-4.5` with a 500K token context window, configurable reasoning, text and image input, and text output." + - question: "How much does Grok 4.5 cost?" + answer: "SpaceXAI lists Grok 4.5 at \\$2 per million input tokens and \\$6 per million output tokens. Artificial Analysis lists the same price and a \\$0.50 per million cached-input price." + - question: "How fast is Grok 4.5?" + answer: "SpaceXAI says Grok 4.5 is served at 80 tokens per second. Artificial Analysis measured 91.3 output tokens per second through SpaceXAI's API, with a 17.42 second time to first answer token." + - question: "Where can developers use Grok 4.5?" + answer: "SpaceXAI says Grok 4.5 is available in the SpaceXAI console, Grok Build, and Cursor. The official announcement also says it is not yet available in the EU, with EU availability expected in mid-July 2026." + - question: "How does Grok 4.5 perform on coding benchmarks?" + answer: "SpaceXAI reports 83.3% on Terminal Bench 2.1 and 64.7% on SWE Bench Pro. It also reports 62.0% on DeepSWE 1.0 and 53% on DeepSWE 1.1." + - question: "How can I connect AI coding agents to Appwrite?" + answer: "Use Appwrite's MCP servers. The [Appwrite API MCP server](/docs/tooling/ai/mcp-servers/api) lets agents act on your project, while the [Appwrite Docs MCP server](/docs/tooling/ai/mcp-servers/docs) gives them current Appwrite documentation." +--- + +Coding agents fail most often when the task stops being a prompt and starts being engineering work. A useful model has to read the surrounding codebase, make small decisions over a long run, call tools, recover from test failures, and avoid spending half the session writing around the problem. + +That is the lane SpaceXAI is targeting with [Grok 4.5](https://x.ai/news/grok-4-5). The company announced the model on [X](https://x.com/SpaceXAI/status/2074915721684086811) on July 8, 2026, calling it its first model trained specifically for coding and agents. The official launch page describes Grok 4.5 as SpaceXAI's smartest model for coding, agentic tasks, and knowledge work, trained alongside [Cursor](https://cursor.com). + +The pitch is not just higher benchmark scores. SpaceXAI is claiming a model that is **fast enough for interactive agent work**, **cheap enough for long tasks**, and **efficient enough to use fewer tokens per completed engineering task**. + +# Grok 4.5 is built for agentic coding + +The most important part of this launch is the training target. SpaceXAI says Grok 4.5 was trained on coding, science, engineering, and math data, then reinforced on hundreds of thousands of multi-step software engineering and technical tasks. The company also says its training stack supports asynchronous rollouts that can run for many hours while training continues across tens of thousands of GPUs. + +That matters because long-running coding agents are not ordinary chatbots. They need to: + +- Search a large repository without losing the task. +- Use tools and MCP servers without bloating the context window. +- Carry an implementation across many files. +- Keep testing and review in the loop. +- Spend fewer tokens on planning loops and repeated explanations. + +SpaceXAI says Grok 4.5 was trained across tens of thousands of NVIDIA GB300 GPUs and with data filtering techniques such as deduplication, quality scoring, and domain-focused selection. The launch post also frames the model around real-world engineering, including large codebases and tasks that span many repositories, skills, and tools. + +# Official Grok 4.5 benchmarks + +SpaceXAI published coding and agent benchmarks in the launch post. Treat these as official vendor results because the methodology is controlled by SpaceXAI and its stated benchmark sources. + +| Benchmark | Grok 4.5 | Leading comparison in SpaceXAI chart | What it measures | +| --- | ---: | ---: | --- | +| DeepSWE 1.0 | 62.0% | Fable max: 66.1% | Software engineering tasks created by Datacurve, run with each model provider's harnesses by Artificial Analysis | +| DeepSWE 1.1 | 53% | Fable max: 70% | Software engineering tasks with the mini-swe-agent harness run by Datacurve | +| Terminal Bench 2.1 | 83.3% | Fable max: 84.3% | Terminal-based agent tasks | +| SWE Bench Pro | 64.7% | Fable max: 80.4% | Repository issue resolution rate | + +The benchmark story is strong, but not one-dimensional. Grok 4.5 is effectively tied with GPT-5.5 xhigh on Terminal Bench 2.1 in SpaceXAI's chart (83.3% vs 83.4%) and beats Opus 4.8 max and Opus 4.7 max there. On SWE Bench Pro, it lands ahead of GPT-5.5 xhigh and Opus 4.7 max, but trails Fable max and Opus 4.8 max. + +That is the right way to read this release: **Grok 4.5 looks competitive with frontier coding models, especially on cost and speed, but it is not a clean benchmark sweep.** + +# Independent measurements are starting to appear + +Artificial Analysis already lists [Grok 4.5 (high)](https://artificialanalysis.ai/models/grok-4-5) with independent measurements across price, speed, context, and its Intelligence Index. These are not a substitute for evaluating the model on your own codebase, but they give a useful outside view of the API. + +| Metric | Artificial Analysis result | +| --- | ---: | +| Artificial Analysis Intelligence Index | 54 | +| Output speed | 91.3 tokens per second | +| Time to first answer token | 17.42 seconds | +| Context window | 500K tokens | +| Input price | $2.00 per 1M tokens | +| Cached input price | $0.50 per 1M tokens | +| Output price | $6.00 per 1M tokens | +| Input modalities | Text and image | +| Output modalities | Text | + +The speed number is especially interesting because SpaceXAI's own launch post says Grok 4.5 is served at 80 tokens per second. Artificial Analysis measured it higher at 91.3 tokens per second through SpaceXAI's API. The trade-off is startup latency: Artificial Analysis reports 17.42 seconds to the first answer token for its measured setup. + +As of the launch window, [LMArena's public text leaderboard](https://lmarena.ai/leaderboard/text) was dated July 1, 2026 in the visible page data and did not show Grok 4.5 among the top listed models. That makes Artificial Analysis the more useful independent public source for this release right now. + +# Pricing is the sharpest part of the launch + +SpaceXAI lists Grok 4.5 at **$2 per million input tokens** and **$6 per million output tokens** in both the [launch announcement](https://x.ai/news/grok-4-5) and the [model docs](https://docs.x.ai/developers/models). Artificial Analysis lists the same standard pricing and a $0.50 per million cached-input price. + +| Model | Input | Output | Context | +| --- | ---: | ---: | ---: | +| Grok 4.5 | $2/M | $6/M | 500K | +| GPT-5.5 high | $5/M | $30/M | 1.1M on LMArena listing | +| Claude Opus 4.7 thinking | $5/M | $25/M | 1M on LMArena listing | +| Gemini 3.1 Pro Preview | $2/M | $12/M | 1M on LMArena listing | + +The context window is smaller than the 1M-class models in that comparison, but the price gap is large. For agent workloads, the output side often dominates the bill because the agent writes plans, tool arguments, diffs, test summaries, and review notes. Moving from $25/M or $30/M output to $6/M output changes which long-running tasks are reasonable to automate. + +SpaceXAI also claims Grok 4.5 uses roughly **2x the token efficiency** of comparable leading models and highlights one SWE Bench Pro measurement where Grok 4.5 used 15,954 output tokens per task compared with 67,020 for Opus 4.8 max. That is a vendor claim, but it points at the right production metric: **cost per completed task**, not price per token in isolation. + +# Grok Build turns the model into a terminal agent + +Grok 4.5 is also now the default model in [Grok Build](https://x.ai/cli), SpaceXAI's coding agent and CLI. The product page describes a terminal workflow with plan mode, plugins, Q&A, subagents, memory, code search, multi-file edits, Git integration, background tasks, code review, and MCP servers. + +The most relevant detail for Appwrite developers is MCP support. SpaceXAI says Grok Build supports AGENTS.md, plugins, hooks, and MCP servers, which puts it in the same broader category as Codex, Cursor, Claude Code, and other agentic development tools that can connect to project-specific context and APIs. + +For backend work, this is the difference between a model that writes code about your infrastructure and an agent that can inspect or change infrastructure through an explicit tool interface. That is where MCP becomes the important abstraction. + +# Availability has one important limitation + +SpaceXAI says Grok 4.5 is available now in the SpaceXAI console, Grok Build, and Cursor. The official model docs list `grok-4.5` as the flagship model for code, agentic tool calling, configurable reasoning, and general text use, with a 500K token context window. + +There is one regional caveat: the launch page says Grok 4.5 is not available in the EU yet, with EU availability expected in mid-July 2026. If you are building production workflows around the API, that availability detail matters for teams, customers, and CI/CD infrastructure located in the EU. + +# The practical developer read + +Grok 4.5 is not trying to be only a better autocomplete model. It is built for the agent loop: read, plan, edit, run, inspect, and repeat. The benchmark and pricing profile make it especially interesting for tasks where the expensive part is not one perfect answer, but several minutes of directed tool use. + +Use it where the task has a clear repository boundary and useful tools: + +- Multi-file refactors that need tests and review. +- Backend feature work where an agent can inspect API docs and live resources. +- Migration tasks that benefit from search, planning, and diff review. +- Long coding sessions where output-token cost would otherwise block experimentation. + +Be careful where correctness depends on private production context the model cannot see. The model can call tools, but it still needs the right scopes, current docs, and testable acceptance criteria. Cheap tokens do not replace a good integration surface. + +# Build Grok-powered agents with Appwrite + +Appwrite's AI tooling is designed for this exact shift from chat-based code generation to tool-using agents. The [Appwrite AI docs](/docs/tooling/ai) cover AI development tools, MCP servers, quick start prompts, Appwrite Assistant, and guides for building AI-powered features on Appwrite. + +For coding agents, start with the MCP layer: + +- [MCP server for Appwrite API](/docs/tooling/ai/mcp-servers/api): lets an agent interact with your Appwrite project using natural language commands, including creating users and managing databases. +- [MCP server for Appwrite docs](/docs/tooling/ai/mcp-servers/docs): gives an agent current Appwrite documentation so it can use the latest API, SDK, and CLI patterns. +- [Codex with Appwrite](/docs/tooling/ai/agents/codex): shows how to install the Appwrite plugin, add the Appwrite API MCP server, and test the integration. +- [Cursor with Appwrite](/docs/tooling/ai/agents/cursor): shows how to use Appwrite's Cursor plugin or configure MCP servers manually. + +If you want to try the workflow on a real backend, create an [Appwrite Cloud](https://cloud.appwrite.io) project, connect your preferred agent through MCP, and give it a small, reviewable task. Models like Grok 4.5 make the agent loop cheaper and faster, but the best results still come from giving the agent a well-defined project, current docs, scoped credentials, and tests it can actually run. diff --git a/static/images/blog/grok-45-coding-model/cover.avif b/static/images/blog/grok-45-coding-model/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..eeb95e7d1ec6396b232dd7acd1b9fdac60259972 GIT binary patch literal 10398 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⪋Ix2;A`(#TcY9Q^t%o=?4nC} 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 literal 0 HcmV?d00001 From 250d1ed4b99e09932ca2e8cb1c3c604ac309b65f Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Thu, 9 Jul 2026 04:00:50 +0530 Subject: [PATCH 22/71] Fix cover: xAI branding only, transparent logo --- .../blog/grok-45-coding-model/cover.avif | Bin 10398 -> 38344 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/images/blog/grok-45-coding-model/cover.avif b/static/images/blog/grok-45-coding-model/cover.avif index eeb95e7d1ec6396b232dd7acd1b9fdac60259972..528894239da9761c75bda49374865672d5e8f2c1 100644 GIT binary patch literal 38344 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≺0+s?h!J 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 literal 10398 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⪋Ix2;A`(#TcY9Q^t%o=?4nC} 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 From ef1c78f905ce2d78bf9138eabab5f013c7688540 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Thu, 9 Jul 2026 04:06:25 +0530 Subject: [PATCH 23/71] Replace fabricated cover with real cover generator output --- .optimize-cache.json | 2 +- .../blog/grok-45-coding-model/cover.avif | Bin 38344 -> 19867 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.optimize-cache.json b/.optimize-cache.json index 0d11ee2019..2076287ea7 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -699,7 +699,7 @@ "static/images/blog/google-oauth-expo/login-successful.png": "441ef69e3ba8716c4ff4c20dc8c31f8f3f418010a11ff1e74585645bad414f74", "static/images/blog/gpt-5-5-launch/card-problem.png": "9cfd1fa44c5f8d76a54904d1e656595f1580721d498952a96105dd6f9ddc82fd", "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", - "static/images/blog/grok-45-coding-model/cover.png": "e1e36da19a733bd032957417891bb8ec39a3dd5cad013a1929a5dadc0130ca7c", + "static/images/blog/grok-45-coding-model/cover.png": "51a0dd1168bed4aec54b2d77136fdf1d1b9523f5ee6d084af9fd71ed0bf22c59", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", "static/images/blog/handle-cors-in-serverless-functions/cover.png": "9db00c07cedfbc97f7c4a1a79d1ce1f0d31adab3ea246935ac9bdc9f47fc1e4c", diff --git a/static/images/blog/grok-45-coding-model/cover.avif b/static/images/blog/grok-45-coding-model/cover.avif index 528894239da9761c75bda49374865672d5e8f2c1..50b77d0aca340c74adf1a6f2ce5bfa387d00489e 100644 GIT binary patch literal 19867 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%0D6@R>ChL@(*d;FdVfBK)fLvmQd<TJnU{L1Xp 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 literal 38344 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≺0+s?h!J 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 From 37a46e8da6fed1d3ff9c399a40dab28533a8cbd9 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Thu, 9 Jul 2026 04:15:08 +0530 Subject: [PATCH 24/71] Use official Grok logomark cover (icon-showcase-dark) --- .optimize-cache.json | 2 +- .../blog/grok-45-coding-model/cover.avif | Bin 19867 -> 7277 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.optimize-cache.json b/.optimize-cache.json index 2076287ea7..8c2e3494a1 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -699,7 +699,7 @@ "static/images/blog/google-oauth-expo/login-successful.png": "441ef69e3ba8716c4ff4c20dc8c31f8f3f418010a11ff1e74585645bad414f74", "static/images/blog/gpt-5-5-launch/card-problem.png": "9cfd1fa44c5f8d76a54904d1e656595f1580721d498952a96105dd6f9ddc82fd", "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", - "static/images/blog/grok-45-coding-model/cover.png": "51a0dd1168bed4aec54b2d77136fdf1d1b9523f5ee6d084af9fd71ed0bf22c59", + "static/images/blog/grok-45-coding-model/cover.png": "b40f87952b940767f393a93a7628f8277119862a3a3ac7b7d40d7ee5679213ff", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", "static/images/blog/handle-cors-in-serverless-functions/cover.png": "9db00c07cedfbc97f7c4a1a79d1ce1f0d31adab3ea246935ac9bdc9f47fc1e4c", diff --git a/static/images/blog/grok-45-coding-model/cover.avif b/static/images/blog/grok-45-coding-model/cover.avif index 50b77d0aca340c74adf1a6f2ce5bfa387d00489e..01f8fb868f16447cde0309aaee472cbcbddc7918 100644 GIT binary patch delta 6864 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 K@dMM7JWXGc+Bq`- delta 19553 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 Q;Fg#mUfjaL8j}tjUv&->KL7v# From 64a52df8b3bf3cbd2cd356b2980d6a904ee3c9fa Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 9 Jul 2026 16:17:36 +0530 Subject: [PATCH 25/71] Apply suggestion from @aishwaripahwa12 --- src/routes/blog/post/grok-45-coding-model/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/grok-45-coding-model/+page.markdoc b/src/routes/blog/post/grok-45-coding-model/+page.markdoc index 0fef82094a..e2b65caf73 100644 --- a/src/routes/blog/post/grok-45-coding-model/+page.markdoc +++ b/src/routes/blog/post/grok-45-coding-model/+page.markdoc @@ -79,7 +79,7 @@ The speed number is especially interesting because SpaceXAI's own launch post sa As of the launch window, [LMArena's public text leaderboard](https://lmarena.ai/leaderboard/text) was dated July 1, 2026 in the visible page data and did not show Grok 4.5 among the top listed models. That makes Artificial Analysis the more useful independent public source for this release right now. -# Pricing is the sharpest part of the launch +# Grok 4.5 pricing is the sharpest part of the launch SpaceXAI lists Grok 4.5 at **$2 per million input tokens** and **$6 per million output tokens** in both the [launch announcement](https://x.ai/news/grok-4-5) and the [model docs](https://docs.x.ai/developers/models). Artificial Analysis lists the same standard pricing and a $0.50 per million cached-input price. From 10e4d4b6b0856bf0b4b884c9927fd0710c39cee5 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Thu, 9 Jul 2026 18:13:13 +0530 Subject: [PATCH 26/71] Apply suggestions from code review Co-authored-by: Aishwari Pahwa <aishwaripahwa12@gmail.com> Co-authored-by: Atharva Deosthale <atharva.deosthale17@gmail.com> --- .../blog/post/grok-45-coding-model/+page.markdoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/routes/blog/post/grok-45-coding-model/+page.markdoc b/src/routes/blog/post/grok-45-coding-model/+page.markdoc index e2b65caf73..78f5700fb0 100644 --- a/src/routes/blog/post/grok-45-coding-model/+page.markdoc +++ b/src/routes/blog/post/grok-45-coding-model/+page.markdoc @@ -8,7 +8,7 @@ timeToRead: 8 author: atharva category: ai featured: false -unlisted: true +unlisted: false faqs: - question: "What is Grok 4.5?" answer: "Grok 4.5 is SpaceXAI's flagship model for coding, agentic tool calling, and knowledge work. It is available as `grok-4.5` with a 500K token context window, configurable reasoning, text and image input, and text output." @@ -59,9 +59,9 @@ The benchmark story is strong, but not one-dimensional. Grok 4.5 is effectively That is the right way to read this release: **Grok 4.5 looks competitive with frontier coding models, especially on cost and speed, but it is not a clean benchmark sweep.** -# Independent measurements are starting to appear +# Grok 4.5 independent measurements -Artificial Analysis already lists [Grok 4.5 (high)](https://artificialanalysis.ai/models/grok-4-5) with independent measurements across price, speed, context, and its Intelligence Index. These are not a substitute for evaluating the model on your own codebase, but they give a useful outside view of the API. +Artificial Analysis already lists [Grok 4.5 (high)](https://artificialanalysis.ai/models/grok-4-5) with independent measurements across price, speed, context, and its Intelligence Index. These are not a substitute for evaluating the model on your own codebase, but they give a useful outside view of the API. Following are some insights from Artificial Analysis at the time of writing this blog. | Metric | Artificial Analysis result | | --- | ---: | @@ -102,13 +102,13 @@ The most relevant detail for Appwrite developers is MCP support. SpaceXAI says G For backend work, this is the difference between a model that writes code about your infrastructure and an agent that can inspect or change infrastructure through an explicit tool interface. That is where MCP becomes the important abstraction. -# Availability has one important limitation +# Grok 4.5 availability SpaceXAI says Grok 4.5 is available now in the SpaceXAI console, Grok Build, and Cursor. The official model docs list `grok-4.5` as the flagship model for code, agentic tool calling, configurable reasoning, and general text use, with a 500K token context window. There is one regional caveat: the launch page says Grok 4.5 is not available in the EU yet, with EU availability expected in mid-July 2026. If you are building production workflows around the API, that availability detail matters for teams, customers, and CI/CD infrastructure located in the EU. -# The practical developer read +# Grok 4.5 for developers Grok 4.5 is not trying to be only a better autocomplete model. It is built for the agent loop: read, plan, edit, run, inspect, and repeat. The benchmark and pricing profile make it especially interesting for tasks where the expensive part is not one perfect answer, but several minutes of directed tool use. From 5051c4ce7b11b3f1f35523f6e1a6f5ebed1aadd1 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Fri, 10 Jul 2026 14:04:11 +0530 Subject: [PATCH 27/71] feat(marketing): point hero pill to State of Appwrite Cloud survey --- .../(marketing)/(components)/hero-banner.svelte | 7 ++++++- src/routes/(marketing)/(components)/hero.svelte | 12 ++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/routes/(marketing)/(components)/hero-banner.svelte b/src/routes/(marketing)/(components)/hero-banner.svelte index 960d2aa359..2559951291 100644 --- a/src/routes/(marketing)/(components)/hero-banner.svelte +++ b/src/routes/(marketing)/(components)/hero-banner.svelte @@ -12,7 +12,12 @@ const { title, href, icon = 'sparkle' }: Props = $props(); </script> -<a {href} class="web-hero-banner-button relative mb-4 flex items-center!"> +<a + {href} + target={href.startsWith('http') ? '_blank' : undefined} + rel={href.startsWith('http') ? 'noopener noreferrer' : undefined} + class="web-hero-banner-button relative mb-4 flex items-center!" +> {#if icon === 'mongo'} <span class="mongo-icon-badge shrink-0" aria-hidden="true"> <Icon name="mongo" style="width: 0.75rem; height: 1.125rem; color: #00ED64;" /> diff --git a/src/routes/(marketing)/(components)/hero.svelte b/src/routes/(marketing)/(components)/hero.svelte index 6f1984b881..3c16d4c5d9 100644 --- a/src/routes/(marketing)/(components)/hero.svelte +++ b/src/routes/(marketing)/(components)/hero.svelte @@ -152,16 +152,16 @@ > {#if layoutAside} <HeroBanner - title="New: Announcing the Presences API" - href="/blog/post/announcing-presences-api" - icon="presences" + title="State of Appwrite Cloud: Take the survey" + href="https://forms.gle/5cvWxTwhonoDCWsi7" + icon="sparkle" /> {:else} <div class="flex w-full justify-center"> <HeroBanner - title="New: Announcing the Presences API" - href="/blog/post/announcing-presences-api" - icon="presences" + title="State of Appwrite Cloud: Take the survey" + href="https://forms.gle/5cvWxTwhonoDCWsi7" + icon="sparkle" /> </div> {/if} From 8c8671d8f0c77d2fb7fdae24a6831ac48d780a3a Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Fri, 10 Jul 2026 17:15:24 +0530 Subject: [PATCH 28/71] latest openai launch --- .optimize-cache.json | 1 + .../+page.markdoc | 164 ++++++++++++++++++ .../cover.avif | Bin 0 -> 8383 bytes 3 files changed, 165 insertions(+) create mode 100644 src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc create mode 100644 static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index 8c2e3494a1..9665418fa2 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -699,6 +699,7 @@ "static/images/blog/google-oauth-expo/login-successful.png": "441ef69e3ba8716c4ff4c20dc8c31f8f3f418010a11ff1e74585645bad414f74", "static/images/blog/gpt-5-5-launch/card-problem.png": "9cfd1fa44c5f8d76a54904d1e656595f1580721d498952a96105dd6f9ddc82fd", "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", + "static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.png": "2156c5047fa2630e148ea0fd5189c4d08579b5c96e92530c4ae45b642acb6589", "static/images/blog/grok-45-coding-model/cover.png": "b40f87952b940767f393a93a7628f8277119862a3a3ac7b7d40d7ee5679213ff", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", diff --git a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc new file mode 100644 index 0000000000..1ee76dacbc --- /dev/null +++ b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc @@ -0,0 +1,164 @@ +--- +layout: post +title: "GPT-5.6 is here: OpenAI's efficient frontier model" +description: "GPT-5.6 is OpenAI's new frontier model family with Sol, Terra, and Luna. See how it performs on coding and agents, plus what it means for developers." +date: 2026-07-10 +cover: /images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.avif +timeToRead: 5 +author: aishwari +category: ai +featured: false +faqs: + - question: What is the difference between Sol, Terra, and Luna? + answer: Sol is the flagship for the highest capability, Terra is a lower-cost model with performance competitive with GPT-5.5, and Luna is the fastest and most affordable. They are durable capability tiers, so each can advance on its own cadence. + - question: How much does GPT-5.6 cost? + answer: Per 1M tokens, Sol is $5 input and $30 output, Terra is $2.50 and $15, and Luna is $1 and $6. Prompt caching adds cache writes at 1.25x the uncached input rate and cache reads at a 90% discount. + - question: Is GPT-5.6 good for coding? + answer: Yes. GPT-5.6 Sol sets a new state of the art on the Artificial Analysis Coding Agent Index at 80 and leads on Terminal-Bench 2.1 and DeepSWE, though Claude Mythos 5 still leads SWE-Bench Pro. Its main edge is doing this with far fewer tokens and less time. + - question: Where can I use GPT-5.6? + answer: It is available across ChatGPT, Codex, and the OpenAI API, rolling out globally over 24 hours from launch, with access varying by plan and surface. +--- +OpenAI released the [GPT-5.6 family](https://openai.com/index/gpt-5-6/) for general availability on Thursday, July 9, 2026, following a limited preview. The launch is easy to summarize in one line: the same or better quality than the previous generation, at lower cost and faster time to result. This post covers what GPT-5.6 is, what is genuinely new, how it performs, how it is already changing the way OpenAI works internally, and what it means if you build software. + +# What is GPT-5.6? + +GPT-5.6 is OpenAI's latest generation of frontier models, launched on July 9, 2026. It ships as three tiers designed to be efficient by default, spending fewer tokens and less time to reach comparable or better results than GPT-5.5, with higher effort settings available when a task needs them. + +The number identifies the generation. Sol, Terra, and Luna are durable capability tiers that can advance on their own cadence. + +| Model | Position | Price per 1M tokens (input / output) | +| ------------- | ------------------------------------ | ------------------------------------ | +| GPT-5.6 Sol | Flagship, highest capability | $5 / $30 | +| GPT-5.6 Terra | Lower cost, competitive with GPT-5.5 | $2.50 / $15 | +| GPT-5.6 Luna | Fastest and most affordable | $1 / $6 | + +# What is actually new in GPT-5.6? + +The headline is efficiency. Instead of forcing you to pick a slow, expensive model for hard problems and a cheap one for easy problems, GPT-5.6 is tuned to do more with each token by default, then scale up only when you ask it to. + +The clearest evidence is on Agents' Last Exam, an evaluation of long-running workflows across 55 professional fields. OpenAI highlights a score of 53.6 for GPT-5.6 Sol in its launch announcement, while its full benchmark table lists a score of 52.7%. Both results place it ahead of Claude Fable 5, although the difference appears to reflect different evaluation configurations. Even at medium reasoning it beats Fable 5 by 11.4 points at roughly one quarter of the estimated cost. That efficiency reaches down the lineup too: Terra and Luna outperform Fable 5 at around one sixteenth of the cost. On the broader Artificial Analysis Intelligence Index, GPT-5.6 Sol with max reasoning comes within one point of Fable 5 while completing tasks in 61% less time at roughly half the cost. + +Two mechanisms make that flexibility possible. + +**Effort settings that trade cost for capability.** + +* `max` gives the model more time than the previous `xhigh` setting to reason, run checks, and revise its approach. +* `ultra` goes further, coordinating four agents in parallel by default, trading higher token use for stronger results and faster time to result on demanding tasks. Across BrowseComp, SEC-Bench Pro, and Terminal-Bench 2.1, adding parallel agents pushes the score-to-latency frontier up and to the left, reaching stronger results in less time. + +**Tooling built for agents.** + +* [**Programmatic Tool Calling**](https://platform.openai.com/docs/guides/tools) in the Responses API lets GPT-5.6 write and run lightweight programs that coordinate tools, filter large amounts of intermediate data, keep only what matters, and adapt as work unfolds. Instead of scripting every step or passing every tool response back through the model, tool-heavy tasks advance with fewer tokens, fewer model round trips, and less hand-holding. +* **Multi-agent**, in beta in the Responses API, lets GPT-5.6 run concurrent subagents and synthesize their work in a single request. This is the same mechanism behind `ultra`. + +If you build agentic apps, these two are the reason to pay attention. + +# How does GPT-5.6 perform? + +GPT-5.6 Sol sets new state of the art results across coding, knowledge work, cybersecurity, and science, and the family as a whole is built to beat or match the previous generation at a fraction of the cost. Here is a snapshot of GPT-5.6 Sol against GPT-5.5, before the domain detail. + +| Benchmark | GPT-5.6 Sol | GPT-5.5 | +| -------------------------------------- | ----------- | ------- | +| Agents' Last Exam | 52.7% | 46.9% | +| Artificial Analysis Coding Agent Index | 80 | 76.4 | +| Terminal-Bench 2.1 | 88.8% | 85.6% | +| DeepSWE v1.1 | 72.7% | 67% | +| BrowseComp | 90.4% | 84.4% | +| OSWorld 2.0 | 62.6% | 47.5% | +| SEC-Bench Pro | 71.2% | 45.8% | +| ExploitBench | 73.5% | 47.9% | +| GPQA Diamond | 94.6% | 93.6% | + +## Coding + +GPT-5.6 Sol is OpenAI's best coding model yet. On the [Artificial Analysis](https://artificialanalysis.ai/) Coding Agent Index, Sol with max reasoning sets a new state of the art at 80, 2.8 points above Claude Fable 5, while using less than half the output tokens, taking less than half the time, and costing about one third less. + +* Terra performs just above Fable 5, and Luna outperforms Claude Opus 4.8, each in roughly one third of the time at about one quarter of the cost. +* Sol sets new records on Terminal-Bench 2.1 and DeepSWE, which test command-line workflows and long-horizon engineering in real codebases. +* For balance, this is a performance-per-dollar win, not a clean sweep. On SWE-Bench Pro, Claude Mythos 5 still leads at 80.3% versus Sol's 64.6%. GPT-5.6 gets close to the top on most coding evals while spending far less. + +## Agents and tool use + +Early customer signal is strong, and it comes from teams building real coding products. + +> "GPT-5.6 is one of the strongest models we've tested on CursorBench, delivering solid results in early evals. It's an exciting step forward for developers for persistence, intelligence and overall efficiency." — Oskar Schulz, President at [Cursor](https://cursor.com/) + +> "GPT-5.6 is notably efficient on the long, complex workflows behind building production-grade apps. As one of the models now used by Lovable, it delivers for users with roughly 25% fewer steps and 35–48% fewer tool calls than the prior model, while improving project success and reducing stuck runs by 15%." — Fabian Hedin, Co-Founder at [Lovable](https://lovable.dev/) + +Those numbers point at the same thing: fewer wasted steps between a prompt and a working result, which is where a lot of the cost and latency in agent workflows actually lives. + +## Design + +GPT-5.6 delivers a step change in design judgment. From only high-level direction, it can create tasteful, ergonomic, and functional interfaces rather than generic scaffolding. What sets it apart is that its stronger computer-use skills let it inspect the rendered result, not just generate the underlying code, so it can catch visual and functional issues and apply finishing touches before handing the work back. OpenAI's own examples range from small browser games to a museum website to an interior design presentation. + +Its frontend capabilities also turn natural-language requests into polished, interactive explanations and visualizations inside ChatGPT Work, from a working spirograph to a wave-interference demo to a tokenizer explainer, rendered live rather than described. + +## Knowledge work + +GPT-5.6 takes messy context from tools like Slack, Notion, Microsoft 365, and Google Drive and converts it into expert-level, shareable artifacts. It sets new state of the art on BrowseComp at 90.4%, rising to 92.2% with `ultra`, and reaches 62.6% on OSWorld 2.0, surpassing Opus 4.8 while using 85% fewer output tokens. The performance-per-dollar gains hold across the family here too: Luna nearly matches GPT-5.5's peak at less than half the cost, while Terra surpasses it at lower cost. + +The quality gains show up most clearly in documents. GPT-5.6 can create fully editable presentations from scratch, translating a prompt and source material into a coherent visual narrative with strong layout and hierarchy. It is especially good at following reference decks: it can infer a deck's design system, its layouts, typography, spacing, colors, and even rules embedded in the Slide Master, then apply those conventions consistently to new material. It also handles equations, financial models, and spreadsheets with more precision, which matters for repeatable knowledge work. + +## Cybersecurity and science + +GPT-5.6 is OpenAI's strongest cybersecurity model yet, aimed at defensive work like secure code review, patching, threat modeling, and blue teaming. + +* ExploitBench: 73.5% versus GPT-5.5's 47.9%. +* SEC-Bench Pro: 71.2% versus 45.8%, at improved latency. +* ExploitGym: nearly doubles GPT-5.5's peak pass rate, from 15.1% to 24.9% under a two-hour cap, reaching 33.7% with six hours. +* Capture-the-Flag challenges: 96.7%. + +The most sensitive capabilities are gated behind OpenAI Daybreak's [Trusted Access for Cyber](https://openai.com/index/gpt-5-6/) program, and individual members will need hardware-backed passkeys through Advanced Account Security by September 1 to keep access to the most cyber-capable models. Among rival frontier models, Claude Mythos 5 still edges Sol on ExploitBench at 78%, so the win here is again about reaching frontier performance with far fewer tokens. + +On science, GPT-5.6 shows Pareto improvements over GPT-5.5 across real-world biology, life science research, and chemistry. It posts 94.6% on GPQA Diamond, 89% on FrontierMath Tier 1 to 3, and 83% on the harder Tier 4, making it a capable partner for technical research as well as engineering. + +# How GPT-5.6 accelerates AI research + +One of the more telling parts of the launch is internal. OpenAI calls GPT-5.6 its strongest model yet for accelerating AI research, and its own researchers use it across the development loop: diagnosing failures, optimizing training systems, running experiments, and interpreting results. + +The adoption numbers are striking: + +* During internal testing, average daily output tokens per active researcher were more than twice the highest level observed for GPT-5.5. +* Over the past six months, the share of research compute devoted to internal coding inference grew 100-fold, while internal agentic token usage increased roughly 22-fold. +* On an internal RSI Index that bundles evaluations measuring progress toward recursive self-improvement, GPT-5.6 Sol scores 16.2 points above GPT-5.5. + +These are adoption and capability signals rather than proof of research breakthroughs, but they show how fast agent-driven work is becoming standard inside a frontier lab, which is usually a leading indicator for where everyday developer workflows head next. + +# How safe is GPT-5.6? + +OpenAI says GPT-5.6 launches with its most robust safety system to date. The models are more capable in biology and cybersecurity than earlier ones but do not cross the Critical threshold in either category. In cybersecurity, testing suggests GPT-5.6 is better at finding and fixing vulnerabilities than at running autonomous end-to-end attacks against hardened targets, which gives defenders room to patch before weaknesses are exploited. In biology, it can support legitimate research but does not provide the capability to create or synthesize a highly dangerous novel threat. + +Both domains are dual-use, so rather than block broadly, GPT-5.6 layers protections trained into the model with real-time checks, continuous monitoring, and a reasoning monitor that reviews the conversation for potential harm. OpenAI is candid that overblocking creates its own risk, since it can stop defenders from testing systems while attackers keep using other tools. + +The result is stricter where it counts. GPT-5.6 Sol cyber safeguards block roughly ten times more potentially harmful activity than previous models, and OpenAI ran about 700,000 A100e GPU hours of black-box automated red teaming before launch. Because stronger safeguards can add friction, ChatGPT and Codex include an option to retry a blocked prompt on a lower-capability model. Full detail lives in the [updated GPT-5.6 system card](https://openai.com/index/gpt-5-6/). + +# Where can you use GPT-5.6? + +GPT-5.6 is available starting July 9, 2026, across ChatGPT, Codex, and the OpenAI API. OpenAI began the global rollout on July 9 and said it would continue gradually over the following 24 hours. Access differs by surface: + +* **Chat:** Plus, Pro, Business, and Enterprise users access Sol through medium and higher effort settings. Pro and Enterprise can also select Sol Pro. +* **ChatGPT Work and Codex:** Free and Go users access Terra. Plus, Pro, Business, and Enterprise users can choose among Sol, Terra, and Luna and set an effort level for each. `ultra` is available to Pro and Enterprise in ChatGPT Work, and to Plus and higher in Codex. +* **API:** Developers can access Sol, Terra, and Luna, with Programmatic Tool Calling that is Zero Data Retention compatible, plus the multi-agent beta. + +Pricing is listed in the family table above. GPT-5.6 also adds more predictable prompt caching, with explicit cache breakpoints and a 30-minute minimum cache life. Cache writes are billed at 1.25x the uncached input rate, and cache reads receive the 90% cached-input discount. + +# Give GPT-5.6 a backend it can actually build on + +GPT-5.6's whole pitch is doing more per token and finishing sooner. That advantage disappears the moment the agent hands you a diff and you spend the rest of the day connecting it to auth, a database, storage, functions, and an API layer. The backend is where saved time usually goes to die. + +[Appwrite](https://appwrite.io/) closes that gap. It is an open source backend as a service with [Auth](https://appwrite.io/docs/products/auth), [Databases](https://appwrite.io/docs/products/databases), [Storage](https://appwrite.io/docs/products/storage), [Functions](https://appwrite.io/docs/products/functions), and [Messaging](https://appwrite.io/docs/products/messaging) built in, plus [Sites](https://appwrite.io/docs/products/sites), an open source Vercel alternative that deploys your frontend right next to it. Run it on managed Cloud or self-host it. Rather than assembling auth, schemas, file handling, deploys, and APIs by hand, you hand your GPT-5.6 agent a single Appwrite project that already has all of it. + +The [Appwrite plugin for Codex](https://appwrite.io/blog/post/announcing-appwrite-codex-plugin) makes the handoff clean. It includes agent skills for the Appwrite CLI and major SDKs and registers the Appwrite Docs MCP server. + +`codex plugin marketplace add appwrite/codex-plugin` + +Open `/plugins` in Codex to confirm it loaded, then let GPT-5.6 drive. Give it something like "Scaffold a Next.js app with Appwrite email and password auth and a todos table," and it pulls the right skills, checks the docs MCP for specifics, and writes real SDK calls against a backend that already exists instead of guessing at one. What you get back is product you can review, not scaffolding you still have to finish. + +Want to see the full loop? [Create a free Appwrite project](https://cloud.appwrite.io/), add the plugin, and ask GPT-5.6 in Codex to build an authentication flow and database integration against it. You end up with a working backend and a diff, not a weekend of plumbing. + +# Resources + +* [Appwrite plugin for Codex](https://appwrite.io/blog/post/announcing-appwrite-codex-plugin) +* [Create a free Appwrite project](https://cloud.appwrite.io/) +* [Appwrite products](https://appwrite.io/docs/products/) +* [Appwrite integrations](https://appwrite.io/integrations) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.avif b/static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..c3f75b6d0d88c348169bff271ec90671b484d193 GIT binary patch literal 8383 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 F{s+M@s>A>Q literal 0 HcmV?d00001 From 3e5d3513e686518f25da496232db7739ba6a62ba Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Fri, 10 Jul 2026 17:33:42 +0530 Subject: [PATCH 29/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc index 1ee76dacbc..ffc1b58e4a 100644 --- a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc +++ b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc @@ -160,5 +160,5 @@ Want to see the full loop? [Create a free Appwrite project](https://cloud.appwri * [Appwrite plugin for Codex](https://appwrite.io/blog/post/announcing-appwrite-codex-plugin) * [Create a free Appwrite project](https://cloud.appwrite.io/) * [Appwrite products](https://appwrite.io/docs/products/) -* [Appwrite integrations](https://appwrite.io/integrations) +* [Appwrite integrations](integrations) * [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file From bebb21edd44c170e2c26422eec2bb9ddfb31d8a4 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Fri, 10 Jul 2026 17:33:51 +0530 Subject: [PATCH 30/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc index ffc1b58e4a..c41e478a19 100644 --- a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc +++ b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc @@ -157,7 +157,7 @@ Want to see the full loop? [Create a free Appwrite project](https://cloud.appwri # Resources -* [Appwrite plugin for Codex](https://appwrite.io/blog/post/announcing-appwrite-codex-plugin) +* [Appwrite plugin for Codex](blog/post/announcing-appwrite-codex-plugin) * [Create a free Appwrite project](https://cloud.appwrite.io/) * [Appwrite products](https://appwrite.io/docs/products/) * [Appwrite integrations](integrations) From b8825ca8a2a58a08aa7decd3ac43804cf5943f05 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Fri, 10 Jul 2026 17:34:01 +0530 Subject: [PATCH 31/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc index c41e478a19..8c7a27de31 100644 --- a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc +++ b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc @@ -159,6 +159,6 @@ Want to see the full loop? [Create a free Appwrite project](https://cloud.appwri * [Appwrite plugin for Codex](blog/post/announcing-appwrite-codex-plugin) * [Create a free Appwrite project](https://cloud.appwrite.io/) -* [Appwrite products](https://appwrite.io/docs/products/) +* [Appwrite products](docs/products/) * [Appwrite integrations](integrations) * [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file From 265c88d33801d6778ca31b0983236874d2a582a9 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Fri, 10 Jul 2026 21:43:26 +0530 Subject: [PATCH 32/71] Address GPT-5.6 blog review feedback --- .../+page.markdoc | 55 +++++++++++-------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc index 8c7a27de31..1036cb5e85 100644 --- a/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc +++ b/src/routes/blog/post/gpt-56-is-here-openais-efficient-frontier-model/+page.markdoc @@ -36,7 +36,11 @@ The number identifies the generation. Sol, Terra, and Luna are durable capabilit The headline is efficiency. Instead of forcing you to pick a slow, expensive model for hard problems and a cheap one for easy problems, GPT-5.6 is tuned to do more with each token by default, then scale up only when you ask it to. -The clearest evidence is on Agents' Last Exam, an evaluation of long-running workflows across 55 professional fields. OpenAI highlights a score of 53.6 for GPT-5.6 Sol in its launch announcement, while its full benchmark table lists a score of 52.7%. Both results place it ahead of Claude Fable 5, although the difference appears to reflect different evaluation configurations. Even at medium reasoning it beats Fable 5 by 11.4 points at roughly one quarter of the estimated cost. That efficiency reaches down the lineup too: Terra and Luna outperform Fable 5 at around one sixteenth of the cost. On the broader Artificial Analysis Intelligence Index, GPT-5.6 Sol with max reasoning comes within one point of Fable 5 while completing tasks in 61% less time at roughly half the cost. +The clearest evidence shows up across two independent evaluations: + +* **Agents' Last Exam:** OpenAI highlights a score of 53.6 for GPT-5.6 Sol in its launch announcement, while its full benchmark table lists 52.7%. Both results place it ahead of Claude Fable 5, although the difference appears to reflect different evaluation configurations. +* **Efficiency across the family:** At medium reasoning, Sol beats Fable 5 by 11.4 points at roughly one quarter of the estimated cost. Terra and Luna outperform Fable 5 at around one sixteenth of the cost. +* **Artificial Analysis Intelligence Index:** Sol with max reasoning comes within one point of Fable 5 while completing tasks in 61% less time at roughly half the cost. Two mechanisms make that flexibility possible. @@ -54,19 +58,19 @@ If you build agentic apps, these two are the reason to pay attention. # How does GPT-5.6 perform? -GPT-5.6 Sol sets new state of the art results across coding, knowledge work, cybersecurity, and science, and the family as a whole is built to beat or match the previous generation at a fraction of the cost. Here is a snapshot of GPT-5.6 Sol against GPT-5.5, before the domain detail. +GPT-5.6 Sol sets new state of the art results across coding, knowledge work, cybersecurity, and science, and the family as a whole is built to beat or match the previous generation at a fraction of the cost. Here is a snapshot against GPT-5.5, Claude Fable 5, and Claude Opus 4.8 where OpenAI reported comparison data. -| Benchmark | GPT-5.6 Sol | GPT-5.5 | -| -------------------------------------- | ----------- | ------- | -| Agents' Last Exam | 52.7% | 46.9% | -| Artificial Analysis Coding Agent Index | 80 | 76.4 | -| Terminal-Bench 2.1 | 88.8% | 85.6% | -| DeepSWE v1.1 | 72.7% | 67% | -| BrowseComp | 90.4% | 84.4% | -| OSWorld 2.0 | 62.6% | 47.5% | -| SEC-Bench Pro | 71.2% | 45.8% | -| ExploitBench | 73.5% | 47.9% | -| GPQA Diamond | 94.6% | 93.6% | +| Benchmark | GPT-5.6 Sol | GPT-5.5 | Claude Fable 5 | Claude Opus 4.8 | +| -------------------------------------- | ----------- | ------- | -------------- | --------------- | +| Agents' Last Exam | 52.7% | 46.9% | 40.5% | 45.2% | +| Artificial Analysis Coding Agent Index | 80 | 76.4 | 77.2 | 72.5 | +| Terminal-Bench 2.1 | 88.8% | 85.6% | 83.1% | 78.9% | +| DeepSWE v1.1 | 72.7% | 67% | 69.7% | 59% | +| BrowseComp | 90.4% | 84.4% | Not reported | 84.3% | +| OSWorld 2.0 | 62.6% | 47.5% | Not reported | 54.8% | +| SEC-Bench Pro | 71.2% | 45.8% | Not reported | Not reported | +| ExploitBench | 73.5% | 47.9% | Not reported | 40% | +| GPQA Diamond | 94.6% | 93.6% | 92.6% | 92% | ## Coding @@ -74,7 +78,6 @@ GPT-5.6 Sol is OpenAI's best coding model yet. On the [Artificial Analysis](http * Terra performs just above Fable 5, and Luna outperforms Claude Opus 4.8, each in roughly one third of the time at about one quarter of the cost. * Sol sets new records on Terminal-Bench 2.1 and DeepSWE, which test command-line workflows and long-horizon engineering in real codebases. -* For balance, this is a performance-per-dollar win, not a clean sweep. On SWE-Bench Pro, Claude Mythos 5 still leads at 80.3% versus Sol's 64.6%. GPT-5.6 gets close to the top on most coding evals while spending far less. ## Agents and tool use @@ -88,15 +91,19 @@ Those numbers point at the same thing: fewer wasted steps between a prompt and a ## Design -GPT-5.6 delivers a step change in design judgment. From only high-level direction, it can create tasteful, ergonomic, and functional interfaces rather than generic scaffolding. What sets it apart is that its stronger computer-use skills let it inspect the rendered result, not just generate the underlying code, so it can catch visual and functional issues and apply finishing touches before handing the work back. OpenAI's own examples range from small browser games to a museum website to an interior design presentation. +GPT-5.6 delivers a step change in design judgment. From only high-level direction, it can create tasteful, ergonomic, and functional interfaces rather than generic scaffolding. What sets it apart is that its stronger and faster computer-use skills let it inspect the rendered result, not just generate the underlying code, so it can catch visual and functional issues and apply finishing touches before handing the work back. OpenAI's own examples range from small browser games to a museum website to an interior design presentation. -Its frontend capabilities also turn natural-language requests into polished, interactive explanations and visualizations inside ChatGPT Work, from a working spirograph to a wave-interference demo to a tokenizer explainer, rendered live rather than described. +Its frontend capabilities are a clear improvement over GPT-5.5, but Claude models still tend to produce stronger UI designs out of the box. With clear visual direction and iteration, GPT-5.6 can create polished interfaces. Inside ChatGPT Work, it can also turn natural-language requests into interactive explanations and visualizations, from a working spirograph to a wave-interference demo to a tokenizer explainer. ## Knowledge work -GPT-5.6 takes messy context from tools like Slack, Notion, Microsoft 365, and Google Drive and converts it into expert-level, shareable artifacts. It sets new state of the art on BrowseComp at 90.4%, rising to 92.2% with `ultra`, and reaches 62.6% on OSWorld 2.0, surpassing Opus 4.8 while using 85% fewer output tokens. The performance-per-dollar gains hold across the family here too: Luna nearly matches GPT-5.5's peak at less than half the cost, while Terra surpasses it at lower cost. +GPT-5.6 takes messy context from tools like Slack, Notion, Microsoft 365, and Google Drive and converts it into expert-level, shareable artifacts: -The quality gains show up most clearly in documents. GPT-5.6 can create fully editable presentations from scratch, translating a prompt and source material into a coherent visual narrative with strong layout and hierarchy. It is especially good at following reference decks: it can infer a deck's design system, its layouts, typography, spacing, colors, and even rules embedded in the Slide Master, then apply those conventions consistently to new material. It also handles equations, financial models, and spreadsheets with more precision, which matters for repeatable knowledge work. +* **Browsing and computer use:** Sol scores 90.4% on BrowseComp, rising to 92.2% with `ultra`, and reaches 62.6% on OSWorld 2.0. On OSWorld, it surpasses Opus 4.8 while using 85% fewer output tokens. +* **Efficiency across the family:** Luna nearly matches GPT-5.5's peak performance at less than half the cost, while Terra surpasses it at lower cost. +* **Presentations:** GPT-5.6 can create fully editable decks from scratch, translating a prompt and source material into a coherent visual narrative with strong layout and hierarchy. +* **Reference decks:** It can infer layouts, typography, spacing, colors, and rules embedded in the Slide Master, then apply those conventions consistently to new material. +* **Documents and spreadsheets:** It handles equations, financial models, and spreadsheets with more precision, which matters for repeatable knowledge work. ## Cybersecurity and science @@ -145,9 +152,9 @@ Pricing is listed in the family table above. GPT-5.6 also adds more predictable GPT-5.6's whole pitch is doing more per token and finishing sooner. That advantage disappears the moment the agent hands you a diff and you spend the rest of the day connecting it to auth, a database, storage, functions, and an API layer. The backend is where saved time usually goes to die. -[Appwrite](https://appwrite.io/) closes that gap. It is an open source backend as a service with [Auth](https://appwrite.io/docs/products/auth), [Databases](https://appwrite.io/docs/products/databases), [Storage](https://appwrite.io/docs/products/storage), [Functions](https://appwrite.io/docs/products/functions), and [Messaging](https://appwrite.io/docs/products/messaging) built in, plus [Sites](https://appwrite.io/docs/products/sites), an open source Vercel alternative that deploys your frontend right next to it. Run it on managed Cloud or self-host it. Rather than assembling auth, schemas, file handling, deploys, and APIs by hand, you hand your GPT-5.6 agent a single Appwrite project that already has all of it. +[Appwrite](/) closes that gap. It is an open source backend as a service with [Auth](/docs/products/auth), [Databases](/docs/products/databases), [Storage](/docs/products/storage), [Functions](/docs/products/functions), and [Messaging](/docs/products/messaging) built in, plus [Sites](/docs/products/sites), an open source Vercel alternative that deploys your frontend right next to it. Run it on managed Cloud or self-host it. Rather than assembling auth, schemas, file handling, deploys, and APIs by hand, you hand your GPT-5.6 agent a single Appwrite project that already has all of it. -The [Appwrite plugin for Codex](https://appwrite.io/blog/post/announcing-appwrite-codex-plugin) makes the handoff clean. It includes agent skills for the Appwrite CLI and major SDKs and registers the Appwrite Docs MCP server. +The [Appwrite plugin for Codex](/blog/post/announcing-appwrite-codex-plugin) makes the handoff clean. It includes agent skills for the Appwrite CLI and major SDKs and registers the Appwrite Docs MCP server. `codex plugin marketplace add appwrite/codex-plugin` @@ -157,8 +164,8 @@ Want to see the full loop? [Create a free Appwrite project](https://cloud.appwri # Resources -* [Appwrite plugin for Codex](blog/post/announcing-appwrite-codex-plugin) +* [Appwrite plugin for Codex](/blog/post/announcing-appwrite-codex-plugin) * [Create a free Appwrite project](https://cloud.appwrite.io/) -* [Appwrite products](docs/products/) -* [Appwrite integrations](integrations) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file +* [Appwrite products](/docs/products/) +* [Appwrite integrations](/integrations) +* [Join the Appwrite Discord](/discord) From 0b2baabd6d375dfe2e04b52647f067cbfcf2e610 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Mon, 13 Jul 2026 14:30:03 +0530 Subject: [PATCH 33/71] Update +page.markdoc --- .../+page.markdoc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index 578ae652d8..d72e6e35d0 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -91,6 +91,10 @@ Install it with: # Community Recognitions +We are excited to feature Arhan Ansari as part of our monthly Community Recognitions for June 2026. Arhan built [HRMate](https://github.com/ArhanAnsari/HRMate), a cross-platform HR management app built with Expo and Appwrite. It helps companies manage employees, attendance, leave requests, payroll, payslips, and company announcements from one place. Appwrite powers authentication, databases, storage, and realtime updates, while Gemini powers the built-in AI HR assistant. Keep in mind that this is a community-backed project and is not maintained by Appwrite. + +If you would like to participate in next month's Community Recognitions, [join our Discord server](https://appwrite.io/discord) and showcase your project. + # Engineering resources * [What is CI/CD? A complete guide for developers](https://appwrite.io/blog/post/what-is-cicd-a-complete-guide-for-developers) @@ -102,4 +106,4 @@ Install it with: We are continuing to improve Appwrite across Auth, developer experience, compliance, frontend development, and AI-assisted workflows. -Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. \ No newline at end of file +Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. From 9f60c6fc28c15bcbf185b5e2ad2c4694f8ecc041 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Mon, 13 Jul 2026 14:41:41 +0530 Subject: [PATCH 34/71] Apply suggestion from @atharvadeosthale Co-authored-by: Atharva Deosthale <atharva.deosthale17@gmail.com> --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index d72e6e35d0..c73fbd9dac 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -77,7 +77,7 @@ Password strength works alongside existing Appwrite Auth protections like passwo The Appwrite React library helps developers manage Appwrite Auth in React apps with less boilerplate. -It ships with an AppwriteProvider and a small set of authentication hooks for sign-up, sign-in, sign-out, OAuth, and current user state. +It ships with an `AppwriteProvider` and a small set of authentication hooks for sign-up, sign-in, sign-out, OAuth, and current user state. The library supports client-side React apps, plus SSR support for Next.js and TanStack Start. From 4d804e02e472e9005c1fa68ad3b8d1afeb95c01f Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Mon, 13 Jul 2026 14:45:24 +0530 Subject: [PATCH 35/71] Update +page.markdoc --- .../+page.markdoc | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index c73fbd9dac..4794e5bd34 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -33,34 +33,34 @@ Here is a quick overview of what shipped in June: Let's dive in. -![Appwrite plugin for Claude Code is now in the official Claude marketplace.jpg](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.avif) - # Appwrite plugin for Claude Code is now in the official Claude marketplace +![Appwrite plugin for Claude Code is now in the official Claude marketplace.jpg](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Appwrite_plugin_for_Claude_Code_is_now_in_the_official_Claude_marketplace.avif) + The Appwrite plugin for Claude Code is now listed in the official Claude marketplace. Developers can now install the plugin directly and start using Claude Code with Appwrite without adding a separate marketplace first. The plugin includes agent skills for the Appwrite CLI and major SDKs, plus MCP servers for the Appwrite API and documentation. This helps Claude Code better understand Appwrite projects, docs, SDK usage, and common development workflows. -[Read more](https://appwrite.io/docs/tooling/ai/agents/claude-code) - -![introducing self-serve baa.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.avif) +[Read more](/docs/tooling/ai/agents/claude-code) # Introducing self-serve BAA +![introducing self-serve baa.png](/images/blog/june-product-update-react-library-password-strength-baa-and-more/introducing_self-serve_baa.avif) + Eligible Pro organizations can now enable a HIPAA Business Associate Agreement directly from the Appwrite Console. Organization owners can open the Settings tab, select Enable BAA in the BAA section, and accept the agreement from the Console. This helps teams building healthcare apps, patient portals, telehealth platforms, and PHI-related workflows move faster with the agreement in place. -[Read the announcement](https://appwrite.io/blog/post/announcing-self-serve-baa) - -![Password Strength](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif) +[Read the announcement](/blog/post/announcing-self-serve-baa) # Introducing Password strength for Appwrite Auth +![Password Strength](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Password_Strength.avif) + Appwrite Auth now lets you enforce Password strength on every project. You can set a minimum password length and require any combination of an uppercase letter, lowercase letter, number, and special character. @@ -69,12 +69,12 @@ These rules run at sign-up and whenever a user changes their password, so weak p Password strength works alongside existing Appwrite Auth protections like password history and the password dictionary, giving teams more control without custom password validation logic. -[Read the announcement](https://appwrite.io/blog/post/announcing-password-strength) - -![Introducing the Appwrite React library](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif) +[Read the announcement](/blog/post/announcing-password-strength) # Introducing the Appwrite React library +![Introducing the Appwrite React library](/images/blog/june-product-update-react-library-password-strength-baa-and-more/Introducing_the_Appwrite_React_library.avif) + The Appwrite React library helps developers manage Appwrite Auth in React apps with less boilerplate. It ships with an `AppwriteProvider` and a small set of authentication hooks for sign-up, sign-in, sign-out, OAuth, and current user state. @@ -85,25 +85,25 @@ Install it with: `npm install @appwrite.io/react` -[Read the announcement](https://appwrite.io/blog/post/announcing-appwrite-react-library) - -[community.avif](June%20product%20update%20React%20library,%20Password%20streng/community.avif) +[Read the announcement](/blog/post/announcing-appwrite-react-library) # Community Recognitions +[community.avif](June%20product%20update%20React%20library,%20Password%20streng/community.avif) + We are excited to feature Arhan Ansari as part of our monthly Community Recognitions for June 2026. Arhan built [HRMate](https://github.com/ArhanAnsari/HRMate), a cross-platform HR management app built with Expo and Appwrite. It helps companies manage employees, attendance, leave requests, payroll, payslips, and company announcements from one place. Appwrite powers authentication, databases, storage, and realtime updates, while Gemini powers the built-in AI HR assistant. Keep in mind that this is a community-backed project and is not maintained by Appwrite. If you would like to participate in next month's Community Recognitions, [join our Discord server](https://appwrite.io/discord) and showcase your project. # Engineering resources -* [What is CI/CD? A complete guide for developers](https://appwrite.io/blog/post/what-is-cicd-a-complete-guide-for-developers) -* [Appwrite Arena: June 2026 update](https://appwrite.io/blog/post/arena-june-2026-update) -* [Best AI productivity stack for developers in 2026](https://appwrite.io/blog/post/best-ai-productivity-stack-for-developers-in-2026) -* [What is Docker? A simple guide for developers](https://appwrite.io/blog/post/what-is-docker-a-simple-guide-for-developers) +* [What is CI/CD? A complete guide for developers](/blog/post/what-is-cicd-a-complete-guide-for-developers) +* [Appwrite Arena: June 2026 update](/blog/post/arena-june-2026-update) +* [Best AI productivity stack for developers in 2026](/blog/post/best-ai-productivity-stack-for-developers-in-2026) +* [What is Docker? A simple guide for developers](/blog/post/what-is-docker-a-simple-guide-for-developers) # What's next We are continuing to improve Appwrite across Auth, developer experience, compliance, frontend development, and AI-assisted workflows. -Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. +Follow us on [X](https://x.com/appwrite) and check our [Changelog](/changelog) regularly, as we will release more information in the coming weeks. From 18f141d30ff4e7fcd178bb592b1b94f3b0fc0495 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Mon, 13 Jul 2026 14:49:06 +0530 Subject: [PATCH 36/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index 4794e5bd34..537b519745 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -91,7 +91,7 @@ Install it with: [community.avif](June%20product%20update%20React%20library,%20Password%20streng/community.avif) -We are excited to feature Arhan Ansari as part of our monthly Community Recognitions for June 2026. Arhan built [HRMate](https://github.com/ArhanAnsari/HRMate), a cross-platform HR management app built with Expo and Appwrite. It helps companies manage employees, attendance, leave requests, payroll, payslips, and company announcements from one place. Appwrite powers authentication, databases, storage, and realtime updates, while Gemini powers the built-in AI HR assistant. Keep in mind that this is a community-backed project and is not maintained by Appwrite. +We are excited to feature Arhan Ansari as part of our monthly Community Recognitions for June 2026. Arhan built [HRMate](https://github.com/ArhanAnsari/HRMate), a cross-platform HR management app built with Expo and Appwrite. It helps companies manage employees, attendance, leave requests, payroll, payslips, and company announcements from one place. Appwrite handles authentication, databases, storage, and realtime updates across the app. Keep in mind that this is a community-backed project and is not maintained by Appwrite. If you would like to participate in next month's Community Recognitions, [join our Discord server](https://appwrite.io/discord) and showcase your project. From 1cf8135bcabb5c41fdff7be46682860bcfa47970 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Mon, 13 Jul 2026 14:52:18 +0530 Subject: [PATCH 37/71] Update +page.markdoc From 9ad466780613f9bf3c2dc4204bd23bc81e13ea7b Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Mon, 13 Jul 2026 15:00:10 +0530 Subject: [PATCH 38/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index 537b519745..d5dd7bddfb 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -2,7 +2,7 @@ layout: post title: "June product update: React library, Password strength, BAA and more" description: Catch up on Appwrite’s June product updates, including the React library, self-serve BAA, Password strength for Auth, Claude Code support, and resources. -date: 2026-07-06 +date: 2026-07-10 cover: /images/blog/june-product-update-react-library-password-strength-baa-and-more/cover.avif timeToRead: 5 author: aishwari From 3488e5491489165f5f3e26a61a5abf5dc5d204b2 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Tue, 14 Jul 2026 13:07:40 +0530 Subject: [PATCH 39/71] fix(blog): repair broken community image in June product update --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc index d5dd7bddfb..bd98441162 100644 --- a/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc +++ b/src/routes/blog/post/june-product-update-react-library-password-strength-baa-and-more/+page.markdoc @@ -89,7 +89,7 @@ Install it with: # Community Recognitions -[community.avif](June%20product%20update%20React%20library,%20Password%20streng/community.avif) +![Community Recognitions](/images/blog/may-product-update-presences-api-rust-runtime-7x-faster-storage-uploads-and-more/community-recognitions.avif) We are excited to feature Arhan Ansari as part of our monthly Community Recognitions for June 2026. Arhan built [HRMate](https://github.com/ArhanAnsari/HRMate), a cross-platform HR management app built with Expo and Appwrite. It helps companies manage employees, attendance, leave requests, payroll, payslips, and company announcements from one place. Appwrite handles authentication, databases, storage, and realtime updates across the app. Keep in mind that this is a community-backed project and is not maintained by Appwrite. From c370e8248da219c9aed94be256ea958f0a002369 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Wed, 15 Jul 2026 14:29:43 +0530 Subject: [PATCH 40/71] latest blog --- .optimize-cache.json | 1 + .../+page.markdoc | 115 ++++++++++++++++++ .../cover.avif | Bin 0 -> 9090 bytes 3 files changed, 116 insertions(+) create mode 100644 src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc create mode 100644 static/images/blog/anthropic-launches-free-claude-access-for-us-k-12-teachers/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index 8df30d88bd..02c057507a 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -256,6 +256,7 @@ "static/images/blog/anthropic-just-launched-claude-fable-5-and-claude-mythos-5/cover.png": "45721aba1b005e1b02d2b585c69d3e48227bea22b8c7253aaeda2ce67bb79b1d", "static/images/blog/anthropic-just-launched-claude-for-small-business/cover.png": "9b89a91dab0f56e4d49777ca4a370c558edca339e573c155d6c1838f04a1dbd6", "static/images/blog/anthropic-just-launched-claude-opus-48-with-fast-mode-and-dynamic-workflows/cover.png": "0fba6f3f51a4fc24f02ac6c14b1f098277bd8a8d3e555c024b3dca0b29d20167", + "static/images/blog/anthropic-launches-free-claude-access-for-us-k-12-teachers/cover.png": "5af971e028a2acca04c08342ab035a422b5eea67367d0a71c33eeedac50f280c", "static/images/blog/apply-appwrite-how/cover.png": "d23f45ced245b42c8712c021f5d2068c17aebd94fd049cb90222cb9647a41a4a", "static/images/blog/appwrite-1-8-0-self-hosted-release/cover.png": "c15a9d88ccd16c2dc8333dc74e715e1f4a6c7818d3b4a05f4d68342eacdc0523", "static/images/blog/appwrite-1-8-1-self-hosted-release/cover.png": "82f0a396c56b6b299b24133079acc6a317c66b2bf02fd91f4862bd3be0f8f373", diff --git a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc new file mode 100644 index 0000000000..2c11191c81 --- /dev/null +++ b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc @@ -0,0 +1,115 @@ +--- +layout: post +title: Anthropic launches free Claude access for US K-12 teachers +description: Anthropic just introduced Claude for Teachers, giving verified US K-12 educators free Claude, teaching skills, and aligned curricula. +date: 2026-07-15 +cover: /images/blog/anthropic-launches-free-claude-access-for-us-k-12-teachers/cover.avif +timeToRead: 5 +author: aishwari +category: ai +featured: false +faqs: + - question: Is Claude for Teachers free? + answer: Yes. Verified US K-12 educators get it entirely free, with a full year of access if they sign up by June 30, 2027. + - question: Who can use Claude for Teachers? + answer: "Verified K-12 educators in the US. It follows Claude's 18-and-over policy, so it's designed for teachers, not students." + - question: Is student data used to train Claude? + answer: No. Data from Claude for Teachers is not used for model training, and student information is protected under a K-12 Data Processing Addendum written to comply with FERPA. + - question: Can schools and districts get it? + answer: A dedicated offering for schools and districts is coming soon. For now, Claude for Teachers is for individual educators, and districts can use Claude for Nonprofits. + - question: What resources are available for education developers? + answer: Anthropic released new connectors, an open-source teaching-skills repository, and a technical write-up explaining how the skills were evaluated. Education developers can use these resources when creating classroom tools and connectors, then pair their application with backend services such as authentication, databases, storage, and server-side functions. +--- +On July 14, 2026, Anthropic launched [Claude for Teachers](https://www.anthropic.com/news/claude-for-teachers), giving verified K-12 educators in the US free access to premium Claude capabilities, a library of teaching skills, and evidence-based curricula mapped to academic standards in all 50 states. + +If you teach, or you build the tools that teachers use, this launch matters. It ships a classroom-ready version of Claude, but it also opens up new connectors, an open-source skills repository, and a technical write-up for anyone building in education. Here's what shipped, how it works, and where developers fit in. + +# What is Claude for Teachers? + +**Claude for Teachers is a free offering for verified US K-12 educators that pairs premium Claude capabilities with a curated set of teaching skills and access to evidence-based, standards-aligned curricula.** It's built for the day-to-day work of teaching, including planning lessons, differentiating materials, and making sense of class data, without the planning spilling into every evening. + +Once an educator is verified, they get access to Claude with the Learning Commons connector and a set of tailored teaching skills grounded in learning science. The offering also includes Claude Code and Claude Cowork, so Claude can carry longer tasks forward on its own rather than stopping at a single reply. + +# Why Anthropic built Claude for Teachers + +Decades of research show that practices like differentiation, mastery-based learning, and small group instruction reliably improve student achievement. The problem is rarely knowing what works. It's finding the time and resources to do it. Budgets are tight, classes are often too large to meet every student individually, and planning eats into evenings. That strain falls hardest on under-resourced schools. + +Anthropic frames Claude for Teachers as a way to close the gap between educational best practice and what a teacher's week actually allows. The framing is backed by an important nuance in the early evidence: while the impact of AI tools *for students* is mixed and depends heavily on implementation, AI tools *for teachers* can strengthen instructional practice and improve student outcomes. Claude for Teachers is aimed squarely at the teacher's craft, so educators can protect what they value most, which is time with their students. + +# What Claude for Teachers connects to + +Anthropic connects Claude to academic standards and established curricular resources to help teachers create more relevant, standards-aligned materials. + +At the center is **Learning Commons**, which gives Claude access to academic standards across all 50 states, and beneath each standard, the smaller learning competencies it's built from and the order students typically learn them. So when Claude drafts a lesson, the plan is scaffolded and aligned to teaching standards rather than generic. On top of that, Claude for Teachers brings in trusted curricular resources like [OpenSciEd](https://www.openscied.org/) and IM v.360 from [Illustrative Mathematics](https://www.illustrativemathematics.org/). + +Educators can also connect Claude across an entire ecosystem of K-12 tools: + +* **ASSISTments** generates auto-scored, standards-aligned math problems for practice and assessment. +* **Brisk Teaching** turns ideas into interactive student activities and standards-aligned lessons in seconds. +* **Canva Education** turns lesson materials into classroom-ready designs and interactive experiences. +* **Coteach** creates high-quality math diagrams grounded in K-12 curriculum. +* **Diffit** creates and adapts instructional materials for every student. +* **Eedi** generates diagnostic questions that reveal student thinking, in English and Spanish. +* **MagicSchool** makes instructional content classroom-ready. +* **Snorkl** surfaces insights about classes, assignments, and student progress to inform instruction. +* **TeachFX** gives personalized instructional feedback grounded in real classroom talk. + +# How does Claude for Teachers work? + +**After verification, a K-12 educator gets Claude with the Learning Commons connector and a set of teaching skills co-developed with Learning Commons and grounded in learning science.** Those skills were designed around the tasks teachers said mattered most, evaluated for rigor and classroom usability, and refined with feedback from real classrooms, including schools like Prospect Schools in Brooklyn. + +Two skills anchor the experience. + +**Plan a lesson from high-quality instructional materials.** Ask for a lesson and Claude draws on widely used curricula mapped to your state's standards, plus the fine-grained learning components and progressions beneath them. It drafts a plan and student-facing materials you can revise and take straight into class. + +**Differentiate for every learner in your room.** Ask Claude to adapt materials for students at different readiness levels, and it builds a differentiation plan plus personalized student-facing materials for each proficiency level. Scaffolds make the material accessible, while students who are ready get further challenge. + +Because Claude for Teachers includes Claude Code and Cowork, it can also run longer, multi-step work: + +* **Analyze class data to plan instruction.** Hand Claude a folder of data, such as a roster, diagnostics, attendance, and your own notes, and it builds a clear picture of where every student is, so you can tailor instruction. You control what's shared, and nothing you share is used in model training. +* **Schedule repeated tasks.** Hand off a task once, like reviewing each day's exit tickets and adapting tomorrow's plan to match, and it runs every school day at 4pm. Claude works while you drive home. + +# How does Claude for Teachers handle student data? + +Anthropic says Claude for Teachers is educator-only, includes terms designed for K-12 privacy, and protects student information through a K-12 Data Processing Addendum written to comply with FERPA. Anthropic also says data submitted through Claude for Teachers is not used for model training. + +The offering follows Claude's 18-and-over policy, so it's for teachers rather than students. Anthropic is also working with the [American Federation of Teachers](https://www.aft.org/) to align its terms and privacy practices with a developing "Gold Standard" for the sector. + +> "We've been working with Anthropic on a Gold Standard that sets out industry best practices for safety and privacy in K-12 education," said Randi Weingarten, President of the American Federation of Teachers. "It's important that Anthropic is committing to these principles in their new Claude for Teachers, a tool designed by and for educators to assist them instructionally and hopefully give them more time for the human relationships at the heart of learning." + +# AI fluency training for teachers + +Alongside the product, Anthropic released **AI Fluency for K-12 Teachers**, a course co-created with [Teach for America](https://www.teachforamerica.org/), plus a train-the-trainer module co-created with the American Federation of Teachers. The guidance is model-agnostic, Creative Commons-licensed, and practical, covering which classroom tasks AI is suited for and how to use it responsibly with students. Because it's model-agnostic and openly licensed, it's useful even to educators and schools not using Claude. + +# Public goods for the education community, and where builders come in + +This is the part that should interest developers. As part of Anthropic's Beneficial Deployments mission, Claude for Teachers ships with a set of open resources for anyone building in education: + +* **New connectors** published in Anthropic's directory. +* **An open-source repository** of the teaching skills. +* **A technical write-up** of how the skills were evaluated, so other builders can apply the same approach. + +Anthropic is also piloting an evaluation of Claude for Teachers in the **Detroit Public Schools Community District** to study impact on educator wellbeing and practice, and the work ties into its partnership with the [Gates Foundation](https://www.gatesfoundation.org/) to co-develop tools that improve K-12 outcomes. On top of that, **Playlab** will support a national network of lab schools, helping educators become *builders* of the AI tools used in their classrooms. + +That last point is particularly relevant for developers. It points toward a growing ecosystem of connectors, skills, and purpose-built tools created by educators and EdTech teams. Many of those tools will need authentication, data storage, file handling, and server-side workflows. + +# How to get started with Claude for Teachers + +**Once verified, US K-12 educators get Claude for Teachers entirely free.** Sign up by **June 30, 2027** for a full year of access. Claude for Teachers is for individual educators today, and a dedicated offering for schools and districts is coming soon. In the meantime, districts interested in Claude can use Claude for Nonprofits. + +# What this means if you build education tools on Appwrite + +If you're building an education connector, a classroom app, or a Claude-powered agent, the model is only half the stack. Agents and apps still need authentication, stored state, file persistence, and server-side logic between steps. Wiring that up by hand is exactly what slows teams down on the path from prototype to product. Education tools may handle sensitive information, making secure authentication and careful data management especially important. Teams should independently assess their institution's privacy, security, data residency, retention, and regulatory requirements before deploying any backend. + +That's where [Appwrite](https://appwrite.io/) fits. Appwrite gives your app a production backend out of the box: [Auth](https://appwrite.io/docs/products/auth) for teacher and admin accounts, [Databases](https://appwrite.io/docs/products/databases) for rosters and progress data, [Storage](https://appwrite.io/docs/products/storage) for lesson materials and student uploads, and [Functions](https://appwrite.io/docs/products/functions) for the server-side logic your agent triggers between steps. + +If you want a Claude-powered agent to stand up that backend without manually assembling infrastructure, the **Appwrite plugin for Claude Code** bundles the Appwrite API MCP server, the Appwrite Docs MCP server, and SDK-specific agent skills into a single install. With the appropriate project access and permissions, Claude Code can interact with Appwrite APIs and documentation while helping developers implement services such as Auth, Databases, Storage, Sites, and Functions. It's the same pattern we covered when [Claude Fable 5 returned with stronger jailbreak safeguards](https://appwrite.io/blog/post/claude-fable-5-returns-with-stronger-jailbreak-safeguards). + +So if you're building for teachers rather than teaching yourself, you can [start for free on Appwrite Cloud](https://cloud.appwrite.io/), explore the [integrations directory](https://appwrite.io/integrations), or join the conversation on the [Appwrite Discord](https://appwrite.io/discord). Claude can help you build the classroom experience, while Appwrite provides the backend services needed to move it toward production. + +# Resources + +* [Start building on Appwrite Cloud](https://cloud.appwrite.io/) +* [Appwrite integrations directory](https://appwrite.io/integrations) +* [Appwrite docs](https://appwrite.io/docs) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/static/images/blog/anthropic-launches-free-claude-access-for-us-k-12-teachers/cover.avif b/static/images/blog/anthropic-launches-free-claude-access-for-us-k-12-teachers/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..8b3b31d5e597a15454f05ad03e3e787dfc2bc3bc GIT binary patch literal 9090 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 literal 0 HcmV?d00001 From 9120c6483d43f181d7b9942d061b5b5774a7daed Mon Sep 17 00:00:00 2001 From: Atharva Deosthale <atharva.deosthale17@gmail.com> Date: Wed, 15 Jul 2026 14:33:42 +0530 Subject: [PATCH 41/71] ci(staging): switch staging deployment to manual workflow_dispatch trigger --- .github/workflows/staging.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index 9a6ba173d2..48e1fb1c28 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -2,9 +2,6 @@ name: Staging deployment on: workflow_dispatch: - push: - branches: - - main concurrency: group: ${{ github.workflow }} From 84123997c751998504de5c73b93683a5d9b10258 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Wed, 15 Jul 2026 14:44:26 +0530 Subject: [PATCH 42/71] Update +page.markdoc --- .../+page.markdoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc index 2c11191c81..59dfb2ede8 100644 --- a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc +++ b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc @@ -101,7 +101,7 @@ That last point is particularly relevant for developers. It points toward a grow If you're building an education connector, a classroom app, or a Claude-powered agent, the model is only half the stack. Agents and apps still need authentication, stored state, file persistence, and server-side logic between steps. Wiring that up by hand is exactly what slows teams down on the path from prototype to product. Education tools may handle sensitive information, making secure authentication and careful data management especially important. Teams should independently assess their institution's privacy, security, data residency, retention, and regulatory requirements before deploying any backend. -That's where [Appwrite](https://appwrite.io/) fits. Appwrite gives your app a production backend out of the box: [Auth](https://appwrite.io/docs/products/auth) for teacher and admin accounts, [Databases](https://appwrite.io/docs/products/databases) for rosters and progress data, [Storage](https://appwrite.io/docs/products/storage) for lesson materials and student uploads, and [Functions](https://appwrite.io/docs/products/functions) for the server-side logic your agent triggers between steps. +That's where [Appwrite](/) fits. Appwrite gives your app a production backend out of the box: [Auth](/auth) for teacher and admin accounts, [Databases](/databases) for rosters and progress data, [Storage](/storage) for lesson materials and student uploads, and [Functions](/functions) for the server-side logic your agent triggers between steps. If you want a Claude-powered agent to stand up that backend without manually assembling infrastructure, the **Appwrite plugin for Claude Code** bundles the Appwrite API MCP server, the Appwrite Docs MCP server, and SDK-specific agent skills into a single install. With the appropriate project access and permissions, Claude Code can interact with Appwrite APIs and documentation while helping developers implement services such as Auth, Databases, Storage, Sites, and Functions. It's the same pattern we covered when [Claude Fable 5 returned with stronger jailbreak safeguards](https://appwrite.io/blog/post/claude-fable-5-returns-with-stronger-jailbreak-safeguards). @@ -110,6 +110,6 @@ So if you're building for teachers rather than teaching yourself, you can [start # Resources * [Start building on Appwrite Cloud](https://cloud.appwrite.io/) -* [Appwrite integrations directory](https://appwrite.io/integrations) -* [Appwrite docs](https://appwrite.io/docs) -* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file +* [Appwrite integrations directory](/integrations) +* [Appwrite docs](/docs) +* [Join the Appwrite Discord](https://appwrite.io/discord) From cdb66410184613e78063d779f5f970620fc4b4fd Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Wed, 15 Jul 2026 14:58:37 +0530 Subject: [PATCH 43/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc index 59dfb2ede8..f27c991058 100644 --- a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc +++ b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc @@ -103,7 +103,7 @@ If you're building an education connector, a classroom app, or a Claude-powered That's where [Appwrite](/) fits. Appwrite gives your app a production backend out of the box: [Auth](/auth) for teacher and admin accounts, [Databases](/databases) for rosters and progress data, [Storage](/storage) for lesson materials and student uploads, and [Functions](/functions) for the server-side logic your agent triggers between steps. -If you want a Claude-powered agent to stand up that backend without manually assembling infrastructure, the **Appwrite plugin for Claude Code** bundles the Appwrite API MCP server, the Appwrite Docs MCP server, and SDK-specific agent skills into a single install. With the appropriate project access and permissions, Claude Code can interact with Appwrite APIs and documentation while helping developers implement services such as Auth, Databases, Storage, Sites, and Functions. It's the same pattern we covered when [Claude Fable 5 returned with stronger jailbreak safeguards](https://appwrite.io/blog/post/claude-fable-5-returns-with-stronger-jailbreak-safeguards). +If you want a Claude-powered agent to stand up that backend without manually assembling infrastructure, the **Appwrite plugin for Claude Code** bundles the Appwrite API MCP server, the Appwrite Docs MCP server, and SDK-specific agent skills into a single install. With the appropriate project access and permissions, Claude Code can interact with Appwrite APIs and documentation while helping developers implement services such as Auth, Databases, Storage, Sites, and Functions. It's the same pattern we covered when [Claude Fable 5 returned with stronger jailbreak safeguards](/blog/post/claude-fable-5-returns-with-stronger-jailbreak-safeguards). So if you're building for teachers rather than teaching yourself, you can [start for free on Appwrite Cloud](https://cloud.appwrite.io/), explore the [integrations directory](https://appwrite.io/integrations), or join the conversation on the [Appwrite Discord](https://appwrite.io/discord). Claude can help you build the classroom experience, while Appwrite provides the backend services needed to move it toward production. From 857e0d8b882caf5da63fac7b552ab4ec5983de94 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Wed, 15 Jul 2026 14:59:14 +0530 Subject: [PATCH 44/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc index f27c991058..571b7096ba 100644 --- a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc +++ b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc @@ -105,7 +105,7 @@ That's where [Appwrite](/) fits. Appwrite gives your app a production backend ou If you want a Claude-powered agent to stand up that backend without manually assembling infrastructure, the **Appwrite plugin for Claude Code** bundles the Appwrite API MCP server, the Appwrite Docs MCP server, and SDK-specific agent skills into a single install. With the appropriate project access and permissions, Claude Code can interact with Appwrite APIs and documentation while helping developers implement services such as Auth, Databases, Storage, Sites, and Functions. It's the same pattern we covered when [Claude Fable 5 returned with stronger jailbreak safeguards](/blog/post/claude-fable-5-returns-with-stronger-jailbreak-safeguards). -So if you're building for teachers rather than teaching yourself, you can [start for free on Appwrite Cloud](https://cloud.appwrite.io/), explore the [integrations directory](https://appwrite.io/integrations), or join the conversation on the [Appwrite Discord](https://appwrite.io/discord). Claude can help you build the classroom experience, while Appwrite provides the backend services needed to move it toward production. +So if you're building for teachers rather than teaching yourself, you can [start for free on Appwrite Cloud](https://cloud.appwrite.io/), explore the [integrations directory](/integrations), or join the conversation on the [Appwrite Discord](https://appwrite.io/discord). Claude can help you build the classroom experience, while Appwrite provides the backend services needed to move it toward production. # Resources From a20d9a5617c1ea9a9993bbb978a9c195819b62b1 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Wed, 15 Jul 2026 15:12:28 +0530 Subject: [PATCH 45/71] Update +page.markdoc --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc index 571b7096ba..f57ecc4c76 100644 --- a/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc +++ b/src/routes/blog/post/anthropic-launches-free-claude-access-for-us-k-12-teachers/+page.markdoc @@ -99,7 +99,7 @@ That last point is particularly relevant for developers. It points toward a grow # What this means if you build education tools on Appwrite -If you're building an education connector, a classroom app, or a Claude-powered agent, the model is only half the stack. Agents and apps still need authentication, stored state, file persistence, and server-side logic between steps. Wiring that up by hand is exactly what slows teams down on the path from prototype to product. Education tools may handle sensitive information, making secure authentication and careful data management especially important. Teams should independently assess their institution's privacy, security, data residency, retention, and regulatory requirements before deploying any backend. +If you're building an education connector, a classroom app, or a Claude-powered agent, the model is only half the stack. Agents and apps still need authentication, stored state, file persistence, and server-side logic between steps. Wiring that up by hand is exactly what slows teams down on the path from prototype to product. Education tools may handle sensitive information, so teams should avoid assuming that the use of any particular backend or AI service automatically satisfies institutional or regulatory requirements. Teams should independently assess their institution's privacy, security, data residency, retention, and regulatory requirements before deploying any backend. That's where [Appwrite](/) fits. Appwrite gives your app a production backend out of the box: [Auth](/auth) for teacher and admin accounts, [Databases](/databases) for rosters and progress data, [Storage](/storage) for lesson materials and student uploads, and [Functions](/functions) for the server-side logic your agent triggers between steps. From b604f42ea9a319951d55c8cc81ae4ef16b54be0a Mon Sep 17 00:00:00 2001 From: Codex <codex@openai.com> Date: Thu, 16 Jul 2026 16:59:14 +0530 Subject: [PATCH 46/71] Add Grok Build open source news post --- .optimize-cache.json | 1 + .../post/grok-build-open-source/+page.markdoc | 137 ++++++++++++++++++ .../blog/grok-build-open-source/cover.png | Bin 0 -> 242719 bytes 3 files changed, 138 insertions(+) create mode 100644 src/routes/blog/post/grok-build-open-source/+page.markdoc create mode 100644 static/images/blog/grok-build-open-source/cover.png diff --git a/.optimize-cache.json b/.optimize-cache.json index 02c057507a..83e6c8044f 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -702,6 +702,7 @@ "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", "static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.png": "2156c5047fa2630e148ea0fd5189c4d08579b5c96e92530c4ae45b642acb6589", "static/images/blog/grok-45-coding-model/cover.png": "b40f87952b940767f393a93a7628f8277119862a3a3ac7b7d40d7ee5679213ff", + "static/images/blog/grok-build-open-source/cover.png": "5503c94f1019477e5497f54f6fecc30c81dfd4bd3037aa906168727677579095", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", "static/images/blog/handle-cors-in-serverless-functions/cover.png": "9db00c07cedfbc97f7c4a1a79d1ce1f0d31adab3ea246935ac9bdc9f47fc1e4c", diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc new file mode 100644 index 0000000000..981b9fcd60 --- /dev/null +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -0,0 +1,137 @@ +--- +layout: post +title: "Grok Build is now open source" +description: Grok Build is now open source under Apache 2.0, giving developers an inspectable coding-agent harness, local inference, and privacy controls. +date: 2026-07-16 +cover: /images/blog/grok-build-open-source/cover.png +timeToRead: 7 +author: aishwari +category: ai +featured: false +unlisted: true +faqs: + - question: "Is Grok Build open source?" + answer: "Yes. SpaceXAI published the Grok Build CLI, terminal UI, and agent runtime on [GitHub](https://github.com/xai-org/grok-build) under the Apache License 2.0. The repository can be inspected, modified, and built locally, although SpaceXAI does not currently accept external pull requests." + - question: "Can Grok Build run with a local model?" + answer: "Yes. Grok Build supports custom model endpoints using OpenAI Chat Completions, OpenAI Responses, or Anthropic Messages protocols. Its official guide includes examples for Ollama and local OpenAI-compatible servers." + - question: "Does Grok Build retain coding data?" + answer: "SpaceXAI says zero-data-retention users have always been covered by ZDR and that data upload choices were respected. It disabled retention by default for every Grok Build user on July 12, 2026, and says previously retained coding data is being deleted." + - question: "How do I disable data sharing in Grok Build?" + answer: "Run `/privacy` to view the current status and `/privacy opt-out` to opt out of coding-data sharing. The open-source configuration guide also documents `telemetry = false` and `trace_upload = false` controls." + - question: "Can developers contribute code to Grok Build?" + answer: "Not through external pull requests at launch. The repository's contributing guide says SpaceXAI develops the software internally and publishes a periodically synced public tree for source transparency and local builds. Developers can contact SpaceXAI engineers on X and submit security vulnerabilities through [HackerOne](https://hackerone.com/x?type=team)." +--- + +Coding agents can modify thousands of lines, run shell commands, and send code context to an inference service. That makes the harness around the model part of the security boundary, not just a convenient interface. + +SpaceXAI has now made that boundary inspectable. In a [July 16 announcement](https://x.com/SpaceXAI/status/2077494535387828644), the company open-sourced Grok Build, reset usage limits for all users, turned data retention off by default, and committed to deleting coding data retained before the change. + +The result is more consequential than publishing another CLI. Developers can inspect how the agent reads a workspace, approves actions, executes tools, stores sessions, connects to external services, and routes prompts to a model. They can also build the harness from source and point it at their own inference endpoint. + +# Grok Build is now an Apache 2.0 coding-agent harness + +The public [`xai-org/grok-build` repository](https://github.com/xai-org/grok-build) contains the Rust source for the `grok` CLI, its full-screen terminal UI, and the underlying agent runtime. SpaceXAI describes it as a coding agent that understands a codebase, edits files, executes shell commands, searches the web, and manages long-running tasks. + +The repository exposes more than the presentation layer. Its package layout separates the terminal UI, agent runtime, tool implementations, workspace and version-control handling, configuration, Model Context Protocol (MCP) support, sandboxing, and telemetry. That gives developers a practical map of the components that turn model output into actions on a machine. + +First-party code is available under the **Apache License 2.0**. Third-party and vendored code retains its original licenses, with notices included in the repository. The project is primarily Rust, uses a pinned Rust toolchain, and supports source builds on macOS and Linux. Windows source builds are described as best-effort and are not currently tested from the public tree. + +To build and launch the terminal UI from source, the official README provides: + +```bash +cargo run -p xai-grok-pager-bin +``` + +Developers who prefer a released binary can use SpaceXAI's installer for macOS, Linux, or Git Bash: + +```bash +curl -fsSL https://x.ai/cli/install.sh | bash +grok --version +``` + +Windows users can install from PowerShell. The [Grok Build product page](https://x.ai/cli) also documents headless execution for scripts and CI, editor embedding through the Agent Client Protocol, and features including plan mode, subagents, skills, hooks, MCP servers, `AGENTS.md`, sandboxed execution, and Git integration. + +# Open source does not mean open contribution yet + +There is an important distinction in this release. The code is licensed for use, modification, and redistribution under Apache 2.0, but the repository's contributing guide says **external pull requests and unsolicited patches are not accepted**. + +SpaceXAI develops Grok Build internally and periodically syncs the public tree from its monorepo. Developers can audit the implementation, build forks, and report problems, but they cannot currently participate through the usual upstream pull-request workflow. + +That limits community maintenance of the official project, even while the license enables independent forks. It also makes the announcement's goal of letting anyone help create a more reliable harness less direct than it would be with an open contribution process. The immediate value is transparency and experimentation. Upstream code collaboration may require SpaceXAI to change its contribution policy later. + +# Local inference moves the privacy boundary + +Open-sourcing the harness gives developers control over one half of an agent system. The other half is inference, where prompts, source snippets, and tool results are processed by a model. + +Grok Build's [custom-model guide](https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/11-custom-models.md) supports three API protocols: + +- **OpenAI Chat Completions** through `/v1/chat/completions` +- **OpenAI Responses** through `/v1/responses` +- **Anthropic Messages** through `/v1/messages` + +Custom models are configured in `~/.grok/config.toml` with a model ID, base URL, API backend, context window, and credentials where required. The same mechanism can target a third-party provider, a corporate inference gateway, an Ollama instance, or another local OpenAI-compatible server. + +For example, the official guide shows a local Ollama configuration shaped like this: + +```toml +[model.ollama-codellama] +model = "codellama" +base_url = "http://localhost:11434/v1" +name = "CodeLlama (Ollama)" +``` + +With a genuinely local model endpoint, inference traffic does not need to leave the developer's machine. Teams still need to review every enabled network-capable tool, MCP server, hook, plugin, telemetry setting, and shell permission. Local inference reduces exposure, but it does not automatically make the entire agent air-gapped. + +# Grok Build privacy defaults have changed + +SpaceXAI's announcement addresses an earlier mismatch between available controls and defaults. The company says Grok Build has respected **zero data retention (ZDR)** since launch and has always honored a user's choice to disable data upload. During the early beta, however, retention was enabled by default for users who were not covered by ZDR. + +SpaceXAI says it made three changes: + +- **Retention became off by default for all Grok Build users on July 12, 2026.** +- **Previously retained coding data is being deleted.** +- **The open-source harness can run local-first with user-selected inference.** + +These are separate controls. ZDR is an account or organization retention policy. Coding-data sharing is a user-selectable preference. Local inference changes where model requests are processed. Developers should verify all three rather than treating one setting as a substitute for the others. + +The public source makes the client-side controls easier to verify. Grok Build documents `/privacy` for viewing retention status, `/privacy opt-out` for disabling coding-data sharing, and `/privacy opt-in` for enabling it. Its [configuration guide](https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/05-configuration.md) also exposes an anonymous telemetry switch and a separate trace-upload control: + +```toml +[features] +telemetry = false + +[telemetry] +trace_upload = false +``` + +The repository additionally documents an optional external OpenTelemetry stream for organizations that want usage metrics sent to their own collector. That stream is off by default, requires a master switch plus an exporter selection, and is content-free by default. Prompt and tool details have separate opt-in gates. + +The deletion of previously retained data remains a company commitment stated in the announcement, not something a client-side code audit can independently prove. Teams with contractual retention requirements should verify their account policy and deployment path with SpaceXAI rather than inferring server behavior from the CLI alone. + +# The harness is now part of the evaluation surface + +Model benchmarks measure only part of an agent's usefulness. A coding agent also depends on context collection, tool schemas, permission handling, retry behavior, compaction, code search, checkpointing, and the quality of the prompts wrapped around each model call. + +Publishing Grok Build makes those choices available for inspection and comparison. Developers can trace how a request becomes a tool call, test changes against their own repositories, or keep the harness constant while swapping inference providers. That makes it easier to separate model capability from harness quality when an agent succeeds or fails. + +It also creates a clearer route for security review. The repository's [`SECURITY.md`](https://github.com/xai-org/grok-build/blob/main/SECURITY.md) directs vulnerability reports to the [X and xAI HackerOne program](https://hackerone.com/x?type=team), while normal behavior can be investigated against the same source used to build the tool. + +# Use Grok Build with an Appwrite-aware workflow + +Grok Build already supports two standards that help an agent work safely and accurately in an Appwrite project: **`AGENTS.md` instructions and MCP servers**. + +An [`AGENTS.md` file](https://appwrite.io/docs/tooling/ai/agents-md) gives the agent repository-specific conventions, including the framework, SDK, project structure, and Appwrite services in use. This keeps durable guidance in version control instead of repeating it in every prompt. + +Appwrite's [MCP servers](https://appwrite.io/docs/tooling/ai/mcp-servers) serve a different role. The docs server gives an agent current Appwrite documentation, while the API server can interact with an authorized Appwrite project. Keep API credentials scoped to the operations the agent needs, review tool approvals, and separate documentation access from project mutation. + +Open source makes Grok Build easier to inspect and adapt, but safe agent operation still comes from explicit boundaries. Start with a test repository, review the privacy state, choose the inference endpoint deliberately, inspect enabled integrations, and grant the narrowest practical permissions. + +# Build AI apps with inspectable tooling + +The Grok Build release pushes coding agents toward a more inspectable stack. Developers can now audit the harness, run it with local or custom inference, and verify client-side privacy controls before allowing it into a codebase. + +For the backend behind an AI-assisted project, [start on Appwrite Cloud](https://cloud.appwrite.io) and give your agent current, project-specific context through Appwrite's tooling: + +- [Generate an `AGENTS.md` file](https://appwrite.io/docs/tooling/ai/agents-md) +- [Configure Appwrite MCP servers](https://appwrite.io/docs/tooling/ai/mcp-servers) +- [Explore Appwrite AI tooling](https://appwrite.io/docs/tooling/ai) diff --git a/static/images/blog/grok-build-open-source/cover.png b/static/images/blog/grok-build-open-source/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..37fb86298c46f2896a4ab5aad179b9c940ec4871 GIT binary patch literal 242719 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%0DZKGVtFyh9T=Lq%nAV1sJn}+=QmD>Z) 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]G#Bf8sI-`BK$#z8k(wvAaha!CP9J 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 P_mh=Wk^q1F;{U$@NT7ao literal 0 HcmV?d00001 From f311175b8fa764aa30f58f61a51b11a7363d9b80 Mon Sep 17 00:00:00 2001 From: Codex <codex@openai.com> Date: Thu, 16 Jul 2026 17:04:32 +0530 Subject: [PATCH 47/71] Add GPT-Red automated red-teaming blog post --- .optimize-cache.json | 1 + .../+page.markdoc | 108 ++++++++++++++++++ .../gpt-red-automated-red-teaming/cover.png | Bin 0 -> 258548 bytes 3 files changed, 109 insertions(+) create mode 100644 src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc create mode 100644 static/images/blog/gpt-red-automated-red-teaming/cover.png diff --git a/.optimize-cache.json b/.optimize-cache.json index 02c057507a..c491d691e5 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -701,6 +701,7 @@ "static/images/blog/gpt-5-5-launch/card-problem.png": "9cfd1fa44c5f8d76a54904d1e656595f1580721d498952a96105dd6f9ddc82fd", "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", "static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.png": "2156c5047fa2630e148ea0fd5189c4d08579b5c96e92530c4ae45b642acb6589", + "static/images/blog/gpt-red-automated-red-teaming/cover.png": "fca9cd06be147da220527792a43e9a8af42ff2cfce8d9db8abe7884e1902300d", "static/images/blog/grok-45-coding-model/cover.png": "b40f87952b940767f393a93a7628f8277119862a3a3ac7b7d40d7ee5679213ff", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc new file mode 100644 index 0000000000..71e6cea18e --- /dev/null +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -0,0 +1,108 @@ +--- +layout: post +title: "GPT-Red automates prompt injection red-teaming" +description: "GPT-Red uses adversarial self-play to find prompt injection failures at scale. See OpenAI's results, training loop, and lessons for agent builders." +date: 2026-07-16 +cover: /images/blog/gpt-red-automated-red-teaming/cover.png +timeToRead: 7 +author: aishwari +category: ai +featured: false +unlisted: true +faqs: + - question: "What is GPT-Red?" + answer: "GPT-Red is OpenAI's internal automated red-teaming model. It iteratively creates prompt injection attacks against defender models, then uses successful attacks as training data to strengthen those defenders." + - question: "Can developers use GPT-Red?" + answer: "No. OpenAI describes GPT-Red as internal-only and has not announced an API or public release. The company says it plans to publish a preprint with more technical details." + - question: "How effective is GPT-Red?" + answer: "OpenAI reports that GPT-Red succeeded in 84% of held-out indirect prompt injection scenarios against GPT-5.1, compared with 13% for human red-teamers. These are OpenAI's internal results and have not yet been independently reproduced." + - question: "How did GPT-Red improve GPT-5.6 Sol?" + answer: "OpenAI used attacks from GPT-Red and its precursors while training production models from GPT-5.3 onward. GPT-5.6 Sol failed on 0.05% of GPT-Red's direct prompt injections and had six times fewer failures than OpenAI's best production model from four months earlier on its hardest direct prompt injection benchmark." + - question: "Does GPT-Red replace human security testing?" + answer: "No. OpenAI says automated red-teaming will complement human and third-party red-teaming, layered safeguards, and real-time monitoring. Human review remains important for threat modeling, realistic system context, and judging impact." +--- + +Prompt injection becomes harder to contain when an AI agent can browse the web, read email, inspect repositories, and call tools. A malicious instruction hidden in any of those inputs can compete with the user's request and turn ordinary context into an attack surface. + +OpenAI's response is [GPT-Red](https://openai.com/index/unlocking-self-improvement-gpt-red/), an internal automated red-teaming model trained to find prompt injection vulnerabilities at scale. Announced on July 15, 2026, GPT-Red attacks defender models through adversarial self-play. Successful attacks become training data for stronger defenders, which forces the attacker to keep finding new failure modes. + +This is not a public model release. There is no GPT-Red API, downloadable model, or independent benchmark result yet. What OpenAI has published is an early look at a safety training loop that has already influenced every production model since GPT-5.3. + +# GPT-Red turns red-teaming into a training loop + +Traditional red-teaming asks experts to devise attacks, observe failures, and help teams build mitigations. That work remains essential, but it is expensive to repeat at the volume needed for model training. A finite test set also becomes less informative as models learn to pass it. + +GPT-Red changes the unit of work from a fixed evaluation to an **adaptive attacker**. OpenAI describes a loop with three core steps: + +1. GPT-Red sends an attack to a defender model in a red-teaming environment. +2. It observes the defender's response and iterates toward a specified malicious goal. +3. Successful attacks train the defender, raising the difficulty for later attacks. + +This is adversarial self-play applied to safety. The attacker and defender improve against each other instead of optimizing against a static collection of prompts. OpenAI says it trained GPT-Red with compute comparable to some of its largest post-training runs, which makes the scale of the safety investment notable on its own. + +The approach targets both major forms of prompt injection: + +- **Direct prompt injection**, where the user sends a malicious instruction to the model. +- **Indirect prompt injection**, where an instruction arrives through untrusted third-party content such as a webpage, email, local file, tool response, or code repository. + +Indirect attacks are especially relevant to agents because useful context and hostile instructions can share the same channel. OpenAI's broader [prompt injection guidance](https://openai.com/safety/prompt-injections/) describes the problem as social engineering for AI systems, not simply a string-matching problem. + +# GPT-Red's reported prompt injection results + +OpenAI evaluated GPT-Red on defender models and scenarios outside its training distribution. The published numbers show a strong automated attacker, but they should be read as **vendor-reported internal evaluations** until the promised preprint provides enough detail for reproduction. + +| Evaluation | OpenAI-reported result | Why it matters | +| --- | ---: | --- | +| Held-out indirect prompt injection arena against GPT-5.1 | GPT-Red succeeded in **84%** of scenarios; human red-teamers succeeded in **13%** | Tests generalization to scenarios and goals not used to train GPT-Red | +| Fake chain-of-thought direct attacks | Above **95%** success on GPT-5.1; below **10%** on GPT-5.6 Sol | Shows how a discovered attack class weakened after adversarial training | +| GPT-Red direct prompt injections against GPT-5.6 Sol | **0.05%** defender failure rate | Measures robustness against the adaptive attacker itself | +| Hardest direct prompt injection benchmark | GPT-5.6 Sol had **6x fewer failures** than OpenAI's best production model four months earlier | Tracks robustness gains across model generations | +| Held-out developer-tool and browsing benchmarks | Above **97% accuracy** for OpenAI's latest model | Suggests several existing indirect-injection evaluations are nearing saturation | + +These figures do not make GPT-5.6 Sol immune to prompt injection. They cover particular environments, harnesses, attack budgets, and success criteria. OpenAI has not yet published the full methodology, confidence intervals, or attack transcripts needed to compare the system independently. + +That distinction matters because GPT-Red is a red-teamer, not a general-purpose frontier model. General model benchmarks from Artificial Analysis or LMArena would not measure the claim OpenAI is making here, and neither organization has published an independent GPT-Red evaluation. The relevant evidence is attack success against held-out defenders and the resulting change in defender robustness. + +# Real agents exposed failures that static tests miss + +OpenAI also tested whether GPT-Red could transfer attacks into realistic agent systems with incomplete knowledge of their underlying models and harnesses. + +In one case study, GPT-Red attacked **Vendy**, an AI agent from Andon Labs that manages a vending machine in OpenAI's office. GPT-Red first iterated against a simulation, then transferred its attack to the production agent. OpenAI reports that it achieved three goals: + +- Reduced an expensive in-stock item to the minimum allowed price of $0.50. +- Ordered a new item worth more than $100 and offered it for $0.50. +- Canceled another customer's order. + +OpenAI disclosed the vulnerabilities and says new safeguards are being tested. The case is useful because the harm did not require exotic model access. It came from manipulating an agent that could change prices, place orders, and modify customer state. + +A second evaluation targeted a Codex CLI agent backed by GPT-5.4 Mini across 10 held-out data-exfiltration scenarios. OpenAI says GPT-Red succeeded in more scenarios and used fewer tokens than a prompted GPT-5.5 baseline. The announcement does not publish the exact success counts, so those results cannot yet be quantified beyond the stated comparison. + +# Stronger defenses did not come from refusing more work + +A model can look robust by refusing broadly or losing the ability to use tools. That would lower attack success, but it would also make the agent less useful. + +OpenAI says it evaluated general frontier capabilities alongside targeted over-refusal tasks and found normal capabilities unaffected. Its interpretation is that GPT-5.6 Sol learned to resist malicious instructions more reliably instead of avoiding legitimate work. The forthcoming preprint will need to expose the evaluation design before that trade-off can be assessed independently. + +The training history also suggests that GPT-Red is not a one-off benchmark run. OpenAI used progressively stronger precursors in the training of each production model since GPT-5.3. As defenders improved, GPT-Red's attack success dropped monotonically across a broad set of robustness environments, creating pressure to produce more complex attacks. + +# Automated red-teaming is one layer of agent security + +GPT-Red's most important contribution is scale, not completeness. Automated attackers can generate diverse adversarial training data, replay regression suites, and search for combinations that humans may not try. They still operate inside environments and objectives that people design. + +OpenAI explicitly positions GPT-Red alongside human and third-party red-teaming, layered safeguards, and real-time monitoring. For teams building agents now, the announcement reinforces several practical controls: + +- **Minimize authority.** Give an agent only the data and tools required for the current task. +- **Separate instructions from untrusted data.** Treat webpages, emails, retrieved documents, repository content, and tool output as potentially hostile. +- **Require confirmation for consequential actions.** Price changes, purchases, deletions, messages, and data transfers need clear approval boundaries. +- **Test the whole harness.** Model-only evaluations miss vulnerabilities in tool descriptions, permissions, state handling, and application logic. +- **Continuously replay attacks.** Every successful prompt injection should become a regression test and, where possible, new adversarial training data. + +These controls line up with OpenAI's earlier guidance on [designing agents to resist prompt injection](https://openai.com/index/designing-agents-to-resist-prompt-injection/). Filtering suspicious text is not enough. Systems also need sandboxing, constrained data flow, monitoring, and limits on what a compromised agent can do. + +# Build AI agents with narrow, testable permissions + +GPT-Red is internal, and OpenAI says a preprint with more technical detail will follow. Until its environments and methodology are public, the reported gains are best treated as promising evidence for adaptive safety training rather than a solved security problem. + +Developers do not need GPT-Red to apply the core lesson. Design every agent around explicit authority boundaries, test it with adversarial content from every connected data source, and turn each failure into a permanent regression case. + +If you are building an AI workflow on Appwrite, start with [Appwrite's AI overview](/docs/products/ai) and the [OpenAI integration guide](/docs/products/ai/integrations/openai). Use [Appwrite Functions](/docs/products/functions) to keep provider credentials and privileged operations on the server, and create an [Appwrite Cloud](https://cloud.appwrite.io) project when you are ready to test the complete workflow. diff --git a/static/images/blog/gpt-red-automated-red-teaming/cover.png b/static/images/blog/gpt-red-automated-red-teaming/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..baf4479001e5d0b6036da6dc6e220e09e48e2259 GIT binary patch literal 258548 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%0DZKGVtFyh9T=Lq%nAV1sJn}+=QmD>Z) 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]G#Bf8sI-`BK$#z8k(wvAaha!CP9J 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 S3;vV9sVHhHRK7I-_<sO2I5*$` literal 0 HcmV?d00001 From 3eeeb8433a0709b5ebfd6ff9b23ba7b00ee0f3a1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Jul 2026 11:37:29 +0000 Subject: [PATCH 48/71] Use relative Appwrite docs links in Grok Build blog post --- .../blog/post/grok-build-open-source/+page.markdoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index 981b9fcd60..bd75b1b827 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -120,9 +120,9 @@ It also creates a clearer route for security review. The repository's [`SECURITY Grok Build already supports two standards that help an agent work safely and accurately in an Appwrite project: **`AGENTS.md` instructions and MCP servers**. -An [`AGENTS.md` file](https://appwrite.io/docs/tooling/ai/agents-md) gives the agent repository-specific conventions, including the framework, SDK, project structure, and Appwrite services in use. This keeps durable guidance in version control instead of repeating it in every prompt. +An [`AGENTS.md` file](/docs/tooling/ai/agents-md) gives the agent repository-specific conventions, including the framework, SDK, project structure, and Appwrite services in use. This keeps durable guidance in version control instead of repeating it in every prompt. -Appwrite's [MCP servers](https://appwrite.io/docs/tooling/ai/mcp-servers) serve a different role. The docs server gives an agent current Appwrite documentation, while the API server can interact with an authorized Appwrite project. Keep API credentials scoped to the operations the agent needs, review tool approvals, and separate documentation access from project mutation. +Appwrite's [MCP servers](/docs/tooling/ai/mcp-servers) serve a different role. The docs server gives an agent current Appwrite documentation, while the API server can interact with an authorized Appwrite project. Keep API credentials scoped to the operations the agent needs, review tool approvals, and separate documentation access from project mutation. Open source makes Grok Build easier to inspect and adapt, but safe agent operation still comes from explicit boundaries. Start with a test repository, review the privacy state, choose the inference endpoint deliberately, inspect enabled integrations, and grant the narrowest practical permissions. @@ -132,6 +132,6 @@ The Grok Build release pushes coding agents toward a more inspectable stack. Dev For the backend behind an AI-assisted project, [start on Appwrite Cloud](https://cloud.appwrite.io) and give your agent current, project-specific context through Appwrite's tooling: -- [Generate an `AGENTS.md` file](https://appwrite.io/docs/tooling/ai/agents-md) -- [Configure Appwrite MCP servers](https://appwrite.io/docs/tooling/ai/mcp-servers) -- [Explore Appwrite AI tooling](https://appwrite.io/docs/tooling/ai) +- [Generate an `AGENTS.md` file](/docs/tooling/ai/agents-md) +- [Configure Appwrite MCP servers](/docs/tooling/ai/mcp-servers) +- [Explore Appwrite AI tooling](/docs/tooling/ai) From dda11acfedd36d7db8b6ff891f68976a5757c909 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Jul 2026 11:39:17 +0000 Subject: [PATCH 49/71] chore: optimize GPT-Red blog assets --- .../+page.markdoc | 2 +- .../gpt-red-automated-red-teaming/cover.avif | Bin 0 -> 20464 bytes .../gpt-red-automated-red-teaming/cover.png | Bin 258548 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 static/images/blog/gpt-red-automated-red-teaming/cover.avif delete mode 100644 static/images/blog/gpt-red-automated-red-teaming/cover.png diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index 71e6cea18e..cbb2beff31 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: "GPT-Red automates prompt injection red-teaming" description: "GPT-Red uses adversarial self-play to find prompt injection failures at scale. See OpenAI's results, training loop, and lessons for agent builders." date: 2026-07-16 -cover: /images/blog/gpt-red-automated-red-teaming/cover.png +cover: /images/blog/gpt-red-automated-red-teaming/cover.avif timeToRead: 7 author: aishwari category: ai diff --git a/static/images/blog/gpt-red-automated-red-teaming/cover.avif b/static/images/blog/gpt-red-automated-red-teaming/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..74d9096cb3dc5b3b1978ee72723972b99852a58d GIT binary patch literal 20464 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 literal 0 HcmV?d00001 diff --git a/static/images/blog/gpt-red-automated-red-teaming/cover.png b/static/images/blog/gpt-red-automated-red-teaming/cover.png deleted file mode 100644 index baf4479001e5d0b6036da6dc6e220e09e48e2259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258548 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%0DZKGVtFyh9T=Lq%nAV1sJn}+=QmD>Z) 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]G#Bf8sI-`BK$#z8k(wvAaha!CP9J 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 S3;vV9sVHhHRK7I-_<sO2I5*$` From c244aaf438eb64a614aad6d8bca901a1ca0497d1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Jul 2026 11:39:22 +0000 Subject: [PATCH 50/71] Run bun optimize for Grok Build blog assets --- .../post/grok-build-open-source/+page.markdoc | 2 +- .../blog/grok-build-open-source/cover.avif | Bin 0 -> 14825 bytes .../blog/grok-build-open-source/cover.png | Bin 242719 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 static/images/blog/grok-build-open-source/cover.avif delete mode 100644 static/images/blog/grok-build-open-source/cover.png diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index bd75b1b827..0fea354673 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -3,7 +3,7 @@ layout: post title: "Grok Build is now open source" description: Grok Build is now open source under Apache 2.0, giving developers an inspectable coding-agent harness, local inference, and privacy controls. date: 2026-07-16 -cover: /images/blog/grok-build-open-source/cover.png +cover: /images/blog/grok-build-open-source/cover.avif timeToRead: 7 author: aishwari category: ai diff --git a/static/images/blog/grok-build-open-source/cover.avif b/static/images/blog/grok-build-open-source/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..e1798aaeb5703e0fd603891c23fb70abd5ce1585 GIT binary patch literal 14825 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 AVE_OC literal 0 HcmV?d00001 diff --git a/static/images/blog/grok-build-open-source/cover.png b/static/images/blog/grok-build-open-source/cover.png deleted file mode 100644 index 37fb86298c46f2896a4ab5aad179b9c940ec4871..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242719 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%0DZKGVtFyh9T=Lq%nAV1sJn}+=QmD>Z) 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]G#Bf8sI-`BK$#z8k(wvAaha!CP9J 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 P_mh=Wk^q1F;{U$@NT7ao From f14c38fee7a99aa4391faeedd3de79e5d2164683 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 16 Jul 2026 17:45:20 +0530 Subject: [PATCH 51/71] Update +page.markdoc --- src/routes/blog/post/grok-build-open-source/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index 0fea354673..abc0ec55aa 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -19,7 +19,7 @@ faqs: - question: "How do I disable data sharing in Grok Build?" answer: "Run `/privacy` to view the current status and `/privacy opt-out` to opt out of coding-data sharing. The open-source configuration guide also documents `telemetry = false` and `trace_upload = false` controls." - question: "Can developers contribute code to Grok Build?" - answer: "Not through external pull requests at launch. The repository's contributing guide says SpaceXAI develops the software internally and publishes a periodically synced public tree for source transparency and local builds. Developers can contact SpaceXAI engineers on X and submit security vulnerabilities through [HackerOne](https://hackerone.com/x?type=team)." + answer: "Not through external pull requests at launch. The repository's contributing guide says SpaceXAI develops the software internally and publishes a periodically synced public tree for source transparency and local builds." --- Coding agents can modify thousands of lines, run shell commands, and send code context to an inference service. That makes the harness around the model part of the security boundary, not just a convenient interface. From 9a5294907df4941733129d881ca91ccef1cb544e Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 16 Jul 2026 18:36:40 +0530 Subject: [PATCH 52/71] Apply suggestion from @aishwaripahwa12 --- src/routes/blog/post/grok-build-open-source/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index abc0ec55aa..bfc41d4a57 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -51,7 +51,7 @@ grok --version Windows users can install from PowerShell. The [Grok Build product page](https://x.ai/cli) also documents headless execution for scripts and CI, editor embedding through the Agent Client Protocol, and features including plan mode, subagents, skills, hooks, MCP servers, `AGENTS.md`, sandboxed execution, and Git integration. -# Open source does not mean open contribution yet +# Can developers contribute to the Grok Build open-source repository? There is an important distinction in this release. The code is licensed for use, modification, and redistribution under Apache 2.0, but the repository's contributing guide says **external pull requests and unsolicited patches are not accepted**. From 90671243053c56444f5e893eadfea5442f0b08d0 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 16 Jul 2026 18:36:50 +0530 Subject: [PATCH 53/71] Apply suggestion from @aishwaripahwa12 --- src/routes/blog/post/grok-build-open-source/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index bfc41d4a57..b7fbba2953 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -59,7 +59,7 @@ SpaceXAI develops Grok Build internally and periodically syncs the public tree f That limits community maintenance of the official project, even while the license enables independent forks. It also makes the announcement's goal of letting anyone help create a more reliable harness less direct than it would be with an open contribution process. The immediate value is transparency and experimentation. Upstream code collaboration may require SpaceXAI to change its contribution policy later. -# Local inference moves the privacy boundary +# Can Grok Build run local AI models for private coding? Open-sourcing the harness gives developers control over one half of an agent system. The other half is inference, where prompts, source snippets, and tool results are processed by a model. From dc80e2b786f066fe0510c69e84d518a73bffae10 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa <aishwaripahwa12@gmail.com> Date: Thu, 16 Jul 2026 18:37:29 +0530 Subject: [PATCH 54/71] Apply suggestion from @aishwaripahwa12 --- src/routes/blog/post/grok-build-open-source/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index b7fbba2953..656e180ea9 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -108,7 +108,7 @@ The repository additionally documents an optional external OpenTelemetry stream The deletion of previously retained data remains a company commitment stated in the announcement, not something a client-side code audit can independently prove. Teams with contractual retention requirements should verify their account policy and deployment path with SpaceXAI rather than inferring server behavior from the CLI alone. -# The harness is now part of the evaluation surface +# Why the Grok Build coding-agent harness matters for evaluation and security Model benchmarks measure only part of an agent's usefulness. A coding agent also depends on context collection, tool schemas, permission handling, retry behavior, compaction, code search, checkpointing, and the quality of the prompts wrapped around each model call. From 86d83f0927dde94b36268ffd9ee5e238a4f393b5 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal <chiragaggarwal5k@gmail.com> Date: Thu, 16 Jul 2026 20:57:26 +0530 Subject: [PATCH 55/71] Add BIMI logo SVG for email sender branding (#3108) * (feat): add BIMI logo SVG for email sender branding * (feat): use dark gradient favicon style for BIMI logo --- static/bimi.svg | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 static/bimi.svg diff --git a/static/bimi.svg b/static/bimi.svg new file mode 100644 index 0000000000..403320b332 --- /dev/null +++ b/static/bimi.svg @@ -0,0 +1,33 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny-ps" viewBox="0 0 400 400"> + <title>Appwrite + + + + + + + + + + + + + + + + + + + + + + + + From 1fb64804ea55ec936d6fa36a612f440ca405bb4f Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Fri, 17 Jul 2026 13:04:37 +0530 Subject: [PATCH 56/71] chore: update Grok Build blog cover --- .optimize-cache.json | 2 +- .../blog/grok-build-open-source/cover.avif | Bin 14825 -> 4932 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.optimize-cache.json b/.optimize-cache.json index 83e6c8044f..828a3aaef7 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -702,7 +702,7 @@ "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", "static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.png": "2156c5047fa2630e148ea0fd5189c4d08579b5c96e92530c4ae45b642acb6589", "static/images/blog/grok-45-coding-model/cover.png": "b40f87952b940767f393a93a7628f8277119862a3a3ac7b7d40d7ee5679213ff", - "static/images/blog/grok-build-open-source/cover.png": "5503c94f1019477e5497f54f6fecc30c81dfd4bd3037aa906168727677579095", + "static/images/blog/grok-build-open-source/cover.png": "b6550e801f952ba0446227c7f9295d3e5beb12e5d7f9e62547c5a3ffa78e674f", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", "static/images/blog/handle-cors-in-serverless-functions/cover.png": "9db00c07cedfbc97f7c4a1a79d1ce1f0d31adab3ea246935ac9bdc9f47fc1e4c", diff --git a/static/images/blog/grok-build-open-source/cover.avif b/static/images/blog/grok-build-open-source/cover.avif index e1798aaeb5703e0fd603891c23fb70abd5ce1585..482061789600ecf1e3fb74c9b3824b9060f91500 100644 GIT binary patch delta 4623 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 Date: Fri, 17 Jul 2026 13:07:33 +0530 Subject: [PATCH 57/71] Apply suggestion from @aishwaripahwa12 --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index cbb2beff31..db4598a2ce 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -15,7 +15,7 @@ faqs: - question: "Can developers use GPT-Red?" answer: "No. OpenAI describes GPT-Red as internal-only and has not announced an API or public release. The company says it plans to publish a preprint with more technical details." - question: "How effective is GPT-Red?" - answer: "OpenAI reports that GPT-Red succeeded in 84% of held-out indirect prompt injection scenarios against GPT-5.1, compared with 13% for human red-teamers. These are OpenAI's internal results and have not yet been independently reproduced." + answer: "In OpenAI’s internal replication of an indirect prompt injection arena, GPT-Red succeeded in 84% of the predefined scenarios against GPT-5.1, compared with 13% for human red-teamers. These results have not yet been independently reproduced. These are OpenAI's internal results and have not yet been independently reproduced." - question: "How did GPT-Red improve GPT-5.6 Sol?" answer: "OpenAI used attacks from GPT-Red and its precursors while training production models from GPT-5.3 onward. GPT-5.6 Sol failed on 0.05% of GPT-Red's direct prompt injections and had six times fewer failures than OpenAI's best production model from four months earlier on its hardest direct prompt injection benchmark." - question: "Does GPT-Red replace human security testing?" From dd66cd7ea4602d85e4d3f93a7a2ecebbf4f2abec Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 17 Jul 2026 13:07:56 +0530 Subject: [PATCH 58/71] Apply suggestion from @aishwaripahwa12 --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index db4598a2ce..52c0d3765d 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -15,7 +15,7 @@ faqs: - question: "Can developers use GPT-Red?" answer: "No. OpenAI describes GPT-Red as internal-only and has not announced an API or public release. The company says it plans to publish a preprint with more technical details." - question: "How effective is GPT-Red?" - answer: "In OpenAI’s internal replication of an indirect prompt injection arena, GPT-Red succeeded in 84% of the predefined scenarios against GPT-5.1, compared with 13% for human red-teamers. These results have not yet been independently reproduced. These are OpenAI's internal results and have not yet been independently reproduced." + answer: "In OpenAI’s internal replication of an indirect prompt injection arena, GPT-Red succeeded in 84% of the predefined scenarios against GPT-5.1, compared with 13% for human red-teamers. These results have not yet been independently reproduced." - question: "How did GPT-Red improve GPT-5.6 Sol?" answer: "OpenAI used attacks from GPT-Red and its precursors while training production models from GPT-5.3 onward. GPT-5.6 Sol failed on 0.05% of GPT-Red's direct prompt injections and had six times fewer failures than OpenAI's best production model from four months earlier on its hardest direct prompt injection benchmark." - question: "Does GPT-Red replace human security testing?" From aa929c6426d7b5b34572b28e5cf08c3f1a4c7de6 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Fri, 17 Jul 2026 13:08:17 +0530 Subject: [PATCH 59/71] chore: reuse GPT-5.6 cover for GPT-Red blog --- .optimize-cache.json | 1 - .../gpt-red-automated-red-teaming/+page.markdoc | 4 ++-- .../gpt-red-automated-red-teaming/cover.avif | Bin 20464 -> 0 bytes 3 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 static/images/blog/gpt-red-automated-red-teaming/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index c491d691e5..02c057507a 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -701,7 +701,6 @@ "static/images/blog/gpt-5-5-launch/card-problem.png": "9cfd1fa44c5f8d76a54904d1e656595f1580721d498952a96105dd6f9ddc82fd", "static/images/blog/gpt-5-5-launch/cover.png": "768138556cc8a3c1645ff1c602ea1ac5ba2eb373f8f642d2c023e6380950ec08", "static/images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.png": "2156c5047fa2630e148ea0fd5189c4d08579b5c96e92530c4ae45b642acb6589", - "static/images/blog/gpt-red-automated-red-teaming/cover.png": "fca9cd06be147da220527792a43e9a8af42ff2cfce8d9db8abe7884e1902300d", "static/images/blog/grok-45-coding-model/cover.png": "b40f87952b940767f393a93a7628f8277119862a3a3ac7b7d40d7ee5679213ff", "static/images/blog/hacktoberfest-2023.png": "e0521ba26e59dacf91072391f7eb0df0e724457961fec4cb04a4914b31dd0024", "static/images/blog/hacktoberfest2023-swag.png": "7a0af270f7fe24c53e2497ca59bead84255d2d2e882dd38473b1bc6bb0a22d1f", diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index 52c0d3765d..e5d4b0e808 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -3,12 +3,12 @@ layout: post title: "GPT-Red automates prompt injection red-teaming" description: "GPT-Red uses adversarial self-play to find prompt injection failures at scale. See OpenAI's results, training loop, and lessons for agent builders." date: 2026-07-16 -cover: /images/blog/gpt-red-automated-red-teaming/cover.avif +cover: /images/blog/gpt-56-is-here-openais-efficient-frontier-model/cover.avif timeToRead: 7 author: aishwari category: ai featured: false -unlisted: true +unlisted: false faqs: - question: "What is GPT-Red?" answer: "GPT-Red is OpenAI's internal automated red-teaming model. It iteratively creates prompt injection attacks against defender models, then uses successful attacks as training data to strengthen those defenders." diff --git a/static/images/blog/gpt-red-automated-red-teaming/cover.avif b/static/images/blog/gpt-red-automated-red-teaming/cover.avif deleted file mode 100644 index 74d9096cb3dc5b3b1978ee72723972b99852a58d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20464 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 From 2a98add6fa799293e72fb3be679c1df3eea7471d Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Fri, 17 Jul 2026 13:09:06 +0530 Subject: [PATCH 60/71] chore: list Grok Build blog post --- src/routes/blog/post/grok-build-open-source/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/grok-build-open-source/+page.markdoc b/src/routes/blog/post/grok-build-open-source/+page.markdoc index 656e180ea9..5987cb592f 100644 --- a/src/routes/blog/post/grok-build-open-source/+page.markdoc +++ b/src/routes/blog/post/grok-build-open-source/+page.markdoc @@ -8,7 +8,7 @@ timeToRead: 7 author: aishwari category: ai featured: false -unlisted: true +unlisted: false faqs: - question: "Is Grok Build open source?" answer: "Yes. SpaceXAI published the Grok Build CLI, terminal UI, and agent runtime on [GitHub](https://github.com/xai-org/grok-build) under the Apache License 2.0. The repository can be inspected, modified, and built locally, although SpaceXAI does not currently accept external pull requests." From 688f7e730ebc819a9f5822c1fe6913e7336a6515 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 17 Jul 2026 13:10:09 +0530 Subject: [PATCH 61/71] Update +page.markdoc --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index e5d4b0e808..f227ec1be6 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -61,8 +61,6 @@ OpenAI evaluated GPT-Red on defender models and scenarios outside its training d These figures do not make GPT-5.6 Sol immune to prompt injection. They cover particular environments, harnesses, attack budgets, and success criteria. OpenAI has not yet published the full methodology, confidence intervals, or attack transcripts needed to compare the system independently. -That distinction matters because GPT-Red is a red-teamer, not a general-purpose frontier model. General model benchmarks from Artificial Analysis or LMArena would not measure the claim OpenAI is making here, and neither organization has published an independent GPT-Red evaluation. The relevant evidence is attack success against held-out defenders and the resulting change in defender robustness. - # Real agents exposed failures that static tests miss OpenAI also tested whether GPT-Red could transfer attacks into realistic agent systems with incomplete knowledge of their underlying models and harnesses. From e9f8644451a7bab4e25e874aa330515f97e02479 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 17 Jul 2026 13:22:26 +0530 Subject: [PATCH 62/71] Apply suggestion from @aishwaripahwa12 --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index f227ec1be6..17632e76a6 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -83,7 +83,7 @@ OpenAI says it evaluated general frontier capabilities alongside targeted over-r The training history also suggests that GPT-Red is not a one-off benchmark run. OpenAI used progressively stronger precursors in the training of each production model since GPT-5.3. As defenders improved, GPT-Red's attack success dropped monotonically across a broad set of robustness environments, creating pressure to produce more complex attacks. -# Automated red-teaming is one layer of agent security +# Why GPT-Red automated red-teaming is one layer of AI agent security GPT-Red's most important contribution is scale, not completeness. Automated attackers can generate diverse adversarial training data, replay regression suites, and search for combinations that humans may not try. They still operate inside environments and objectives that people design. From f4a512e4d0accd46ec56528bab6b10e08909549f Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 17 Jul 2026 13:22:33 +0530 Subject: [PATCH 63/71] Apply suggestion from @aishwaripahwa12 --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index 17632e76a6..4cdf619ff7 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -61,7 +61,7 @@ OpenAI evaluated GPT-Red on defender models and scenarios outside its training d These figures do not make GPT-5.6 Sol immune to prompt injection. They cover particular environments, harnesses, attack budgets, and success criteria. OpenAI has not yet published the full methodology, confidence intervals, or attack transcripts needed to compare the system independently. -# Real agents exposed failures that static tests miss +# How GPT-Red tests prompt injection attacks on real AI agents OpenAI also tested whether GPT-Red could transfer attacks into realistic agent systems with incomplete knowledge of their underlying models and harnesses. From 768744483d1716d2e6d792f1aa1bfbd4812bcd87 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 17 Jul 2026 13:22:42 +0530 Subject: [PATCH 64/71] Apply suggestion from @aishwaripahwa12 --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index 4cdf619ff7..e630eebeda 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -75,7 +75,7 @@ OpenAI disclosed the vulnerabilities and says new safeguards are being tested. T A second evaluation targeted a Codex CLI agent backed by GPT-5.4 Mini across 10 held-out data-exfiltration scenarios. OpenAI says GPT-Red succeeded in more scenarios and used fewer tokens than a prompted GPT-5.5 baseline. The announcement does not publish the exact success counts, so those results cannot yet be quantified beyond the stated comparison. -# Stronger defenses did not come from refusing more work +# How GPT-Red improves prompt injection defenses without over-refusal A model can look robust by refusing broadly or losing the ability to use tools. That would lower attack success, but it would also make the agent less useful. From 1db3dbea244d3caad681b65fe43b803f88d47553 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Fri, 17 Jul 2026 13:27:03 +0530 Subject: [PATCH 65/71] Apply suggestion from @aishwaripahwa12 --- .../blog/post/gpt-red-automated-red-teaming/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc index e630eebeda..261f482eea 100644 --- a/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc +++ b/src/routes/blog/post/gpt-red-automated-red-teaming/+page.markdoc @@ -97,7 +97,7 @@ OpenAI explicitly positions GPT-Red alongside human and third-party red-teaming, These controls line up with OpenAI's earlier guidance on [designing agents to resist prompt injection](https://openai.com/index/designing-agents-to-resist-prompt-injection/). Filtering suspicious text is not enough. Systems also need sandboxing, constrained data flow, monitoring, and limits on what a compromised agent can do. -# Build AI agents with narrow, testable permissions +# Build safer AI workflows with Appwrite GPT-Red is internal, and OpenAI says a preprint with more technical detail will follow. Until its environments and methodology are public, the reported gains are best treated as promising evidence for adaptive safety training rather than a solved security problem. From 93d807c7187f727af08f307279793ca888d472c2 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Mon, 20 Jul 2026 16:47:49 +0530 Subject: [PATCH 66/71] seo blogs for init --- .optimize-cache.json | 2 + .../+page.markdoc | 125 ++++++++++ .../+page.markdoc | 221 ++++++++++++++++++ .../cover.avif | Bin 0 -> 8427 bytes .../cover.avif | Bin 0 -> 6457 bytes 5 files changed, 348 insertions(+) create mode 100644 src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc create mode 100644 src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc create mode 100644 static/images/blog/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/cover.avif create mode 100644 static/images/blog/sql-explained-how-developers-query-databases/cover.avif diff --git a/.optimize-cache.json b/.optimize-cache.json index 828a3aaef7..4598314011 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -852,6 +852,7 @@ "static/images/blog/manage-user-permissions-with-labels-and-teams/labels4.png": "b5b5d3c2be622e9c096d5977559e3a26ca2b5fa7ed3b0f81a5ab24e4b1fdc88b", "static/images/blog/manage-user-permissions-with-labels-and-teams/labels5.png": "bee498d03d3391524aa5ee6c574febfd3f881e3a4cbfe9498e7e8389574025be", "static/images/blog/manage-user-permissions-with-labels-and-teams/labels6.png": "02bd833be8556be4a2b1c557a495339fe74403b2254781b43a5e04ed1431f71f", + "static/images/blog/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/cover.png": "9eea0d555454fd5e43141b78bbd1f9484face6eb94f4ecd9141afb82c927a3ca", "static/images/blog/managing-website-assets-repo-cold-start/cover.png": "ff11c54070d4662b6cde70e1b95c8a944e382e353928a68dae5e2baa45ba3b73", "static/images/blog/master-prompt-engineering-tools/cover.png": "4ca1cedae3df550ee8b3613ebbd4643f02f1ad60fc9bf46a5d06c344497d5662", "static/images/blog/master-prompt-engineering-tools/langchain.png": "3366f36adeb0d73b75aa0ead5d8f47ae26a19bbcceeb4ed89b6d9ce66dd8c57c", @@ -1124,6 +1125,7 @@ "static/images/blog/solving-the-headaches-of-screenshot-automation-and-why-an-api-first-approach-works-better/cover.png": "9e34877fdbcc3439de5a858704c8d18ced08236ac8e3c46ba3bdba275f2b365d", "static/images/blog/sound-null-safety-for-your-dart-functions/cover.png": "73fb957b009391b97b6498acb6747cfb44f1ec21a3d465d7ba2716c807891fac", "static/images/blog/spacex-acquires-cursor-in-60-billion-ai-deal/cover.png": "885a59baa3e35ae43daa9d48db40533e7c11305411d9df6016da4240e9bf1fc3", + "static/images/blog/sql-explained-how-developers-query-databases/cover.png": "0f3d6d21772d3629b253cac2cb1b1f11364c8e18221e9f89c712be22e260b5d1", "static/images/blog/sql-vs-nosql/cover.png": "34afe294601659597c290ce1f2766eb2cc0b968775bc23dfe58dea3807339621", "static/images/blog/ssr-announcement.png": "c96acddc105a9d8dafaba838f3400766ab0f95a130eac7bc52f20daa325ef2c9", "static/images/blog/ssr-how-to-create-sites.png": "903b06eff29c30d05e51511902bb315b388324a69b11ab322e699727a6d00296", diff --git a/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc b/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc new file mode 100644 index 0000000000..6ca0f959bf --- /dev/null +++ b/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc @@ -0,0 +1,125 @@ +--- +layout: post +title: "Managed Postgres vs. serverless databases: Which one should developers choose?" +description: Compare managed Postgres and serverless databases across scaling, pricing, performance, and when to choose each for your app. +date: 2026-07-20 +cover: /images/blog/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/cover.avif +timeToRead: 5 +author: aishwari +category: comparisons +featured: false +unlisted: true +faqs: + - question: Is a serverless database cheaper than managed Postgres? + answer: A serverless database is usually cheaper for low-traffic, spiky, or unpredictable workloads because you pay based on usage. Managed Postgres can be cheaper for steady, high-volume workloads because the provisioned instance is used consistently. + - question: Do serverless databases have cold starts? + answer: Some serverless databases can have cold starts when compute scales to zero and needs to resume. This can add latency to the first query after an idle period, so it matters for latency-sensitive applications. + - question: Is serverless Postgres the same as managed Postgres? + answer: No. Serverless Postgres is still managed, but it uses automatic scaling and usage-based billing. Traditional managed Postgres runs as a provisioned, always-on instance with fixed capacity. + - question: Is managed Postgres better than a serverless database? + answer: Managed Postgres is better for steady workloads, predictable traffic, low-latency applications, and teams that need full control over PostgreSQL configuration. A serverless database is better for spiky, unpredictable, or low-traffic workloads where automatic scaling and usage-based pricing matter more. +--- +# Managed Postgres vs. serverless databases: Which one should developers choose? + +**Choose managed Postgres when your workload is steady and you want full control over a proven relational engine. Choose a serverless database when your traffic is spiky or unpredictable and you want to pay only for what you use, scale automatically, and avoid capacity planning.** Both run [PostgreSQL](https://www.postgresql.org/) or a Postgres-compatible engine under the hood, so the real decision is about the operating model, not the query language. + +That distinction matters because picking the wrong model shows up later as a surprise bill, a scaling wall, or a migration you did not budget for. This guide breaks down managed Postgres and serverless databases across scaling, pricing, performance, and operations, then gives you concrete guidance on when to pick each. + +# What is a managed Postgres database? + +**A managed Postgres database is a PostgreSQL instance that a cloud provider hosts and maintains for you, while you still control its size, configuration, and connection limits.** You pick an instance class, the provider handles backups, patching, replication, and failover, and you pay for that provisioned capacity whether or not it is fully used. + +Services like [Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/), [Google Cloud SQL](https://cloud.google.com/sql), and Azure Database for PostgreSQL are the common examples. You get a real Postgres server with a fixed amount of CPU, memory, and storage that runs continuously. + +The model is predictable. You know exactly how much compute you have, connection pooling behaves the way you expect, and there are no cold starts. The trade-off is that you provision for peak load, so capacity sits idle during quiet periods and you still pay for it. + +# What is a serverless database? + +**A serverless database separates storage from compute and scales that compute automatically based on demand, often down to zero when idle, and bills you for actual usage rather than reserved capacity.** You do not choose an instance size. The platform adds and removes resources for you as queries arrive. + +[Amazon Aurora Serverless](https://aws.amazon.com/rds/aurora/serverless/) and [Neon](https://neon.tech/) are well-known Postgres-compatible examples. If you are new to the broader model, our guide on [what serverless means](/blog/post/what-is-serverless-an-expert-guide-for-developers) covers the fundamentals of event-driven, pay-per-use infrastructure. + +The appeal is that you stop thinking about capacity. Traffic doubles overnight and the database scales without a manual resize. Traffic drops to nothing and your bill follows. The trade-off is less direct control and, in some implementations, a cold start when the compute layer has scaled to zero and needs to spin back up. + +# Managed Postgres vs. serverless databases: the key differences + +Both options can run identical SQL. The differences live in how they scale, how they charge, how they perform under load, and how much operational work they push back to you. + +## Scaling + +**Managed Postgres scales vertically and manually.** When you outgrow an instance, you resize it, which usually means a maintenance window or a brief failover to a larger machine. You can add read replicas to spread read traffic, but write scaling and sharding take real engineering effort. + +**Serverless databases scale automatically and elastically.** The compute layer expands to absorb bursts and contracts when demand falls, with no manual resize. This is the single biggest reason teams reach for serverless: unpredictable workloads stop being a capacity-planning problem. + +If your load is steady and well understood, manual scaling is rarely a burden. If it swings wildly or you genuinely cannot predict it, automatic scaling earns its keep. + +## Pricing + +**Managed Postgres bills for provisioned capacity.** You pay for the instance around the clock, so a database sized for peak traffic costs the same at 3 a.m. as it does during your busiest hour. For steady, high-utilization workloads this is often the cheaper model because you are not paying a premium for elasticity. + +**Serverless databases bill for actual usage,** typically some combination of compute units consumed, storage, and data transfer. For spiky or low-average traffic this can be dramatically cheaper, since idle time costs little or nothing. For sustained high traffic, per-usage pricing can end up more expensive than a right-sized provisioned instance. + +The honest summary: serverless wins on variable and bursty workloads, provisioned wins on steady, predictable ones. Model your real traffic before assuming either is cheaper. + +## Performance and cold starts + +**Managed Postgres delivers consistent, predictable latency** because the server is always running and warm. There is no spin-up penalty, which matters for latency-sensitive applications where every request must be fast. + +**Serverless databases can introduce cold starts.** When compute has scaled to zero, the first query after an idle period waits for the layer to resume, adding latency to that request. Providers have narrowed this gap considerably, and many keep a warm floor available, but it remains a real consideration for workloads that cannot tolerate an occasional slow first request. + +Connection handling also differs. Traditional Postgres has a finite connection limit, and serverless application layers that open many short-lived connections can exhaust it. Serverless databases usually build in pooling to handle this, whereas with managed Postgres you often add a pooler like PgBouncer yourself. + +## Operational overhead + +**Managed Postgres removes most, but not all, of the operations work.** The provider handles patching, backups, and failover, but you still own capacity planning, connection pooling strategy, replica configuration, and deciding when to scale up. + +**Serverless databases push more of that to the platform.** Capacity planning largely disappears, and scaling decisions are automatic. You give up some low-level tuning knobs in exchange, which is usually a fair trade for teams that would rather ship features than manage infrastructure. + +# Managed Postgres vs. serverless databases at a glance + +| Aspect | Managed Postgres | Serverless database | +| ----------- | ----------------------------------------------- | -------------------------------------------- | +| Scaling | Manual, vertical, add replicas | Automatic, elastic, often to zero | +| Pricing | Provisioned capacity, billed continuously | Usage-based, pay for what runs | +| Latency | Consistent, always warm | Fast when warm, cold starts possible | +| Connections | You manage pooling | Pooling usually built in | +| Operations | Provider handles maintenance, you plan capacity | Platform handles scaling too | +| Best for | Steady, predictable, high-utilization workloads | Spiky, unpredictable, or low-average traffic | + +# When should you choose managed Postgres? + +Pick managed Postgres when your workload is steady and your access patterns are well understood. If your database runs at consistent utilization most of the day, provisioned pricing is usually cheaper and latency is predictable. + +It is also the stronger choice when you need fine-grained control, such as specific extensions, custom configuration, or a particular connection-pooling setup. And if you are latency-sensitive enough that an occasional cold start would hurt user experience, an always-warm instance removes that risk entirely. + +In short, managed Postgres rewards predictability. When you can size for your load and keep utilization high, you get a proven engine with no surprises. + +# When should you choose a serverless database? + +Pick a serverless database when your traffic is spiky, seasonal, or genuinely unpredictable. Development and staging environments, side projects, and early-stage products with uneven usage all benefit from scale-to-zero, because you stop paying for a database that mostly sits idle. + +It also fits teams that want to avoid capacity planning altogether. If you would rather not think about instance sizes and resize windows, letting the platform scale compute automatically frees up real engineering time. + +Just weigh the trade-offs honestly. If you know your workload will grow into steady, high-volume traffic, run the numbers, because usage-based pricing can cross over and become more expensive than a right-sized provisioned instance at scale. + +# Where a backend platform fits in + +Sometimes the real question is not which database engine to run, but how much of the surrounding backend you want to build yourself. Whichever storage model you choose, you still need authentication, file storage, serverless functions, and access control around your data. + +[Appwrite Databases](/docs/products/databases) takes an API-first approach: instead of managing connections and raw SQL, you interact with your data through APIs and SDKs, with permissions, queries, and realtime updates built in. It pairs the developer experience of a document model with the rest of a [backend as a service](/blog/post/backend-as-a-service), so auth, storage, and functions live alongside your data. + +That is a different trade-off from a bare database, and it is a fair one to name. A pure managed Postgres or serverless Postgres service gives you direct SQL access and maximum control over the engine. A backend platform trades some of that low-level control for speed of development and fewer moving parts to operate. If you are weighing relational against document models more broadly, our breakdown of [SQL vs NoSQL](/blog/post/sql-vs-nosql) and [document vs relational databases](/blog/post/document-vs-relational-databases-vibecoding) go deeper on that decision. + +# Getting started with Appwrite Databases + +The managed-versus-serverless choice comes down to your traffic shape. Steady and predictable favors provisioned managed Postgres. Spiky and unpredictable favors serverless. But if what you actually want is to ship an application without stitching a database together with auth, storage, and functions yourself, a managed backend removes that work entirely. + +[Appwrite Databases](/docs/products/databases) gives you a fully managed database with built-in permissions, queries, and realtime updates, alongside authentication, storage, and functions in one platform. You get automated backups and managed scaling on the [free plan](/pricing) as well as paid tiers, with no servers to provision. [Sign up for Appwrite Cloud](https://cloud.appwrite.io/register) and give your next build a backend to grow on in minutes. + +## Resources + +* [Appwrite Databases documentation](/docs/products/databases) +* [What is serverless? An expert guide for developers](/blog/post/what-is-serverless-an-expert-guide-for-developers) +* [SQL vs NoSQL: Choosing the right database for your project](/blog/post/sql-vs-nosql) +* [Integrate SQL, NoSQL, Vector, Graph, or any database into your Appwrite project](/blog/post/integrate-sql-nosql-vector-graph-or-any-database-into-your-appwrite-project) +* [Join the Appwrite Discord](https://appwrite.io/discord) \ No newline at end of file diff --git a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc new file mode 100644 index 0000000000..508f5f69bf --- /dev/null +++ b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc @@ -0,0 +1,221 @@ +--- +layout: post +title: "SQL explained: How developers query databases" +description: Learn what SQL is, how queries work, and how developers use it to read, write, and manage data in relational databases. +date: 2026-07-20 +cover: /images/blog/sql-explained-how-developers-query-databases/cover.avif +timeToRead: 5 +author: aishwari +category: best-practices +featured: false +unlisted: true +faqs: + - question: What is SQL used for? + answer: SQL is used to read, write, update, and delete data in relational databases. Developers use SQL to query tables, filter records, join related data, create reports, and manage application data. + - question: What is a SQL query? + answer: A SQL query is an instruction sent to a database. It can ask the database to return data, insert new records, update existing records, delete rows, or summarize information using filters, joins, and aggregate functions. + - question: Do developers still need to learn SQL? + answer: Yes. Even if you use an ORM, backend platform, or Query API, SQL helps you understand how databases filter, sort, join, aggregate, and manage data. It gives you the mental model behind most application data workflows. + - question: What is the difference between SQL and NoSQL? + answer: SQL databases store data in structured tables with rows, columns, schemas, and relationships. NoSQL databases use more flexible models such as documents, key-value pairs, or graphs. SQL is usually better for relational data and transactions, while NoSQL can be better for flexible or rapidly changing data. + - question: Is SQL a programming language? + answer: SQL is a query language, not a general-purpose programming language like JavaScript or Python. It is designed specifically for working with relational databases and describing what data you want the database to return or change. +--- +Almost every application you use is backed by a database, and most of those databases speak the same language: SQL. If you have ever loaded a list of orders, filtered a product catalog, or looked up a user by email, a SQL query ran somewhere to make it happen. + +This guide explains what SQL is, how queries actually work, and how developers use SQL to read, write, and manage data in relational databases. No prior database experience required. + +# What is SQL? + +**SQL (Structured Query Language)** is the standard language for working with relational databases. You use it to ask a database questions ("give me every user who signed up this week") and to change what it stores ("mark this order as shipped"). + +SQL is declarative. You describe *what* data you want, not *how* to fetch it. The database engine figures out the most efficient way to find and return the results. That single idea is why SQL has stayed the industry standard for decades across databases like [PostgreSQL](https://www.postgresql.org/docs/), [MySQL](https://dev.mysql.com/doc/), [MariaDB](https://mariadb.org/documentation/), and [SQLite](https://www.sqlite.org/docs.html). + +# How relational databases store data + +Before you can query data, it helps to know how a relational database organizes it. Data lives in **tables**, and each table is a grid of **rows** and **columns**. + +* A **table** represents one type of thing, such as `users` or `orders`. +* A **column** defines a single attribute and its data type, such as `email` (text) or `created_at` (date). +* A **row** is one record, such as one specific user. + +Tables connect to each other through **keys**. A **primary key** uniquely identifies each row in a table, while a **foreign key** in one table points to the primary key of another. That relationship is what lets you link an order back to the user who placed it, and it is the foundation every SQL query builds on. + +# The four core SQL operations + +Almost everything you do in SQL falls into four operations, often called **CRUD**: Create, Read, Update, and Delete. + +* **`SELECT`** reads data from one or more tables. +* **`INSERT`** adds new rows. +* **`UPDATE`** changes existing rows. +* **`DELETE`** removes rows. + +`SELECT` is the one you will write most often, so it is worth understanding in detail. + +# How developers query databases with SELECT + +A SQL query reads like a sentence. To get every column for every user, you write: + +```sql +SELECT * FROM users; +``` + +The `*` means "all columns." In real applications you usually name only the columns you need, which is faster and clearer: + +```sql +SELECT email, name FROM users; +``` + +## Filtering rows with WHERE + +Most queries do not want every row. The `WHERE` clause filters results to only the rows that match a condition: + +```sql +SELECT email, name +FROM users +WHERE country = 'US'; +``` + +You can combine conditions with `AND` and `OR`, and use operators like `>`, `<`, `!=`, `LIKE` for partial text matches, and `IN` for a list of values: + +```sql +SELECT email, name +FROM users +WHERE country = 'US' + AND created_at > '2026-01-01'; +``` + +## Sorting and limiting results + +`ORDER BY` sorts the results, and `LIMIT` caps how many rows come back. Together they answer questions like "the 10 most recent signups": + +```sql +SELECT email, name +FROM users +ORDER BY created_at DESC +LIMIT 10; +``` + +`DESC` sorts in descending order (newest first), and `ASC` sorts ascending. Sorting and limiting are also the building blocks of pagination, which is how apps load data one page at a time instead of all at once. + +# Combining tables with JOINs + +The real power of SQL shows up when you pull data from multiple tables in a single query. This is what "relational" means in practice, and it is done with a **`JOIN`**. + +Say you have a `users` table and an `orders` table, where each order stores the `user_id` of the person who placed it. To list every order alongside the buyer's name, you join the two tables on that key: + +```sql +SELECT orders.id, orders.total, users.name +FROM orders +JOIN users ON orders.user_id = users.id; +``` + +The most common join types are: + +* **`INNER JOIN`**: returns only rows that have a match in both tables. +* **`LEFT JOIN`**: returns all rows from the left table, with matching data from the right where it exists. +* **`RIGHT JOIN`**: the reverse of a left join. + +Joins are one of the strongest reasons to reach for a relational database. If your data has clear relationships, SQL lets you traverse them efficiently in one query instead of stitching results together in application code. + +# Aggregating data with GROUP BY + +SQL can also summarize data, not just return raw rows. **Aggregate functions** like `COUNT`, `SUM`, `AVG`, `MIN`, and `MAX` compute a single value across many rows. + +To count how many orders each user has placed, you group the rows by user and count each group: + +```sql +SELECT user_id, COUNT(*) AS order_count +FROM orders +GROUP BY user_id; +``` + +`GROUP BY` collapses rows that share a value into a single result row, and the aggregate function runs over each group. Add a `HAVING` clause to filter those groups, for example to find only users with more than five orders. This is how dashboards, reports, and analytics screens get their numbers. + +# Writing and changing data + +Reading is only half of SQL. The other three CRUD operations change what the database stores. + +Add a new row with `INSERT`: + +```sql +INSERT INTO users (email, name, country) +VALUES ('ada@example.com', 'Ada', 'UK'); +``` + +Change existing rows with `UPDATE`, always paired with a `WHERE` clause so you do not accidentally update the whole table: + +```sql +UPDATE users +SET country = 'US' +WHERE email = 'ada@example.com'; +``` + +Remove rows with `DELETE`, again scoped with `WHERE`: + +```sql +DELETE FROM users +WHERE email = 'ada@example.com'; +``` + +A missing `WHERE` on an `UPDATE` or `DELETE` affects every row in the table. It is the most common way developers cause real damage in production, so treat those two statements with care. + +# How SQL keeps data correct: transactions and ACID + +When several changes must succeed or fail together, SQL uses **transactions**. A classic example is a money transfer: you subtract from one account and add to another, and it must never happen that one succeeds while the other fails. + +```sql +BEGIN; +UPDATE accounts SET balance = balance - 100 WHERE id = 1; +UPDATE accounts SET balance = balance + 100 WHERE id = 2; +COMMIT; +``` + +If anything goes wrong before `COMMIT`, you can `ROLLBACK` and the database behaves as if none of it happened. This behavior is guaranteed by **ACID** properties (Atomicity, Consistency, Isolation, Durability), which are a core reason SQL databases are trusted for financial, ordering, and other systems where correctness is non-negotiable. + +# SQL vs NoSQL: when SQL is the right choice + +SQL is not the only way to store data. **NoSQL** databases (such as document, key-value, and graph stores) trade the rigid table structure for flexibility and horizontal scale. + +SQL tends to be the better fit when: + +* Your data has clear relationships you need to query across. +* Your schema is stable and well understood. +* You need strong consistency and transactional guarantees. + +NoSQL tends to win when your data shape changes often or you need to scale writes across many servers. For a deeper breakdown, see our guide on [SQL vs NoSQL](/blog/post/sql-vs-nosql) and how to think about [document vs relational databases](/blog/post/document-vs-relational-databases-vibecoding). + +# Querying data without writing raw SQL + +Here is a practical point many tutorials skip: you do not always write raw SQL by hand. Most applications talk to their database through a library, ORM, or backend platform that generates the SQL for you. You still think in the same terms of filtering, sorting, joining, and paginating, but you express them in your programming language. + +[Appwrite Databases](/docs/products/databases) is a good example. It gives you a structured [Query API](/docs/products/databases/queries) that maps directly onto the SQL concepts in this post. Filtering with `WHERE` becomes `Query.equal` and `Query.greaterThan`, sorting with `ORDER BY` becomes `Query.orderDesc`, and `LIMIT` becomes `Query.limit`, all with type safety and built-in pagination. + +```js +const result = await tablesDB.listRows({ + databaseId: "", + tableId: "users", + queries: [ + Query.equal("country", ["US"]), + Query.greaterThan("created_at", "2026-01-01"), + Query.orderDesc("created_at"), + Query.limit(10), + ], +}); +``` + +That query does exactly what the SQL `SELECT ... WHERE ... ORDER BY ... LIMIT` earlier in this post does. You get the querying model SQL made standard, plus permissions, realtime updates, and pagination handled for you. And because Appwrite can run on a SQL engine like MariaDB under the hood, you are not locked out of raw SQL when you need it. See how to [integrate SQL, NoSQL, and other databases into your project](/blog/post/integrate-sql-nosql-vector-graph-or-any-database-into-your-appwrite-project) for more. + +# Start querying your data with Appwrite Databases + +Understanding SQL gives you a mental model that applies to nearly every database you will ever touch: describe the data you want, and let the engine do the work. Whether you write raw queries or use a Query API, the core ideas of filtering, joining, aggregating, and transactions stay the same. + +If you want that querying power without managing a database server yourself, [Appwrite Databases](/docs/products/databases) gives you filtering, sorting, and pagination through a clean [Query API](/docs/products/databases/queries), backed by a relational engine and wrapped in permissions and realtime. It is a fast way to put everything in this post into practice. + +## Resources + +* [Appwrite Databases documentation](/docs/products/databases) +* [Appwrite Query API: filtering, sorting, and pagination](/blog/post/appwrite-query-api) +* [SQL vs NoSQL: Choosing the right database for your project](/blog/post/sql-vs-nosql) +* [Integrate SQL, NoSQL, Vector, Graph, or any database into your Appwrite project](/blog/post/integrate-sql-nosql-vector-graph-or-any-database-into-your-appwrite-project) +* Join the [Appwrite Discord community](https://appwrite.io/discord) to ask questions and share what you build. \ No newline at end of file diff --git a/static/images/blog/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/cover.avif b/static/images/blog/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..41106cb1d291146f15c3f451132d4325a9f87d7d GIT binary patch literal 8427 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 J;J*@<{{!mc1k3;c literal 0 HcmV?d00001 diff --git a/static/images/blog/sql-explained-how-developers-query-databases/cover.avif b/static/images/blog/sql-explained-how-developers-query-databases/cover.avif new file mode 100644 index 0000000000000000000000000000000000000000..c4d1eae7e1a9c803ee12d96e7a0f48faa93f9cc1 GIT binary patch literal 6457 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 G!umfJwIH4V literal 0 HcmV?d00001 From 2b1d3d77dbface149913f113f2c4c3f0cd4d1dee Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Mon, 20 Jul 2026 17:06:56 +0530 Subject: [PATCH 67/71] Apply suggestion from @aishwaripahwa12 --- .../+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc b/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc index 6ca0f959bf..81e21d53db 100644 --- a/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc +++ b/src/routes/blog/post/managed-postgres-vs-serverless-databases-which-one-should-developers-choose/+page.markdoc @@ -41,7 +41,7 @@ The model is predictable. You know exactly how much compute you have, connection The appeal is that you stop thinking about capacity. Traffic doubles overnight and the database scales without a manual resize. Traffic drops to nothing and your bill follows. The trade-off is less direct control and, in some implementations, a cold start when the compute layer has scaled to zero and needs to spin back up. -# Managed Postgres vs. serverless databases: the key differences +# Managed Postgres vs. serverless databases: The key differences Both options can run identical SQL. The differences live in how they scale, how they charge, how they perform under load, and how much operational work they push back to you. From b695a19672f6e2fc74115bcffbce4f4176094914 Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Mon, 20 Jul 2026 17:07:18 +0530 Subject: [PATCH 68/71] Apply suggestion from @aishwaripahwa12 --- .../sql-explained-how-developers-query-databases/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc index 508f5f69bf..adba3148ee 100644 --- a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc +++ b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc @@ -173,7 +173,7 @@ COMMIT; If anything goes wrong before `COMMIT`, you can `ROLLBACK` and the database behaves as if none of it happened. This behavior is guaranteed by **ACID** properties (Atomicity, Consistency, Isolation, Durability), which are a core reason SQL databases are trusted for financial, ordering, and other systems where correctness is non-negotiable. -# SQL vs NoSQL: when SQL is the right choice +# SQL vs NoSQL: When SQL is the right choice SQL is not the only way to store data. **NoSQL** databases (such as document, key-value, and graph stores) trade the rigid table structure for flexibility and horizontal scale. From 97c9f3baece49c1888dac059a129d3559bfe67af Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Mon, 20 Jul 2026 17:28:52 +0530 Subject: [PATCH 69/71] Apply suggestion from @aishwaripahwa12 --- .../sql-explained-how-developers-query-databases/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc index adba3148ee..6a28b10acd 100644 --- a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc +++ b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc @@ -160,7 +160,7 @@ WHERE email = 'ada@example.com'; A missing `WHERE` on an `UPDATE` or `DELETE` affects every row in the table. It is the most common way developers cause real damage in production, so treat those two statements with care. -# How SQL keeps data correct: transactions and ACID +# How SQL keeps data correct: Transactions and ACID When several changes must succeed or fail together, SQL uses **transactions**. A classic example is a money transfer: you subtract from one account and add to another, and it must never happen that one succeeds while the other fails. From 7a80951e37cb0f87f1781e3bc988132454cebebd Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Mon, 20 Jul 2026 17:39:26 +0530 Subject: [PATCH 70/71] Apply suggestion from @aishwaripahwa12 --- .../sql-explained-how-developers-query-databases/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc index 6a28b10acd..d2fdd2cc55 100644 --- a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc +++ b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc @@ -132,7 +132,7 @@ GROUP BY user_id; `GROUP BY` collapses rows that share a value into a single result row, and the aggregate function runs over each group. Add a `HAVING` clause to filter those groups, for example to find only users with more than five orders. This is how dashboards, reports, and analytics screens get their numbers. -# Writing and changing data +# How to write and modify data with SQL Reading is only half of SQL. The other three CRUD operations change what the database stores. From f4b1a16443705e4542cced6ec5548df3122a288b Mon Sep 17 00:00:00 2001 From: Aishwari Pahwa Date: Mon, 20 Jul 2026 17:39:36 +0530 Subject: [PATCH 71/71] Apply suggestion from @aishwaripahwa12 --- .../sql-explained-how-developers-query-databases/+page.markdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc index d2fdd2cc55..17430c5a48 100644 --- a/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc +++ b/src/routes/blog/post/sql-explained-how-developers-query-databases/+page.markdoc @@ -98,7 +98,7 @@ LIMIT 10; `DESC` sorts in descending order (newest first), and `ASC` sorts ascending. Sorting and limiting are also the building blocks of pagination, which is how apps load data one page at a time instead of all at once. -# Combining tables with JOINs +# How to combine SQL tables with JOINs The real power of SQL shows up when you pull data from multiple tables in a single query. This is what "relational" means in practice, and it is done with a **`JOIN`**.