Releases: reddit/experiments.py
v1.9.0
What's Changed
- Bump
reddit-decider
to enable expose functionality on low-level decider by @mrlevitas in #115 - feat: change log level for decider exceptions by @aleksgapp in #116
- Bump gevent due to vulnerability by @mrlevitas in #114
- Support Measured Rollouts and retire "owner" field by @mrlevitas in #118
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's Changed
- Re-raise exceptions from
request_field_extractor
+ prom metrics by @mrlevitas in #112 - Reflect BP's backoff default by @mrlevitas in #113
Full Changelog: v1.7.0...v1.8.0
v1.8.0-beta.1
What's Changed
- Re-raise exceptions from
request_field_extractor
+ emit experiments.py specific prometheus metrics by @mrlevitas in #112
Full Changelog: v1.7.0...v1.8.0-beta.1
v1.7.0
What's Changed
- add group_overrides dynamic configuration (reddit-decider 1.3.0)
- add no variant (
None
) override support (reddit-decider 1.3.0) - Set default
timeout
forpath
watched to30 seconds
by @mrlevitas in #110
bug fixes:
- Move
_internal
check for DCs prior to call by @mrlevitas in #111 - Bump Decider (re-enable
PartialLoad
error), update version in docs + tests by @mrlevitas in #109
From yanked 1.5.1 & 1.6.0 versions:
-
bump
reddit-decider
to 1.4.1 to fix bugs below inreddit-experiments > v1.4.1, < 1.7.0
:- bubble up
PartialLoad
Rust Error correctly ifbucket_val
is missing in feature config (instead of panicking) - respect
enabled
for DCs
- bubble up
-
fix
T
TypeVar by @mrlevitas in #106 -
Update docs: use
internal_decider()
if w/oedge_context
by @mrlevitas in #104 -
Remove
"Feature 'X' not found"
log by @mrlevitas in #108 -
Update Rust decider by @aleksgapp in #107
- chore: add test that overrides work w/ custom context fields under other_fields
- map feature_rollout type to range_variant
- add no variant override support
Full Changelog: v1.4.1...v1.7.0
v1.4.1
What's Changed
- Update docs by @mrlevitas in #101
- Expose
self._internal
Decider by @mrlevitas in #103
Full Changelog: v1.4.0...v1.4.1
v1.4.0
What's Changed
- deprecate legacy
reddit_experiments
module (emitswarnings
logs) - Add
subreddit_id
,ad_account_id
, &business_id
identifiers - fix urllib3 version in Actions workflow by @mrlevitas in #100
Full Changelog: v1.3.14...v1.4.0
v1.3.14
What's Changed
- Fix inaccurate timeout docstring by @cshoe in #92
- Drop FR manual exposures by @mrlevitas in #95
- Add
py.typed
+ misc. by @mrlevitas in #94
New Contributors
Full Changelog: v1.3.13...v1.3.14
v1.3.13
What's Changed
- Log 'feature not found' to debug logger by @mrlevitas in #93
Full Changelog: v1.3.12...v1.3.13
warnings.filterwarnings("ignore", category=UserWarning, module="reddit_decider")
is no longer necessary as the logging is done to DEBUG now.
v1.3.12
What's Changed
- Use
rust_decider.RustDecider
inget_variant()
&get_variant_without_expose()
by @mrlevitas in #79 - Log exceptions as str by @mrlevitas in #82
- Use
RustDecider#choose_all()
inget_all_variants_without_expose()
&get_all_variants_for_identifier_without_expose()
by @mrlevitas in #83 - Use
RustDecider#choose()
infor_identifier*()
api by @mrlevitas in #84 - Remove unused functions by @mrlevitas in #85
- Add
emit_event
field toget_experiment()
returnExperimentConfig
by @mrlevitas in #86 - Fix exception logging by @mrlevitas in #87
- Return from
exposure()
ifvariant_name
param not passed in by @mrlevitas in #80 - Add DCs from decider-py shim (metrics) by @mrlevitas in #88
- Refactor common code by @mrlevitas in #89
- Update
get_experiment()
to use decider shim & remove last decider bindings usage by @mrlevitas in #90
Full Changelog: v1.3.11...v1.3.12
Use this line:
warnings.filterwarnings("ignore", category=UserWarning, module="reddit_decider")
to suppress warnings.warn
logging if you have a lot of experiments that you may turn off in production
(since they’ll emit a warnings.warn(“Feature not found”)
log line--only emitted a number of times per k8 pod,
but there’ll be peaks on each deploy when warnings
logger gets reset).
Use this line:
logging.getLogger("reddit_decider").setLevel(logging.WARNING)
to alter logging level in your system.
v1.3.12-alpha.5
What's Changed
- Update
get_experiment()
to use decider shim & remove last decider bindings usage by @mrlevitas in #90
Full Changelog: v1.3.12-alpha.4...v1.3.12-alpha.5