From 714ad6c403007d3846ed96066a78b65bb5ed240b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2026 21:33:48 +0000 Subject: [PATCH 1/8] chore: enforce npm min-release-age dependency cooldown --- .npmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..ec9e05d --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +min-release-age=3 From 5bfdaa18cb0609b3b0b2782df8376a9818423612 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2026 21:41:20 +0000 Subject: [PATCH 2/8] ci: use npm >=11.6 so min-release-age is enforced --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64ac8d6..3a4d09d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: variations: [ {os: ubuntu-latest, node: latest}, - {os: ubuntu-latest, node: 18} + {os: ubuntu-latest, node: 20} ] runs-on: ${{ matrix.variations.os }} @@ -29,6 +29,8 @@ jobs: with: node-version: ${{ matrix.variations.node }} registry-url: 'https://registry.npmjs.org' + - name: Use npm version supporting min-release-age + run: npm install -g npm@^11.6.0 - name: Install run: npm install - name: Test From 65c9a80539bf21535365cd923073d5c24dea999d Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2026 21:42:17 +0000 Subject: [PATCH 3/8] ci: pin npm to a version that supports min-release-age --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a4d09d..ba81a49 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: node-version: ${{ matrix.variations.node }} registry-url: 'https://registry.npmjs.org' - name: Use npm version supporting min-release-age - run: npm install -g npm@^11.6.0 + run: npm install -g npm@^11.9.1 - name: Install run: npm install - name: Test From 2ded8dc530ebe885a9c844190b30244cf9c63792 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:56:00 +0000 Subject: [PATCH 4/8] chore: exempt LaunchDarkly SDK packages from the cooldown Co-Authored-By: Steven Zhang --- .github/workflows/ci.yml | 4 ++-- .npmrc | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ba81a49..9868398 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: variations: [ {os: ubuntu-latest, node: latest}, - {os: ubuntu-latest, node: 20} + {os: ubuntu-latest, node: 22} ] runs-on: ${{ matrix.variations.os }} @@ -30,7 +30,7 @@ jobs: node-version: ${{ matrix.variations.node }} registry-url: 'https://registry.npmjs.org' - name: Use npm version supporting min-release-age - run: npm install -g npm@^11.9.1 + run: npm install -g npm@^12.0.0 - name: Install run: npm install - name: Test diff --git a/.npmrc b/.npmrc index ec9e05d..5abb254 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,40 @@ min-release-age=3 +min-release-age-exclude[]=@launchdarkly/akamai-edgeworker-sdk-common +min-release-age-exclude[]=@launchdarkly/akamai-server-base-sdk +min-release-age-exclude[]=@launchdarkly/akamai-server-edgekv-sdk +min-release-age-exclude[]=@launchdarkly/browser +min-release-age-exclude[]=@launchdarkly/client-testing-plugin +min-release-age-exclude[]=@launchdarkly/cloudflare-server-sdk +min-release-age-exclude[]=@launchdarkly/electron-client-sdk +min-release-age-exclude[]=@launchdarkly/fastly-server-sdk +min-release-age-exclude[]=@launchdarkly/jest +min-release-age-exclude[]=@launchdarkly/js-client-sdk +min-release-age-exclude[]=@launchdarkly/js-client-sdk-common +min-release-age-exclude[]=@launchdarkly/js-sdk-common +min-release-age-exclude[]=@launchdarkly/js-server-sdk-common +min-release-age-exclude[]=@launchdarkly/js-server-sdk-common-edge +min-release-age-exclude[]=@launchdarkly/node-client-sdk +min-release-age-exclude[]=@launchdarkly/node-server-sdk +min-release-age-exclude[]=@launchdarkly/node-server-sdk-dynamodb +min-release-age-exclude[]=@launchdarkly/node-server-sdk-otel +min-release-age-exclude[]=@launchdarkly/node-server-sdk-redis +min-release-age-exclude[]=@launchdarkly/openfeature-js-server-common +min-release-age-exclude[]=@launchdarkly/openfeature-node-server +min-release-age-exclude[]=@launchdarkly/react-native-client-sdk +min-release-age-exclude[]=@launchdarkly/react-sdk +min-release-age-exclude[]=@launchdarkly/sdk-logs-js +min-release-age-exclude[]=@launchdarkly/sdk-meta +min-release-age-exclude[]=@launchdarkly/server-sdk-ai +min-release-age-exclude[]=@launchdarkly/server-sdk-ai-langchain +min-release-age-exclude[]=@launchdarkly/server-sdk-ai-openai +min-release-age-exclude[]=@launchdarkly/server-sdk-ai-vercel +min-release-age-exclude[]=@launchdarkly/shopify-oxygen-sdk +min-release-age-exclude[]=@launchdarkly/svelte-client-sdk +min-release-age-exclude[]=@launchdarkly/vercel-server-sdk +min-release-age-exclude[]=@launchdarkly/vue-client-sdk +min-release-age-exclude[]=launchdarkly-electron-client-sdk +min-release-age-exclude[]=launchdarkly-js-client-sdk +min-release-age-exclude[]=launchdarkly-js-sdk-common +min-release-age-exclude[]=launchdarkly-node-client-sdk +min-release-age-exclude[]=launchdarkly-react-client-sdk +min-release-age-exclude[]=launchdarkly-vue-client-sdk From ae186b2c7616a5a1375f80e24fc30cc94ccccaff Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 14:11:17 +0000 Subject: [PATCH 5/8] chore: limit cooldown exemptions to packages actually used Co-Authored-By: Steven Zhang --- .npmrc | 39 +-------------------------------------- 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/.npmrc b/.npmrc index 5abb254..8b636f7 100644 --- a/.npmrc +++ b/.npmrc @@ -1,40 +1,3 @@ min-release-age=3 -min-release-age-exclude[]=@launchdarkly/akamai-edgeworker-sdk-common -min-release-age-exclude[]=@launchdarkly/akamai-server-base-sdk -min-release-age-exclude[]=@launchdarkly/akamai-server-edgekv-sdk -min-release-age-exclude[]=@launchdarkly/browser -min-release-age-exclude[]=@launchdarkly/client-testing-plugin -min-release-age-exclude[]=@launchdarkly/cloudflare-server-sdk -min-release-age-exclude[]=@launchdarkly/electron-client-sdk -min-release-age-exclude[]=@launchdarkly/fastly-server-sdk -min-release-age-exclude[]=@launchdarkly/jest -min-release-age-exclude[]=@launchdarkly/js-client-sdk -min-release-age-exclude[]=@launchdarkly/js-client-sdk-common -min-release-age-exclude[]=@launchdarkly/js-sdk-common -min-release-age-exclude[]=@launchdarkly/js-server-sdk-common -min-release-age-exclude[]=@launchdarkly/js-server-sdk-common-edge -min-release-age-exclude[]=@launchdarkly/node-client-sdk -min-release-age-exclude[]=@launchdarkly/node-server-sdk -min-release-age-exclude[]=@launchdarkly/node-server-sdk-dynamodb -min-release-age-exclude[]=@launchdarkly/node-server-sdk-otel -min-release-age-exclude[]=@launchdarkly/node-server-sdk-redis -min-release-age-exclude[]=@launchdarkly/openfeature-js-server-common -min-release-age-exclude[]=@launchdarkly/openfeature-node-server -min-release-age-exclude[]=@launchdarkly/react-native-client-sdk -min-release-age-exclude[]=@launchdarkly/react-sdk -min-release-age-exclude[]=@launchdarkly/sdk-logs-js -min-release-age-exclude[]=@launchdarkly/sdk-meta -min-release-age-exclude[]=@launchdarkly/server-sdk-ai -min-release-age-exclude[]=@launchdarkly/server-sdk-ai-langchain -min-release-age-exclude[]=@launchdarkly/server-sdk-ai-openai -min-release-age-exclude[]=@launchdarkly/server-sdk-ai-vercel -min-release-age-exclude[]=@launchdarkly/shopify-oxygen-sdk -min-release-age-exclude[]=@launchdarkly/svelte-client-sdk -min-release-age-exclude[]=@launchdarkly/vercel-server-sdk -min-release-age-exclude[]=@launchdarkly/vue-client-sdk -min-release-age-exclude[]=launchdarkly-electron-client-sdk -min-release-age-exclude[]=launchdarkly-js-client-sdk +min-release-age-exclude[]=launchdarkly-eventsource min-release-age-exclude[]=launchdarkly-js-sdk-common -min-release-age-exclude[]=launchdarkly-node-client-sdk -min-release-age-exclude[]=launchdarkly-react-client-sdk -min-release-age-exclude[]=launchdarkly-vue-client-sdk From 7a0237e2cfa7bd372efa5ffbcff28c5439940a5a Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 14:21:12 +0000 Subject: [PATCH 6/8] ci: use npm 12 in release workflow so the cooldown applies to releases Co-Authored-By: Steven Zhang --- .github/workflows/release-please.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 83815db..6175a7c 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -37,7 +37,7 @@ jobs: - name: Update NPM shell: bash # Must be greater than 11.5.1 for OIDC. - run: npm install -g npm@11.6.2 + run: npm install -g npm@^12.0.0 - name: Install Dependencies run: npm install From a877c3bb982773c23d5a791f97d895ec7fb21ffd Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:06:07 +0000 Subject: [PATCH 7/8] chore: apply cooldown to the contract-tests install Co-Authored-By: Steven Zhang --- contract-tests/.npmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 contract-tests/.npmrc diff --git a/contract-tests/.npmrc b/contract-tests/.npmrc new file mode 100644 index 0000000..ec9e05d --- /dev/null +++ b/contract-tests/.npmrc @@ -0,0 +1 @@ +min-release-age=3 From 2bdf06c24dd780bd0549b91c8fd8c0f7c24455f3 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:09:31 +0000 Subject: [PATCH 8/8] chore: mirror cooldown exemptions in the contract-tests config Co-Authored-By: Steven Zhang --- contract-tests/.npmrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contract-tests/.npmrc b/contract-tests/.npmrc index ec9e05d..8b636f7 100644 --- a/contract-tests/.npmrc +++ b/contract-tests/.npmrc @@ -1 +1,3 @@ min-release-age=3 +min-release-age-exclude[]=launchdarkly-eventsource +min-release-age-exclude[]=launchdarkly-js-sdk-common