From b1b2e22ab160d6ce03bc42ccd88397ee06b6eb4c Mon Sep 17 00:00:00 2001 From: premtsd-code Date: Wed, 20 May 2026 07:57:42 +0000 Subject: [PATCH 1/2] chore: update Ruby SDK to 24.0.1 --- CHANGELOG.md | 8 ++++++++ appwrite.gemspec | 2 +- docs/examples/advisor/get-insight.md | 2 +- docs/examples/advisor/get-report.md | 2 +- docs/examples/advisor/list-insights.md | 2 +- docs/examples/advisor/list-reports.md | 2 +- lib/appwrite/client.rb | 2 +- lib/appwrite/enums/build_runtime.rb | 3 +++ lib/appwrite/enums/runtime.rb | 3 +++ lib/appwrite/models/billing_limits.rb | 16 ++++++++-------- lib/appwrite/models/file.rb | 5 +++++ lib/appwrite/models/project.rb | 2 +- 12 files changed, 34 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e13a9d5..12b990d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 24.0.1 + +* Fixed: `BillingLimits` inner fields and `Project.billingLimits` are now optional — server emits sparse "limits crossed" map +* Fixed: `Project.consoleAccessedAt` defaults to empty string for never-accessed projects (no longer null) +* Added: `File.sizeActual` field — actual bytes used on disk after compression / encryption +* Updated: `BuildRuntime` and `Runtime` enums with `deno-1.21`, `deno-1.24`, and `deno-1.35` +* Updated: Advisor doc examples corrected to use API key auth instead of session + ## 24.0.0 * Breaking: Renamed `AuthMethod` enum to `ProjectAuthMethodId` diff --git a/appwrite.gemspec b/appwrite.gemspec index 75f3443..7808165 100644 --- a/appwrite.gemspec +++ b/appwrite.gemspec @@ -1,7 +1,7 @@ Gem::Specification.new do |spec| spec.name = 'appwrite' - spec.version = '24.0.0' + spec.version = '24.0.1' spec.license = 'BSD-3-Clause' spec.summary = 'Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API' spec.author = 'Appwrite Team' diff --git a/docs/examples/advisor/get-insight.md b/docs/examples/advisor/get-insight.md index 63639f5..e9fd0ac 100644 --- a/docs/examples/advisor/get-insight.md +++ b/docs/examples/advisor/get-insight.md @@ -6,7 +6,7 @@ include Appwrite client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID - .set_session('') # The user session to authenticate with + .set_key('') # Your secret API key advisor = Advisor.new(client) diff --git a/docs/examples/advisor/get-report.md b/docs/examples/advisor/get-report.md index 059a6b9..919cc28 100644 --- a/docs/examples/advisor/get-report.md +++ b/docs/examples/advisor/get-report.md @@ -6,7 +6,7 @@ include Appwrite client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID - .set_session('') # The user session to authenticate with + .set_key('') # Your secret API key advisor = Advisor.new(client) diff --git a/docs/examples/advisor/list-insights.md b/docs/examples/advisor/list-insights.md index 5e1ef34..59e97ad 100644 --- a/docs/examples/advisor/list-insights.md +++ b/docs/examples/advisor/list-insights.md @@ -6,7 +6,7 @@ include Appwrite client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID - .set_session('') # The user session to authenticate with + .set_key('') # Your secret API key advisor = Advisor.new(client) diff --git a/docs/examples/advisor/list-reports.md b/docs/examples/advisor/list-reports.md index 3209aba..11670c3 100644 --- a/docs/examples/advisor/list-reports.md +++ b/docs/examples/advisor/list-reports.md @@ -6,7 +6,7 @@ include Appwrite client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID - .set_session('') # The user session to authenticate with + .set_key('') # Your secret API key advisor = Advisor.new(client) diff --git a/lib/appwrite/client.rb b/lib/appwrite/client.rb index 13f1aa7..2d74e4f 100644 --- a/lib/appwrite/client.rb +++ b/lib/appwrite/client.rb @@ -15,7 +15,7 @@ def initialize 'x-sdk-name'=> 'Ruby', 'x-sdk-platform'=> 'server', 'x-sdk-language'=> 'ruby', - 'x-sdk-version'=> '24.0.0', + 'x-sdk-version'=> '24.0.1', 'X-Appwrite-Response-Format' => '1.9.5' } @endpoint = 'https://cloud.appwrite.io/v1' diff --git a/lib/appwrite/enums/build_runtime.rb b/lib/appwrite/enums/build_runtime.rb index 3555194..ab396df 100644 --- a/lib/appwrite/enums/build_runtime.rb +++ b/lib/appwrite/enums/build_runtime.rb @@ -32,6 +32,9 @@ module BuildRuntime PYTHON_ML_3_11 = 'python-ml-3.11' PYTHON_ML_3_12 = 'python-ml-3.12' PYTHON_ML_3_13 = 'python-ml-3.13' + DENO_1_21 = 'deno-1.21' + DENO_1_24 = 'deno-1.24' + DENO_1_35 = 'deno-1.35' DENO_1_40 = 'deno-1.40' DENO_1_46 = 'deno-1.46' DENO_2_0 = 'deno-2.0' diff --git a/lib/appwrite/enums/runtime.rb b/lib/appwrite/enums/runtime.rb index 29d254c..a3e7064 100644 --- a/lib/appwrite/enums/runtime.rb +++ b/lib/appwrite/enums/runtime.rb @@ -32,6 +32,9 @@ module Runtime PYTHON_ML_3_11 = 'python-ml-3.11' PYTHON_ML_3_12 = 'python-ml-3.12' PYTHON_ML_3_13 = 'python-ml-3.13' + DENO_1_21 = 'deno-1.21' + DENO_1_24 = 'deno-1.24' + DENO_1_35 = 'deno-1.35' DENO_1_40 = 'deno-1.40' DENO_1_46 = 'deno-1.46' DENO_2_0 = 'deno-2.0' diff --git a/lib/appwrite/models/billing_limits.rb b/lib/appwrite/models/billing_limits.rb index 012f835..fa7f3ea 100644 --- a/lib/appwrite/models/billing_limits.rb +++ b/lib/appwrite/models/billing_limits.rb @@ -13,14 +13,14 @@ class BillingLimits attr_reader :budget_limit def initialize( - bandwidth:, - storage:, - users:, - executions:, - gb_hours:, - image_transformations:, - auth_phone:, - budget_limit: + bandwidth: , + storage: , + users: , + executions: , + gb_hours: , + image_transformations: , + auth_phone: , + budget_limit: ) @bandwidth = bandwidth @storage = storage diff --git a/lib/appwrite/models/file.rb b/lib/appwrite/models/file.rb index 53a964e..a356c10 100644 --- a/lib/appwrite/models/file.rb +++ b/lib/appwrite/models/file.rb @@ -12,6 +12,7 @@ class File attr_reader :signature attr_reader :mime_type attr_reader :size_original + attr_reader :size_actual attr_reader :chunks_total attr_reader :chunks_uploaded attr_reader :encryption @@ -27,6 +28,7 @@ def initialize( signature:, mime_type:, size_original:, + size_actual:, chunks_total:, chunks_uploaded:, encryption:, @@ -41,6 +43,7 @@ def initialize( @signature = signature @mime_type = mime_type @size_original = size_original + @size_actual = size_actual @chunks_total = chunks_total @chunks_uploaded = chunks_uploaded @encryption = encryption @@ -58,6 +61,7 @@ def self.from(map:) signature: map["signature"], mime_type: map["mimeType"], size_original: map["sizeOriginal"], + size_actual: map["sizeActual"], chunks_total: map["chunksTotal"], chunks_uploaded: map["chunksUploaded"], encryption: map["encryption"], @@ -76,6 +80,7 @@ def to_map "signature": @signature, "mimeType": @mime_type, "sizeOriginal": @size_original, + "sizeActual": @size_actual, "chunksTotal": @chunks_total, "chunksUploaded": @chunks_uploaded, "encryption": @encryption, diff --git a/lib/appwrite/models/project.rb b/lib/appwrite/models/project.rb index ae03157..2f08d4c 100644 --- a/lib/appwrite/models/project.rb +++ b/lib/appwrite/models/project.rb @@ -56,7 +56,7 @@ def initialize( services:, protocols:, region:, - billing_limits:, + billing_limits: , blocks:, console_accessed_at: ) From 5c2ea144c5b8875d9d10b32aeac3e0a9e0a83fed Mon Sep 17 00:00:00 2001 From: premtsd-code Date: Wed, 20 May 2026 08:36:56 +0000 Subject: [PATCH 2/2] feat: update Ruby SDK to 24.1.0 * Added `size_actual` attribute to `File` model * Added `DENO_1_21`, `DENO_1_24`, and `DENO_1_35` runtime constants * Updated advisor examples to use API key authentication --- CHANGELOG.md | 10 ++++------ appwrite.gemspec | 2 +- lib/appwrite/client.rb | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12b990d..7b4cb16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,10 @@ # Change Log -## 24.0.1 +## 24.1.0 -* Fixed: `BillingLimits` inner fields and `Project.billingLimits` are now optional — server emits sparse "limits crossed" map -* Fixed: `Project.consoleAccessedAt` defaults to empty string for never-accessed projects (no longer null) -* Added: `File.sizeActual` field — actual bytes used on disk after compression / encryption -* Updated: `BuildRuntime` and `Runtime` enums with `deno-1.21`, `deno-1.24`, and `deno-1.35` -* Updated: Advisor doc examples corrected to use API key auth instead of session +* Added `size_actual` attribute to `File` model +* Added `DENO_1_21`, `DENO_1_24`, and `DENO_1_35` runtime constants +* Updated advisor examples to use API key authentication ## 24.0.0 diff --git a/appwrite.gemspec b/appwrite.gemspec index 7808165..b2e2ebf 100644 --- a/appwrite.gemspec +++ b/appwrite.gemspec @@ -1,7 +1,7 @@ Gem::Specification.new do |spec| spec.name = 'appwrite' - spec.version = '24.0.1' + spec.version = '24.1.0' spec.license = 'BSD-3-Clause' spec.summary = 'Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API' spec.author = 'Appwrite Team' diff --git a/lib/appwrite/client.rb b/lib/appwrite/client.rb index 2d74e4f..609c746 100644 --- a/lib/appwrite/client.rb +++ b/lib/appwrite/client.rb @@ -15,7 +15,7 @@ def initialize 'x-sdk-name'=> 'Ruby', 'x-sdk-platform'=> 'server', 'x-sdk-language'=> 'ruby', - 'x-sdk-version'=> '24.0.1', + 'x-sdk-version'=> '24.1.0', 'X-Appwrite-Response-Format' => '1.9.5' } @endpoint = 'https://cloud.appwrite.io/v1'