diff --git a/posthog-core/test/posthog.featureflags.spec.ts b/posthog-core/test/posthog.featureflags.spec.ts index 25992ce7..acf8dd09 100644 --- a/posthog-core/test/posthog.featureflags.spec.ts +++ b/posthog-core/test/posthog.featureflags.spec.ts @@ -400,6 +400,7 @@ describe('PostHog Core', () => { properties: { $feature_flag: 'feature-1', $feature_flag_response: true, + '$feature/feature-1': true, }, type: 'capture', }, diff --git a/posthog-node/CHANGELOG.md b/posthog-node/CHANGELOG.md index 4768364c..6b17ef96 100644 --- a/posthog-node/CHANGELOG.md +++ b/posthog-node/CHANGELOG.md @@ -1,3 +1,7 @@ +# 3.1.2 - 2023-08-17 + +1. Returns the current flag property with $feature_flag_called events, to make it easier to use in experiments + # 3.1.1 - 2023-04-26 1. Replace crypto library with pure-js rusha library which makes posthog-node work with Cloudflare Workers in Next.js edge runtime. diff --git a/posthog-node/package.json b/posthog-node/package.json index 684488fb..c1ef02f0 100644 --- a/posthog-node/package.json +++ b/posthog-node/package.json @@ -1,6 +1,6 @@ { "name": "posthog-node", - "version": "3.1.1", + "version": "3.1.2", "description": "PostHog Node.js integration", "repository": "PostHog/posthog-node", "scripts": { diff --git a/posthog-node/src/posthog-node.ts b/posthog-node/src/posthog-node.ts index 77c91ded..6a3f0630 100644 --- a/posthog-node/src/posthog-node.ts +++ b/posthog-node/src/posthog-node.ts @@ -207,6 +207,7 @@ export class PostHog extends PostHogCoreStateless implements PostHogNodeV1 { $feature_flag: key, $feature_flag_response: response, locally_evaluated: flagWasLocallyEvaluated, + [`$feature/${key}`]: response, }, groups, disableGeoip, diff --git a/posthog-node/test/posthog-node.spec.ts b/posthog-node/test/posthog-node.spec.ts index 58af9ac1..3ace210d 100644 --- a/posthog-node/test/posthog-node.spec.ts +++ b/posthog-node/test/posthog-node.spec.ts @@ -555,6 +555,7 @@ describe('PostHog Node.js', () => { $lib: 'posthog-node', $lib_version: '1.2.3', locally_evaluated: true, + '$feature/beta-feature': true, }), }, ]) @@ -610,6 +611,7 @@ describe('PostHog Node.js', () => { properties: expect.objectContaining({ $feature_flag: 'beta-feature', $feature_flag_response: true, + '$feature/beta-feature': true, $lib: 'posthog-node', $lib_version: '1.2.3', locally_evaluated: true, @@ -652,6 +654,7 @@ describe('PostHog Node.js', () => { $lib: 'posthog-node', $lib_version: '1.2.3', locally_evaluated: true, + '$feature/beta-feature': true, $groups: { x: 'y' }, }) mockedFetch.mockClear() @@ -688,6 +691,7 @@ describe('PostHog Node.js', () => { $lib: 'posthog-node', $lib_version: '1.2.3', locally_evaluated: false, + '$feature/decide-flag': 'decide-value', $groups: { organization: 'org1' }, }), })