Skip to content

Releases: reddit/experiments.py

v1.9.0

12 Jun 19:00
914f4a5
Compare
Choose a tag to compare

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

28 Aug 22:44
aa3c89b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.7.0...v1.8.0

v1.8.0-beta.1

28 Aug 18:56
ee683a4
Compare
Choose a tag to compare
v1.8.0-beta.1 Pre-release
Pre-release

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

06 Jul 18:56
4f0065a
Compare
Choose a tag to compare

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 for path watched to 30 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 in reddit-experiments > v1.4.1, < 1.7.0:

    • bubble up PartialLoad Rust Error correctly if bucket_val is missing in feature config (instead of panicking)
    • respect enabled for DCs
  • fix T TypeVar by @mrlevitas in #106

  • Update docs: use internal_decider() if w/o edge_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

08 Jun 15:50
8a7028e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.4.0...v1.4.1

v1.4.0

11 May 21:51
81a602d
Compare
Choose a tag to compare

What's Changed

  • deprecate legacy reddit_experiments module (emits warnings 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

12 Apr 20:37
ae0f530
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @cshoe made their first contribution in #92

Full Changelog: v1.3.13...v1.3.14

v1.3.13

23 Feb 13:37
c563462
Compare
Choose a tag to compare

What's Changed

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

18 Jan 00:33
171b5fe
Compare
Choose a tag to compare

What's Changed

  • Use rust_decider.RustDecider in get_variant() & get_variant_without_expose() by @mrlevitas in #79
  • Log exceptions as str by @mrlevitas in #82
  • Use RustDecider#choose_all() in get_all_variants_without_expose() & get_all_variants_for_identifier_without_expose() by @mrlevitas in #83
  • Use RustDecider#choose() in for_identifier*() api by @mrlevitas in #84
  • Remove unused functions by @mrlevitas in #85
  • Add emit_event field to get_experiment() return ExperimentConfig by @mrlevitas in #86
  • Fix exception logging by @mrlevitas in #87
  • Return from exposure() if variant_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

12 Jan 01:07
171b5fe
Compare
Choose a tag to compare
v1.3.12-alpha.5 Pre-release
Pre-release

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