forked from splitio/python-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
211 lines (157 loc) · 7.73 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
9.5.1 (Sep 5, 2023)
- Exclude tests from when building the package
- Fixed exception when fetching telemetry stats if no SSE Feature flags update events are stored
9.5.0 (Jul 18, 2023)
- Improved streaming architecture implementation to apply feature flag updates from the notification received which is now enhanced, improving efficiency and reliability of the whole update system.
9.4.2 (May 15, 2023)
- Updated terminology on the SDKs codebase to be more aligned with current standard without causing a breaking change. The core change is the term split for feature flag on things like logs and code documentation comments.
- Added detailed debug logging for redis adapter.
- Fixed setting defaultTreatment to 'control' if it is missing in localhost JSON file.
9.4.1 (Apr 18, 2023)
- Fixed storing incorrect Telemetry method latency data
9.4.0 (Mar 1, 2023)
- Added support to use JSON files in localhost mode.
- Updated default periodic telemetry post time to one hour.
- Fixed unhandeled exception in push.manager.py class when SDK is connected to split proxy
9.3.0 (Jan 30, 2023)
- Updated SDK telemetry storage, metrics and updater to be more effective and send less often.
- Removed deprecated threading.Thread.setDaemon() method.
9.2.2 (Dec 13, 2022)
- Fixed RedisSenderAdapter instantiation to store mtk keys.
9.2.1 (Dec 2, 2022)
- Changed redis record type for impressions counts from list using rpush to hashed key using hincrby.
- Apply Timeout Exception when incorrect SDK API Key is used.
- Changed potential initial fetching segment Warning to Debug in logging.
9.2.0 (Oct 14, 2022)
- Added a new impressions mode for the SDK called NONE , to be used in factory when there is no desire to capture impressions on an SDK factory to feed Split's analytics engine. Running NONE mode, the SDK will only capture unique keys evaluated for a particular feature flag instead of full blown impressions
9.1.3 (July 25, 2022)
- Fixed synching missed segment(s) after receiving split update
9.1.2 (April 6, 2022)
- Updated pyyaml dependency for vulnerability CVE-2020-14343.
9.1.1 (March 9, 2022)
- Updated default auth service url to https://auth.split.io/api/v2/auth.
- Deprecated old telemetry.
9.1.0 (Jul 15, 2021)
- Added Cache-Control header for on-demand requests to sdk-server.
- Updated the synchronization flow to be more reliable in the event of an edge case generating delay in cache purge propagation, keeping the SDK cache properly synced.
9.0.0 (May 3, 2021)
- BREAKING CHANGE: Removed splitSdkMachineIp and splitSdkMachineName configs.
- BREAKING CHANGE: Deprecated `redisCharset` config.
- BREAKING CHANGE: Deprecated uWSGI local cache.
- BREAKING CHANGE: Deprecated Python2 support.
- Removed six, future and futures libs for compatibility between Python2 and Python3.
- Updated strings encoding to utf-8 by default for Redis.
- Added SDK Metadata headers to streaming client.
8.4.1 (Apr 16, 2021)
- Bumped mmh3cffi dependency which now requires c99 flag to build.
8.4.0 (Jan 6, 2021)
- Added RecordStats for supporting pipelined recording in redis when treatment call is made.
- Added hooks support for preforked servers.
8.3.1 (Nov 20, 2020)
- Fixed error handling when split server fails, so that it doesn't bring streaming down.
- Added SDK Metadata headers to split & segments API clients
8.3.0 (Nov 4, 2020)
- Added local impressions deduping. Defaulting to optimized
- Added support for the new Split streaming architecture. When enabled (default), the SDK will not poll for updates but instead receive notifications every time there's a change in your environments, allowing to process those much quicker. If disabled or in the event of an issue, the SDK will fallback to the known polling mechanism to provide a seamless experience.
- Updated logging structure so that it's built in terms of a hierarchy with the root at 'splitio'
- Fixed timing issue which caused factory.ready to return False if called immediately after .block_until_ready()
8.2.1 (Aug 25, 2020)
- Updated mmh3cffi to version 0.1.5 which fixes xcode12 issue
8.2.0 (Mar 27, 2020)
- Added support for enabling in-memory cache via config options
8.1.7 (Jan 23, 2020)
- Removed enum34 dependency for python versions > 3.4
8.1.6 (Oct 31, 2019)
- Fixed input validation performance issue.
8.1.5 (Oct 15, 2019)
- Added logic to fetch multiple splits at once on get_treatments/get_treatments_with_config.
- Added flag `IPAddressesEnabled` into config to enable/disable sending machineName and machineIp when data is posted in headers.
8.1.3 (Oct 4, 2019)
- Fixed race condition related to segment fetching and SDK_READY event
8.1.2 (Jul 19, 2019)
- Validated TLS support for redis connections
- Fixed traffic type count issue
8.1.1 (14 Jun, 2019)
- Fixed python3 compatibility issue in uwsgi caching mode.
8.1.0 (3 Jun, 2019)
- Added properties to track method.
- Input Validation: added validation for traffic types, split names and multiple factory instantiation.
8.0.0 (Apr 24, 2019)
- Full SDK Refactor/rewrite.
- New block until ready behaviour.
- Support for async destroy.
- Dynamic configs.
- Impressions not flushing on destroy bugfix.
- Removed unnecessary dependencies.
- Test suite rewritten.
7.0.1 (Mar 8, 2019)
- Updated Splits refreshing rate.
- Replaced exception log level to error level.
- Improved validation for sdkkey.
7.0.0 (Feb 21, 2019)
- BREAKING CHANGE: Stored Impressions in Queue.
- Fixed bug related to Machine Name and Machine IP.
- Updated Input Validation.
- New hash implementation supporting more platforms.
6.2.2 (Dec 17, 2018)
- Fixed issue on selecting db for Sentinel.
6.2.1 (Dec 6, 2018)
- Fixed traffic allocation issue on 1%.
- Allowed hypens in 'localhost mode' file values.
6.2.0 (Oct 5, 2018)
- Added get_treatments method.
6.1.0 (Sep 25, 2018)
- Add custom impression listener feature.
- Input Sanitization for track, get_treatment and split.
6.0.0 (Aug 29, 2018)
- Add support for redis sentinel
- UWSGI performance boost (breaking change)
- Add support for more c++ compilers in windows for mumur hash extension
5.5.0 (Feb 28, 2018)
- Add support for .track
5.4.3 (Jan 7, 2018)
- Move impressions listener to it's own thread
- Fix bug in localhost client
- Removed unmaintained dependency causing issues with newer mac os updates
5.4.2 (Dec 22, 2017)
- Update labels
5.4.1 (Dec 11, 2017)
- Handle destroyed client in manager
5.4.0 (Sep 6, 2017)
- Add Client-Destroy support
- Add Impression listener support for in-memory and uwsgi modes
5.3.0 (Aug 1, 2017)
- Add off-grid support for localhost broker (auto refresh splits from file)
5.2.2 (Aug 1, 2017)
- Adding hotfix to set traffic allocation to 100 by default
5.2.1 (Jul 28, 2017)
- Adding hotfix to keep alive fetcher threads if proxy/backend connection goes temporarily down.
5.2.0 (Jul 26, 2017)
- Adding Adding regex & boolean matcher
5.1.0 (Jul 19, 2017)
- Adding dependency matcher
- Refactoring clients into brokers
5.0.0 (Jun 13, 2017)
- BREAKING BACKWARD COMPATIBILITY
- Adding support for Split Synchronizer service
4.1.1 (May 25, 2017)
- Python 3 fixed incompatible comparison between None an integer
4.1.0 (May 16, 2017)
- Adding support for String and Set Matchers
4.0.2 (May 8, 2017)
- Adding support for Traffic Allocation
4.0.1 (April 19, 2017)
- Hotfix Hashing enumerator to default value LEGACY
4.0.0 (April 17, 2017)
- Added support for murmur3 hashing native and cpp version for performance
2.2.1 (Mar 1, 2017)
- Ignore invalid Split fetched from Redis cache
2.2.0 (Feb 17, 2017)
- Added uwsgi cache support
- Fixed HTTP status code exceptions
2.1.0 (Jan 19, 2017)
- Added enabled labels
- Added impressions by sdk and version including bucketing key
2.0.5 (Dec 2, 2016)
- Added SDK Factory Method with Manager API and Sdk Client
- Added Bucketing key support