Skip to content

feat: Node.js SDK update for version 22.0.2#139

Closed
ChiragAgg5k wants to merge 1 commit intomainfrom
dev
Closed

feat: Node.js SDK update for version 22.0.2#139
ChiragAgg5k wants to merge 1 commit intomainfrom
dev

Conversation

@ChiragAgg5k
Copy link
Member

@ChiragAgg5k ChiragAgg5k commented Feb 17, 2026

This PR contains updates to the Node.js SDK for version 22.0.2.

Summary by CodeRabbit

  • Bug Fixes

    • Fixed bignumber.js bundler conflict by removing direct dependency.
  • New Features

    • Added optional encryption support for text, varchar, and string columns in databases and tables.
    • Added support for Deno 1.21, 1.24, and 1.35 runtimes.
  • Removed Features

    • Removed Backups service and all backup operations.
    • Removed Health queue billing and threat monitoring methods.
    • Removed backup and domain-related scope permissions.
  • Documentation

    • Updated Appwrite server compatibility to 1.8.x.

@coderabbitai
Copy link

coderabbitai bot commented Feb 17, 2026

Walkthrough

This pull request downgrades the package version from 22.1.0 to 22.0.2, removes the entire Backups service implementation along with associated enums, types, and documentation examples, removes five Health service methods (queue billing and priority methods), adds an optional encrypt parameter to database and table column text-type creation methods, and removes backup-related fields from the Database model type. Additionally, backup-related scope enum entries are removed, and the README compatibility note is updated from "latest" to "1.8.x" for Appwrite server compatibility.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: a version update from 22.1.0 to 22.0.2 with associated SDK updates, matching the changelog and package.json modifications.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/examples/databases/create-mediumtext-attribute.md (1)

11-18: ⚠️ Potential issue | 🟡 Minor

Use xdefault in the example to match the SDK parameter name.
default is not read by the SDK method, so the example won’t set a default value.

📝 Suggested doc fix
-    default: '<DEFAULT>', // optional
+    xdefault: '<DEFAULT>', // optional
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/examples/databases/create-mediumtext-attribute.md` around lines 11 - 18,
Update the example call to databases.createMediumtextAttribute to use the SDK's
actual default parameter name xdefault (instead of default) so the default value
is applied; update the payload in the createMediumtextAttribute call to set
xdefault: '<DEFAULT>' and ensure key is a non-empty placeholder (e.g.,
'attribute_key') to avoid an invalid empty key.
docs/examples/databases/create-longtext-attribute.md (1)

11-18: ⚠️ Potential issue | 🟡 Minor

Use xdefault in the example to match the SDK parameter name.
default is not read by the SDK method, so the example won’t set a default value.

📝 Suggested doc fix
-    default: '<DEFAULT>', // optional
+    xdefault: '<DEFAULT>', // optional
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/examples/databases/create-longtext-attribute.md` around lines 11 - 18,
The example call to databases.createLongtextAttribute uses the wrong parameter
name "default" which the SDK ignores; change the parameter to "xdefault" so the
default value is actually passed to databases.createLongtextAttribute (update
the example argument key from default to xdefault and leave the value string as
before).
🧹 Nitpick comments (1)
package.json (1)

51-54: Consider documenting the intentional transitive bignumber.js dependency.

src/client.ts (line 5) imports BigNumber from 'bignumber.js', which is no longer a direct dependency. This works because json-bigint pulls it in transitively (as a declared dependency). While this intentionally fixes the bundler conflict (documented in CHANGELOG), adding a comment near the import would clarify this design choice for future maintainers and reduce the risk of accidental breakage if the dependency tree changes.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` around lines 51 - 54, Add a short inline comment above the
BigNumber import in src/client.ts explaining that BigNumber is intentionally
consumed as a transitive dependency (import BigNumber from 'bignumber.js') that
is provided via the json-bigint dependency declared in package.json, and
reference the CHANGELOG note about this bundler conflict workaround so future
maintainers understand this design choice and avoid accidentally adding/removing
it.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@docs/examples/databases/create-longtext-attribute.md`:
- Around line 11-18: The example call to databases.createLongtextAttribute uses
the wrong parameter name "default" which the SDK ignores; change the parameter
to "xdefault" so the default value is actually passed to
databases.createLongtextAttribute (update the example argument key from default
to xdefault and leave the value string as before).

In `@docs/examples/databases/create-mediumtext-attribute.md`:
- Around line 11-18: Update the example call to
databases.createMediumtextAttribute to use the SDK's actual default parameter
name xdefault (instead of default) so the default value is applied; update the
payload in the createMediumtextAttribute call to set xdefault: '<DEFAULT>' and
ensure key is a non-empty placeholder (e.g., 'attribute_key') to avoid an
invalid empty key.

---

Nitpick comments:
In `@package.json`:
- Around line 51-54: Add a short inline comment above the BigNumber import in
src/client.ts explaining that BigNumber is intentionally consumed as a
transitive dependency (import BigNumber from 'bignumber.js') that is provided
via the json-bigint dependency declared in package.json, and reference the
CHANGELOG note about this bundler conflict workaround so future maintainers
understand this design choice and avoid accidentally adding/removing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant