{"full_name":"appwrite/appwrite","owner":"appwrite","name":"appwrite","url":"https://github.com/appwrite/appwrite","description":"The open-source cloud for agents & devs. Including Auth, Databases, Storage, Functions, Messaging, Hosting, Realtime, WAF and more","homepage":"https://appwrite.io","topics":[],"language":"TypeScript","license":"BSD-3-Clause","avatar":"https://avatars.githubusercontent.com/u/25003669?v=4","created_at":"2019-04-08T16:36:25Z","pushed_at":"2026-11-10T09:34:54Z","metrics":{"stars":57925,"forks":5838,"watchers":429,"issues":4731,"prs":9292,"releases":150,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":524},"growth":{"day":{"stars":24,"forks":-2,"base_day":"2026-11-09"},"week":{"stars":71,"forks":8,"base_day":"2026-11-03"},"month":{"stars":370,"forks":81,"base_day":"2026-10-11"}},"history":{"dates":["2026-09-11","2026-09-12","2026-09-13","2026-09-14","2026-09-15","2026-09-16","2026-09-17","2026-09-18","2026-09-19","2026-09-20","2026-09-21","2026-09-22","2026-09-23","2026-09-24","2026-09-25","2026-09-26","2026-09-27","2026-09-28","2026-09-29","2026-09-30","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07","2026-10-08","2026-10-09","2026-10-10","2026-10-11","2026-10-12","2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[57145,57155,57158,57213,57246,57274,57288,57296,57306,57320,57330,57337,57351,57350,57365,57368,57385,57398,57407,57416,57427,57435,57448,57457,57475,57482,57499,57509,57532,57544,57555,57575,57582,57589,57598,57615,57623,57650,57673,57683,57694,57714,57729,57739,57746,57749,57758,57761,57764,57776,57786,57787,57800,57854,57858,57901,57925],"forks":[5672,5672,5673,5682,5686,5693,5692,5695,5695,5696,5700,5708,5712,5714,5718,5721,5722,5725,5728,5731,5732,5735,5738,5740,5744,5749,5757,5757,5756,5755,5757,5762,5763,5765,5768,5775,5776,5779,5792,5790,5791,5800,5804,5806,5809,5814,5817,5822,5820,5821,5820,5819,5823,5830,5832,5840,5838],"watchers":[418,419,420,423,423,423,422,422,423,423,423,423,423,423,423,424,424,424,423,424,423,423,423,422,422,422,422,422,422,422,422,422,422,422,423,427,427,425,434,434,434,435,435,435,435,435,435,430,429,429,429,429,429,429,429,429,429],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{},"same_owner":[],"issues":[{"number":6883,"title":"🚀 Feature: User can create Relationship have Users table.","comments":12,"created_at":"2023-10-11T10:51:22Z"},{"number":3294,"title":"🚀 Feature: APPWRITE_FUNCTION_EVENT_DATA should contain change","comments":12,"created_at":"2022-05-27T00:43:45Z"},{"number":7726,"title":"🚀 Feature: Add OneSignal as a Messaging provider","comments":9,"created_at":"2024-03-05T05:22:53Z"},{"number":5974,"title":"🚀 Feature: Needed Documnet level security restriction based on its attribute value or relative query which returns true, like in supabase","comments":11,"created_at":"2023-08-12T10:09:34Z"},{"number":3176,"title":"🚀 Feature: Migration should warn user when they skip more than one version (or run twice).","comments":11,"created_at":"2022-05-04T20:22:22Z"},{"number":13246,"title":"Add ability to in-validate build cache","comments":10,"created_at":"2026-08-16T21:21:11Z"},{"number":10704,"title":"Invalid redirect URL for OAuth success. after 1.8.0 update","comments":10,"created_at":"2025-10-26T21:22:23Z"},{"number":5832,"title":"🚀 Feature: Function init via CLI with Typescript","comments":9,"created_at":"2023-07-18T00:05:48Z"}],"discussions":[{"number":14571,"title":"Checking required content in customized authentication emails","comments":0,"category":"Show and tell","created_at":"2026-10-16T01:39:16Z"},{"number":14153,"title":"[Discussion] Column-level permissions: table-level or row-level?","comments":1,"category":"Ideas","created_at":"2026-10-06T08:19:51Z"},{"number":13902,"title":"Generated function domain missing on Appwrite Cloud","comments":2,"category":"Q&A","created_at":"2026-09-24T18:40:57Z"},{"number":13704,"title":"Please reconsider removing multi-organization support from self-hosted Appwrite","comments":1,"category":"General","created_at":"2026-09-15T13:16:02Z"},{"number":13521,"title":"Building Accessible Full-Stack Apps on Appwrite: WCAG 2.2 & Contrast Auditing with A11yKit","comments":0,"category":"Show and tell","created_at":"2026-09-08T05:59:48Z"},{"number":12511,"title":"Public PR review timing snapshot for appwrite/appwrite","comments":0,"category":"Show and tell","created_at":"2026-06-07T01:19:17Z"},{"number":12323,"title":"How to choose the right index for a large table with many different query patterns?","comments":1,"category":"Q&A","created_at":"2026-05-16T22:26:46Z"},{"number":12242,"title":"Embed Agent Friendly Code Score Badge","comments":2,"category":"General","created_at":"2026-05-08T07:02:10Z"}],"latest_release":{"name":"2.7.1","tag":"2.7.1","published_at":"2026-11-04T16:23:46Z","body":"Appwrite 2.7.1 is a security release that moves the Open Runtimes executor to 1.3.1. It ships with the same 1.2.138 self-hosted Console as 2.7.0, has no schema changes, and upgrading from 2.7.0 only replaces the images.\n\n### Security\n\n- Update the Open Runtimes executor from 1.1.2 to 1.3.1 (open-runtimes/executor#269, #15310). Executor 1.1.2 followed symlinks that a function or site plants in its execution log files, build logs, build output or build cache, and it used the runtime's log id without checking it. A function could read files from the executor container, including its environment with `_APP_EXECUTOR_SECRET`, as its own logs or build output. With that secret, code in a function can call the executor API directly, and the executor controls Docker on the host. **You are affected if anyone you don't fully trust can deploy functions or sites on your instance.** Upgrade, then rotate `_APP_EXECUTOR_SECRET` if that applies to you.\n- Executor 1.2.x and 1.3.x also bring changes that keep existing behaviour: `OPR_EXECUTOR_SECRET_PREVIOUS` for rotating the executor secret without downtime, a storage DSN check that is off by default, and an opt-in streamed response format.\n\n### Install\n\n```bash\ndocker run -it --rm \\\n    --volume /var/run/docker.sock:/var/run/docker.sock \\\n    --volume \"$(pwd)\"/appwrite:/usr/src/code/appwrite:rw \\\n    --entrypoint=\"install\" \\\n    appwrite/appwrite:2.7.1\n```\n\n### Upgrade\n\nUpgrading from 2.7.0 uses the same command with `--entrypoint=\"upgrade\"`, then run the migration, which has nothing to change for this release:\n\n```bash\ncd appwrite\ndocker compose exec appwrite migrate\n```\n\nIf you maintain your own `docker-compose.yml`, set the `openruntimes-executor` image to `openruntimes/executor:1.3.1` and run `docker compose up -d`.\n\nTo rotate the executor secret, set a new `_APP_EXECUTOR_SECRET` in `.env` and run `docker compose up -d`. This recreates the API, the workers and the executor together, so nothing needs the old value.\n\n**Back up your data first.**\n\n### Contributors\n\nThank you to everyone who contributed to 2.7.1:\n\n@loks0n\n\n**Full Changelog**: https://github.com/appwrite/appwrite/compare/2.7.0...2.7.1\n"},"readme":true,"readme_zh":true,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}