diff --git a/CHANGES.md b/CHANGES.md
index bc903e4b31..74b46b7edc 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,266 +1,654 @@
+# Version 1.8.0
+
+## What's Changed
+
+### Notable changes
+
+* Do not allow full range in [#9847](https://github.com/appwrite/appwrite/pull/9847)
+* Expose internal id as a part of auto increment id in [#9713](https://github.com/appwrite/appwrite/pull/9713)
+* Expose sequence in [#9870](https://github.com/appwrite/appwrite/pull/9870)
+* Add flutter 3.32 and dart 3.8 runtimes in [#9914](https://github.com/appwrite/appwrite/pull/9914)
+* Shorten commit url and branch url in [#9919](https://github.com/appwrite/appwrite/pull/9919)
+* Remove powered by from error pages in [#9927](https://github.com/appwrite/appwrite/pull/9927)
+* Enable resource limits on GIF previews in [#9940](https://github.com/appwrite/appwrite/pull/9940)
+* Only run maintenance task for projects accessed in last 24 hours in [#9989](https://github.com/appwrite/appwrite/pull/9989)
+* Add increment + decrement routes in [#9986](https://github.com/appwrite/appwrite/pull/9986)
+* Only run maintenance task for projects accessed in last 30 days in [#9995](https://github.com/appwrite/appwrite/pull/9995)
+* Update appwrite-assistant image version to 0.8.3 in [#10003](https://github.com/appwrite/appwrite/pull/10003)
+* Update emails to use button in [#9590](https://github.com/appwrite/appwrite/pull/9590)
+* Create commit & branch url for first git deployment when site is linked to repo in [#9969](https://github.com/appwrite/appwrite/pull/9969)
+* Handle React Native schemes in [#9650](https://github.com/appwrite/appwrite/pull/9650)
+* Handle origin validation for web extensions in [#10107](https://github.com/appwrite/appwrite/pull/10107)
+* Preview text for emails in [#10198](https://github.com/appwrite/appwrite/pull/10198)
+* Create email target when using email OTP registration in [#10224](https://github.com/appwrite/appwrite/pull/10224)
+* Add CSV imports in [#10231](https://github.com/appwrite/appwrite/pull/10231)
+* Add support for svg favicons in [#10255](https://github.com/appwrite/appwrite/pull/10255)
+* Realtime support for bulk api in [#10096](https://github.com/appwrite/appwrite/pull/10096)
+* Skip redundant subqueries in users list route in [#10297](https://github.com/appwrite/appwrite/pull/10297)
+* Add native sign in with Apple function template in [#10286](https://github.com/appwrite/appwrite/pull/10286)
+* Add support for HEAD requests in [#10304](https://github.com/appwrite/appwrite/pull/10304)
+* Update invite email copy in [#10309](https://github.com/appwrite/appwrite/pull/10309)
+* Increase dynamic API key expiration in [#10328](https://github.com/appwrite/appwrite/pull/10328)
+* Add TablesDB service in [#10333](https://github.com/appwrite/appwrite/pull/10333)
+* Add execution.deploymentId to response model in [#10357](https://github.com/appwrite/appwrite/pull/10357)
+* Switch Union China Pay to just Union Pay in [#10372](https://github.com/appwrite/appwrite/pull/10372) and [#10382](https://github.com/appwrite/appwrite/pull/10382)
+* Add execution id and log id to response headers in [#10379](https://github.com/appwrite/appwrite/pull/10379)
+* Add executionId and client IP to function headers in [#9147](https://github.com/appwrite/appwrite/pull/9147)
+* Allow HEAD requests in function executions in [#10385](https://github.com/appwrite/appwrite/pull/10385)
+* Add support for select queries when listing deployments in [#10380](https://github.com/appwrite/appwrite/pull/10380)
+* Add spatial type attributes in [#10356](https://github.com/appwrite/appwrite/pull/10356) and [#10443](https://github.com/appwrite/appwrite/pull/10443)
+* Add realtime support for bulk upserts in [#10425](https://github.com/appwrite/appwrite/pull/10425)
+* Add previewUrl to vcs comment from vcs controller in [#10396](https://github.com/appwrite/appwrite/pull/10396)
+* Rename verification SDK methods to be more specific in [#10606](https://github.com/appwrite/appwrite/pull/10606)
+* Add project name in email subject in [#10609](https://github.com/appwrite/appwrite/pull/10609)
+* Throw error when email is not available for account verification in [#10533](https://github.com/appwrite/appwrite/pull/10533)
+* Add support for transactions in [#10023](https://github.com/appwrite/appwrite/pull/10023) and [#10624](https://github.com/appwrite/appwrite/pull/10624)
+* Use bcc only emails for smtp in [#10644](https://github.com/appwrite/appwrite/pull/10644)
+
+### Fixes
+
+* Fix rules on active deployment in [#9902](https://github.com/appwrite/appwrite/pull/9902)
+* Fix for upserts with differing optional parameter sets in [#9928](https://github.com/appwrite/appwrite/pull/9928)
+* Fix teams deletion in [#9888](https://github.com/appwrite/appwrite/pull/9888)
+* Fix deletion logic in [#9938](https://github.com/appwrite/appwrite/pull/9938)
+* Update database for upsert fix in [#9941](https://github.com/appwrite/appwrite/pull/9941)
+* Fix expire format in account recovery, verification, phone and mfa in [#9600](https://github.com/appwrite/appwrite/pull/9600)
+* Fix github comments and deployment creation on branch deletion in [#9949](https://github.com/appwrite/appwrite/pull/9949)
+* Fix cache issues with proxy for deployment download in [#9971](https://github.com/appwrite/appwrite/pull/9971)
+* Redirect rule parent resource in [#9982](https://github.com/appwrite/appwrite/pull/9982)
+* Fix usage queues in [#9946](https://github.com/appwrite/appwrite/pull/9946)
+* Transfer control for the migration in [#9997](https://github.com/appwrite/appwrite/pull/9997)
+* Prevent 'Attribute "factors" must be an array' error in [#10004](https://github.com/appwrite/appwrite/pull/10004)
+* Fix all vcs urls missing region in [#9998](https://github.com/appwrite/appwrite/pull/9998)
+* Add readable error for csv imports in [#9947](https://github.com/appwrite/appwrite/pull/9947)
+* Fix missing screenshot logs in [#10024](https://github.com/appwrite/appwrite/pull/10024)
+* Update executor to fix s3 endpoint bug in [#10036](https://github.com/appwrite/appwrite/pull/10036)
+* Fix build duration calculation in [#10053](https://github.com/appwrite/appwrite/pull/10053)
+* Fix logs order in [#10052](https://github.com/appwrite/appwrite/pull/10052)
+* Fix platform check for Sites with automatic rule in [#10043](https://github.com/appwrite/appwrite/pull/10043)
+* Increase cache ttl to ensure hits in [#10079](https://github.com/appwrite/appwrite/pull/10079)
+* Fix connect to existing repo flow in [#10034](https://github.com/appwrite/appwrite/pull/10034)
+* Fix migrations path and type in [#10090](https://github.com/appwrite/appwrite/pull/10090)
+* Fix JWT authentication database selection for admin mode in [#10098](https://github.com/appwrite/appwrite/pull/10098)
+* Use _APP_CONSOLE_DOMAIN, if not found, then use _APP_DOMAIN in [#9999](https://github.com/appwrite/appwrite/pull/9999)
+* Fix file tokens not working on file-security in [#10120](https://github.com/appwrite/appwrite/pull/10120)
+* Fix build activation race condition in [#9952](https://github.com/appwrite/appwrite/pull/9952)
+* Changed the default permission param of upsert document in [#10129](https://github.com/appwrite/appwrite/pull/10129)
+* Fix success validation in oauth2 redirect in [#10130](https://github.com/appwrite/appwrite/pull/10130)
+* Update OAuth2 redirect URLs in [#10119](https://github.com/appwrite/appwrite/pull/10119)
+* Fix specs with new env vars in [#10135](https://github.com/appwrite/appwrite/pull/10135)
+* Skip deployment when commit is created by us in [#10187](https://github.com/appwrite/appwrite/pull/10187)
+* Use direct source for file-preview when empty in [#10181](https://github.com/appwrite/appwrite/pull/10181)
+* Better error message for invalid function scheduled time in [#10201](https://github.com/appwrite/appwrite/pull/10201)
+* Add defaultBranch in getRepository response in [#10190](https://github.com/appwrite/appwrite/pull/10190)
+* Filter sequence to int because any models skip rule checks in [#10221](https://github.com/appwrite/appwrite/pull/10221)
+* Fix 500 errors on robots and humans txt files in [#10248](https://github.com/appwrite/appwrite/pull/10248)
+* Fix atomic number ops with limit 0 in [#10264](https://github.com/appwrite/appwrite/pull/10264)
+* Update build command for flutter in [#10288](https://github.com/appwrite/appwrite/pull/10288)
+* Add a fallback locale in [#10307](https://github.com/appwrite/appwrite/pull/10307)
+* Fix variables sharing across resources in [#10308](https://github.com/appwrite/appwrite/pull/10308)
+* Fix uncaught invalid arg in [#10318](https://github.com/appwrite/appwrite/pull/10318)
+* Add missing upsert event in [#10317](https://github.com/appwrite/appwrite/pull/10317)
+* Improve font reliability in [#10332](https://github.com/appwrite/appwrite/pull/10332)
+* Truncate logs in function worker in [#9773](https://github.com/appwrite/appwrite/pull/9773)
+* Fix event template configuration issues in [#10350](https://github.com/appwrite/appwrite/pull/10350)
+* Fix users events & missed publisher logic for Functions in [#10348](https://github.com/appwrite/appwrite/pull/10348)
+* Fix incorrect file token expiry in [#10329](https://github.com/appwrite/appwrite/pull/10329)
+* Fix upserting that makes no change in [#10363](https://github.com/appwrite/appwrite/pull/10363) and [#10364](https://github.com/appwrite/appwrite/pull/10364)
+* Fix domain validator in [#10374](https://github.com/appwrite/appwrite/pull/10374)
+* Apply sequence integer casting and attribute cleanup fixes to Row model, TablesDB tests, and document processing in [#10383](https://github.com/appwrite/appwrite/pull/10383)
+* Fix domain validator in [#10386](https://github.com/appwrite/appwrite/pull/10386)
+* Fix sequence removal in [#10388](https://github.com/appwrite/appwrite/pull/10388)
+* Fix TablesDB scopes in [#10387](https://github.com/appwrite/appwrite/pull/10387)
+* Fix request filter in [#10389](https://github.com/appwrite/appwrite/pull/10389)
+* Fix nested filter selects in [#10393](https://github.com/appwrite/appwrite/pull/10393)
+* Fix readonly attr stripping on write in [#10405](https://github.com/appwrite/appwrite/pull/10405)
+* Replace %s with mustache placeholder in [#10392](https://github.com/appwrite/appwrite/pull/10392)
+* Support array headers for set-cookie in [#10427](https://github.com/appwrite/appwrite/pull/10427)
+* Fix put prefs structure validation in [#10436](https://github.com/appwrite/appwrite/pull/10436)
+* Fix oauth identity check in [#10460](https://github.com/appwrite/appwrite/pull/10460)
+* Fix check in [#10489](https://github.com/appwrite/appwrite/pull/10489)
+* Fix database usage metrics in [#10483](https://github.com/appwrite/appwrite/pull/10483)
+* Throw appropriate 400s from request filters in [#10502](https://github.com/appwrite/appwrite/pull/10502)
+* Catch query exception on bucket/file list in [#10505](https://github.com/appwrite/appwrite/pull/10505)
+* Use outputDirectory attribute from deployment in [#10571](https://github.com/appwrite/appwrite/pull/10571)
+* Fix buildOutput attribute name in deployment check in [#10572](https://github.com/appwrite/appwrite/pull/10572)
+* Update database for nested selection fix in [#10577](https://github.com/appwrite/appwrite/pull/10577)
+* Auto-allow sites domain for OAuth in [#10503](https://github.com/appwrite/appwrite/pull/10503)
+* Handle OIDC well-known endpoint errors in [#10589](https://github.com/appwrite/appwrite/pull/10589)
+* Correct invalid template links in Create temporary deployment endpoint in [#10581](https://github.com/appwrite/appwrite/pull/10581)
+* Update broken create table links in TablesDB docs in [#10592](https://github.com/appwrite/appwrite/pull/10592)
+* Fix cross API compatibility in [#10626](https://github.com/appwrite/appwrite/pull/10626)
+* Fix code 0 from databases on realtime in [#10631](https://github.com/appwrite/appwrite/pull/10631)
+* Throw duplicate error when function id already exists in [#10618](https://github.com/appwrite/appwrite/pull/10618)
+
+### Miscellaneous
+
+* Fix task coroutine hooks in [#9850](https://github.com/appwrite/appwrite/pull/9850)
+* Feat sync encrypt updates in [#9871](https://github.com/appwrite/appwrite/pull/9871)
+* Revert "Feat sync encrypt updates" in [#9877](https://github.com/appwrite/appwrite/pull/9877)
+* Add builds worker group in [#9872](https://github.com/appwrite/appwrite/pull/9872)
+* Revert encrypted attribute changes in [#9898](https://github.com/appwrite/appwrite/pull/9898)
+* Update sdk generator and sdks in [#9849](https://github.com/appwrite/appwrite/pull/9849)
+* Release cli in [#9900](https://github.com/appwrite/appwrite/pull/9900)
+* Improve how rules are fetched in [#9915](https://github.com/appwrite/appwrite/pull/9915)
+* Sync 1.6 in [#9920](https://github.com/appwrite/appwrite/pull/9920)
+* Update messaging library in [#9764](https://github.com/appwrite/appwrite/pull/9764)
+* Disable TCP hook on stats resources in [#9932](https://github.com/appwrite/appwrite/pull/9932)
+* Remove JSON index on roles due to MySQL bug in [#9924](https://github.com/appwrite/appwrite/pull/9924)
+* Update queue in [#9936](https://github.com/appwrite/appwrite/pull/9936)
+* Fix flaky account tests in [#9954](https://github.com/appwrite/appwrite/pull/9954)
+* Fix flaky messaging test in [#9957](https://github.com/appwrite/appwrite/pull/9957)
+* Make usage tests robust in [#9956](https://github.com/appwrite/appwrite/pull/9956)
+* Increase deployment timeouts in tests in [#9955](https://github.com/appwrite/appwrite/pull/9955)
+* Graceful shutdown on SIGTERM in [#9890](https://github.com/appwrite/appwrite/pull/9890)
+* Bring back telemetry for storage in [#9903](https://github.com/appwrite/appwrite/pull/9903)
+* Update version to 1.7.4 and add experimental warnings in [#9959](https://github.com/appwrite/appwrite/pull/9959)
+* Return queue pre-fetch results in [#9731](https://github.com/appwrite/appwrite/pull/9731)
+* Update SDK versions in [#9987](https://github.com/appwrite/appwrite/pull/9987)
+* Restore unique filename for health check #9842 in [#9993](https://github.com/appwrite/appwrite/pull/9993)
+* Add after build hook in [#9996](https://github.com/appwrite/appwrite/pull/9996)
+* Remove endpoint selector in [#10000](https://github.com/appwrite/appwrite/pull/10000)
+* Use static code instead of astro in tests in [#9966](https://github.com/appwrite/appwrite/pull/9966)
+* Add ref param to vcs list contents in [#9991](https://github.com/appwrite/appwrite/pull/9991)
+* Update coderabbit config file in [#10005](https://github.com/appwrite/appwrite/pull/10005)
+* TAR support in [#10016](https://github.com/appwrite/appwrite/pull/10016)
+* Update delete project scope in [#10017](https://github.com/appwrite/appwrite/pull/10017)
+* Lazy-load relationships in [#9669](https://github.com/appwrite/appwrite/pull/9669)
+* Revert "Feat: Lazy-load relationships" in [#10018](https://github.com/appwrite/appwrite/pull/10018)
+* Revert "Update delete project scope" in [#10022](https://github.com/appwrite/appwrite/pull/10022)
+* 1.8.x in [#9985](https://github.com/appwrite/appwrite/pull/9985)
+* Update cli version and add bulk operation warnings in [#10007](https://github.com/appwrite/appwrite/pull/10007)
+* Update Appwrite description to include Sites, add MCP to products list in [#9867](https://github.com/appwrite/appwrite/pull/9867)
+* Update README.md in [#10026](https://github.com/appwrite/appwrite/pull/10026)
+* Fix duplication of platforms in swagger specs in [#10008](https://github.com/appwrite/appwrite/pull/10008)
+* Update react native sdk and changelog in [#10025](https://github.com/appwrite/appwrite/pull/10025)
+* Update delete project signature in [#10028](https://github.com/appwrite/appwrite/pull/10028)
+* Fix Golang SDK examples for docs in [#10001](https://github.com/appwrite/appwrite/pull/10001)
+* Revert "worker: Graceful shutdown on SIGTERM" in [#10035](https://github.com/appwrite/appwrite/pull/10035)
+* Fix benchmark CI in [#10055](https://github.com/appwrite/appwrite/pull/10055)
+* Use ->action(...)) instead of ->callback([$this, 'action']); in [#9967](https://github.com/appwrite/appwrite/pull/9967)
+* Override project via custom domains log in [#10011](https://github.com/appwrite/appwrite/pull/10011)
+* Add database worker job logging in [#10056](https://github.com/appwrite/appwrite/pull/10056)
+* Add runtimeEntrypoint param in [#10062](https://github.com/appwrite/appwrite/pull/10062)
+* Add missing injections in [#10061](https://github.com/appwrite/appwrite/pull/10061)
+* Replace Console loop with Swoole Timer for stats resource m… in [#10054](https://github.com/appwrite/appwrite/pull/10054)
+* Update README.md in [#10063](https://github.com/appwrite/appwrite/pull/10063)
+* Fix parameter order in action function for robots.txt route in [#10067](https://github.com/appwrite/appwrite/pull/10067)
+* Preview endpoint logging in [#10068](https://github.com/appwrite/appwrite/pull/10068)
+* Fix flakyness of account tests in [#10066](https://github.com/appwrite/appwrite/pull/10066)
+* Update cli to 8.1.0 and add changelog in [#10070](https://github.com/appwrite/appwrite/pull/10070)
+* Update composer.json and composer.lock to include appwrite-lab… in [#10051](https://github.com/appwrite/appwrite/pull/10051)
+* Fix tests, for `Cloud` in [#10085](https://github.com/appwrite/appwrite/pull/10085)
+* Update README.md in [#10084](https://github.com/appwrite/appwrite/pull/10084)
+* Revert "chore: update composer.json and composer.lock to include appwrite-lab…" in [#10086](https://github.com/appwrite/appwrite/pull/10086)
+* Update README to add Bulk API link in [#10095](https://github.com/appwrite/appwrite/pull/10095)
+* Add redis publisher to schedule base if available in [#10099](https://github.com/appwrite/appwrite/pull/10099)
+* Fix site template test in [#10104](https://github.com/appwrite/appwrite/pull/10104)
+* Update nodejs 17.1.0 in [#10088](https://github.com/appwrite/appwrite/pull/10088)
+* Update README.md to add Upsert announcement in [#10112](https://github.com/appwrite/appwrite/pull/10112)
+* Reduce delete batch size in [#10128](https://github.com/appwrite/appwrite/pull/10128)
+* Update README.md in [#10134](https://github.com/appwrite/appwrite/pull/10134)
+* Speed up tests in [#10127](https://github.com/appwrite/appwrite/pull/10127)
+* Update cli to 8.2.0 in [#10136](https://github.com/appwrite/appwrite/pull/10136)
+* Prevent injected $user from being shadowed in [#10150](https://github.com/appwrite/appwrite/pull/10150)
+* Update react native to 0.10.1 and dotnet to 0.14.0 in [#10138](https://github.com/appwrite/appwrite/pull/10138)
+* Update README.md in [#10153](https://github.com/appwrite/appwrite/pull/10153)
+* Update cli 8.2.1 in [#10155](https://github.com/appwrite/appwrite/pull/10155)
+* Fix build usage specification in [#10157](https://github.com/appwrite/appwrite/pull/10157)
+* Handle redirect validator in specs + GraphQL type mapper in [#10158](https://github.com/appwrite/appwrite/pull/10158)
+* Update dart 16.1.0, flutter 17.0.2 and cli 8.2.2 in [#10161](https://github.com/appwrite/appwrite/pull/10161)
+* Improve invalid scheme error in origin check in [#10164](https://github.com/appwrite/appwrite/pull/10164)
+* 1.7.x in [#9897](https://github.com/appwrite/appwrite/pull/9897)
+* Added the cases of null permissions in the upsert route and update th… in [#10179](https://github.com/appwrite/appwrite/pull/10179)
+* Fix 1.7.x specs in [#10197](https://github.com/appwrite/appwrite/pull/10197)
+* Suppress git-action exception in deployment worker in [#10199](https://github.com/appwrite/appwrite/pull/10199)
+* Stats-usage on redis in [#10156](https://github.com/appwrite/appwrite/pull/10156)
+* Fix templates on `1.7.x`. in [#10203](https://github.com/appwrite/appwrite/pull/10203)
+* Change preview & body for MFA email in [#10205](https://github.com/appwrite/appwrite/pull/10205)
+* Add docs for nestedType, encode, from and toMap in [#10204](https://github.com/appwrite/appwrite/pull/10204)
+* Update sdks 1.7.x in [#10202](https://github.com/appwrite/appwrite/pull/10202)
+* Update migration release in [#10222](https://github.com/appwrite/appwrite/pull/10222)
+* Remove sequence on incoming docs in [#10228](https://github.com/appwrite/appwrite/pull/10228)
+* Filter certificates renewal task in maintenance by region in [#10227](https://github.com/appwrite/appwrite/pull/10227)
+* Move changelog to sdks platforms array in [#10233](https://github.com/appwrite/appwrite/pull/10233)
+* Update changelog and sdk gen in [#10247](https://github.com/appwrite/appwrite/pull/10247)
+* Telemetry for cache hits and misses in [#10240](https://github.com/appwrite/appwrite/pull/10240)
+* Add model examples + additonal examples to specs in [#10249](https://github.com/appwrite/appwrite/pull/10249)
+* Update favicons endpoint to fallback to ico instead of throwing error in [#10260](https://github.com/appwrite/appwrite/pull/10260)
+* Update README.md in [#10259](https://github.com/appwrite/appwrite/pull/10259)
+* Check CAA record before issuing certificate in [#10258](https://github.com/appwrite/appwrite/pull/10258)
+* Revert "Check CAA record before issuing certificate" in [#10263](https://github.com/appwrite/appwrite/pull/10263)
+* Test var id attribute in [#10243](https://github.com/appwrite/appwrite/pull/10243)
+* Add type attribute to the database creation flow in [#10266](https://github.com/appwrite/appwrite/pull/10266)
+* Add CAA validator in [#10267](https://github.com/appwrite/appwrite/pull/10267)
+* Update database type to grids and legacy in [#10273](https://github.com/appwrite/appwrite/pull/10273)
+* Update README.md in [#10272](https://github.com/appwrite/appwrite/pull/10272)
+* Upgrade composer for utopia migration in [#10274](https://github.com/appwrite/appwrite/pull/10274)
+* Update SDK generator and sdks in [#10271](https://github.com/appwrite/appwrite/pull/10271)
+* Fix wrong resource path for audits in [#10279](https://github.com/appwrite/appwrite/pull/10279)
+* Update `grid` on resource events in [#10282](https://github.com/appwrite/appwrite/pull/10282)
+* Add readonly param to sequence, databaseId and collectionId in [#10278](https://github.com/appwrite/appwrite/pull/10278)
+* Update migrations in [#10283](https://github.com/appwrite/appwrite/pull/10283)
+* Add placeholder detection in [#10284](https://github.com/appwrite/appwrite/pull/10284)
+* Update docker base to 0.10.3 in [#10285](https://github.com/appwrite/appwrite/pull/10285)
+* Make check for adding warning header stricter in [#10293](https://github.com/appwrite/appwrite/pull/10293)
+* Fix databases worker cache clearing bug in [#10294](https://github.com/appwrite/appwrite/pull/10294)
+* Reapply Redis functions queue in [#10299](https://github.com/appwrite/appwrite/pull/10299)
+* Add new database query type tests in [#10296](https://github.com/appwrite/appwrite/pull/10296)
+* Update package in [#10312](https://github.com/appwrite/appwrite/pull/10312)
+* Update required attributes in [#10311](https://github.com/appwrite/appwrite/pull/10311)
+* Remove experiment warnings from bulk methods in [#10310](https://github.com/appwrite/appwrite/pull/10310)
+* Update README.md in [#10313](https://github.com/appwrite/appwrite/pull/10313)
+* Added internal file param to handle upload to internal bucket in [#10321](https://github.com/appwrite/appwrite/pull/10321)
+* Remove temp logging in [#10302](https://github.com/appwrite/appwrite/pull/10302)
+* Improve sites test for stability in [#10331](https://github.com/appwrite/appwrite/pull/10331)
+* Database lib bump to 0.71.15 in [#10336](https://github.com/appwrite/appwrite/pull/10336)
+* Clarify userId param in endpoints that create accounts in [#10117](https://github.com/appwrite/appwrite/pull/10117)
+* Upgrade HTTP in [#10338](https://github.com/appwrite/appwrite/pull/10338)
+* Remove unnessessary external dependnecies in [#10343](https://github.com/appwrite/appwrite/pull/10343)
+* Sync main into 1.7.x in [#10347](https://github.com/appwrite/appwrite/pull/10347)
+* Fix TablesDB casing in [#10346](https://github.com/appwrite/appwrite/pull/10346)
+* Add cookies test in [#10352](https://github.com/appwrite/appwrite/pull/10352)
+* Update token tests with jwt decode in [#10354](https://github.com/appwrite/appwrite/pull/10354)
+* Utilize assets server for fonts in [#10358](https://github.com/appwrite/appwrite/pull/10358)
+* Sync main into 1.7.x in [#10359](https://github.com/appwrite/appwrite/pull/10359)
+* Bump 1.7.x in [#10365](https://github.com/appwrite/appwrite/pull/10365)
+* Fix queue health in [#10369](https://github.com/appwrite/appwrite/pull/10369)
+* Allow publisher messaging override in scheduler in [#10370](https://github.com/appwrite/appwrite/pull/10370)
+* Add replacewith and deprecated since to account methods in [#10377](https://github.com/appwrite/appwrite/pull/10377)
+* Update README.md in [#10376](https://github.com/appwrite/appwrite/pull/10376)
+* Update CLI in [#10390](https://github.com/appwrite/appwrite/pull/10390)
+* Update default method in description in [#10391](https://github.com/appwrite/appwrite/pull/10391)
+* Rename namespace from tables-db to tablesdb in specs in [#10395](https://github.com/appwrite/appwrite/pull/10395)
+* Update tables group in specs in [#10394](https://github.com/appwrite/appwrite/pull/10394)
+* Update description for upsert methods in [#10397](https://github.com/appwrite/appwrite/pull/10397)
+* Update README.md in [#10401](https://github.com/appwrite/appwrite/pull/10401)
+* Added handling of database resources after migration in [#10400](https://github.com/appwrite/appwrite/pull/10400)
+* Revert "Added handling of database resources after migration" in [#10406](https://github.com/appwrite/appwrite/pull/10406)
+* Remove sdk deprecation warnings in [#10408](https://github.com/appwrite/appwrite/pull/10408)
+* Mark Row response model's param with readonly in [#10409](https://github.com/appwrite/appwrite/pull/10409)
+* Update exception thrown when svg sanitization fails in [#10416](https://github.com/appwrite/appwrite/pull/10416)
+* Fix allow null params in [#10417](https://github.com/appwrite/appwrite/pull/10417)
+* Allow running tests with specific response format in [#10418](https://github.com/appwrite/appwrite/pull/10418)
+* Make webhooks publisher overridable in [#10419](https://github.com/appwrite/appwrite/pull/10419)
+* Check audits logs in [#10414](https://github.com/appwrite/appwrite/pull/10414)
+* Remove direct publisher calls in [#10420](https://github.com/appwrite/appwrite/pull/10420)
+* removed spatial type response and will be using the json type for the… in [#10433](https://github.com/appwrite/appwrite/pull/10433)
+* Add tests for new time helpers in [#10437](https://github.com/appwrite/appwrite/pull/10437)
+* Move projects.list() to module in [#10441](https://github.com/appwrite/appwrite/pull/10441)
+* Update cli to 9.1.0 in [#10442](https://github.com/appwrite/appwrite/pull/10442)
+* Add requestBody param examples in specs in [#10431](https://github.com/appwrite/appwrite/pull/10431)
+* Fix mysql tests in [#10445](https://github.com/appwrite/appwrite/pull/10445)
+* Upgrade platform lib to have older queue lib in [#10447](https://github.com/appwrite/appwrite/pull/10447)
+* Fix router compression in [#10452](https://github.com/appwrite/appwrite/pull/10452)
+* Upgrade http lib for backwards compatible default param in [#10455](https://github.com/appwrite/appwrite/pull/10455)
+* Update examples in [#10444](https://github.com/appwrite/appwrite/pull/10444)
+* Automatic pr creation in sdk release script in [#10457](https://github.com/appwrite/appwrite/pull/10457)
+* Remove avatars command from cli in [#10454](https://github.com/appwrite/appwrite/pull/10454)
+* Remove deno from platforms array in [#10453](https://github.com/appwrite/appwrite/pull/10453)
+* Spatial type attributes sdk updates in [#10463](https://github.com/appwrite/appwrite/pull/10463)
+* Stats resources try catch in [#10469](https://github.com/appwrite/appwrite/pull/10469)
+* Move proxy endpoints to modules in [#10470](https://github.com/appwrite/appwrite/pull/10470)
+* Add certificate validation override in [#10471](https://github.com/appwrite/appwrite/pull/10471)
+* Generate SDKs in [#10475](https://github.com/appwrite/appwrite/pull/10475)
+* Spatial test tablesdb updates in [#10473](https://github.com/appwrite/appwrite/pull/10473)
+* Add colors to certificate logs in [#10438](https://github.com/appwrite/appwrite/pull/10438)
+* appwrite db bump in [#10479](https://github.com/appwrite/appwrite/pull/10479)
+* Bump database in [#10480](https://github.com/appwrite/appwrite/pull/10480)
+* Health db queues in [#10482](https://github.com/appwrite/appwrite/pull/10482)
+* Attempt small size for website dependency in [#10485](https://github.com/appwrite/appwrite/pull/10485)
+* Worker stop in [#10498](https://github.com/appwrite/appwrite/pull/10498)
+* Update database in [#10506](https://github.com/appwrite/appwrite/pull/10506)
+* Stats resources and usage sorting by unique field in [#10472](https://github.com/appwrite/appwrite/pull/10472)
+* Add spatial column validation during required mode and tests for exis… in [#10509](https://github.com/appwrite/appwrite/pull/10509)
+* Sub query variables order by in [#10513](https://github.com/appwrite/appwrite/pull/10513)
+* Update README.md in [#10514](https://github.com/appwrite/appwrite/pull/10514)
+* bump database 1.5.0 in [#10515](https://github.com/appwrite/appwrite/pull/10515)
+* Don't remove required attributes in [#10516](https://github.com/appwrite/appwrite/pull/10516)
+* Catch query exception on bulk update/delete in [#10517](https://github.com/appwrite/appwrite/pull/10517)
+* Update cli to 10.0.0 in [#10511](https://github.com/appwrite/appwrite/pull/10511)
+* Add type_enum support and update docs in [#10496](https://github.com/appwrite/appwrite/pull/10496)
+* Improve code readability for schedules in [#10522](https://github.com/appwrite/appwrite/pull/10522)
+* Include response model enum names in [#10538](https://github.com/appwrite/appwrite/pull/10538)
+* SDK releases in [#10539](https://github.com/appwrite/appwrite/pull/10539)
+* Fix health status enum in [#10540](https://github.com/appwrite/appwrite/pull/10540)
+* Update afterbuild fn in [#10541](https://github.com/appwrite/appwrite/pull/10541)
+* Update afterbuild to also pass adapter in [#10545](https://github.com/appwrite/appwrite/pull/10545)
+* Update `z-index` to be the highest in [#9874](https://github.com/appwrite/appwrite/pull/9874)
+* Update framework lib to 0.33.28 in [#10551](https://github.com/appwrite/appwrite/pull/10551)
+* Fix enum typing for platform in specs in [#10553](https://github.com/appwrite/appwrite/pull/10553)
+* Add enums for database type and column status in [#10561](https://github.com/appwrite/appwrite/pull/10561)
+* Fix activities in [#10586](https://github.com/appwrite/appwrite/pull/10586)
+* Fix logs truncation tests in [#10585](https://github.com/appwrite/appwrite/pull/10585)
+* Remove related data in realtime payload in [#10590](https://github.com/appwrite/appwrite/pull/10590)
+* Update composer dependencies in [#10601](https://github.com/appwrite/appwrite/pull/10601)
+* Update sdks add response models in [#10554](https://github.com/appwrite/appwrite/pull/10554)
+* Sanitize 5xx errors on realtime in [#10598](https://github.com/appwrite/appwrite/pull/10598)
+* Update database in [#10596](https://github.com/appwrite/appwrite/pull/10596)
+* Add both collection and table id in the realtime in [#10608](https://github.com/appwrite/appwrite/pull/10608)
+* Chore bump db in [#10611](https://github.com/appwrite/appwrite/pull/10611)
+* Branded email for Console auth flows in [#10501](https://github.com/appwrite/appwrite/pull/10501)
+* Add minor releases for all SDKs - deprecate createVerification, add createEmailVerification in [#10614](https://github.com/appwrite/appwrite/pull/10614)
+* Add automatic releases in [#10615](https://github.com/appwrite/appwrite/pull/10615)
+* Feat txn sdks in [#10621](https://github.com/appwrite/appwrite/pull/10621)
+* Prevent empty releases in sdk release script in [#10627](https://github.com/appwrite/appwrite/pull/10627)
+* Update domains lib to 0.8.2 in [#10629](https://github.com/appwrite/appwrite/pull/10629)
+* Fix txn API scope backwards compat in [#10640](https://github.com/appwrite/appwrite/pull/10640)
+* Fix block schedules in [#10620](https://github.com/appwrite/appwrite/pull/10620)
+* Update .NET SDK to 0.21.2 and improve release detection in [#10641](https://github.com/appwrite/appwrite/pull/10641)
+* Make methods protected for extending in [#10617](https://github.com/appwrite/appwrite/pull/10617)
+
+# Version 1.7.4
+
+## What's Changed
+
+### Notable changes
+
+* Update console image to version 6.0.13 in [#9891](https://github.com/appwrite/appwrite/pull/9891)
+
+### Fixes
+
+* Fix createDeployment chunk upload in [#9886](https://github.com/appwrite/appwrite/pull/9886)
+
+### Miscellaneous
+
+* Update version from 1.7.3 to 1.7.4 in [#9893](https://github.com/appwrite/appwrite/pull/9893)
+
+# Version 1.7.3
+
+## What's Changed
+
+### Notable changes
+
+* Allow unlimited deployment size in [#9866](https://github.com/appwrite/appwrite/pull/9866)
+* Bump console to version 6.0.11 in [#9881](https://github.com/appwrite/appwrite/pull/9881)
+
+### Fixes
+
+* Send deploymentResourceType in rules verification in [#9859](https://github.com/appwrite/appwrite/pull/9859)
+* Fix CNAME validation in [#9861](https://github.com/appwrite/appwrite/pull/9861)
+* Fix bucket not included in path in [#9864](https://github.com/appwrite/appwrite/pull/9864)
+* Fix URL for view logs in github comment in [#9875](https://github.com/appwrite/appwrite/pull/9875)
+* Set owner and region while migrating rules in [#9856](https://github.com/appwrite/appwrite/pull/9856)
+* Remove _APP_DEFAULT_REGION because it is not a valid env var in [#9883](https://github.com/appwrite/appwrite/pull/9883)
+
+### Miscellaneous
+
+* Only load error page for development mode in [#9860](https://github.com/appwrite/appwrite/pull/9860)
+* Make max deployment and build size configurable in [#9863](https://github.com/appwrite/appwrite/pull/9863)
+* Update flutter_web_auth_2 docs to match 4.x in [#9858](https://github.com/appwrite/appwrite/pull/9858)
+* Use unique filename for health check in [#9842](https://github.com/appwrite/appwrite/pull/9842)
+* Added encrypt property in the attribute string response model in [#9868](https://github.com/appwrite/appwrite/pull/9868)
+* Add sequence in [#9865](https://github.com/appwrite/appwrite/pull/9865)
+* Add builds worker group in [#9873](https://github.com/appwrite/appwrite/pull/9873)
+* updated errro for the string encryption in [#9878](https://github.com/appwrite/appwrite/pull/9878)
+* Revert "Add sequence" in [#9879](https://github.com/appwrite/appwrite/pull/9879)
+* Prepare 1.7.3 release in [#9882](https://github.com/appwrite/appwrite/pull/9882)
+
# Version 1.6.2
## What's Changed
### Notable changes
-* Delete git folder to reduce build size in [9076](https://github.com/appwrite/appwrite/pull/9076)
-* Upgrade assistant in [9100](https://github.com/appwrite/appwrite/pull/9100)
-* Use redis adapter for abuse in [9121](https://github.com/appwrite/appwrite/pull/9121)
-* Set base specification CPUs to 0.5 again in [9146](https://github.com/appwrite/appwrite/pull/9146)
-* Add new push message parameters in [9060](https://github.com/appwrite/appwrite/pull/9060)
-* Update audits to include user type in [9211](https://github.com/appwrite/appwrite/pull/9211)
-* Enable HEIC in [9251](https://github.com/appwrite/appwrite/pull/9251)
-* Added teamName to membership redirect url in [9269](https://github.com/appwrite/appwrite/pull/9269)
-* Add support endpoint url for S3 in [9303](https://github.com/appwrite/appwrite/pull/9303)
-* Added RuPay Credit Card Icon in Avatars Service in [5046](https://github.com/appwrite/appwrite/pull/5046)
-* Add figma oauth provider in [9623](https://github.com/appwrite/appwrite/pull/9623)
-* Update console to version 5.2.58 in [9637](https://github.com/appwrite/appwrite/pull/9637)
+* Delete git folder to reduce build size in [#9076](https://github.com/appwrite/appwrite/pull/9076)
+* Upgrade assistant in [#9100](https://github.com/appwrite/appwrite/pull/9100)
+* Use redis adapter for abuse in [#9121](https://github.com/appwrite/appwrite/pull/9121)
+* Set base specification CPUs to 0.5 again in [#9146](https://github.com/appwrite/appwrite/pull/9146)
+* Add new push message parameters in [#9060](https://github.com/appwrite/appwrite/pull/9060)
+* Update audits to include user type in [#9211](https://github.com/appwrite/appwrite/pull/9211)
+* Enable HEIC in [#9251](https://github.com/appwrite/appwrite/pull/9251)
+* Added teamName to membership redirect url in [#9269](https://github.com/appwrite/appwrite/pull/9269)
+* Add support endpoint url for S3 in [#9303](https://github.com/appwrite/appwrite/pull/9303)
+* Added RuPay Credit Card Icon in Avatars Service in [#5046](https://github.com/appwrite/appwrite/pull/5046)
+* Add figma oauth provider in [#9623](https://github.com/appwrite/appwrite/pull/9623)
+* Update console to version 5.2.58 in [#9637](https://github.com/appwrite/appwrite/pull/9637)
### Fixes
-* Remove failed attribute in [9032](https://github.com/appwrite/appwrite/pull/9032)
-* Fix delete notFound attribute in [9038](https://github.com/appwrite/appwrite/pull/9038)
-* 🇮🇸 Added missing Icelandic translations for email strings. in [4848](https://github.com/appwrite/appwrite/pull/4848)
-* fix doc comment for filter method in [5769](https://github.com/appwrite/appwrite/pull/5769)
-* Delete attribute No throwing Exception on not found in [9157](https://github.com/appwrite/appwrite/pull/9157)
-* Fix VCS identity collision in [9138](https://github.com/appwrite/appwrite/pull/9138)
-* Fix disabling of email-otp when user wants to in [9200](https://github.com/appwrite/appwrite/pull/9200)
-* Ensure user can delete session in [9209](https://github.com/appwrite/appwrite/pull/9209)
-* Fix resend invitation in [9218](https://github.com/appwrite/appwrite/pull/9218)
-* Fix phone number parsing exception handling in [9246](https://github.com/appwrite/appwrite/pull/9246)
-* Fix amazon oauth in [9253](https://github.com/appwrite/appwrite/pull/9253)
-* Fix slack oauth scopes, and updated to v2 in [9228](https://github.com/appwrite/appwrite/pull/9228)
-* Fix forwarded user agent in [9271](https://github.com/appwrite/appwrite/pull/9271)
-* Fix WEBP File Preview Rendering Issue in [9321](https://github.com/appwrite/appwrite/pull/9321)
-* Fix build memory specifications in [9360](https://github.com/appwrite/appwrite/pull/9360)
-* Fix Self Hosting functions by adding missed config in [9373](https://github.com/appwrite/appwrite/pull/9373)
-* Fix resend team invite if already accepted in [9348](https://github.com/appwrite/appwrite/pull/9348)
-* Fix null errors on team invite in [9391](https://github.com/appwrite/appwrite/pull/9391)
-* Fix email (smtp) to multiple recipients in [9243](https://github.com/appwrite/appwrite/pull/9243)
-* Fix stats timing by using receivedAt date when available in [9428](https://github.com/appwrite/appwrite/pull/9428)
-* Make min/max params optional for attribute update in [9387](https://github.com/appwrite/appwrite/pull/9387)
-* Fix blocking of phone sessions when disabled on console in [9447](https://github.com/appwrite/appwrite/pull/9447)
-* Fix logging config in [9467](https://github.com/appwrite/appwrite/pull/9467)
-* Update audit timestamp origin in [9481](https://github.com/appwrite/appwrite/pull/9481)
-* Fix certificates in deletes worker in [9466](https://github.com/appwrite/appwrite/pull/9466)
-* Fix console audits delete in [9547](https://github.com/appwrite/appwrite/pull/9547)
-* Fix migrations in [9633](https://github.com/appwrite/appwrite/pull/9633)
-* Ensure all 4xx errors in OAuth redirect lead to the failure URL in [9679](https://github.com/appwrite/appwrite/pull/9679)
-* Treat 0 as unlimited for CPUs and memory in [9638](https://github.com/appwrite/appwrite/pull/9638)
-* Add contextual dispatch logic to fix high CPU usage in [9687](https://github.com/appwrite/appwrite/pull/9687)
+* Remove failed attribute in [#9032](https://github.com/appwrite/appwrite/pull/9032)
+* Fix delete notFound attribute in [#9038](https://github.com/appwrite/appwrite/pull/9038)
+* 🇮🇸 Added missing Icelandic translations for email strings. in [#4848](https://github.com/appwrite/appwrite/pull/4848)
+* fix doc comment for filter method in [#5769](https://github.com/appwrite/appwrite/pull/5769)
+* Delete attribute No throwing Exception on not found in [#9157](https://github.com/appwrite/appwrite/pull/9157)
+* Fix VCS identity collision in [#9138](https://github.com/appwrite/appwrite/pull/9138)
+* Fix disabling of email-otp when user wants to in [#9200](https://github.com/appwrite/appwrite/pull/9200)
+* Ensure user can delete session in [#9209](https://github.com/appwrite/appwrite/pull/9209)
+* Fix resend invitation in [#9218](https://github.com/appwrite/appwrite/pull/9218)
+* Fix phone number parsing exception handling in [#9246](https://github.com/appwrite/appwrite/pull/9246)
+* Fix amazon oauth in [#9253](https://github.com/appwrite/appwrite/pull/9253)
+* Fix slack oauth scopes, and updated to v2 in [#9228](https://github.com/appwrite/appwrite/pull/9228)
+* Fix forwarded user agent in [#9271](https://github.com/appwrite/appwrite/pull/9271)
+* Fix WEBP File Preview Rendering Issue in [#9321](https://github.com/appwrite/appwrite/pull/9321)
+* Fix build memory specifications in [#9360](https://github.com/appwrite/appwrite/pull/9360)
+* Fix Self Hosting functions by adding missed config in [#9373](https://github.com/appwrite/appwrite/pull/9373)
+* Fix resend team invite if already accepted in [#9348](https://github.com/appwrite/appwrite/pull/9348)
+* Fix null errors on team invite in [#9391](https://github.com/appwrite/appwrite/pull/9391)
+* Fix email (smtp) to multiple recipients in [#9243](https://github.com/appwrite/appwrite/pull/9243)
+* Fix stats timing by using receivedAt date when available in [#9428](https://github.com/appwrite/appwrite/pull/9428)
+* Make min/max params optional for attribute update in [#9387](https://github.com/appwrite/appwrite/pull/9387)
+* Fix blocking of phone sessions when disabled on console in [#9447](https://github.com/appwrite/appwrite/pull/9447)
+* Fix logging config in [#9467](https://github.com/appwrite/appwrite/pull/9467)
+* Update audit timestamp origin in [#9481](https://github.com/appwrite/appwrite/pull/9481)
+* Fix certificates in deletes worker in [#9466](https://github.com/appwrite/appwrite/pull/9466)
+* Fix console audits delete in [#9547](https://github.com/appwrite/appwrite/pull/9547)
+* Fix migrations in [#9633](https://github.com/appwrite/appwrite/pull/9633)
+* Ensure all 4xx errors in OAuth redirect lead to the failure URL in [#9679](https://github.com/appwrite/appwrite/pull/9679)
+* Treat 0 as unlimited for CPUs and memory in [#9638](https://github.com/appwrite/appwrite/pull/9638)
+* Add contextual dispatch logic to fix high CPU usage in [#9687](https://github.com/appwrite/appwrite/pull/9687)
### Miscellaneous
-* Merge 1.6.x into feat-custom-cf-hostnames in [8904](https://github.com/appwrite/appwrite/pull/8904)
-* Improve compression param checks in [8922](https://github.com/appwrite/appwrite/pull/8922)
-* upgrade utopia storage in [8930](https://github.com/appwrite/appwrite/pull/8930)
-* Feat migration in [8797](https://github.com/appwrite/appwrite/pull/8797)
-* feat fix web routes in [8962](https://github.com/appwrite/appwrite/pull/8962)
-* Fix no pool access in [9027](https://github.com/appwrite/appwrite/pull/9027)
-* feat: use environment variable to check rules format in [9039](https://github.com/appwrite/appwrite/pull/9039)
-* Update storage.php in [9037](https://github.com/appwrite/appwrite/pull/9037)
-* Upgrade db 0.53.200 in [9050](https://github.com/appwrite/appwrite/pull/9050)
-* Chore: upgrade utopia storage in [9066](https://github.com/appwrite/appwrite/pull/9066)
-* Update usage-dump payload in [9085](https://github.com/appwrite/appwrite/pull/9085)
-* GitHub Workflows security hardening in [3728](https://github.com/appwrite/appwrite/pull/3728)
-* Update add-oauth2-provider.md in [4313](https://github.com/appwrite/appwrite/pull/4313)
-* update readme-cn some doc in [5278](https://github.com/appwrite/appwrite/pull/5278)
-* Add accessibility features in [7042](https://github.com/appwrite/appwrite/pull/7042)
-* Add Appwrite Cloud to read me. in [5445](https://github.com/appwrite/appwrite/pull/5445)
-* Migration throw error in [9092](https://github.com/appwrite/appwrite/pull/9092)
-* Fix usage payload bug in [9097](https://github.com/appwrite/appwrite/pull/9097)
-* chore: replace occurrences of dbForConsole to dbForPlatform in [9096](https://github.com/appwrite/appwrite/pull/9096)
-* fix(realtime): decrement connectionCounter only if connection is known in [9055](https://github.com/appwrite/appwrite/pull/9055)
-* payload bug fix in [9098](https://github.com/appwrite/appwrite/pull/9098)
-* Fix usage payload bug in [9099](https://github.com/appwrite/appwrite/pull/9099)
-* Usage payload debug in [9101](https://github.com/appwrite/appwrite/pull/9101)
-* Usage payload debug in [9103](https://github.com/appwrite/appwrite/pull/9103)
-* Usage payload debug in [9104](https://github.com/appwrite/appwrite/pull/9104)
-* Feat: createFunction abuse labels in [9102](https://github.com/appwrite/appwrite/pull/9102)
-* Docs-create-document in [9105](https://github.com/appwrite/appwrite/pull/9105)
-* Docs: Create document and unknown attribute error messages. in [5427](https://github.com/appwrite/appwrite/pull/5427)
-* Fix: update project accessed at from router and schedulers in [9109](https://github.com/appwrite/appwrite/pull/9109)
-* chore: initial commit in [9111](https://github.com/appwrite/appwrite/pull/9111)
-* chore: optimise webhooks payload in [9115](https://github.com/appwrite/appwrite/pull/9115)
-* Revert "chore: initial commit" in [9117](https://github.com/appwrite/appwrite/pull/9117)
-* chore: fix attribute name in [9118](https://github.com/appwrite/appwrite/pull/9118)
-* Migrate to redis abuse in [9124](https://github.com/appwrite/appwrite/pull/9124)
-* Added webhooks usage stats in [9125](https://github.com/appwrite/appwrite/pull/9125)
-* chore remove abuse cleanup in [9137](https://github.com/appwrite/appwrite/pull/9137)
-* fix: remove abuse delete trigger in [9139](https://github.com/appwrite/appwrite/pull/9139)
-* Remove firebase OAuth API endpoints in [9144](https://github.com/appwrite/appwrite/pull/9144)
-* chore: release client sdks in [9112](https://github.com/appwrite/appwrite/pull/9112)
-* Update general.php in [9155](https://github.com/appwrite/appwrite/pull/9155)
-* feat(swoole): allow configuration override of available cpus in [9177](https://github.com/appwrite/appwrite/pull/9177)
-* Usage databases api read writes addition in [9142](https://github.com/appwrite/appwrite/pull/9142)
-* Fix dead connections in [9190](https://github.com/appwrite/appwrite/pull/9190)
-* Add hostname to audits in [9165](https://github.com/appwrite/appwrite/pull/9165)
-* chore: shifted authphone usage tracking to api calls in [9191](https://github.com/appwrite/appwrite/pull/9191)
-* Revert "Fix dead connections" in [9201](https://github.com/appwrite/appwrite/pull/9201)
-* Add assertEventually to messaging provider logs test in [9192](https://github.com/appwrite/appwrite/pull/9192)
-* feat project sms usage in [9198](https://github.com/appwrite/appwrite/pull/9198)
-* chore: add audit labels to project resources in [9056](https://github.com/appwrite/appwrite/pull/9056)
-* fix sms usage in [9207](https://github.com/appwrite/appwrite/pull/9207)
-* Update database in [9202](https://github.com/appwrite/appwrite/pull/9202)
-* Fix dead connections in [9213](https://github.com/appwrite/appwrite/pull/9213)
-* Revert "Fix dead connections" in [9214](https://github.com/appwrite/appwrite/pull/9214)
-* Add logs db init for consistency in [9163](https://github.com/appwrite/appwrite/pull/9163)
-* Split the collection definitions in [9153](https://github.com/appwrite/appwrite/pull/9153)
-* Log path with populated parameters in [9220](https://github.com/appwrite/appwrite/pull/9220)
-* Add missing scope on function template in [9208](https://github.com/appwrite/appwrite/pull/9208)
-* Add relatedCollection default in [9225](https://github.com/appwrite/appwrite/pull/9225)
-* fix: function usage in [9235](https://github.com/appwrite/appwrite/pull/9235)
-* feat: optimise events payloads in [9232](https://github.com/appwrite/appwrite/pull/9232)
-* Optimise webhook events in [9168](https://github.com/appwrite/appwrite/pull/9168)
-* fix: maintenance job missing type in [9238](https://github.com/appwrite/appwrite/pull/9238)
-* Update Fetch to 0.3.0 in [9245](https://github.com/appwrite/appwrite/pull/9245)
-* Fix maintenance job in [9247](https://github.com/appwrite/appwrite/pull/9247)
-* chore: add missing case for executions in [9248](https://github.com/appwrite/appwrite/pull/9248)
-* Add index dependency exception in [9226](https://github.com/appwrite/appwrite/pull/9226)
-* chore: fix benchmarking test when made from fork in [9233](https://github.com/appwrite/appwrite/pull/9233)
-* Update SDK Generator versions in [9188](https://github.com/appwrite/appwrite/pull/9188)
-* chore: skipped job instead of throwing error in [9250](https://github.com/appwrite/appwrite/pull/9250)
-* Implement new SDK Class on 1.6.x in [9237](https://github.com/appwrite/appwrite/pull/9237)
-* Delete collection before Appwrite's attributes in [9256](https://github.com/appwrite/appwrite/pull/9256)
-* Feat batch usage dump in [9255](https://github.com/appwrite/appwrite/pull/9255)
-* Fix cloud tests in [9261](https://github.com/appwrite/appwrite/pull/9261)
-* Usage: Databases reads writes in [9260](https://github.com/appwrite/appwrite/pull/9260)
-* Update: Latest sdk specs in [9274](https://github.com/appwrite/appwrite/pull/9274)
-* Revert "Feat batch usage dump" in [9276](https://github.com/appwrite/appwrite/pull/9276)
-* feat: add fast2SMS adapter in [9263](https://github.com/appwrite/appwrite/pull/9263)
-* Update Sdk Generator dependency in [9280](https://github.com/appwrite/appwrite/pull/9280)
-* Transformed at addition in [9281](https://github.com/appwrite/appwrite/pull/9281)
-* Docs: clarify update endpoints only work on draft messages in [9236](https://github.com/appwrite/appwrite/pull/9236)
-* Update sdk generator dependency in [9282](https://github.com/appwrite/appwrite/pull/9282)
-* Revert "Transformed at addition" in [9284](https://github.com/appwrite/appwrite/pull/9284)
-* replaced init for cloud link in [9285](https://github.com/appwrite/appwrite/pull/9285)
-* Add transformed at in [9289](https://github.com/appwrite/appwrite/pull/9289)
-* Make migrations use Dynamic keys for destination in [9291](https://github.com/appwrite/appwrite/pull/9291)
-* Make sessions limit tests assert eventually in [9298](https://github.com/appwrite/appwrite/pull/9298)
-* Chore update database in [9306](https://github.com/appwrite/appwrite/pull/9306)
-* feat: add AMQP queues in [9287](https://github.com/appwrite/appwrite/pull/9287)
-* fix(test): use assertEventually instead of while(true) in [9308](https://github.com/appwrite/appwrite/pull/9308)
-* fix(certificate worker): events are published without queue name in [9309](https://github.com/appwrite/appwrite/pull/9309)
-* chore: update utopia-php/queue to 0.8.1 in [9311](https://github.com/appwrite/appwrite/pull/9311)
-* chore: update utopia-php/queue to 0.8.2 in [9312](https://github.com/appwrite/appwrite/pull/9312)
-* fix(schedule-tasks): revert back to direct pool usage in [9313](https://github.com/appwrite/appwrite/pull/9313)
-* feat: custom app schemes in [9262](https://github.com/appwrite/appwrite/pull/9262)
-* Revert "feat: custom app schemes" in [9319](https://github.com/appwrite/appwrite/pull/9319)
-* Restore "feat: custom app schemes"" in [9320](https://github.com/appwrite/appwrite/pull/9320)
-* Revert "Restore "feat: custom app schemes""" in [9323](https://github.com/appwrite/appwrite/pull/9323)
-* chore: update dependencies in [9330](https://github.com/appwrite/appwrite/pull/9330)
-* Feat: logs DB in [9272](https://github.com/appwrite/appwrite/pull/9272)
-* Catch invalid index in [9329](https://github.com/appwrite/appwrite/pull/9329)
-* Fix: missing call for image transformations counting in [9342](https://github.com/appwrite/appwrite/pull/9342)
-* Fix drop abuse on shared table project delete in [9346](https://github.com/appwrite/appwrite/pull/9346)
-* Only run all table mode tests on db update in [9338](https://github.com/appwrite/appwrite/pull/9338)
-* Fix: missing periodic metric in [9350](https://github.com/appwrite/appwrite/pull/9350)
-* feat(builds): check if function is blocked before building in [9332](https://github.com/appwrite/appwrite/pull/9332)
-* feat: batch create audit logs in [9347](https://github.com/appwrite/appwrite/pull/9347)
-* Chore: Update migrations in [9355](https://github.com/appwrite/appwrite/pull/9355)
-* Fix: metric time was not being written to DB in [9354](https://github.com/appwrite/appwrite/pull/9354)
-* Fix patch index validation in [9356](https://github.com/appwrite/appwrite/pull/9356)
-* Fix image trnasformation metrics in [9370](https://github.com/appwrite/appwrite/pull/9370)
-* Use batch delete in worker in [9375](https://github.com/appwrite/appwrite/pull/9375)
-* Fix Model Platform is missing response key: store in [9361](https://github.com/appwrite/appwrite/pull/9361)
-* Feat key segmented usage in [9336](https://github.com/appwrite/appwrite/pull/9336)
-* Feat messaging metrics in [9353](https://github.com/appwrite/appwrite/pull/9353)
-* Fix removed audits for shared v2 in [9388](https://github.com/appwrite/appwrite/pull/9388)
-* chore: bump utopia-php/image to 0.8.0 in [9390](https://github.com/appwrite/appwrite/pull/9390)
-* Fix outdated CLI commands in documentation in [9122](https://github.com/appwrite/appwrite/pull/9122)
-* disable logs display in [9398](https://github.com/appwrite/appwrite/pull/9398)
-* Log batches per project in [9403](https://github.com/appwrite/appwrite/pull/9403)
-* Batch per project in [9410](https://github.com/appwrite/appwrite/pull/9410)
-* Fix: stats resources only queue projects accessed in last 3 hours in [9411](https://github.com/appwrite/appwrite/pull/9411)
-* Track options requests in [9397](https://github.com/appwrite/appwrite/pull/9397)
-* chore: bump docker-base in [9406](https://github.com/appwrite/appwrite/pull/9406)
-* refactor: migrate Realtime::send calls to queueForRealtime in [9325](https://github.com/appwrite/appwrite/pull/9325)
-* Revert "Fix: stats resources only queue projects accessed in last 3 hours" in [9424](https://github.com/appwrite/appwrite/pull/9424)
-* Remove usage and usage dump in favor of stats-usage and stats-usage-dump in [9339](https://github.com/appwrite/appwrite/pull/9339)
-* Fix: disable dual writing in [9429](https://github.com/appwrite/appwrite/pull/9429)
-* Disable transformedAt update for console users in [9425](https://github.com/appwrite/appwrite/pull/9425)
-* chore: add image transformation stats to usage endpoint in [9393](https://github.com/appwrite/appwrite/pull/9393)
-* chore: added timeout to deployment builds in tests in [9426](https://github.com/appwrite/appwrite/pull/9426)
-* fix: model for image transformations in usage project in [9442](https://github.com/appwrite/appwrite/pull/9442)
-* Feat: calculate database storage in stats-resources in [9443](https://github.com/appwrite/appwrite/pull/9443)
-* Activities batch writes in [9438](https://github.com/appwrite/appwrite/pull/9438)
-* chore: bump cache 0.12.x in [9412](https://github.com/appwrite/appwrite/pull/9412)
-* chore: queue console project for maintenance delete in [9479](https://github.com/appwrite/appwrite/pull/9479)
-* chore: added logsdb for deletes worker in [9462](https://github.com/appwrite/appwrite/pull/9462)
-* Feat: calculate and log time taken for each project in [9491](https://github.com/appwrite/appwrite/pull/9491)
-* chore: update initializing dbForLogs in [9494](https://github.com/appwrite/appwrite/pull/9494)
-* Feat bulk audit delete in [9487](https://github.com/appwrite/appwrite/pull/9487)
-* Prepare 1.6.2 release in [9499](https://github.com/appwrite/appwrite/pull/9499)
-* Regenerate specs in [9497](https://github.com/appwrite/appwrite/pull/9497)
-* Regenerate examples in [9498](https://github.com/appwrite/appwrite/pull/9498)
-* chore: bump sdk in [9414](https://github.com/appwrite/appwrite/pull/9414)
-* update queue to 0.9.* in [9505](https://github.com/appwrite/appwrite/pull/9505)
-* Feat improve delete queries in [9507](https://github.com/appwrite/appwrite/pull/9507)
-* Feat: Add rule attributes in [9508](https://github.com/appwrite/appwrite/pull/9508)
-* Sync main into 1.6.x in [9496](https://github.com/appwrite/appwrite/pull/9496)
-* Bump console to version 5.2.53 in [9495](https://github.com/appwrite/appwrite/pull/9495)
-* Prepare 1.6.1 release in [9294](https://github.com/appwrite/appwrite/pull/9294)
-* Improve delete ordering in [9512](https://github.com/appwrite/appwrite/pull/9512)
-* Cleanups in [9511](https://github.com/appwrite/appwrite/pull/9511)
-* Feat dynamic regions in [9408](https://github.com/appwrite/appwrite/pull/9408)
-* Feat env vars to system lib in [9515](https://github.com/appwrite/appwrite/pull/9515)
-* Feat: domains count in [9514](https://github.com/appwrite/appwrite/pull/9514)
-* Migration read from db in [9529](https://github.com/appwrite/appwrite/pull/9529)
-* feat: add pool telemetry in [9530](https://github.com/appwrite/appwrite/pull/9530)
-* Disable PDO persistence since we manage our own pool in [9526](https://github.com/appwrite/appwrite/pull/9526)
-* chore: set min operations to 1 for reads and writes in [9536](https://github.com/appwrite/appwrite/pull/9536)
-* Remove default region in [9430](https://github.com/appwrite/appwrite/pull/9430)
-* Use cursor pagination with bigger limit for maintenance project loop in [9546](https://github.com/appwrite/appwrite/pull/9546)
-* chore: stop tests on failure in [9525](https://github.com/appwrite/appwrite/pull/9525)
-* chore: only update total count for privileged users in [9554](https://github.com/appwrite/appwrite/pull/9554)
-* refactor: initialization of audit retention in [9563](https://github.com/appwrite/appwrite/pull/9563)
-* Delete worker queries fixes in [9523](https://github.com/appwrite/appwrite/pull/9523)
-* Bump database 0.62.x in [9568](https://github.com/appwrite/appwrite/pull/9568)
-* Fix: schedules region filtering in [9577](https://github.com/appwrite/appwrite/pull/9577)
-* Deletes worker fix selects for pagination in [9578](https://github.com/appwrite/appwrite/pull/9578)
-* Add $permissions for delete documents selects in [9579](https://github.com/appwrite/appwrite/pull/9579)
-* chore(audits): return queue pre-fetch results in [9533](https://github.com/appwrite/appwrite/pull/9533)
-* Revert "chore(audits): return queue pre-fetch results" in [9586](https://github.com/appwrite/appwrite/pull/9586)
-* Feat multi tenant insert in [9573](https://github.com/appwrite/appwrite/pull/9573)
-* Add order by for cursor in [9588](https://github.com/appwrite/appwrite/pull/9588)
-* Feat update fetch in [9592](https://github.com/appwrite/appwrite/pull/9592)
-* Fix tenant casting in [9598](https://github.com/appwrite/appwrite/pull/9598)
-* Feat update ws in [9602](https://github.com/appwrite/appwrite/pull/9602)
-* Update database in [9603](https://github.com/appwrite/appwrite/pull/9603)
-* Fix: image transformation cache in [9608](https://github.com/appwrite/appwrite/pull/9608)
-* Remove audit payload in [9610](https://github.com/appwrite/appwrite/pull/9610)
-* Sample rate from DSN in [9559](https://github.com/appwrite/appwrite/pull/9559)
-* Restrict role change for sole org owner in [9615](https://github.com/appwrite/appwrite/pull/9615)
-* chore: update php image to 0.8.1 in [9616](https://github.com/appwrite/appwrite/pull/9616)
-* feat: refactor executor setup in [9420](https://github.com/appwrite/appwrite/pull/9420)
-* chore: update gitpod.yml config in [9561](https://github.com/appwrite/appwrite/pull/9561)
-* chore: update dependencies in [9625](https://github.com/appwrite/appwrite/pull/9625)
-* Update migrations lib in [9628](https://github.com/appwrite/appwrite/pull/9628)
-* feat: cache telemetry in [9624](https://github.com/appwrite/appwrite/pull/9624)
-* Bump console to version 5.2.56 in [9631](https://github.com/appwrite/appwrite/pull/9631)
-* Multi region support in [8667](https://github.com/appwrite/appwrite/pull/8667)
-* Revert "Multi region support" in [9632](https://github.com/appwrite/appwrite/pull/9632)
-* Revert "Revert "Multi region support"" in [9636](https://github.com/appwrite/appwrite/pull/9636)
-* Fix tasks in [9644](https://github.com/appwrite/appwrite/pull/9644)
-* chore: updated the migration version to 8.6 in [9646](https://github.com/appwrite/appwrite/pull/9646)
-* Fix: merge the working of StatsUsage and StatsUsageDump in [9585](https://github.com/appwrite/appwrite/pull/9585)
-* Update database in [9643](https://github.com/appwrite/appwrite/pull/9643)
-* chore: fix error logging for CLI tasks in [9651](https://github.com/appwrite/appwrite/pull/9651)
-* fix: usage test assertion in [9653](https://github.com/appwrite/appwrite/pull/9653)
-* Fix keys in [9656](https://github.com/appwrite/appwrite/pull/9656)
-* Feat: multi tenant dual writing in [9583](https://github.com/appwrite/appwrite/pull/9583)
-* Fix/throwing 400 for null order attributes in [9657](https://github.com/appwrite/appwrite/pull/9657)
-* feat: sdk group attribute in [9596](https://github.com/appwrite/appwrite/pull/9596)
-* Add configurable function and build size in [9648](https://github.com/appwrite/appwrite/pull/9648)
-* feat: update API endpoint in the code examples in [8933](https://github.com/appwrite/appwrite/pull/8933)
-* chore: abstract token secret hiding to response model in [9574](https://github.com/appwrite/appwrite/pull/9574)
-* chore: update sdks in [9655](https://github.com/appwrite/appwrite/pull/9655)
-* feat: allow non-critical events to ignore exceptions when enqueuing the event in [9680](https://github.com/appwrite/appwrite/pull/9680)
-* Revert "Add configurable function and build size" in [9681](https://github.com/appwrite/appwrite/pull/9681)
-* core: introduce endpoint.docs in specs in [9685](https://github.com/appwrite/appwrite/pull/9685)
-* fix: remove content-type header from get request specs in [9666](https://github.com/appwrite/appwrite/pull/9666)
-* chore: update flutter sdk in [9691](https://github.com/appwrite/appwrite/pull/9691)
+* Merge 1.6.x into feat-custom-cf-hostnames in [#8904](https://github.com/appwrite/appwrite/pull/8904)
+* Improve compression param checks in [#8922](https://github.com/appwrite/appwrite/pull/8922)
+* upgrade utopia storage in [#8930](https://github.com/appwrite/appwrite/pull/8930)
+* Feat migration in [#8797](https://github.com/appwrite/appwrite/pull/8797)
+* feat fix web routes in [#8962](https://github.com/appwrite/appwrite/pull/8962)
+* Fix no pool access in [#9027](https://github.com/appwrite/appwrite/pull/9027)
+* feat: use environment variable to check rules format in [#9039](https://github.com/appwrite/appwrite/pull/9039)
+* Update storage.php in [#9037](https://github.com/appwrite/appwrite/pull/9037)
+* Upgrade db 0.53.200 in [#9050](https://github.com/appwrite/appwrite/pull/9050)
+* Chore: upgrade utopia storage in [#9066](https://github.com/appwrite/appwrite/pull/9066)
+* Update usage-dump payload in [#9085](https://github.com/appwrite/appwrite/pull/9085)
+* GitHub Workflows security hardening in [#3728](https://github.com/appwrite/appwrite/pull/3728)
+* Update add-oauth2-provider.md in [#4313](https://github.com/appwrite/appwrite/pull/4313)
+* update readme-cn some doc in [#5278](https://github.com/appwrite/appwrite/pull/5278)
+* Add accessibility features in [#7042](https://github.com/appwrite/appwrite/pull/7042)
+* Add Appwrite Cloud to read me. in [#5445](https://github.com/appwrite/appwrite/pull/5445)
+* Migration throw error in [#9092](https://github.com/appwrite/appwrite/pull/9092)
+* Fix usage payload bug in [#9097](https://github.com/appwrite/appwrite/pull/9097)
+* chore: replace occurrences of dbForConsole to dbForPlatform in [#9096](https://github.com/appwrite/appwrite/pull/9096)
+* fix(realtime): decrement connectionCounter only if connection is known in [#9055](https://github.com/appwrite/appwrite/pull/9055)
+* payload bug fix in [#9098](https://github.com/appwrite/appwrite/pull/9098)
+* Fix usage payload bug in [#9099](https://github.com/appwrite/appwrite/pull/9099)
+* Usage payload debug in [#9101](https://github.com/appwrite/appwrite/pull/9101)
+* Usage payload debug in [#9103](https://github.com/appwrite/appwrite/pull/9103)
+* Usage payload debug in [#9104](https://github.com/appwrite/appwrite/pull/9104)
+* Feat: createFunction abuse labels in [#9102](https://github.com/appwrite/appwrite/pull/9102)
+* Docs-create-document in [#9105](https://github.com/appwrite/appwrite/pull/9105)
+* Docs: Create document and unknown attribute error messages. in [#5427](https://github.com/appwrite/appwrite/pull/5427)
+* Fix: update project accessed at from router and schedulers in [#9109](https://github.com/appwrite/appwrite/pull/9109)
+* chore: initial commit in [#9111](https://github.com/appwrite/appwrite/pull/9111)
+* chore: optimise webhooks payload in [#9115](https://github.com/appwrite/appwrite/pull/9115)
+* Revert "chore: initial commit" in [#9117](https://github.com/appwrite/appwrite/pull/9117)
+* chore: fix attribute name in [#9118](https://github.com/appwrite/appwrite/pull/9118)
+* Migrate to redis abuse in [#9124](https://github.com/appwrite/appwrite/pull/9124)
+* Added webhooks usage stats in [#9125](https://github.com/appwrite/appwrite/pull/9125)
+* chore remove abuse cleanup in [#9137](https://github.com/appwrite/appwrite/pull/9137)
+* fix: remove abuse delete trigger in [#9139](https://github.com/appwrite/appwrite/pull/9139)
+* Remove firebase OAuth API endpoints in [#9144](https://github.com/appwrite/appwrite/pull/9144)
+* chore: release client sdks in [#9112](https://github.com/appwrite/appwrite/pull/9112)
+* Update general.php in [#9155](https://github.com/appwrite/appwrite/pull/9155)
+* feat(swoole): allow configuration override of available cpus in [#9177](https://github.com/appwrite/appwrite/pull/9177)
+* Usage databases api read writes addition in [#9142](https://github.com/appwrite/appwrite/pull/9142)
+* Fix dead connections in [#9190](https://github.com/appwrite/appwrite/pull/9190)
+* Add hostname to audits in [#9165](https://github.com/appwrite/appwrite/pull/9165)
+* chore: shifted authphone usage tracking to api calls in [#9191](https://github.com/appwrite/appwrite/pull/9191)
+* Revert "Fix dead connections" in [#9201](https://github.com/appwrite/appwrite/pull/9201)
+* Add assertEventually to messaging provider logs test in [#9192](https://github.com/appwrite/appwrite/pull/9192)
+* feat project sms usage in [#9198](https://github.com/appwrite/appwrite/pull/9198)
+* chore: add audit labels to project resources in [#9056](https://github.com/appwrite/appwrite/pull/9056)
+* fix sms usage in [#9207](https://github.com/appwrite/appwrite/pull/9207)
+* Update database in [#9202](https://github.com/appwrite/appwrite/pull/9202)
+* Fix dead connections in [#9213](https://github.com/appwrite/appwrite/pull/9213)
+* Revert "Fix dead connections" in [#9214](https://github.com/appwrite/appwrite/pull/9214)
+* Add logs db init for consistency in [#9163](https://github.com/appwrite/appwrite/pull/9163)
+* Split the collection definitions in [#9153](https://github.com/appwrite/appwrite/pull/9153)
+* Log path with populated parameters in [#9220](https://github.com/appwrite/appwrite/pull/9220)
+* Add missing scope on function template in [#9208](https://github.com/appwrite/appwrite/pull/9208)
+* Add relatedCollection default in [#9225](https://github.com/appwrite/appwrite/pull/9225)
+* fix: function usage in [#9235](https://github.com/appwrite/appwrite/pull/9235)
+* feat: optimise events payloads in [#9232](https://github.com/appwrite/appwrite/pull/9232)
+* Optimise webhook events in [#9168](https://github.com/appwrite/appwrite/pull/9168)
+* fix: maintenance job missing type in [#9238](https://github.com/appwrite/appwrite/pull/9238)
+* Update Fetch to 0.3.0 in [#9245](https://github.com/appwrite/appwrite/pull/9245)
+* Fix maintenance job in [#9247](https://github.com/appwrite/appwrite/pull/9247)
+* chore: add missing case for executions in [#9248](https://github.com/appwrite/appwrite/pull/9248)
+* Add index dependency exception in [#9226](https://github.com/appwrite/appwrite/pull/9226)
+* chore: fix benchmarking test when made from fork in [#9233](https://github.com/appwrite/appwrite/pull/9233)
+* Update SDK Generator versions in [#9188](https://github.com/appwrite/appwrite/pull/9188)
+* chore: skipped job instead of throwing error in [#9250](https://github.com/appwrite/appwrite/pull/9250)
+* Implement new SDK Class on 1.6.x in [#9237](https://github.com/appwrite/appwrite/pull/9237)
+* Delete collection before Appwrite's attributes in [#9256](https://github.com/appwrite/appwrite/pull/9256)
+* Feat batch usage dump in [#9255](https://github.com/appwrite/appwrite/pull/9255)
+* Fix cloud tests in [#9261](https://github.com/appwrite/appwrite/pull/9261)
+* Usage: Databases reads writes in [#9260](https://github.com/appwrite/appwrite/pull/9260)
+* Update: Latest sdk specs in [#9274](https://github.com/appwrite/appwrite/pull/9274)
+* Revert "Feat batch usage dump" in [#9276](https://github.com/appwrite/appwrite/pull/9276)
+* feat: add fast2SMS adapter in [#9263](https://github.com/appwrite/appwrite/pull/9263)
+* Update Sdk Generator dependency in [#9280](https://github.com/appwrite/appwrite/pull/9280)
+* Transformed at addition in [#9281](https://github.com/appwrite/appwrite/pull/9281)
+* Docs: clarify update endpoints only work on draft messages in [#9236](https://github.com/appwrite/appwrite/pull/9236)
+* Update sdk generator dependency in [#9282](https://github.com/appwrite/appwrite/pull/9282)
+* Revert "Transformed at addition" in [#9284](https://github.com/appwrite/appwrite/pull/9284)
+* replaced init for cloud link in [#9285](https://github.com/appwrite/appwrite/pull/9285)
+* Add transformed at in [#9289](https://github.com/appwrite/appwrite/pull/9289)
+* Make migrations use Dynamic keys for destination in [#9291](https://github.com/appwrite/appwrite/pull/9291)
+* Make sessions limit tests assert eventually in [#9298](https://github.com/appwrite/appwrite/pull/9298)
+* Chore update database in [#9306](https://github.com/appwrite/appwrite/pull/9306)
+* feat: add AMQP queues in [#9287](https://github.com/appwrite/appwrite/pull/9287)
+* fix(test): use assertEventually instead of while(true) in [#9308](https://github.com/appwrite/appwrite/pull/9308)
+* fix(certificate worker): events are published without queue name in [#9309](https://github.com/appwrite/appwrite/pull/9309)
+* chore: update utopia-php/queue to 0.8.1 in [#9311](https://github.com/appwrite/appwrite/pull/9311)
+* chore: update utopia-php/queue to 0.8.2 in [#9312](https://github.com/appwrite/appwrite/pull/9312)
+* fix(schedule-tasks): revert back to direct pool usage in [#9313](https://github.com/appwrite/appwrite/pull/9313)
+* feat: custom app schemes in [#9262](https://github.com/appwrite/appwrite/pull/9262)
+* Revert "feat: custom app schemes" in [#9319](https://github.com/appwrite/appwrite/pull/9319)
+* Restore "feat: custom app schemes"" in [#9320](https://github.com/appwrite/appwrite/pull/9320)
+* Revert "Restore "feat: custom app schemes""" in [#9323](https://github.com/appwrite/appwrite/pull/9323)
+* chore: update dependencies in [#9330](https://github.com/appwrite/appwrite/pull/9330)
+* Feat: logs DB in [#9272](https://github.com/appwrite/appwrite/pull/9272)
+* Catch invalid index in [#9329](https://github.com/appwrite/appwrite/pull/9329)
+* Fix: missing call for image transformations counting in [#9342](https://github.com/appwrite/appwrite/pull/9342)
+* Fix drop abuse on shared table project delete in [#9346](https://github.com/appwrite/appwrite/pull/9346)
+* Only run all table mode tests on db update in [#9338](https://github.com/appwrite/appwrite/pull/9338)
+* Fix: missing periodic metric in [#9350](https://github.com/appwrite/appwrite/pull/9350)
+* feat(builds): check if function is blocked before building in [#9332](https://github.com/appwrite/appwrite/pull/9332)
+* feat: batch create audit logs in [#9347](https://github.com/appwrite/appwrite/pull/9347)
+* Chore: Update migrations in [#9355](https://github.com/appwrite/appwrite/pull/9355)
+* Fix: metric time was not being written to DB in [#9354](https://github.com/appwrite/appwrite/pull/9354)
+* Fix patch index validation in [#9356](https://github.com/appwrite/appwrite/pull/9356)
+* Fix image trnasformation metrics in [#9370](https://github.com/appwrite/appwrite/pull/9370)
+* Use batch delete in worker in [#9375](https://github.com/appwrite/appwrite/pull/9375)
+* Fix Model Platform is missing response key: store in [#9361](https://github.com/appwrite/appwrite/pull/9361)
+* Feat key segmented usage in [#9336](https://github.com/appwrite/appwrite/pull/9336)
+* Feat messaging metrics in [#9353](https://github.com/appwrite/appwrite/pull/9353)
+* Fix removed audits for shared v2 in [#9388](https://github.com/appwrite/appwrite/pull/9388)
+* chore: bump utopia-php/image to 0.8.0 in [#9390](https://github.com/appwrite/appwrite/pull/9390)
+* Fix outdated CLI commands in documentation in [#9122](https://github.com/appwrite/appwrite/pull/9122)
+* disable logs display in [#9398](https://github.com/appwrite/appwrite/pull/9398)
+* Log batches per project in [#9403](https://github.com/appwrite/appwrite/pull/9403)
+* Batch per project in [#9410](https://github.com/appwrite/appwrite/pull/9410)
+* Fix: stats resources only queue projects accessed in last 3 hours in [#9411](https://github.com/appwrite/appwrite/pull/9411)
+* Track options requests in [#9397](https://github.com/appwrite/appwrite/pull/9397)
+* chore: bump docker-base in [#9406](https://github.com/appwrite/appwrite/pull/9406)
+* refactor: migrate Realtime::send calls to queueForRealtime in [#9325](https://github.com/appwrite/appwrite/pull/9325)
+* Revert "Fix: stats resources only queue projects accessed in last 3 hours" in [#9424](https://github.com/appwrite/appwrite/pull/9424)
+* Remove usage and usage dump in favor of stats-usage and stats-usage-dump in [#9339](https://github.com/appwrite/appwrite/pull/9339)
+* Fix: disable dual writing in [#9429](https://github.com/appwrite/appwrite/pull/9429)
+* Disable transformedAt update for console users in [#9425](https://github.com/appwrite/appwrite/pull/9425)
+* chore: add image transformation stats to usage endpoint in [#9393](https://github.com/appwrite/appwrite/pull/9393)
+* chore: added timeout to deployment builds in tests in [#9426](https://github.com/appwrite/appwrite/pull/9426)
+* fix: model for image transformations in usage project in [#9442](https://github.com/appwrite/appwrite/pull/9442)
+* Feat: calculate database storage in stats-resources in [#9443](https://github.com/appwrite/appwrite/pull/9443)
+* Activities batch writes in [#9438](https://github.com/appwrite/appwrite/pull/9438)
+* chore: bump cache 0.12.x in [#9412](https://github.com/appwrite/appwrite/pull/9412)
+* chore: queue console project for maintenance delete in [#9479](https://github.com/appwrite/appwrite/pull/9479)
+* chore: added logsdb for deletes worker in [#9462](https://github.com/appwrite/appwrite/pull/9462)
+* Feat: calculate and log time taken for each project in [#9491](https://github.com/appwrite/appwrite/pull/9491)
+* chore: update initializing dbForLogs in [#9494](https://github.com/appwrite/appwrite/pull/9494)
+* Feat bulk audit delete in [#9487](https://github.com/appwrite/appwrite/pull/9487)
+* Prepare 1.6.2 release in [#9499](https://github.com/appwrite/appwrite/pull/9499)
+* Regenerate specs in [#9497](https://github.com/appwrite/appwrite/pull/9497)
+* Regenerate examples in [#9498](https://github.com/appwrite/appwrite/pull/9498)
+* chore: bump sdk in [#9414](https://github.com/appwrite/appwrite/pull/9414)
+* update queue to 0.9.* in [#9505](https://github.com/appwrite/appwrite/pull/9505)
+* Feat improve delete queries in [#9507](https://github.com/appwrite/appwrite/pull/9507)
+* Feat: Add rule attributes in [#9508](https://github.com/appwrite/appwrite/pull/9508)
+* Sync main into 1.6.x in [#9496](https://github.com/appwrite/appwrite/pull/9496)
+* Bump console to version 5.2.53 in [#9495](https://github.com/appwrite/appwrite/pull/9495)
+* Prepare 1.6.1 release in [#9294](https://github.com/appwrite/appwrite/pull/9294)
+* Improve delete ordering in [#9512](https://github.com/appwrite/appwrite/pull/9512)
+* Cleanups in [#9511](https://github.com/appwrite/appwrite/pull/9511)
+* Feat dynamic regions in [#9408](https://github.com/appwrite/appwrite/pull/9408)
+* Feat env vars to system lib in [#9515](https://github.com/appwrite/appwrite/pull/9515)
+* Feat: domains count in [#9514](https://github.com/appwrite/appwrite/pull/9514)
+* Migration read from db in [#9529](https://github.com/appwrite/appwrite/pull/9529)
+* feat: add pool telemetry in [#9530](https://github.com/appwrite/appwrite/pull/9530)
+* Disable PDO persistence since we manage our own pool in [#9526](https://github.com/appwrite/appwrite/pull/9526)
+* chore: set min operations to 1 for reads and writes in [#9536](https://github.com/appwrite/appwrite/pull/9536)
+* Remove default region in [#9430](https://github.com/appwrite/appwrite/pull/9430)
+* Use cursor pagination with bigger limit for maintenance project loop in [#9546](https://github.com/appwrite/appwrite/pull/9546)
+* chore: stop tests on failure in [#9525](https://github.com/appwrite/appwrite/pull/9525)
+* chore: only update total count for privileged users in [#9554](https://github.com/appwrite/appwrite/pull/9554)
+* refactor: initialization of audit retention in [#9563](https://github.com/appwrite/appwrite/pull/9563)
+* Delete worker queries fixes in [#9523](https://github.com/appwrite/appwrite/pull/9523)
+* Bump database 0.62.x in [#9568](https://github.com/appwrite/appwrite/pull/9568)
+* Fix: schedules region filtering in [#9577](https://github.com/appwrite/appwrite/pull/9577)
+* Deletes worker fix selects for pagination in [#9578](https://github.com/appwrite/appwrite/pull/9578)
+* Add $permissions for delete documents selects in [#9579](https://github.com/appwrite/appwrite/pull/9579)
+* chore(audits): return queue pre-fetch results in [#9533](https://github.com/appwrite/appwrite/pull/9533)
+* Revert "chore(audits): return queue pre-fetch results" in [#9586](https://github.com/appwrite/appwrite/pull/9586)
+* Feat multi tenant insert in [#9573](https://github.com/appwrite/appwrite/pull/9573)
+* Add order by for cursor in [#9588](https://github.com/appwrite/appwrite/pull/9588)
+* Feat update fetch in [#9592](https://github.com/appwrite/appwrite/pull/9592)
+* Fix tenant casting in [#9598](https://github.com/appwrite/appwrite/pull/9598)
+* Feat update ws in [#9602](https://github.com/appwrite/appwrite/pull/9602)
+* Update database in [#9603](https://github.com/appwrite/appwrite/pull/9603)
+* Fix: image transformation cache in [#9608](https://github.com/appwrite/appwrite/pull/9608)
+* Remove audit payload in [#9610](https://github.com/appwrite/appwrite/pull/9610)
+* Sample rate from DSN in [#9559](https://github.com/appwrite/appwrite/pull/9559)
+* Restrict role change for sole org owner in [#9615](https://github.com/appwrite/appwrite/pull/9615)
+* chore: update php image to 0.8.1 in [#9616](https://github.com/appwrite/appwrite/pull/9616)
+* feat: refactor executor setup in [#9420](https://github.com/appwrite/appwrite/pull/9420)
+* chore: update gitpod.yml config in [#9561](https://github.com/appwrite/appwrite/pull/9561)
+* chore: update dependencies in [#9625](https://github.com/appwrite/appwrite/pull/9625)
+* Update migrations lib in [#9628](https://github.com/appwrite/appwrite/pull/9628)
+* feat: cache telemetry in [#9624](https://github.com/appwrite/appwrite/pull/9624)
+* Bump console to version 5.2.56 in [#9631](https://github.com/appwrite/appwrite/pull/9631)
+* Multi region support in [#8667](https://github.com/appwrite/appwrite/pull/8667)
+* Revert "Multi region support" in [#9632](https://github.com/appwrite/appwrite/pull/9632)
+* Revert "Revert "Multi region support"" in [#9636](https://github.com/appwrite/appwrite/pull/9636)
+* Fix tasks in [#9644](https://github.com/appwrite/appwrite/pull/9644)
+* chore: updated the migration version to 8.6 in [#9646](https://github.com/appwrite/appwrite/pull/9646)
+* Fix: merge the working of StatsUsage and StatsUsageDump in [#9585](https://github.com/appwrite/appwrite/pull/9585)
+* Update database in [#9643](https://github.com/appwrite/appwrite/pull/9643)
+* chore: fix error logging for CLI tasks in [#9651](https://github.com/appwrite/appwrite/pull/9651)
+* fix: usage test assertion in [#9653](https://github.com/appwrite/appwrite/pull/9653)
+* Fix keys in [#9656](https://github.com/appwrite/appwrite/pull/9656)
+* Feat: multi tenant dual writing in [#9583](https://github.com/appwrite/appwrite/pull/9583)
+* Fix/throwing 400 for null order attributes in [#9657](https://github.com/appwrite/appwrite/pull/9657)
+* feat: sdk group attribute in [#9596](https://github.com/appwrite/appwrite/pull/9596)
+* Add configurable function and build size in [#9648](https://github.com/appwrite/appwrite/pull/9648)
+* feat: update API endpoint in the code examples in [#8933](https://github.com/appwrite/appwrite/pull/8933)
+* chore: abstract token secret hiding to response model in [#9574](https://github.com/appwrite/appwrite/pull/9574)
+* chore: update sdks in [#9655](https://github.com/appwrite/appwrite/pull/9655)
+* feat: allow non-critical events to ignore exceptions when enqueuing the event in [#9680](https://github.com/appwrite/appwrite/pull/9680)
+* Revert "Add configurable function and build size" in [#9681](https://github.com/appwrite/appwrite/pull/9681)
+* core: introduce endpoint.docs in specs in [#9685](https://github.com/appwrite/appwrite/pull/9685)
+* fix: remove content-type header from get request specs in [#9666](https://github.com/appwrite/appwrite/pull/9666)
+* chore: update flutter sdk in [#9691](https://github.com/appwrite/appwrite/pull/9691)
# Version 1.6.1
diff --git a/README.md b/README.md
index 9cd5808e33..1f24d5c5f2 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-> We just announced Timestamp Overrides for Appwrite Databases - [Learn more](https://appwrite.io/blog/post/announcing-timestamp-overrides)
+> We just announced Transactions API for Appwrite Databases - [Learn more](https://appwrite.io/blog/post/announcing-transactions-api)
> Appwrite Cloud is now Generally Available - [Learn more](https://appwrite.io/cloud-ga)
diff --git a/app/cli.php b/app/cli.php
index 0f98cf3458..71b6464cb9 100644
--- a/app/cli.php
+++ b/app/cli.php
@@ -103,6 +103,11 @@ CLI::setResource('console', function () {
return new Document(Config::getParam('console'));
}, []);
+CLI::setResource(
+ 'isResourceBlocked',
+ fn () => fn (Document $project, string $resourceType, ?string $resourceId) => false
+);
+
CLI::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache) {
$databases = []; // TODO: @Meldiron This should probably be responsibility of utopia-php/pools
diff --git a/app/config/collections/projects.php b/app/config/collections/projects.php
index 7fc82b7441..bf0cee3527 100644
--- a/app/config/collections/projects.php
+++ b/app/config/collections/projects.php
@@ -2521,4 +2521,128 @@ return [
],
],
],
+
+ 'transactions' => [
+ '$collection' => ID::custom(Database::METADATA),
+ '$id' => ID::custom('transactions'),
+ 'name' => 'Transactions',
+ 'attributes' => [
+ [
+ '$id' => ID::custom('status'),
+ 'type' => Database::VAR_STRING,
+ 'size' => 16, // pending | committing | committed | failed
+ 'signed' => true,
+ 'required' => false,
+ 'default' => 'pending',
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('operations'),
+ 'type' => Database::VAR_INTEGER,
+ 'size' => 0,
+ 'signed' => false,
+ 'required' => true,
+ 'default' => 0,
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('expiresAt'),
+ 'type' => Database::VAR_DATETIME,
+ 'size' => 0,
+ 'signed' => true,
+ 'required' => true,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => ['datetime'],
+ ],
+ ],
+ 'indexes' => [
+ [
+ '$id' => ID::custom('_key_expiresAt'),
+ 'type' => Database::INDEX_KEY,
+ 'attributes' => ['expiresAt'],
+ 'lengths' => [],
+ 'orders' => [Database::ORDER_DESC],
+ ],
+ ],
+ ],
+
+ 'transactionLogs' => [
+ '$collection' => ID::custom(Database::METADATA),
+ '$id' => ID::custom('transactionLogs'),
+ 'name' => 'Transaction Logs',
+ 'attributes' => [
+ [
+ '$id' => ID::custom('transactionInternalId'),
+ 'type' => Database::VAR_STRING,
+ 'size' => Database::LENGTH_KEY,
+ 'signed' => true,
+ 'required' => true,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('databaseInternalId'),
+ 'type' => Database::VAR_STRING,
+ 'size' => Database::LENGTH_KEY,
+ 'signed' => true,
+ 'required' => true,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('collectionInternalId'),
+ 'type' => Database::VAR_STRING,
+ 'size' => Database::LENGTH_KEY,
+ 'signed' => true,
+ 'required' => true,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('documentId'),
+ 'type' => Database::VAR_STRING,
+ 'size' => Database::LENGTH_KEY,
+ 'signed' => true,
+ 'required' => false,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('action'),
+ 'type' => Database::VAR_STRING,
+ 'size' => 32, // create | update | upsert | increment | decrement | delete | bulkCreate | bulkUpdate | bulkUpsert | bulkDelete
+ 'signed' => true,
+ 'required' => true,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => [],
+ ],
+ [
+ '$id' => ID::custom('data'),
+ 'type' => Database::VAR_STRING,
+ 'size' => 5_000_000, // Allow large payloads for bulk operations
+ 'signed' => false,
+ 'required' => true,
+ 'default' => null,
+ 'array' => false,
+ 'filters' => ['json'],
+ ],
+ ],
+ 'indexes' => [
+ [
+ '$id' => ID::custom('_key_transaction'),
+ 'type' => Database::INDEX_KEY,
+ 'attributes' => ['transactionInternalId'],
+ 'lengths' => [],
+ 'orders' => [],
+ ],
+ ],
+ ],
];
diff --git a/app/config/console.php b/app/config/console.php
index faacecaa08..f8f68a8039 100644
--- a/app/config/console.php
+++ b/app/config/console.php
@@ -49,6 +49,7 @@ $console = [
'githubSecret' => System::getEnv('_APP_CONSOLE_GITHUB_SECRET', ''),
'githubAppid' => System::getEnv('_APP_CONSOLE_GITHUB_APP_ID', '')
],
+ 'smtpBaseTemplate' => APP_BRANDED_EMAIL_BASE_TEMPLATE,
];
return $console;
diff --git a/app/config/errors.php b/app/config/errors.php
index 156af5db8f..2e18f05797 100644
--- a/app/config/errors.php
+++ b/app/config/errors.php
@@ -211,6 +211,11 @@ return [
'description' => 'User with the requested ID could not be found.',
'code' => 404,
],
+ Exception::USER_EMAIL_NOT_FOUND => [
+ 'name' => Exception::USER_EMAIL_NOT_FOUND,
+ 'description' => 'User email could not be found.',
+ 'code' => 400,
+ ],
Exception::USER_EMAIL_ALREADY_EXISTS => [
'name' => Exception::USER_EMAIL_ALREADY_EXISTS,
'description' => 'A user with the same email already exists in the current project.',
@@ -312,11 +317,21 @@ return [
'description' => 'OAuth2 provider returned some error.',
'code' => 424,
],
+ Exception::USER_EMAIL_NOT_VERIFIED => [
+ 'name' => Exception::USER_EMAIL_NOT_VERIFIED,
+ 'description' => 'User email is not verified',
+ 'code' => 400,
+ ],
Exception::USER_EMAIL_ALREADY_VERIFIED => [
'name' => Exception::USER_EMAIL_ALREADY_VERIFIED,
'description' => 'User email is already verified',
'code' => 409,
],
+ Exception::USER_PHONE_NOT_VERIFIED => [
+ 'name' => Exception::USER_PHONE_NOT_VERIFIED,
+ 'description' => 'User phone is not verified',
+ 'code' => 400,
+ ],
Exception::USER_PHONE_ALREADY_VERIFIED => [
'name' => Exception::USER_PHONE_ALREADY_VERIFIED,
'description' => 'User phone is already verified',
@@ -563,6 +578,11 @@ return [
'description' => 'The requested runtime is either inactive or unsupported. Please check the value of the _APP_FUNCTIONS_RUNTIMES environment variable.',
'code' => 404,
],
+ Exception::FUNCTION_ALREADY_EXISTS => [
+ 'name' => Exception::FUNCTION_ALREADY_EXISTS,
+ 'description' => 'Function with the requested ID already exists. Try again with a different ID or use ID.unique() to generate a unique ID.',
+ 'code' => 409,
+ ],
Exception::FUNCTION_ENTRYPOINT_MISSING => [
'name' => Exception::FUNCTION_ENTRYPOINT_MISSING,
'description' => 'Entrypoint for your Appwrite Function is missing. Please specify it when making deployment or update the entrypoint under your function\'s "Settings" > "Configuration" > "Entrypoint".',
@@ -966,6 +986,48 @@ return [
'code' => 409,
],
+ /** Transactions */
+ Exception::TRANSACTION_NOT_FOUND => [
+ 'name' => Exception::TRANSACTION_NOT_FOUND,
+ 'description' => 'Transaction with the requested ID could not be found.',
+ 'code' => 404,
+ ],
+ Exception::TRANSACTION_ALREADY_EXISTS => [
+ 'name' => Exception::TRANSACTION_ALREADY_EXISTS,
+ 'description' => 'Transaction with the requested ID already exists. Try again with a different ID or use ID.unique() to generate a unique ID.',
+ 'code' => 409,
+ ],
+ Exception::TRANSACTION_INVALID => [
+ 'name' => Exception::TRANSACTION_INVALID,
+ 'description' => 'The transaction is invalid. Please check the transaction state and try again.',
+ 'code' => 400,
+ ],
+ Exception::TRANSACTION_FAILED => [
+ 'name' => Exception::TRANSACTION_FAILED,
+ 'description' => 'The transaction has errored. Please check the transaction data and try again.',
+ 'code' => 400,
+ ],
+ Exception::TRANSACTION_EXPIRED => [
+ 'name' => Exception::TRANSACTION_EXPIRED,
+ 'description' => 'The transaction has expired. Please create a new transaction and try again.',
+ 'code' => 410,
+ ],
+ Exception::TRANSACTION_CONFLICT => [
+ 'name' => Exception::TRANSACTION_CONFLICT,
+ 'description' => 'The transaction has a conflict. Please resolve the conflict and try again.',
+ 'code' => 409,
+ ],
+ Exception::TRANSACTION_LIMIT_EXCEEDED => [
+ 'name' => Exception::TRANSACTION_LIMIT_EXCEEDED,
+ 'description' => 'The maximum number of operations per transaction has been exceeded.',
+ 'code' => 400,
+ ],
+ Exception::TRANSACTION_NOT_READY => [
+ 'name' => Exception::TRANSACTION_NOT_READY,
+ 'description' => 'The transaction is not ready yet. Please try again later.',
+ 'code' => 400,
+ ],
+
/** Project Errors */
Exception::PROJECT_NOT_FOUND => [
'name' => Exception::PROJECT_NOT_FOUND,
diff --git a/app/config/locale/templates/email-base-styled.tpl b/app/config/locale/templates/email-base-styled.tpl
index 16036e792c..37ca630d43 100644
--- a/app/config/locale/templates/email-base-styled.tpl
+++ b/app/config/locale/templates/email-base-styled.tpl
@@ -131,6 +131,14 @@
.social-icon > img {
margin: auto;
}
+ p.security-phrase:not(:empty) {
+ opacity: 0.7;
+ margin: 0;
+ padding: 0;
+ margin-top: 32px;
+ padding-top: 32px;
+ border-top: 1px solid #e8e9f0;
+ }
@@ -147,6 +155,7 @@
@@ -155,12 +164,12 @@
- {{subject}}+{{heading}} |
|
{{body}}
diff --git a/app/config/locale/templates/email-base.tpl b/app/config/locale/templates/email-base.tpl
index 8c94c3f63e..de632d7838 100644
--- a/app/config/locale/templates/email-base.tpl
+++ b/app/config/locale/templates/email-base.tpl
@@ -44,6 +44,21 @@
color: currentColor;
word-break: break-all;
}
+ a.button {
+ box-sizing: border-box;
+ display: inline-block;
+ text-align: center;
+ text-decoration: none;
+ padding: 9px 14px;
+ color: #ffffff;
+ background-color: #2D2D31;
+ border: 1px solid #414146;
+ border-radius: 8px;
+ }
+ a.button:hover,
+ a.button:focus {
+ opacity: 0.8;
+ }
table {
width: 100%;
border-spacing: 0 !important;
@@ -94,10 +109,15 @@
h* {
font-family: 'Poppins', sans-serif;
}
-
p {
margin-bottom: 10px;
}
+ p.security-phrase:not(:empty) {
+ opacity: 0.7;
+ margin-top: 32px;
+ padding-top: 32px;
+ border-top: 1px solid #e8e9f0;
+ }
diff --git a/app/config/locale/templates/email-inner-base.tpl b/app/config/locale/templates/email-inner-base.tpl
index 677f70ce7d..4b68f224db 100644
--- a/app/config/locale/templates/email-inner-base.tpl
+++ b/app/config/locale/templates/email-inner-base.tpl
@@ -1,6 +1,6 @@
{{hello}} {{body}} - +{{footer}} {{thanks}} diff --git a/app/config/locale/templates/email-magic-url.tpl b/app/config/locale/templates/email-magic-url.tpl index 21988c5bc1..618993e0e9 100644 --- a/app/config/locale/templates/email-magic-url.tpl +++ b/app/config/locale/templates/email-magic-url.tpl @@ -5,7 +5,7 @@
{{thanks}} {{signature}} -- - {{securityPhrase}} \ No newline at end of file +{{securityPhrase}} \ No newline at end of file diff --git a/app/config/locale/translations/en.json b/app/config/locale/translations/en.json index e2ee20b2d7..c18c7350c3 100644 --- a/app/config/locale/translations/en.json +++ b/app/config/locale/translations/en.json @@ -3,8 +3,9 @@ "settings.locale": "en", "settings.direction": "ltr", "emails.sender": "{{project}} Team", - "emails.verification.subject": "Account Verification", + "emails.verification.subject": "Account Verification for {{project}}", "emails.verification.preview": "Verify your email to activate your {{project}} account.", + "emails.verification.heading": "Verify your email to start using {{project}}", "emails.verification.hello": "Hello {{user}},", "emails.verification.body": "Follow this link to verify your email address to your {{b}}{{project}}{{/b}} account.", "emails.verification.footer": "If you didn’t ask to verify this address, you can ignore this message.", @@ -33,6 +34,7 @@ "emails.sessionAlert.signature": "{{project}} team", "emails.otpSession.subject": "OTP for {{project}} Login", "emails.otpSession.preview": "Use OTP {{otp}} to sign in to {{project}}. Expires in 15 minutes.", + "emails.otpSession.heading": "Login with OTP to use {{project}}", "emails.otpSession.hello": "Hello {{user}},", "emails.otpSession.description": "Enter the following verification code when prompted to securely sign in to your {{b}}{{project}}{{/b}} account. This code will expire in 15 minutes.", "emails.otpSession.clientInfo": "This sign in was requested using {{b}}{{agentClient}}{{/b}} on {{b}}{{agentDevice}}{{/b}} {{b}}{{agentOs}}{{/b}}. If you didn't request the sign in, you can safely ignore this email.", @@ -41,12 +43,13 @@ "emails.otpSession.signature": "{{project}} team", "emails.mfaChallenge.subject": "Verification Code for {{project}}", "emails.mfaChallenge.preview": "Use code {{otp}} for two-step verification in {{project}}. Expires in 15 minutes.", + "emails.mfaChallenge.heading": "Complete two-step verification to use {{project}}", "emails.mfaChallenge.hello": "Hello {{user}},", "emails.mfaChallenge.description": "Enter the following code to confirm your two-step verification in {{b}}{{project}}{{/b}}. This code will expire in 15 minutes.", "emails.mfaChallenge.clientInfo": "This verification code was requested using {{b}}{{agentClient}}{{/b}} on {{b}}{{agentDevice}}{{/b}} {{b}}{{agentOs}}{{/b}}. If you didn't request the verification code, you can safely ignore this email.", "emails.mfaChallenge.thanks": "Thanks,", "emails.mfaChallenge.signature": "{{project}} team", - "emails.recovery.subject": "Password Reset", + "emails.recovery.subject": "Password Reset for {{project}}", "emails.recovery.preview": "Reset your {{project}} password using the link.", "emails.recovery.hello": "Hello {{user}},", "emails.recovery.body": "Follow this link to reset your {{b}}{{project}}{{/b}} password.", diff --git a/app/config/platforms.php b/app/config/platforms.php index 7aec82d1cf..3b675b174c 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -11,7 +11,7 @@ return [ [ 'key' => 'web', 'name' => 'Web', - 'version' => '20.0.0', + 'version' => '21.2.1', 'url' => 'https://github.com/appwrite/sdk-for-web', 'package' => 'https://www.npmjs.com/package/appwrite', 'enabled' => true, @@ -60,7 +60,7 @@ return [ [ 'key' => 'flutter', 'name' => 'Flutter', - 'version' => '19.0.0', + 'version' => '20.2.1', 'url' => 'https://github.com/appwrite/sdk-for-flutter', 'package' => 'https://pub.dev/packages/appwrite', 'enabled' => true, @@ -79,7 +79,7 @@ return [ [ 'key' => 'apple', 'name' => 'Apple', - 'version' => '12.0.0', + 'version' => '13.3.0', 'url' => 'https://github.com/appwrite/sdk-for-apple', 'package' => 'https://github.com/appwrite/sdk-for-apple', 'enabled' => true, @@ -116,7 +116,7 @@ return [ [ 'key' => 'android', 'name' => 'Android', - 'version' => '10.0.0', + 'version' => '11.2.1', 'url' => 'https://github.com/appwrite/sdk-for-android', 'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android', 'enabled' => true, @@ -139,7 +139,7 @@ return [ [ 'key' => 'react-native', 'name' => 'React Native', - 'version' => '0.13.0', + 'version' => '0.17.1', 'url' => 'https://github.com/appwrite/sdk-for-react-native', 'package' => 'https://npmjs.com/package/react-native-appwrite', 'enabled' => true, @@ -207,7 +207,7 @@ return [ [ 'key' => 'web', 'name' => 'Console', - 'version' => '0.1.0', + 'version' => '0.1.1', 'url' => '', 'package' => '', 'enabled' => true, @@ -226,7 +226,7 @@ return [ [ 'key' => 'cli', 'name' => 'Command Line', - 'version' => '10.0.0', + 'version' => '10.2.2', 'url' => 'https://github.com/appwrite/sdk-for-cli', 'package' => 'https://www.npmjs.com/package/appwrite-cli', 'enabled' => true, @@ -262,7 +262,7 @@ return [ [ 'key' => 'nodejs', 'name' => 'Node.js', - 'version' => '19.0.0', + 'version' => '20.2.1', 'url' => 'https://github.com/appwrite/sdk-for-node', 'package' => 'https://www.npmjs.com/package/node-appwrite', 'enabled' => true, @@ -281,7 +281,7 @@ return [ [ 'key' => 'php', 'name' => 'PHP', - 'version' => '17.0.0', + 'version' => '17.4.1', 'url' => 'https://github.com/appwrite/sdk-for-php', 'package' => 'https://packagist.org/packages/appwrite/appwrite', 'enabled' => true, @@ -300,7 +300,7 @@ return [ [ 'key' => 'python', 'name' => 'Python', - 'version' => '13.0.0', + 'version' => '13.4.1', 'url' => 'https://github.com/appwrite/sdk-for-python', 'package' => 'https://pypi.org/project/appwrite/', 'enabled' => true, @@ -319,7 +319,7 @@ return [ [ 'key' => 'ruby', 'name' => 'Ruby', - 'version' => '18.0.0', + 'version' => '19.2.1', 'url' => 'https://github.com/appwrite/sdk-for-ruby', 'package' => 'https://rubygems.org/gems/appwrite', 'enabled' => true, @@ -338,7 +338,7 @@ return [ [ 'key' => 'go', 'name' => 'Go', - 'version' => '0.11.0', + 'version' => 'v0.13.1', 'url' => 'https://github.com/appwrite/sdk-for-go', 'package' => 'https://github.com/appwrite/sdk-for-go', 'enabled' => true, @@ -357,7 +357,7 @@ return [ [ 'key' => 'dotnet', 'name' => '.NET', - 'version' => '0.17.0', + 'version' => '0.21.2', 'url' => 'https://github.com/appwrite/sdk-for-dotnet', 'package' => 'https://www.nuget.org/packages/Appwrite', 'enabled' => true, @@ -376,7 +376,7 @@ return [ [ 'key' => 'dart', 'name' => 'Dart', - 'version' => '18.0.0', + 'version' => '19.2.1', 'url' => 'https://github.com/appwrite/sdk-for-dart', 'package' => 'https://pub.dev/packages/dart_appwrite', 'enabled' => true, @@ -395,7 +395,7 @@ return [ [ 'key' => 'kotlin', 'name' => 'Kotlin', - 'version' => '11.0.0', + 'version' => '12.2.1', 'url' => 'https://github.com/appwrite/sdk-for-kotlin', 'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin', 'enabled' => true, @@ -418,7 +418,7 @@ return [ [ 'key' => 'swift', 'name' => 'Swift', - 'version' => '12.0.0', + 'version' => '13.2.2', 'url' => 'https://github.com/appwrite/sdk-for-swift', 'package' => 'https://github.com/appwrite/sdk-for-swift', 'enabled' => true, diff --git a/app/config/roles.php b/app/config/roles.php index 4b06e0a6c1..0f0945a2b4 100644 --- a/app/config/roles.php +++ b/app/config/roles.php @@ -28,7 +28,7 @@ $member = [ 'subscribers.write', 'subscribers.read', 'assistant.read', - 'rules.read' + 'rules.read', ]; $admins = [ diff --git a/app/config/specs/open-api3-1.8.x-client.json b/app/config/specs/open-api3-1.8.x-client.json index d57b9f83b2..b6a6a1afe3 100644 --- a/app/config/specs/open-api3-1.8.x-client.json +++ b/app/config/specs/open-api3-1.8.x-client.json @@ -3464,10 +3464,10 @@ } } }, - "\/account\/verification": { + "\/account\/verifications\/email": { "post": { "summary": "Create email verification", - "operationId": "accountCreateVerification", + "operationId": "accountCreateEmailVerification", "tags": [ "account" ], @@ -3486,12 +3486,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "createVerification", + "method": "createEmailVerification", "group": "verification", "weight": 41, "cookies": false, "type": "", - "demo": "account\/create-verification.md", + "demo": "account\/create-email-verification.md", "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, @@ -3502,6 +3502,56 @@ "server" ], "packaging": false, + "methods": [ + { + "name": "createEmailVerification", + "namespace": "account", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "url" + ], + "required": [ + "url" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/token" + } + ], + "description": "Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updateVerification). The verification link sent to the user's email address is valid for 7 days.\n\nPlease note that in order to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.\n", + "demo": "account\/create-email-verification.md" + }, + { + "name": "createVerification", + "namespace": "account", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "url" + ], + "required": [ + "url" + ], + "responses": [ + { + "code": 201, + "model": "#\/components\/schemas\/token" + } + ], + "description": "Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updateVerification). The verification link sent to the user's email address is valid for 7 days.\n\nPlease note that in order to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.\n", + "demo": "account\/create-verification.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "account.createEmailVerification" + } + } + ], "auth": { "Project": [] } @@ -3535,7 +3585,7 @@ }, "put": { "summary": "Update email verification (confirmation)", - "operationId": "accountUpdateVerification", + "operationId": "accountUpdateEmailVerification", "tags": [ "account" ], @@ -3554,12 +3604,12 @@ }, "deprecated": false, "x-appwrite": { - "method": "updateVerification", + "method": "updateEmailVerification", "group": "verification", "weight": 42, "cookies": false, "type": "", - "demo": "account\/update-verification.md", + "demo": "account\/update-email-verification.md", "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, @@ -3570,6 +3620,60 @@ "server" ], "packaging": false, + "methods": [ + { + "name": "updateEmailVerification", + "namespace": "account", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "secret" + ], + "required": [ + "userId", + "secret" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/token" + } + ], + "description": "Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code.", + "demo": "account\/update-email-verification.md" + }, + { + "name": "updateVerification", + "namespace": "account", + "desc": "", + "auth": { + "Project": [] + }, + "parameters": [ + "userId", + "secret" + ], + "required": [ + "userId", + "secret" + ], + "responses": [ + { + "code": 200, + "model": "#\/components\/schemas\/token" + } + ], + "description": "Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code.", + "demo": "account\/update-verification.md", + "deprecated": { + "since": "1.8.0", + "replaceWith": "account.updateEmailVerification" + } + } + ], "auth": { "Project": [] } @@ -3608,7 +3712,7 @@ } } }, - "\/account\/verification\/phone": { + "\/account\/verifications\/phone": { "post": { "summary": "Create phone verification", "operationId": "accountCreatePhoneVerification", @@ -4806,6 +4910,424 @@ ] } }, + "\/databases\/transactions": { + "get": { + "summary": "List transactions", + "operationId": "databasesListTransactions", + "tags": [ + "databases" + ], + "description": "List transactions across all databases.", + "responses": { + "200": { + "description": "Transaction List", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transactionList" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "listTransactions", + "group": "transactions", + "weight": 376, + "cookies": false, + "type": "", + "demo": "databases\/list-transactions.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "rows.read", + "platforms": [ + "server", + "client", + "server" + ], + "packaging": false, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "queries", + "description": "Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https:\/\/appwrite.io\/docs\/queries).", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "in": "query" + } + ] + }, + "post": { + "summary": "Create transaction", + "operationId": "databasesCreateTransaction", + "tags": [ + "databases" + ], + "description": "Create a new transaction.", + "responses": { + "201": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createTransaction", + "group": "transactions", + "weight": 372, + "cookies": false, + "type": "", + "demo": "databases\/create-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "documents.write", + "platforms": [ + "server", + "client", + "server" + ], + "packaging": false, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "ttl": { + "type": "integer", + "description": "Seconds before the transaction expires.", + "x-example": 60 + } + } + } + } + } + } + } + }, + "\/databases\/transactions\/{transactionId}": { + "get": { + "summary": "Get transaction", + "operationId": "databasesGetTransaction", + "tags": [ + "databases" + ], + "description": "Get a transaction by its unique ID.", + "responses": { + "200": { + "description": "Transaction", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/transaction" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getTransaction", + "group": "transactions", + "weight": 373, + "cookies": false, + "type": "", + "demo": "databases\/get-transaction.md", + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "rows.read", + "platforms": [ + "server", + "client", + "server" + ], + "packaging": false, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "transactionId", + "description": "Transaction ID.", + "required": true, + "schema": { + "type": "string", + "x-example": " |