8.0.2 (2026-03-19)
8.0.1 (2026-03-16)
8.0.0 (2026-02-25)
- remove node18 support and update pino (#220)
7.0.3 (2026-01-21)
- bump glob and npm (#233) (17802df)
- bump js-yaml from 4.1.0 to 4.1.1 (#223) (7235792)
- bump tar and npm (#232) (bb34fb5)
7.0.2 (2025-12-02)
7.0.1 (2025-12-02)
7.0.0 (2025-12-02)
- implement context values (#203)
- implement context values (#203) (41258f2)
- removed-feature-key-and-segment-key-from-schema (#210) (014f38b)
- exclude-identities-when-traits-is-undefined (#230) (f7488e1)
- fix-mv-evaluation (#222) (ae1fb7e)
- properly-map-environment-name (#226) (3c1d200)
- removed-dango-id-usage-in-mapper (#229) (29c7613)
- use-default-on-jsonpath-import (#231) (7a8d949)
6.2.0 (2025-11-04)
v6.1.0 - 2025-06-18
- Bump undici from 6.21.1 to 6.21.2 by @dependabot in #184
- feat: Export FeatureModel to enable custom offline handler by @phiggins in #187
- Update test running instructions in README and other housekeeping by @phiggins in #186
- Bump vite from 5.4.18 to 5.4.19 by @dependabot in #185
- feat: Export BaseFlag, FlagsmithConfig, FlagsmithValue, TraitConfig types by @rolodato in #188
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v6.0.1...v6.1.0
v6.0.1 - 2025-04-24
- Remove uses of
anyin models.ts by @phiggins in #180 - Bump esbuild from 0.14.54 to 0.25.0 by @dependabot in #175
- Bump vite from 5.4.14 to 5.4.18 by @dependabot in #182
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v6.0.0...v6.0.1
v6.0.0 - 2025-03-24
Flagsmith.environmentwas removed. UsegetEnvironmentinstead. This returns a Promise, and not a reference to the environment which could be uninitialised.onEnvironmentChangehandlers can now be invoked with anundefinedenvironment if an error occurred.- The
Flagsmithclient now returns an error if initialised with local evaluation enabled but without a server-side SDK key. Previously, it would log an error and continue.
- Added a new
requestRetryDelayMillisecondswhich controls how long the SDK will wait before retrying any failed HTTP requests. Previously, this was hard-coded to always be 1 second. - Added a
getEnvironmentmethod which returns the SDK's current local environment state as a Promise.
getIdentityFlagsnow uses any provided default flag handler if it fails, instead of just returning an error.- Setting
environmentRefreshIntervalto0now prevents any environment polling from happening. - Fixed a bug where if the SDK initially failed to fetch the environment document, then
getIdentityFlagswould always fail with an error even if the environment was later fetched successfully (#177).
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v5.1.1...v6.0.0
v5.1.1 - 2025-02-10
- Bump undici from 6.19.8 to 6.21.1 by @dependabot in #170
- Bump vite from 5.4.8 to 5.4.14 by @dependabot in #171
- Bump vitest and @vitest/coverage-v8 by @dependabot in #173
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v5.1.0...v5.1.1
v5.1.0 - 2025-01-20
- feat: Allow configuring analytics API endpoint separate from flags API by @rolodato in #168
- ci: Run tests on currently maintained Node LTS versions by @rolodato in #169
The baseApiUrl constructor argument of AnalyticsProcessor is now deprecated. Instead, pass the full URL to the analytics endpoint using the analyticsUrl parameter. This deprecation only affects you if you are manually managing analytics, rather than having the SDK do it for you using the enableAnalytics option.
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v5.0.1...v5.1.0
v5.0.1 - 2025-01-14
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v5.0.0...v5.0.1
v5.0.0 - 2024-11-28
- fix: Export offline handler types by @rolodato in #166
- feat!: Simplify FlagsmithCache interface by @rolodato in #165
The FlagsmithCache interface has been simplified. In practice, this will not affect most users:
- Removed
hasmethod - Removed
ttlparameter fromset - Changed
setreturn type toPromise<void> - Changed
getreturn type toPromise<Flags | undefined>
FlagsmithCache since 5.0.0: https://www.tsdocs.dev/docs/flagsmith-nodejs/5.0.0/interfaces/FlagsmithCache.html
FlagsmithCache prior to 5.0.0: https://www.tsdocs.dev/docs/flagsmith-nodejs/4.0.0/interfaces/FlagsmithCache.html
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v4.0.0...v5.0.0
v4.0.0 - 2024-11-07
- feat: Support transient identities and traits by @novakzaballa in #158
- feat!: Custom fetch support, remove node-fetch, ESM+CJS dual build, migrate to vitest, TS fixes, test improvements by @rolodato in #162
- feat!: Remove all uses of CJS, add named Flagsmith export by @rolodato in #163
Node.js 18 or later is now required.
Flagsmith is now a named export and not a default export. This only changes how you import the Flagsmith Node.js SDK and not how you use it.
In 3.x and earlier, Flagsmith is the default export:
// ES modules
import Flagsmith from 'flagsmith-nodejs';// CommonJS
const Flagsmith = require('flagsmith-nodejs');In 4.x, you must use the named export:
// ES modules
import { Flagsmith } from 'flagsmith-nodejs';// CommonJS
const { Flagsmith } = require('flagsmith-nodejs');Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.3.3...v4.0.0
v3.3.3 - 2024-07-12
- Cancel timeout when it is no longer needed by @wheineman-sunrun in #141
- @wheineman-sunrun made their first contribution in #141
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.3.2...v3.3.3
v3.3.2 - 2024-05-23
- fix: handle null traits for regex evaluations by @matthewelwell in #152
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.3.1...v3.3.2
v3.3.1 - 2024-05-08
- fix: only flush analytics once if requested concurrently by @rolodato in #148
- fix: error evaluating CONTAINS / NOT_CONTAINS for null traits by @matthewelwell in #150
- Bump version 3.3.1 by @matthewelwell in #151
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.3.0...v3.3.1
Version 3.3.0 (v3.3.0) - 2024-04-19
- feat: Identity overrides in local evaluation mode by @khvn26 in #143
- Bump @babel/traverse from 7.17.3 to 7.23.2 by @dependabot in #137
- chore: export FlagsmithConfig from index by @novakzaballa in #139
- chore: remove examples by @dabeeeenster in #145
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.2.0...v3.3.0
Version 3.2.0 (v3.2.0) - 2023-10-25
- feat: offline-mode by @novakzaballa in #136
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.1.1...v3.2.0
Version 3.1.1 (v3.1.1) - 2023-08-21
- fix: Default requestTimeout by @novakzaballa in #133
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.1.0...v3.1.1
Version 3.1.0 (v3.1.0) - 2023-08-07
- Add 10 secs by default to requestTimeoutSeconds by @novakzaballa in #128
- Bump version to 3.1.0 by @novakzaballa in #129
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #127
- Bump tough-cookie from 4.0.0 to 4.1.3 by @dependabot in #125
- Lazily calculate the hash by @eldar-gamisoniya in #130
- @novakzaballa made their first contribution in #128
- @eldar-gamisoniya made their first contribution in #130
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.0.1...v3.1.0
Version 3.0.1 (v3.0.1) - 2023-06-27
- Fix deploy action by @kyle-ssg in #121
- Bump semver from 7.3.7 to 7.5.2 by @dependabot in #122
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v3.0.0...v3.0.1
Version 3.0.0 (v3.0.0) - 2023-06-15
- BREAKING CHANGE: Ensure percentage split evaluations are consistent by @matthewelwell in #119
WARNING: We modified the local evaluation behaviour. You may see different flags returned to identities attributed to your percentage split-based segments after upgrading to this version.
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v2.5.2...v3.0.0
Version 2.5.2 (v2.5.2) - 2023-03-07
- Fix timeout not using default flags by @matthewelwell in #112
- Release 2.5.2 by @matthewelwell in #111
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v2.5.1...v2.5.2
Version 2.5.1 (v2.5.1) - 2023-01-06
- Ensure local evaluation returns consistent MV values by @matthewelwell in #103
- Add logic to check for empty identifiers in
getIdentity___methods by @matthewelwell in #104 - Bump json5 from 2.2.0 to 2.2.3 by @dependabot in #101
- Release 2.5.1 by @matthewelwell in #102
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v2.5.0...v2.5.1
Version 2.5.0 (v2.5.0) - 2023-01-05
- Bump json5 from 2.1.0 to 2.2.3 in /examples/caching by @dependabot in #100
- Bump json5 from 2.1.0 to 2.2.3 in /examples/local-evaluation by @dependabot in #99
- Bump json5 from 2.1.0 to 2.2.3 in /examples/custom-fetch-agent by @dependabot in #98
- Bump json5 from 2.1.0 to 2.2.3 in /examples/api-proxy by @dependabot in #97
- Bump json5 from 2.1.0 to 2.2.3 in /examples/basic by @dependabot in #96
- Bump minimatch from 3.0.4 to 3.1.2 in /examples/basic by @dependabot in #91
- Bump decode-uri-component from 0.2.0 to 0.2.2 in /examples/basic by @dependabot in #90
- Bump decode-uri-component from 0.2.0 to 0.2.2 in /examples/api-proxy by @dependabot in #89
- Bump minimatch from 3.0.4 to 3.1.2 in /examples/api-proxy by @dependabot in #88
- Swallow errors arising from fetch in analytics by @matthewelwell in #95
- Release/2.5.0 by @matthewelwell in #84
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v2.4.1...v2.5.0
Version 2.4.1 (v2.4.1) - 2023-01-05
- Fix issue with local evaluation of multivariate flags by @matthewelwell in #87
- Release 2.4.1 by @matthewelwell in #86
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v2.4.0...v2.4.1
Version 2.4.0 (v2.4.0) - 2022-11-01
- Bump glob-parent and @babel/cli in /examples/local-evaluation by @dependabot in #67
- Bump ajv from 6.10.2 to 6.12.6 in /examples/local-evaluation by @dependabot in #69
- Bump ansi-regex from 3.0.0 to 3.0.1 in /examples/local-evaluation by @dependabot in #68
- Bump glob-parent and @babel/cli in /examples/custom-fetch-agent by @dependabot in #70
- Bump ajv from 6.10.2 to 6.12.6 in /examples/custom-fetch-agent by @dependabot in #73
- Bump browserslist from 4.6.6 to 4.21.3 in /examples/custom-fetch-agent by @dependabot in #72
- Bump ansi-regex from 3.0.0 to 3.0.1 in /examples/custom-fetch-agent by @dependabot in #71
- Feature/403/modulo segment operators by @EdsnLoor in #76
- Feature/1145/is set is not set segment operators by @EdsnLoor in #75
- Bump glob-parent and @babel/cli in /examples/caching by @dependabot in #74
- Release 2.4.0 by @matthewelwell in #77
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/v2.3.0...v2.4.0
Allows people to supply a custom agent when initialising Flagsmith, allowing for
- Network-related config such as keep-alive / socket timeouts
- Proxies such as https://www.npmjs.com/package/https-proxy-agent
Exports Flagsmith constructor arguments as a type.
Adds a few examples concentrating on common use cases.
2.1.0 ES import support - 2022-07-22
Closes #42 - you can now import Flagsmith as such
import Flagsmith, {...types} from 'flagsmith-nodejs'
Version 2.0.4 (v2.0.4) - 2022-07-13
- Use featureName for analytics by @matthewelwell in #48
- Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #38
- Bump node-fetch from 2.1.2 to 2.6.7 by @dependabot in #39
- Bump handlebars from 4.7.3 to 4.7.7 in /example by @dependabot in #17
- Release 2.0.4 by @matthewelwell in #47
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/compare/2.0.3...v2.0.4
2.0.3 - 2022-07-11
Closes #43
Version 2.0.0 (v2.0.0) - 2022-06-07
- Removes console.log of response by @muddylemon in #1
- Make bullet-train flags stateless, fix binding. by @kyle-ssg in #2
- Adds getUserIdentity(), getTrait() and setTrait(). Promise rejection if identity not provided by @lukefanning in #3
- Update client to use new api endpoints by @matthewelwell in #4
- Update index.js by @obax in #6
- Update config.js by @obax in #5
- Solving error in Function by @palazari19 in #8
- Bump handlebars from 4.0.12 to 4.7.3 in /example by @dependabot in #9
- feat: renamed type file to vscode automatically detect bullet-train type by @raryson in #11
- Rebrand by @kyle-ssg in #14
- Preventing errors while using this SDK by @eilgin in #15
- Add a cache options to reduce latency by @eilgin in #16
- fallback to require('node-fetch').default by @kyle-ssg in #21
- Fix setTrait Return Type by @beeme1mr in #26
- WIP: Node SDK v2 by @dabeeeenster in #23
- Update default URL to point to Edge API by @matthewelwell in #36
- feat: add semver support for segment condition by @yuriihorodnyi21 in #37
- Release 2.0.0 by @matthewelwell in #35
- @muddylemon made their first contribution in #1
- @lukefanning made their first contribution in #3
- @obax made their first contribution in #6
- @palazari19 made their first contribution in #8
- @dependabot made their first contribution in #9
- @raryson made their first contribution in #11
- @eilgin made their first contribution in #15
- @beeme1mr made their first contribution in #26
- @dabeeeenster made their first contribution in #23
- @yuriihorodnyi21 made their first contribution in #37
Full Changelog: https://github.com/Flagsmith/flagsmith-nodejs-client/commits/v2.0.0