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
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "3.0.0"
".": "3.1.0"
}
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

## Unreleased
## [3.1.0](https://github.com/growthbook/growthbook-python/compare/v3.0.0...v3.1.0) (2026-09-05)

### Features

Expand All @@ -15,6 +15,8 @@
* Sync client: `GrowthBook(defer_tracking=True)` with `get_deferred_tracking_calls()` / `clear_deferred_tracking_calls()`.
* Async client: pass a per-request `TrackingBuffer` to `eval_feature` / `run` / `is_on` / `is_off` / `get_feature_value` and read it with `buffer.get_calls()`; the caller owns the buffer, so concurrent requests never mix exposures.

* prerequisite exposure telemetry and deferred tracking ([4dac52f](https://github.com/growthbook/growthbook-python/commit/4dac52f9028f426a87b2c558e75def7f1de7b205))

### Performance

* Telemetry plumbing overhead on evaluations with no callbacks configured, measured with `tests/scripts/benchmark_eval_overhead.py` (500k sequential in-memory evals, best of 5): the default-value path costs ~0.13 microseconds more per evaluation than 3.0 (~1.29 -> ~1.42 us/eval, ~10%); a realistic experiment-rule path is within ~1% (~6.3 us/eval). The residual is the `EvaluationContext` carrying the callback fields — the mechanism that fixes silently-dropped prerequisite exposures — and is accepted deliberately; usage bookkeeping and the deprecated-kwarg shim are already skipped entirely when unused.
Expand Down
2 changes: 1 addition & 1 deletion growthbook/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,5 +109,5 @@
]

# x-release-please-start-version
__version__ = "3.0.0"
__version__ = "3.1.0"
# x-release-please-end
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 3.0.0
current_version = 3.1.0
commit = True
tag = True

Expand Down
Loading