From 2443266ac5eceb8749b859c383ffb1bdf0999fd0 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Thu, 20 Nov 2025 17:10:47 +1300 Subject: [PATCH 01/14] Set downloadUrl on realtime event --- src/Appwrite/Platform/Workers/Migrations.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 0bd5c50e04..59cb3c5f16 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -411,7 +411,7 @@ class Migrations extends Action $source?->success(); if ($migration->getAttribute('destination') === DestinationCSV::getName()) { - $this->handleCSVExportComplete($project, $migration, $queueForMails); + $this->handleCSVExportComplete($project, $migration, $queueForMails, $queueForRealtime); } } } @@ -432,7 +432,8 @@ class Migrations extends Action protected function handleCSVExportComplete( Document $project, Document $migration, - Mail $queueForMails + Mail $queueForMails, + Realtime $queueForRealtime, ): void { $options = $migration->getAttribute('options', []); $bucketId = 'default'; // Always use platform default bucket @@ -530,6 +531,9 @@ class Migrations extends Action $endpoint = System::getEnv('_APP_DOMAIN', ''); $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS', 'disabled') === 'enabled' ? 'https' : 'http'; $downloadUrl = "{$protocol}://{$endpoint}/v1/storage/buckets/{$bucketId}/files/{$fileId}/push?project={$project->getId()}&jwt={$jwt}"; + $options['downloadUrl'] = $downloadUrl; + $migration->setAttribute('options', $options); + $this->updateMigrationDocument($migration, $project, $queueForRealtime); $this->sendCSVEmail( success: true, From fcce6f8d34378327d500c9273496b5536455fc78 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Thu, 20 Nov 2025 10:32:56 +0530 Subject: [PATCH 02/14] fix: override template deployment type enum name --- app/config/specs/open-api3-1.8.x-console.json | 2 +- app/config/specs/open-api3-1.8.x-server.json | 2 +- app/config/specs/open-api3-latest-console.json | 2 +- app/config/specs/open-api3-latest-server.json | 2 +- app/config/specs/swagger2-1.8.x-console.json | 2 +- app/config/specs/swagger2-1.8.x-server.json | 2 +- app/config/specs/swagger2-latest-console.json | 2 +- app/config/specs/swagger2-latest-server.json | 2 +- src/Appwrite/SDK/Specification/Format.php | 6 ++++++ 9 files changed, 14 insertions(+), 8 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index fded6c46b0..79ecfaf8ff 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -32337,7 +32337,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index 2cb6a74853..b83c1ca2c5 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -22861,7 +22861,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index fded6c46b0..79ecfaf8ff 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -32337,7 +32337,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index 2cb6a74853..b83c1ca2c5 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -22861,7 +22861,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 28a4f76c61..55bdb0f091 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -32441,7 +32441,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index e760c1bb7d..eeee655d84 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -23014,7 +23014,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 28a4f76c61..55bdb0f091 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -32441,7 +32441,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index e760c1bb7d..eeee655d84 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -23014,7 +23014,7 @@ "commit", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index c687df143a..c2e97f7f89 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -289,6 +289,12 @@ abstract class Format return 'VCSDeploymentType'; } break; + case 'createTemplateDeployment': + switch ($param) { + case 'type': + return 'TemplateDeploymentType'; + } + break; } break; case 'vcs': From 4b752c15e8743dddadc12ca59518e38560c3186e Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Thu, 20 Nov 2025 10:42:13 +0530 Subject: [PATCH 03/14] functions too --- app/config/specs/open-api3-1.8.x-console.json | 2 +- app/config/specs/open-api3-1.8.x-server.json | 2 +- app/config/specs/open-api3-latest-console.json | 2 +- app/config/specs/open-api3-latest-server.json | 2 +- app/config/specs/swagger2-1.8.x-console.json | 2 +- app/config/specs/swagger2-1.8.x-server.json | 2 +- app/config/specs/swagger2-latest-console.json | 2 +- app/config/specs/swagger2-latest-server.json | 2 +- src/Appwrite/SDK/Specification/Format.php | 6 ++++++ 9 files changed, 14 insertions(+), 8 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index 79ecfaf8ff..e95f24ffcb 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -14424,7 +14424,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index b83c1ca2c5..d9ebbda085 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -13213,7 +13213,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index 79ecfaf8ff..e95f24ffcb 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -14424,7 +14424,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index b83c1ca2c5..d9ebbda085 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -13213,7 +13213,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 55bdb0f091..845f55d5fd 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -14366,7 +14366,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index eeee655d84..e58fa32c1f 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -13182,7 +13182,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 55bdb0f091..845f55d5fd 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -14366,7 +14366,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index eeee655d84..e58fa32c1f 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -13182,7 +13182,7 @@ "branch", "tag" ], - "x-enum-name": null, + "x-enum-name": "TemplateDeploymentType", "x-enum-keys": [] }, "reference": { diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index c2e97f7f89..11be265644 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -266,6 +266,12 @@ abstract class Format return 'VCSDeploymentType'; } break; + case 'createTemplateDeployment': + switch ($param) { + case 'type': + return 'TemplateDeploymentType'; + } + break; } break; case 'sites': From a2463f8cc34f3eb54fa01b8a6a9e7f5480d36687 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Thu, 20 Nov 2025 15:23:16 +0530 Subject: [PATCH 04/14] fix naming --- app/config/specs/open-api3-1.8.x-console.json | 4 ++-- app/config/specs/open-api3-1.8.x-server.json | 4 ++-- app/config/specs/open-api3-latest-console.json | 4 ++-- app/config/specs/open-api3-latest-server.json | 4 ++-- app/config/specs/swagger2-1.8.x-console.json | 4 ++-- app/config/specs/swagger2-1.8.x-server.json | 4 ++-- app/config/specs/swagger2-latest-console.json | 4 ++-- app/config/specs/swagger2-latest-server.json | 4 ++-- src/Appwrite/SDK/Specification/Format.php | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index e95f24ffcb..c56bb92c3a 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -14424,7 +14424,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -32337,7 +32337,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index d9ebbda085..84af70dd5d 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -13213,7 +13213,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -22861,7 +22861,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index e95f24ffcb..c56bb92c3a 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -14424,7 +14424,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -32337,7 +32337,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index d9ebbda085..84af70dd5d 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -13213,7 +13213,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -22861,7 +22861,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 845f55d5fd..84b6060e1e 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -14366,7 +14366,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -32441,7 +32441,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index e58fa32c1f..b23d0d2fce 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -13182,7 +13182,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -23014,7 +23014,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 845f55d5fd..84b6060e1e 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -14366,7 +14366,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -32441,7 +32441,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index e58fa32c1f..b23d0d2fce 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -13182,7 +13182,7 @@ "branch", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { @@ -23014,7 +23014,7 @@ "commit", "tag" ], - "x-enum-name": "TemplateDeploymentType", + "x-enum-name": "TemplateReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index 11be265644..ac318a39d4 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -269,7 +269,7 @@ abstract class Format case 'createTemplateDeployment': switch ($param) { case 'type': - return 'TemplateDeploymentType'; + return 'TemplateReferenceType'; } break; } @@ -298,7 +298,7 @@ abstract class Format case 'createTemplateDeployment': switch ($param) { case 'type': - return 'TemplateDeploymentType'; + return 'TemplateReferenceType'; } break; } From e2979410da0b19bdad1fafd71b5f65d5d5dcf2cf Mon Sep 17 00:00:00 2001 From: Steven Nguyen <1477010+stnguyen90@users.noreply.github.com> Date: Thu, 20 Nov 2025 18:34:45 -0800 Subject: [PATCH 05/14] chore: update index descriptions to reflect table terminology Updated descriptions for indexes to refer to tables instead of collections. --- app/config/scopes.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/config/scopes.php b/app/config/scopes.php index d90ca2eabf..a6ad98e4e0 100644 --- a/app/config/scopes.php +++ b/app/config/scopes.php @@ -47,10 +47,10 @@ return [ // List of publicly visible scopes 'description' => 'Access to create, update, and delete your project\'s database table\'s columns', ], 'indexes.read' => [ - 'description' => 'Access to read your project\'s database collection\'s indexes', + 'description' => 'Access to read your project\'s database table\'s indexes', ], 'indexes.write' => [ - 'description' => 'Access to create, update, and delete your project\'s database collection\'s indexes', + 'description' => 'Access to create, update, and delete your project\'s database table\'s indexes', ], 'documents.read' => [ 'description' => 'Access to read your project\'s database documents', From ba10bed27117a9718d0c5ef88d3714adf906f6d7 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Fri, 21 Nov 2025 09:56:26 +0530 Subject: [PATCH 06/14] chore: change VCSDeploymentType enum to VCSReferenceType --- app/config/specs/open-api3-1.8.x-console.json | 4 ++-- app/config/specs/open-api3-1.8.x-server.json | 4 ++-- app/config/specs/open-api3-latest-console.json | 4 ++-- app/config/specs/open-api3-latest-server.json | 4 ++-- app/config/specs/swagger2-1.8.x-console.json | 4 ++-- app/config/specs/swagger2-1.8.x-server.json | 4 ++-- app/config/specs/swagger2-latest-console.json | 4 ++-- app/config/specs/swagger2-latest-server.json | 4 ++-- src/Appwrite/SDK/Specification/Format.php | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index c56bb92c3a..365f926685 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -14524,7 +14524,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -32438,7 +32438,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index 84af70dd5d..a2a97c046e 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -13314,7 +13314,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -22963,7 +22963,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index c56bb92c3a..365f926685 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -14524,7 +14524,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -32438,7 +32438,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index 84af70dd5d..a2a97c046e 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -13314,7 +13314,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -22963,7 +22963,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 84b6060e1e..5d2334764e 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -14467,7 +14467,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -32543,7 +32543,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index b23d0d2fce..b37aaac8e2 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -13284,7 +13284,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -23117,7 +23117,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 84b6060e1e..5d2334764e 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -14467,7 +14467,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -32543,7 +32543,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index b23d0d2fce..b37aaac8e2 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -13284,7 +13284,7 @@ "branch", "commit" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { @@ -23117,7 +23117,7 @@ "commit", "tag" ], - "x-enum-name": "VCSDeploymentType", + "x-enum-name": "VCSReferenceType", "x-enum-keys": [] }, "reference": { diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index ac318a39d4..b9e1c3b4ed 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -263,7 +263,7 @@ abstract class Format case 'createVcsDeployment': switch ($param) { case 'type': - return 'VCSDeploymentType'; + return 'VCSReferenceType'; } break; case 'createTemplateDeployment': @@ -292,7 +292,7 @@ abstract class Format case 'createVcsDeployment': switch ($param) { case 'type': - return 'VCSDeploymentType'; + return 'VCSReferenceType'; } break; case 'createTemplateDeployment': From ceb11e039f3b1a64a29cbc064388402c7312d950 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Fri, 21 Nov 2025 10:25:14 +0530 Subject: [PATCH 07/14] chore: release cli 12.0.0 --- app/config/platforms.php | 2 +- docs/sdks/cli/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/config/platforms.php b/app/config/platforms.php index ce60b2f6c2..1ac111b29d 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -226,7 +226,7 @@ return [ [ 'key' => 'cli', 'name' => 'Command Line', - 'version' => '11.1.1', + 'version' => '11.1.2', 'url' => 'https://github.com/appwrite/sdk-for-cli', 'package' => 'https://www.npmjs.com/package/appwrite-cli', 'enabled' => true, diff --git a/docs/sdks/cli/CHANGELOG.md b/docs/sdks/cli/CHANGELOG.md index 8e50441769..9835edb604 100644 --- a/docs/sdks/cli/CHANGELOG.md +++ b/docs/sdks/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 12.0.0 + +* Change `create-deloyment-template`'s `version` parameter to `type` and `reference`. eg. usage - `create-deployment-template --type tag --reference 1.0.0` +* Remove `bucket-id` parameter from `create-csv-export` command +* Allow enabling or disabling of image `transformations` in a bucket +* Fix type generation for `point`, `lineString` and `polygon` columns + ## 11.1.1 * Fix duplicate `enums` during type generation by prefixing them with table name. For example, `enum MyEnum` will now be generated as `enum MyTableMyEnum` to avoid conflicts. From ad43be5dabd99bc696e66a657756ada629f8a7cb Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Fri, 21 Nov 2025 10:26:38 +0530 Subject: [PATCH 08/14] fix version --- app/config/platforms.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/platforms.php b/app/config/platforms.php index 1ac111b29d..ceb05235d3 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -226,7 +226,7 @@ return [ [ 'key' => 'cli', 'name' => 'Command Line', - 'version' => '11.1.2', + 'version' => '12.0.0', 'url' => 'https://github.com/appwrite/sdk-for-cli', 'package' => 'https://www.npmjs.com/package/appwrite-cli', 'enabled' => true, From b905686c0ee9524143308a327ea862f288ae2959 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Fri, 21 Nov 2025 10:28:02 +0530 Subject: [PATCH 09/14] fix typo --- docs/sdks/cli/CHANGELOG.md | 2 +- tests/e2e/Services/Sites/SitesCustomServerTest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdks/cli/CHANGELOG.md b/docs/sdks/cli/CHANGELOG.md index 9835edb604..3c2e7ef709 100644 --- a/docs/sdks/cli/CHANGELOG.md +++ b/docs/sdks/cli/CHANGELOG.md @@ -2,7 +2,7 @@ ## 12.0.0 -* Change `create-deloyment-template`'s `version` parameter to `type` and `reference`. eg. usage - `create-deployment-template --type tag --reference 1.0.0` +* Change `create-deployment-template`'s `version` parameter to `type` and `reference`. eg. usage - `create-deployment-template --type tag --reference 1.0.0` * Remove `bucket-id` parameter from `create-csv-export` command * Allow enabling or disabling of image `transformations` in a bucket * Fix type generation for `point`, `lineString` and `polygon` columns diff --git a/tests/e2e/Services/Sites/SitesCustomServerTest.php b/tests/e2e/Services/Sites/SitesCustomServerTest.php index 8c03ec7649..b7dc9e7334 100644 --- a/tests/e2e/Services/Sites/SitesCustomServerTest.php +++ b/tests/e2e/Services/Sites/SitesCustomServerTest.php @@ -2552,7 +2552,7 @@ class SitesCustomServerTest extends Scope $this->cleanupSite($siteId); } - public function testDomainForFailedDeloyment(): void + public function testDomainForFailedDeployment(): void { $siteId = $this->setupSite([ 'siteId' => ID::unique(), From 13a7ead598b1e0b4bc07df88ddcfc33d0395ee1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Mon, 24 Nov 2025 12:08:55 +0100 Subject: [PATCH 10/14] Fix TanStack Start default output directory --- app/config/frameworks.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/frameworks.php b/app/config/frameworks.php index 47e26ac91e..d224a6e170 100644 --- a/app/config/frameworks.php +++ b/app/config/frameworks.php @@ -215,7 +215,7 @@ return [ 'key' => 'ssr', 'buildCommand' => 'npm run build', 'installCommand' => 'npm install', - 'outputDirectory' => './dist', + 'outputDirectory' => './.output', 'startCommand' => 'bash helpers/tanstack-start/server.sh', ], 'static' => [ From 6547637c96f3e2abe0997c52c1ac6cefd50ea481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Mon, 24 Nov 2025 12:58:47 +0100 Subject: [PATCH 11/14] upgrade lib --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 0fa5fee879..7b960bfbba 100644 --- a/composer.json +++ b/composer.json @@ -74,7 +74,7 @@ "utopia-php/swoole": "0.8.*", "utopia-php/system": "0.9.*", "utopia-php/telemetry": "0.1.*", - "utopia-php/vcs": "0.12.*", + "utopia-php/vcs": "dev-fix-tanstack-nitro-default as 0.12.99", "utopia-php/websocket": "0.3.*", "matomo/device-detector": "6.4.*", "dragonmantank/cron-expression": "3.4.*", From 28beb27759834df0049d7320742ade6921316625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Mon, 24 Nov 2025 19:08:09 +0100 Subject: [PATCH 12/14] Upgrade detection lib --- composer.json | 2 +- composer.lock | 60 +++++++++++++++++++++++++-------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/composer.json b/composer.json index 7b960bfbba..0fa5fee879 100644 --- a/composer.json +++ b/composer.json @@ -74,7 +74,7 @@ "utopia-php/swoole": "0.8.*", "utopia-php/system": "0.9.*", "utopia-php/telemetry": "0.1.*", - "utopia-php/vcs": "dev-fix-tanstack-nitro-default as 0.12.99", + "utopia-php/vcs": "0.12.*", "utopia-php/websocket": "0.3.*", "matomo/device-detector": "6.4.*", "dragonmantank/cron-expression": "3.4.*", diff --git a/composer.lock b/composer.lock index d66945e3fc..52b5f42bc4 100644 --- a/composer.lock +++ b/composer.lock @@ -283,16 +283,16 @@ }, { "name": "brick/math", - "version": "0.14.0", + "version": "0.14.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2" + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", - "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", + "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", "shasum": "" }, "require": { @@ -331,7 +331,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.14.0" + "source": "https://github.com/brick/math/tree/0.14.1" }, "funding": [ { @@ -339,7 +339,7 @@ "type": "github" } ], - "time": "2025-08-29T12:40:03+00:00" + "time": "2025-11-24T14:40:29+00:00" }, { "name": "chillerlan/php-qrcode", @@ -1763,16 +1763,16 @@ }, { "name": "php-amqplib/php-amqplib", - "version": "v3.7.3", + "version": "v3.7.4", "source": { "type": "git", "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "9f50fe69a9f1a19e2cb25596a354d705de36fe59" + "reference": "381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/9f50fe69a9f1a19e2cb25596a354d705de36fe59", - "reference": "9f50fe69a9f1a19e2cb25596a354d705de36fe59", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd", + "reference": "381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd", "shasum": "" }, "require": { @@ -1838,9 +1838,9 @@ ], "support": { "issues": "https://github.com/php-amqplib/php-amqplib/issues", - "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.7.3" + "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.7.4" }, - "time": "2025-02-18T20:11:13+00:00" + "time": "2025-11-23T17:00:56+00:00" }, { "name": "php-http/discovery", @@ -3898,16 +3898,16 @@ }, { "name": "utopia-php/detector", - "version": "0.2.2", + "version": "0.2.3", "source": { "type": "git", "url": "https://github.com/utopia-php/detector.git", - "reference": "9a41be5f21efe2d865de79b08dff94fff85ce5e9" + "reference": "c1f49b3e82250c3256ffba48aa9737d6c17a243a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/detector/zipball/9a41be5f21efe2d865de79b08dff94fff85ce5e9", - "reference": "9a41be5f21efe2d865de79b08dff94fff85ce5e9", + "url": "https://api.github.com/repos/utopia-php/detector/zipball/c1f49b3e82250c3256ffba48aa9737d6c17a243a", + "reference": "c1f49b3e82250c3256ffba48aa9737d6c17a243a", "shasum": "" }, "require": { @@ -3937,9 +3937,9 @@ ], "support": { "issues": "https://github.com/utopia-php/detector/issues", - "source": "https://github.com/utopia-php/detector/tree/0.2.2" + "source": "https://github.com/utopia-php/detector/tree/0.2.3" }, - "time": "2025-10-31T12:43:31+00:00" + "time": "2025-11-24T15:52:51+00:00" }, { "name": "utopia-php/dns", @@ -4456,16 +4456,16 @@ }, { "name": "utopia-php/migration", - "version": "1.3.3", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/utopia-php/migration.git", - "reference": "731b3a963c58c30e0b2368695d57a7e8fcb7455c" + "reference": "18bd7d39dcee09280f40edb12879c727ecec98d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/migration/zipball/731b3a963c58c30e0b2368695d57a7e8fcb7455c", - "reference": "731b3a963c58c30e0b2368695d57a7e8fcb7455c", + "url": "https://api.github.com/repos/utopia-php/migration/zipball/18bd7d39dcee09280f40edb12879c727ecec98d3", + "reference": "18bd7d39dcee09280f40edb12879c727ecec98d3", "shasum": "" }, "require": { @@ -4505,9 +4505,9 @@ ], "support": { "issues": "https://github.com/utopia-php/migration/issues", - "source": "https://github.com/utopia-php/migration/tree/1.3.3" + "source": "https://github.com/utopia-php/migration/tree/1.4.0" }, - "time": "2025-10-28T04:02:08+00:00" + "time": "2025-11-21T06:08:59+00:00" }, { "name": "utopia-php/mongo", @@ -5379,16 +5379,16 @@ "packages-dev": [ { "name": "appwrite/sdk-generator", - "version": "1.5.7", + "version": "1.5.8", "source": { "type": "git", "url": "https://github.com/appwrite/sdk-generator.git", - "reference": "dc6720ba92ed98e2c62b2a319d4371f167ccc808" + "reference": "05367bc4a4c3e020e9aca114ae875b626ce8fc55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/dc6720ba92ed98e2c62b2a319d4371f167ccc808", - "reference": "dc6720ba92ed98e2c62b2a319d4371f167ccc808", + "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/05367bc4a4c3e020e9aca114ae875b626ce8fc55", + "reference": "05367bc4a4c3e020e9aca114ae875b626ce8fc55", "shasum": "" }, "require": { @@ -5424,9 +5424,9 @@ "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", "support": { "issues": "https://github.com/appwrite/sdk-generator/issues", - "source": "https://github.com/appwrite/sdk-generator/tree/1.5.7" + "source": "https://github.com/appwrite/sdk-generator/tree/1.5.8" }, - "time": "2025-11-18T05:57:01+00:00" + "time": "2025-11-20T11:00:34+00:00" }, { "name": "doctrine/annotations", From 8fe7de7ff9cefb9a0cb692e66f4bd1ee47591394 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 25 Nov 2025 15:19:16 +1300 Subject: [PATCH 13/14] Custom disposition --- app/controllers/api/storage.php | 3 ++- src/Appwrite/Platform/Workers/Migrations.php | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 10fcbdb3d3..0aac690e3c 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -1509,6 +1509,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') } $isInternal = $decoded['internal'] ?? false; + $disposition = $decoded['disposition'] ?? 'inline'; $dbForProject = $isInternal ? $dbForPlatform : $dbForProject; $isAPIKey = Auth::isAppUser(Authorization::getRoles()); @@ -1565,7 +1566,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') ->setContentType($contentType) ->addHeader('Content-Security-Policy', 'script-src none;') ->addHeader('X-Content-Type-Options', 'nosniff') - ->addHeader('Content-Disposition', 'inline; filename="' . $file->getAttribute('name', '') . '"') + ->addHeader('Content-Disposition', $disposition . '; filename="' . $file->getAttribute('name', '') . '"') ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days ->addHeader('X-Peak', \memory_get_peak_usage()); diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 59cb3c5f16..e7b12c5d9d 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -525,6 +525,7 @@ class Migrations extends Action 'fileId' => $fileId, 'projectId' => $project->getId(), 'internal' => true, + 'disposition' => 'attachment', ]); // Generate download URL with JWT From 448e60479d1197ad12ffc682bbf2f6e5259514dc Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 25 Nov 2025 16:04:46 +1300 Subject: [PATCH 14/14] Downgrade migrations --- composer.json | 2 +- composer.lock | 18 +++++++++--------- .../e2e/Services/Migrations/MigrationsBase.php | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/composer.json b/composer.json index 0fa5fee879..684beb870a 100644 --- a/composer.json +++ b/composer.json @@ -63,7 +63,7 @@ "utopia-php/locale": "0.8.*", "utopia-php/logger": "0.6.*", "utopia-php/messaging": "0.20.*", - "utopia-php/migration": "1.*", + "utopia-php/migration": "1.3.*", "utopia-php/orchestration": "0.9.*", "utopia-php/platform": "0.7.*", "utopia-php/pools": "0.8.*", diff --git a/composer.lock b/composer.lock index 52b5f42bc4..96a54d09c8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "dc4eb1888275a24d596468924e272e25", + "content-hash": "1d3d4b19a835b3be79a63146fcdd389b", "packages": [ { "name": "adhocore/jwt", @@ -4456,16 +4456,16 @@ }, { "name": "utopia-php/migration", - "version": "1.4.0", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/utopia-php/migration.git", - "reference": "18bd7d39dcee09280f40edb12879c727ecec98d3" + "reference": "731b3a963c58c30e0b2368695d57a7e8fcb7455c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/migration/zipball/18bd7d39dcee09280f40edb12879c727ecec98d3", - "reference": "18bd7d39dcee09280f40edb12879c727ecec98d3", + "url": "https://api.github.com/repos/utopia-php/migration/zipball/731b3a963c58c30e0b2368695d57a7e8fcb7455c", + "reference": "731b3a963c58c30e0b2368695d57a7e8fcb7455c", "shasum": "" }, "require": { @@ -4505,9 +4505,9 @@ ], "support": { "issues": "https://github.com/utopia-php/migration/issues", - "source": "https://github.com/utopia-php/migration/tree/1.4.0" + "source": "https://github.com/utopia-php/migration/tree/1.3.3" }, - "time": "2025-11-21T06:08:59+00:00" + "time": "2025-10-28T04:02:08+00:00" }, { "name": "utopia-php/mongo", @@ -8893,7 +8893,7 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -8917,5 +8917,5 @@ "platform-overrides": { "php": "8.3" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/tests/e2e/Services/Migrations/MigrationsBase.php b/tests/e2e/Services/Migrations/MigrationsBase.php index f16864960e..490ac026b5 100644 --- a/tests/e2e/Services/Migrations/MigrationsBase.php +++ b/tests/e2e/Services/Migrations/MigrationsBase.php @@ -1315,7 +1315,7 @@ trait MigrationsBase $this->assertEquals('CSV', $response['body']['destination']); return true; - }, 30000, 500); + }, 30_000, 500); // Check that email was sent with download link $lastEmail = $this->getLastEmail();