Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
# openfeature-js-client

Monorepo using **Lerna** with **fixed versioning** — all packages share the version in `lerna.json`.
Monorepo using **Lerna** with **independent versioning**. Each package declares its version in its own `package.json`.

## Release

See [CONTRIBUTING.md](CONTRIBUTING.md#creating-a-release) for the full release process.

Key commands:
Prepare only the requested package releases and their required dependencies. Keep internal dependencies pinned to exact versions.

```bash
# Non-interactive version bump (use this instead of interactive `yarn release`)
yarn lerna version <VERSION> --exact --force-publish --yes
```
`yarn release` creates commits and tags and pushes them. Do not run it when the user requests preparation only. Publishing a GitHub release triggers npm publication for the package named in its tag.

## Packages

Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,30 @@

---

## @datadog/openfeature-browser@2.1.0, @datadog/flagging-core@3.2.0

**Features:**

- Support SHA-256-obfuscated keys in precomputed assignment responses. Applications continue to evaluate flags by their original keys, and telemetry keeps those keys. Obfuscation hides readable flag names; it does not encrypt values or authenticate responses ([#405](https://github.com/DataDog/openfeature-js-client/pull/405)) [BROWSER] [CORE]
- Persist precomputed configurations and exposure deduplication in IndexedDB. Restore matching configurations when a network request fails, and preserve exposure-cache updates across tabs ([#188](https://github.com/DataDog/openfeature-js-client/pull/188)) [BROWSER]
- Version portable snapshots that contain obfuscated assignments so older readers reject an unsupported encoding. Store new browser snapshots separately from legacy cache entries ([#405](https://github.com/DataDog/openfeature-js-client/pull/405)) [BROWSER] [CORE]
- Export `buildEndpointHost` to share validated flagging endpoint construction with server-side configuration fetchers ([#409](https://github.com/DataDog/openfeature-js-client/pull/409), [#408](https://github.com/DataDog/openfeature-js-client/pull/408)) [CORE]

**Bug Fixes:**

- Run exposure, evaluation, and RUM tracking hooks in the OpenFeature `finally` stage so tracking can inspect the final evaluation result ([#406](https://github.com/DataDog/openfeature-js-client/pull/406)) [BROWSER]
- Keep the DevTools marker available until the last active provider wrapper closes ([#390](https://github.com/DataDog/openfeature-js-client/pull/390)) [BROWSER]
- Bound exposure caches and flag-key lookup caches. Clear the lookup cache when the obfuscation salt changes, and retain exposure resets when configuration timestamps change ([#405](https://github.com/DataDog/openfeature-js-client/pull/405)) [BROWSER]

**Upgrade Notes:**

- Direct Datadog Precompute requests now advertise `X-DD-FEATURE-FLAGS-CAPABILITIES`. The endpoint must allow this header in CORS responses before this browser release is used. Configured customer proxies do not receive this header automatically; they can opt in after supporting the header and encoded responses ([#405](https://github.com/DataDog/openfeature-js-client/pull/405)) [BROWSER]
- Existing localStorage and Chrome-storage exposure entries are not migrated or deleted. Upgrading can produce repeat exposures. Persistent storage failures use in-memory operation ([#188](https://github.com/DataDog/openfeature-js-client/pull/188)) [BROWSER]

**Internal Changes:**

- Pin browser and Node.js internal dependencies to `@datadog/flagging-core@3.2.0`. The Node.js package version is unchanged and is not part of this release. Publish core before browser.

## @datadog/flagging-core@3.1.1

**Bug Fixes:**
Expand Down
4 changes: 2 additions & 2 deletions packages/browser/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@datadog/openfeature-browser",
"version": "2.0.0",
"version": "2.1.0",
"description": "Browser-specific bindings for OpenFeature (wraps @datadog/openfeature-core)",
"license": "Apache-2.0",
"homepage": "https://github.com/DataDog/openfeature-js-client#readme",
Expand Down Expand Up @@ -58,7 +58,7 @@
},
"dependencies": {
"@datadog/browser-core": "7.1.0",
"@datadog/flagging-core": "3.1.1",
"@datadog/flagging-core": "3.2.0",
"@datadog/js-core": "0.0.3"
},
"peerDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@datadog/flagging-core",
"version": "3.1.1",
"version": "3.2.0",
"description": "Runtime-agnostic flag-evaluation logic for Datadog Flagging",
"license": "Apache-2.0",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/node-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@datadog/flagging-core": "3.1.1"
"@datadog/flagging-core": "3.2.0"
},
"devDependencies": {
"@openfeature/core": "1.11.0",
Expand Down
6 changes: 3 additions & 3 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -774,7 +774,7 @@ __metadata:
languageName: node
linkType: hard

"@datadog/flagging-core@npm:3.1.1, @datadog/flagging-core@workspace:packages/core":
"@datadog/flagging-core@npm:3.2.0, @datadog/flagging-core@workspace:packages/core":
version: 0.0.0-use.local
resolution: "@datadog/flagging-core@workspace:packages/core"
dependencies:
Expand Down Expand Up @@ -806,7 +806,7 @@ __metadata:
resolution: "@datadog/openfeature-browser@workspace:packages/browser"
dependencies:
"@datadog/browser-core": "npm:7.1.0"
"@datadog/flagging-core": "npm:3.1.1"
"@datadog/flagging-core": "npm:3.2.0"
"@datadog/js-core": "npm:0.0.3"
"@openfeature/core": "npm:^1.9.2"
"@openfeature/web-sdk": "npm:^1.5.0"
Expand Down Expand Up @@ -857,7 +857,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@datadog/openfeature-node-server@workspace:packages/node-server"
dependencies:
"@datadog/flagging-core": "npm:3.1.1"
"@datadog/flagging-core": "npm:3.2.0"
"@openfeature/core": "npm:1.11.0"
"@openfeature/server-sdk": "npm:1.22.0"
"@types/jest": "npm:^30.0.0"
Expand Down
Loading