splitclient-rb 8.3.0.pre.rc3-java → 8.3.1.pre.rc1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.txt +14 -2
- data/LICENSE +1 -1
- data/lib/splitclient-rb/cache/repositories/splits_repository.rb +0 -2
- data/lib/splitclient-rb/clients/split_client.rb +5 -5
- data/lib/splitclient-rb/exceptions.rb +1 -1
- data/lib/splitclient-rb/managers/split_manager.rb +2 -1
- data/lib/splitclient-rb/sse/event_source/event_parser.rb +2 -1
- data/lib/splitclient-rb/sse/workers/splits_worker.rb +3 -1
- data/lib/splitclient-rb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79053b739ca505284719cc122981da73df44bc3e
|
4
|
+
data.tar.gz: 24a76db140221659a2b5b9f4daf4a94fbbab0338
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b939d66c113e4c74edd84a83af92e9ce2506b9622f7d78d85ea278e7fa5270edb158169f8447f3aaeb529d920b892be31eb19b8cc05d34cddde2876e6339bf88
|
7
|
+
data.tar.gz: aa60aa1d8ab2fc70e4f0e3977029fd8c768d8172dd984e21e55d7b55ae4a39a39327841b0dfca3bd8afa1d1f2ea7f2365c2db304e48fcc2dacf11d468c1ff3e5
|
data/CHANGES.txt
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
CHANGES
|
2
2
|
|
3
|
+
Next release (TBD)
|
4
|
+
- Fixed ruby process hanging due to failed thread.join command, when calling destroy and a http request still active.
|
5
|
+
|
6
|
+
8.3.0 (Dec 11, 2023)
|
7
|
+
- Added support for Flag Sets on the SDK, which enables grouping feature flags and interacting with the group rather than individually (more details in our documentation):
|
8
|
+
- Added new variations of the get treatment methods to support evaluating flags in given flag set/s.
|
9
|
+
- get_treatments_by_flag_set and get_treatments_by_flag_sets
|
10
|
+
- get_treatments_with_config_by_flag_set and get_treatments_with_config_by_flag_sets
|
11
|
+
- Added a new optional Split Filter configuration option. This allows the SDK and Split services to only synchronize the flags in the specified flag sets, avoiding unused or unwanted flags from being synced on the SDK instance, bringing all the benefits from a reduced payload.
|
12
|
+
- Note: Only applicable when the SDK is in charge of the rollout data synchronization. When not applicable, the SDK will log a warning on init.
|
13
|
+
- Added `default_treatment` and `sets` property to the `split_view` object returned by the `split` and `splits` methods of the SDK manager.
|
14
|
+
|
3
15
|
8.2.0 (Jul 18, 2023)
|
4
16
|
- 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.
|
5
17
|
|
@@ -60,10 +72,10 @@ CHANGES
|
|
60
72
|
|
61
73
|
7.2.1 (Oct 23, 2020)
|
62
74
|
- Updated redis dependency to >= 4.2.2.
|
63
|
-
- Updated ably error handling.
|
75
|
+
- Updated ably error handling.
|
64
76
|
|
65
77
|
7.2.0 (Sep 25, 2020)
|
66
|
-
- Added impressions dedupe logic to avoid sending duplicated impressions:
|
78
|
+
- Added impressions dedupe logic to avoid sending duplicated impressions:
|
67
79
|
- Added `OPTIMIZED` and `DEBUG` modes in order to enabling/disabling how impressions are going to be sent into Split servers,
|
68
80
|
- `OPTIMIZED`: will send unique impressions in a timeframe in order to reduce how many times impressions are posted to Split.
|
69
81
|
- `DEBUG`: will send every impression generated to Split.
|
data/LICENSE
CHANGED
@@ -171,8 +171,6 @@ module SplitIoClient
|
|
171
171
|
end
|
172
172
|
|
173
173
|
def remove_feature_flag(split)
|
174
|
-
tt_name = split[:trafficTypeName]
|
175
|
-
|
176
174
|
decrease_tt_name_count(split[:trafficTypeName])
|
177
175
|
remove_from_flag_sets(split)
|
178
176
|
@adapter.delete(namespace_key(".split.#{split[:name]}"))
|
@@ -344,7 +344,7 @@ module SplitIoClient
|
|
344
344
|
{ bucketing_key: bucketing_key, matching_key: matching_key }, feature_flag, attributes
|
345
345
|
)
|
346
346
|
else
|
347
|
-
@config.logger.error("#{calling_method}: the SDK is not ready,
|
347
|
+
@config.logger.error("#{calling_method}: the SDK is not ready, results may be incorrect for feature flag #{feature_flag_name}. Make sure to wait for SDK readiness before using this method.")
|
348
348
|
control_treatment.merge({ label: Engine::Models::Label::NOT_READY })
|
349
349
|
end
|
350
350
|
|
@@ -402,10 +402,10 @@ module SplitIoClient
|
|
402
402
|
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TREATMENTS_BY_FLAG_SET, bucket)
|
403
403
|
when GET_TREATMENTS_BY_FLAG_SETS
|
404
404
|
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TREATMENTS_BY_FLAG_SETS, bucket)
|
405
|
-
when
|
406
|
-
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::
|
407
|
-
when
|
408
|
-
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::
|
405
|
+
when GET_TREATMENTS_WITH_CONFIG_BY_FLAG_SET
|
406
|
+
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TREATMENTS_WITH_CONFIG_BY_FLAG_SET, bucket)
|
407
|
+
when GET_TREATMENTS_WITH_CONFIG_BY_FLAG_SETS
|
408
|
+
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TREATMENTS_WITH_CONFIG_BY_FLAG_SETS, bucket)
|
409
409
|
when TRACK
|
410
410
|
@telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TRACK, bucket)
|
411
411
|
end
|
@@ -106,7 +106,8 @@ module SplitIoClient
|
|
106
106
|
treatments: treatments,
|
107
107
|
change_number: split[:changeNumber],
|
108
108
|
configs: split[:configurations] || {},
|
109
|
-
sets: split[:sets] || []
|
109
|
+
sets: split[:sets] || [],
|
110
|
+
default_treatment: split[:defaultTreatment]
|
110
111
|
}
|
111
112
|
end
|
112
113
|
|
@@ -43,7 +43,8 @@ module SplitIoClient
|
|
43
43
|
private
|
44
44
|
|
45
45
|
def parse_event_data(data, type)
|
46
|
-
|
46
|
+
data_value = data.sub('data:', '')
|
47
|
+
event_data = JSON.parse(data_value.strip)
|
47
48
|
client_id = event_data['clientId']&.strip
|
48
49
|
channel = event_data['channel']&.strip
|
49
50
|
parsed_data = JSON.parse(event_data['data']) unless type == 'error'
|
@@ -66,7 +66,9 @@ module SplitIoClient
|
|
66
66
|
return false unless !notification.data['d'].nil? && @feature_flags_repository.get_change_number == notification.data['pcn']
|
67
67
|
|
68
68
|
new_split = return_split_from_json(notification)
|
69
|
-
SplitIoClient::Helpers::RepositoryHelper.update_feature_flag_repository(@feature_flags_repository,
|
69
|
+
SplitIoClient::Helpers::RepositoryHelper.update_feature_flag_repository(@feature_flags_repository,
|
70
|
+
[new_split],
|
71
|
+
notification.data['changeNumber'], @config)
|
70
72
|
fetch_segments_if_not_exists(new_split)
|
71
73
|
|
72
74
|
@telemetry_runtime_producer.record_updates_from_sse(Telemetry::Domain::Constants::SPLITS)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splitclient-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.3.
|
4
|
+
version: 8.3.1.pre.rc1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Split Software
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|