Skip to content

Conversation

@aarsilv
Copy link
Contributor

@aarsilv aarsilv commented Jan 27, 2026

Eppo Internal
🎟️ Ticket: FFESUPPORT-478 - Update Node Server SDK minimum supported node version to 20

  • Remove Node 18 from CI matrix (EOL)
  • Add Node 24 and 26 to CI matrix
  • Update engines.node to >=20.x in package.json
  • Update @types/node resolution to ^20.0.0
  • Add Requirements section to README

Motivation and Context

One of the dependencies updated to address a security vulnerability requires Node Version 20 or higher. Also, version 18 hit end of life in April 2025.

Description

Update minimum supported node version to 20 including our testing matrix, imported types, and documentation.

How has this been documented?

Updated README

How has this been tested?

Existing automated tests

aarsilv and others added 3 commits January 26, 2026 19:56
- Remove Node 18 from CI matrix (EOL)
- Add Node 24 and 26 to CI matrix
- Update engines.node to >=20.x in package.json
- Update @types/node resolution to ^20.0.0
- Add Requirements section to README

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Node 26 is not released yet. Use 20, 22, 23, 24 instead.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Keep only LTS versions: 20, 22, 24.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
export { EppoAssignmentLogger }

// @public
export function getBanditsConfiguration(): string;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

guess auto generated API didn't make it in an earlier PR

strategy:
matrix:
node-version: [ '18', '20', '22', '23' ]
node-version: [ '20', '22', '24' ]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

bumping to all LTS versions

Comment on lines +11 to +17
- Dynamic configuration
- Progressive rollouts
- A/B/n experiments
- Holdouts
- Mutually exclusive experiments (Layers)
- Dynamic configuration
- Switchback experiments
- Contextual Multi-armed bandits
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Add some more bragging while in here!


## Requirements

- Node.js version 20.x or later
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Document our minimum version in README

aarsilv and others added 2 commits January 27, 2026 08:09
BREAKING CHANGE: Minimum Node.js version is now 20.x (was 18.x).

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add generated docs for getFlagsConfiguration, getBanditsConfiguration,
  offlineInit, and IOfflineClientConfig
- Configure .gitattributes to enforce LF line endings for docs
- Set api-extractor newlineKind to lf

Co-Authored-By: Claude Opus 4.5 <[email protected]>
</td></tr>
</tbody></table>
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Docs autogenerated updated not sure why git thinks this particular change is a diff

@@ -1 +1,2 @@
*.json linguist-language=JSON-with-Comments
docs/*.md text eol=lf
Copy link
Contributor Author

Choose a reason for hiding this comment

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

standardize line endings for autogenerated docs (and other files)

* DEFAULT VALUE: "crlf"
*/
// "newlineKind": "crlf",
"newlineKind": "lf",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

same here

{
"name": "@eppo/node-server-sdk",
"version": "3.13.0",
"version": "4.0.0",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Major version bump since supported engines changed

@greghuels
Copy link
Contributor

You'll want to update js-sdk-common as well

@aarsilv aarsilv merged commit 4260729 into main Jan 27, 2026
6 checks passed
@aarsilv aarsilv deleted the aarsilv/ffesupport-478/min-node-version-20 branch January 27, 2026 16:44
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.

4 participants