@spotify-confidence/openfeature-server-provider-local 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.15.0](https://github.com/spotify/confidence-resolver/compare/openfeature-provider-js-v0.14.2...openfeature-provider-js-v0.15.0) (2026-05-28)
4
+
5
+
6
+ ### Features
7
+
8
+ * support skipping apply using context key ([#421](https://github.com/spotify/confidence-resolver/issues/421)) ([0ad63cc](https://github.com/spotify/confidence-resolver/commit/0ad63ccebef53073e57be42a9ab78a03f14e1851))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * rust-guest bumped from 0.2.3 to 0.2.4
16
+
17
+ ## [0.14.2](https://github.com/spotify/confidence-resolver/compare/openfeature-provider-js-v0.14.1...openfeature-provider-js-v0.14.2) (2026-05-27)
18
+
19
+
20
+ ### Dependencies
21
+
22
+ * The following workspace dependencies were updated
23
+ * dependencies
24
+ * rust-guest bumped from 0.2.2 to 0.2.3
25
+
3
26
  ## [0.14.1](https://github.com/spotify/confidence-resolver/compare/openfeature-provider-js-v0.14.0...openfeature-provider-js-v0.14.1) (2026-05-21)
4
27
 
5
28
 
package/README.md CHANGED
@@ -339,6 +339,23 @@ yarn add debug
339
339
 
340
340
  ---
341
341
 
342
+ ## Advanced: Controlling Exposure Events
343
+
344
+ By default, every flag evaluation triggers an exposure event (apply). If you need to resolve a flag without recording an exposure, you can pass `_confidence_skip_apply: true` in the evaluation context:
345
+
346
+ ```typescript
347
+ const value = await client.getBooleanValue('my-flag.enabled', false, {
348
+ targetingKey: 'user-123',
349
+ _confidence_skip_apply: true,
350
+ });
351
+ ```
352
+
353
+ The key is automatically stripped from the context before it reaches the resolver.
354
+
355
+ This is an advanced feature intended for specific use cases such as prefetching or background evaluation. If you're considering using it, reach out to the Confidence team to discuss the best approach for your setup.
356
+
357
+ ---
358
+
342
359
  ## License
343
360
 
344
361
  See the root `LICENSE`.
Binary file
@@ -1430,7 +1430,7 @@ function isObject(value) {
1430
1430
  function isSet$3(value) {
1431
1431
  return value !== null && value !== void 0;
1432
1432
  }
1433
- const VERSION = "0.14.1";
1433
+ const VERSION = "0.15.0";
1434
1434
  const NOOP_LOG_FN = Object.assign(() => {}, { enabled: false });
1435
1435
  const debugBackend = loadDebug();
1436
1436
  const logger$2 = new class LoggerImpl {
@@ -2917,7 +2917,9 @@ var ConfidenceServerProviderLocal = class ConfidenceServerProviderLocal {
2917
2917
  const startMs = performance.now();
2918
2918
  try {
2919
2919
  const [flagName] = flagKey.split(".", 1);
2920
- const resolution = await this.resolve(context, [flagName], true);
2920
+ const { _confidence_skip_apply,...cleanContext } = context;
2921
+ const skipApply = _confidence_skip_apply === true;
2922
+ const resolution = await this.resolve(cleanContext, [flagName], !skipApply);
2921
2923
  const result = resolve(resolution, flagKey, defaultValue, logger$1);
2922
2924
  const latencyUs = Math.round((performance.now() - startMs) * 1e3);
2923
2925
  let reason;