Skip to content

0.19.4 - Large Integer Coercion Fixes, Layer Sampling Fix, Evaluation Performance Improvements

Choose a tag to compare

@statsig-kong statsig-kong released this 01 Jun 23:23
· 167 commits to main since this release
b0090c7

Breaking Changes

  • N/A

New Features

  • Node.js: N/A
  • Java: N/A
  • Python: N/A
  • Rust: N/A
  • .NET: N/A
  • Elixir: N/A

Improvements & Fixes

  • Node.js: Inherits core layer-sampling fix and evaluator performance improvements.
  • Java: Inherits core layer-sampling fix and evaluator performance improvements.
  • Python:
    • Fix numeric coercion for large integer user.custom values that previously broke evaluation.
    • Faster typed DynamicConfig/Experiment accessors (get_string, get_integer, get_float, get_bool, get_array, get_object) — up to ~37% faster per call.
    • Inlined the error-boundary wrapper to remove per-call overhead — ~8–17% faster gate/config/experiment/layer evaluation.
  • Rust:
    • Layers now pull the sampling rate from the experiment's rule in the config-delegate case.
    • Removed hash-input allocations in the evaluator hot path (~5–9% faster checks).
    • Skip SDK event-listener lookups when no listeners are subscribed.
  • .NET: Inherits core layer-sampling fix and evaluator performance improvements.
  • Elixir: Preserve user.custom integers above i64::MAX (fall back to f64) instead of raising in the NIF.

Included In This Release

  • 8527686 statsig-kong[bot]
    • chore: bump version to 0.19.4-rc.2605212134
  • 99e6fd0 Xin Li (Bot)
    • [automated] sync rc with main
  • f1c32a6 Kenneth Yeh
    • fix(elixir): preserve user.custom integers above i64::MAX (#2951)
  • cd82c4b Kenneth Yeh
    • Fix pyo3 numeric coercion (#2950)
  • 8c863c2 statsig-kong[bot]
    • [automated] chore: bump version to 0.19.3-rc.1 (#2948)
  • d8a7643 Daniel
    • fix: allow floating point in proto specs (#2944)
  • a29d7ab sroyal-statsig
    • Layer Sampling Update (#2943)
  • 707d966 Daniel
    • Bc per user py (#2942)
  • 47cac3e statsig-kong[bot]
    • [automated] chore: bump version to 0.19.3-beta.2604211739 (#2941)
  • cb418de Daniel
    • Update nightly-beta.yml (#2940)
  • 69914d9 Daniel
    • [codex] Remove evaluator hash input formatting allocations (#2933)
  • 8a63304 Daniel
    • [codex] Skip SDK event listener lookups when unsubscribed (#2934)
  • ad356ad Daniel
    • [codex] Fast path typed DynamicConfig accessors (#2936)
  • f724e74 Daniel
    • [codex] Inline Python error boundary wrapper (#2935)
  • 2edfe62 xinlili-oai
    • ci: disable cut release candidate and nightly beta workflows (#2939)
  • bfff8e0 statsig-kong[bot]
    • [automated] chore: bump version to 0.19.3-beta.2604160313 (#2931)
  • 1f5f5d4 xinlili-oai
    • Fix main flow (#2929)
  • f2c3aba statsig-kong[bot]
    • [automated] chore: bump version to 0.19.2-rc.1 (#2928)
  • 538391b statsig-kong[bot]
    • [automated] chore: bump version to 0.19.2-rc.2604152158 (#2926)
  • 1b0a9bd statsig-kong[bot]
    • [automated] sync rc with main (#2925)

Full Changelog: 0.19.1...0.19.4