Skip to content

Commit edb88b7

Browse files
committed
Merge branch 'main' into feature/exp-telemetry
2 parents 91f7368 + 678a154 commit edb88b7

File tree

5 files changed

+4
-46
lines changed

5 files changed

+4
-46
lines changed

CHANGELOG.md

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,3 @@
11
# Release History
22

3-
## 2.0.0b3 (11/14/2024)
4-
5-
* Fixes a bug where no allocation reason is set if a user is allocated to exactly 100.
6-
* Fixes a bug where VariantAssignmentPercentage wasn't correct for default when enabled.
7-
8-
## 2.0.0b2 (10/11/2024)
9-
10-
* Adds VariantAssignmentPercentage, DefaultWhenEnabled, and AllocationId to telemetry.
11-
* Allocation seed value is now None by default, and only defaults to `allocation\n<feature.id>` when assigning variants.
12-
13-
## 2.0.0b1 (09/10/2024)
14-
15-
* Adds support for Feature Variants.
16-
* Adds support for Telemetry.
17-
18-
## 1.0.0 (06/26/2024)
19-
20-
Updated version to 1.0.0.
21-
22-
## 1.0.0b1 (05/22/2024)
23-
24-
New Feature Management library.
25-
26-
Provides the ability to manage feature flags in a project. Enables:
27-
28-
* Loading of feature flags from a file, see: https://github.com/Azure/AppConfiguration/blob/main/docs/FeatureManagement/FeatureManagement.v2.0.0.schema.json
29-
* Loading of feature flags from Azure App Configuration.
30-
* Checking if a feature is enabled.
31-
* Default feature filters: TimeWindowFilter, TargetingFilter.
32-
* Custom feature filters.
3+
See [Release Notes](https://github.com/Azure/AppConfiguration/blob/main/releaseNotes/PythonFeatureManagement.md) for the full release history.

featuremanagement/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# license information.
55
# -------------------------------------------------------------------------
66

7-
VERSION = "2.0.0b3"
7+
VERSION = "2.0.0"

featuremanagement/azuremonitor/_send_telemetry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
EVENT_NAME = "FeatureEvaluation"
4141

42-
EVALUATION_EVENT_VERSION = "1.1.0"
42+
EVALUATION_EVENT_VERSION = "1.0.0"
4343

4444

4545
def track_event(event_name: str, user: str, event_properties: Optional[Dict[str, Optional[str]]] = None) -> None:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ build-backend = "setuptools.build_meta"
1919

2020
[project]
2121
name = "FeatureManagement"
22-
version = "2.0.0b3"
22+
version = "2.0.0"
2323
authors = [
2424
{ name="Microsoft Corporation", email="appconfig@microsoft.com" },
2525
]

tests/test_send_telemetry_appinsights.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def test_send_telemetry_appinsights(self):
2626
"ETag": "cmwBRcIAq1jUyKL3Kj8bvf9jtxBrFg-R-ayExStMC90",
2727
"FeatureFlagReference": "fake-store-uri/kv/.appconfig.featureflag/TestFeature",
2828
"FeatureFlagId": "fake-feature-flag-id",
29-
"AllocationId": "fake-allocation-id",
3029
},
3130
},
3231
}
@@ -50,16 +49,12 @@ def test_send_telemetry_appinsights(self):
5049
assert mock_track_event.call_args[0][1]["Enabled"] == "True"
5150
assert mock_track_event.call_args[0][1]["TargetingId"] == "test_user"
5251
assert mock_track_event.call_args[0][1]["Variant"] == "TestVariant"
53-
assert mock_track_event.call_args[0][1]["VariantAssignmentReason"] == "DefaultWhenDisabled"
54-
assert "VariantAssignmentPercentage" not in mock_track_event.call_args[0][1]
5552
assert mock_track_event.call_args[0][1]["ETag"] == "cmwBRcIAq1jUyKL3Kj8bvf9jtxBrFg-R-ayExStMC90"
5653
assert (
5754
mock_track_event.call_args[0][1]["FeatureFlagReference"]
5855
== "fake-store-uri/kv/.appconfig.featureflag/TestFeature"
5956
)
6057
assert mock_track_event.call_args[0][1]["FeatureFlagId"] == "fake-feature-flag-id"
61-
assert mock_track_event.call_args[0][1]["AllocationId"] == "fake-allocation-id"
62-
assert "DefaultWhenEnabled" not in mock_track_event.call_args[0][1]
6358

6459
def test_send_telemetry_appinsights_no_user(self):
6560
feature_flag = FeatureFlag.convert_from_json({"id": "TestFeature"})
@@ -82,8 +77,6 @@ def test_send_telemetry_appinsights_no_user(self):
8277
assert "TargetingId" not in mock_track_event.call_args[0][1]
8378
assert mock_track_event.call_args[0][1]["Variant"] == "TestVariant"
8479
assert mock_track_event.call_args[0][1]["VariantAssignmentReason"] == "DefaultWhenDisabled"
85-
assert "VariantAssignmentPercentage" not in mock_track_event.call_args[0][1]
86-
assert "DefaultWhenEnabled" not in mock_track_event.call_args[0][1]
8780

8881
def test_send_telemetry_appinsights_no_variant(self):
8982
feature_flag = FeatureFlag.convert_from_json({"id": "TestFeature"})
@@ -147,9 +140,6 @@ def test_send_telemetry_appinsights_default_when_enabled(self):
147140
assert mock_track_event.call_args[0][1]["TargetingId"] == "test_user"
148141
assert mock_track_event.call_args[0][1]["Variant"] == "big"
149142
assert mock_track_event.call_args[0][1]["VariantAssignmentReason"] == "DefaultWhenEnabled"
150-
assert mock_track_event.call_args[0][1]["VariantAssignmentPercentage"] == "25"
151-
assert "DefaultWhenEnabled" in mock_track_event.call_args[0][1]
152-
assert mock_track_event.call_args[0][1]["DefaultWhenEnabled"] == "big"
153143

154144
def test_send_telemetry_appinsights_default_when_enabled_no_percentile(self):
155145
feature_flag = FeatureFlag.convert_from_json(
@@ -180,9 +170,6 @@ def test_send_telemetry_appinsights_default_when_enabled_no_percentile(self):
180170
assert mock_track_event.call_args[0][1]["TargetingId"] == "test_user"
181171
assert mock_track_event.call_args[0][1]["Variant"] == "big"
182172
assert mock_track_event.call_args[0][1]["VariantAssignmentReason"] == "DefaultWhenEnabled"
183-
assert mock_track_event.call_args[0][1]["VariantAssignmentPercentage"] == "100"
184-
assert "DefaultWhenEnabled" in mock_track_event.call_args[0][1]
185-
assert mock_track_event.call_args[0][1]["DefaultWhenEnabled"] == "big"
186173

187174
def test_send_telemetry_appinsights_allocation(self):
188175
feature_flag = FeatureFlag.convert_from_json(

0 commit comments

Comments
 (0)