From 276bc148ba590e67f17a09137884b41378609a05 Mon Sep 17 00:00:00 2001 From: Motty Milshtein Date: Thu, 1 Oct 2026 16:13:22 +0300 Subject: [PATCH 1/4] DEX-2183: warn once at startup and add a README banner that the SDK is deprecated The SDK reaches end-of-life on November 1, 2026. The constructor now prints a one-time console warning pointing at @fireblocks/ts-sdk, silenced by setting FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING, and the README opens with a deprecation banner. --- README.md | 8 ++++++++ src/fireblocks-sdk.ts | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/README.md b/README.md index 3c7f525c..92741348 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,14 @@ ## The Official Javascript & Typescript SDK for Fireblocks API [![npm version](https://badge.fury.io/js/fireblocks-sdk.svg)](https://badge.fury.io/js/fireblocks-sdk) +> **⚠️ This package is deprecated.** +> +> `fireblocks-sdk` is deprecated and reaches **end-of-life on November 1, 2026** — no further updates or fixes will be released after that date. +> +> Existing installs continue to work, and this package will never be unpublished. +> +> Migrate to [`@fireblocks/ts-sdk`](https://www.npmjs.com/package/@fireblocks/ts-sdk) — see the [SDK Migration Guide](https://developers.fireblocks.com/reference/sdk-migration-guide). + > The current version of the SDK has changed the minimum supported Node.js version from v12 to v16. > > Versions older than v16 are no longer maintained by the Node.js community and are considered EOL. diff --git a/src/fireblocks-sdk.ts b/src/fireblocks-sdk.ts index 138cb701..f9dee713 100644 --- a/src/fireblocks-sdk.ts +++ b/src/fireblocks-sdk.ts @@ -225,6 +225,11 @@ export interface SDKOptions { const DEFAULT_MAX_PAGE_SIZE = 100; +const DEPRECATION_WARNING = "fireblocks-sdk is deprecated and reaches end-of-life on November 1, 2026: no further updates or fixes after that date. " + + "Existing installs continue to work. Migrate to @fireblocks/ts-sdk: https://developers.fireblocks.com/reference/sdk-migration-guide " + + "(set FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING=1 to silence this warning)"; +let deprecationWarningShown = false; + export class FireblocksSDK { private readonly authProvider: IAuthProvider; private readonly apiBaseUrl: string; @@ -243,6 +248,11 @@ export class FireblocksSDK { * @param sdkOptions */ constructor(privateKey: string, apiKey: string, apiBaseUrl: string = "https://api.fireblocks.io", authProvider: IAuthProvider = undefined, sdkOptions?: SDKOptions) { + if (!deprecationWarningShown && !process.env.FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING) { + deprecationWarningShown = true; + console.warn(DEPRECATION_WARNING); + } + this.authProvider = !!authProvider ? authProvider : new ApiTokenProvider(privateKey, apiKey); if (!!apiBaseUrl) { From f4b1f30faac062f60b98e3791d1f387079e69d27 Mon Sep 17 00:00:00 2001 From: Motty Milshtein Date: Thu, 1 Oct 2026 16:53:02 +0300 Subject: [PATCH 2/4] DEX-2185: remind the releaser to mark each new version deprecated on npm npm deprecate only marks versions that already exist, so a version published after the package is deprecated installs without a warning. This repo publishes through OIDC and deliberately holds no npm token, and OIDC cannot run npm deprecate, so the step after publish raises a warning and puts the exact npm deprecate command in the run summary for a fireblocks-sdk maintainer on npm to run by hand. --- .github/workflows/publish-npm.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index b19f0acf..8c47ac63 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -72,4 +72,22 @@ jobs: - name: Publish package run: npm publish - # No NODE_AUTH_TOKEN needed - OIDC handles authentication \ No newline at end of file + # No NODE_AUTH_TOKEN needed - OIDC handles authentication + + # npm deprecate only marks versions that already exist, so the version just published + # installs without a warning until someone re-runs it. OIDC covers publish only, and + # this repo deliberately holds no npm token, so a maintainer runs it by hand. + - name: Remind to mark the new version deprecated + env: + MESSAGE: "fireblocks-sdk is deprecated and reaches end-of-life (no further updates or fixes) on Nov 1, 2026. Existing installs continue to work. Migrate to @fireblocks/ts-sdk — https://developers.fireblocks.com/reference/sdk-migration-guide" + run: | + echo "::warning title=Mark this release deprecated::This version installs without a deprecation warning until a fireblocks-sdk maintainer on npm runs the command in this run's summary." + { + echo "## Mark this release deprecated on npm" + echo + echo "Run this from an npm account that maintains \`fireblocks-sdk\`. It marks every version, including the one just published:" + echo + echo '```' + printf 'npm deprecate fireblocks-sdk "%s"\n' "$MESSAGE" + echo '```' + } >> "$GITHUB_STEP_SUMMARY" \ No newline at end of file From 59fcf349b44da8706320b75ffa08618a2e35e18b Mon Sep 17 00:00:00 2001 From: Motty Milshtein Date: Thu, 1 Oct 2026 16:55:17 +0300 Subject: [PATCH 3/4] DEX-2183: drop the npm deprecate reminder from the publish workflow No further releases are planned after this one, and nobody reads the release run's log for it. npm deprecate is run once by hand right after this release. --- .github/workflows/publish-npm.yml | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 8c47ac63..b19f0acf 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -72,22 +72,4 @@ jobs: - name: Publish package run: npm publish - # No NODE_AUTH_TOKEN needed - OIDC handles authentication - - # npm deprecate only marks versions that already exist, so the version just published - # installs without a warning until someone re-runs it. OIDC covers publish only, and - # this repo deliberately holds no npm token, so a maintainer runs it by hand. - - name: Remind to mark the new version deprecated - env: - MESSAGE: "fireblocks-sdk is deprecated and reaches end-of-life (no further updates or fixes) on Nov 1, 2026. Existing installs continue to work. Migrate to @fireblocks/ts-sdk — https://developers.fireblocks.com/reference/sdk-migration-guide" - run: | - echo "::warning title=Mark this release deprecated::This version installs without a deprecation warning until a fireblocks-sdk maintainer on npm runs the command in this run's summary." - { - echo "## Mark this release deprecated on npm" - echo - echo "Run this from an npm account that maintains \`fireblocks-sdk\`. It marks every version, including the one just published:" - echo - echo '```' - printf 'npm deprecate fireblocks-sdk "%s"\n' "$MESSAGE" - echo '```' - } >> "$GITHUB_STEP_SUMMARY" \ No newline at end of file + # No NODE_AUTH_TOKEN needed - OIDC handles authentication \ No newline at end of file From 28d3a3f14c13a173e0a5baf395af83fb74216c24 Mon Sep 17 00:00:00 2001 From: Motty Milshtein Date: Thu, 1 Oct 2026 17:14:44 +0300 Subject: [PATCH 4/4] DEX-2183: document how to silence the startup warning in the README banner --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 92741348..21b023d5 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ > Existing installs continue to work, and this package will never be unpublished. > > Migrate to [`@fireblocks/ts-sdk`](https://www.npmjs.com/package/@fireblocks/ts-sdk) — see the [SDK Migration Guide](https://developers.fireblocks.com/reference/sdk-migration-guide). +> +> To silence the startup warning, set `FIREBLOCKS_SDK_SUPPRESS_DEPRECATION_WARNING=1`. > The current version of the SDK has changed the minimum supported Node.js version from v12 to v16. >