splitclient-rb 8.3.0.pre.rc2 → 8.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4523187fe517119e8e5b300cc30c12def92e19db9f7bd33c081b18268118ee1f
4
- data.tar.gz: 6c7a55afa8293d05788ac3a3c1f04ebaef75bdf09d92439e09e40822efc5ef64
3
+ metadata.gz: 49fd82c5e3e0f88394d5e47cbb07d992e831138b7a5a7ec122b375955cfd3752
4
+ data.tar.gz: 97304bc70bbbd9c35fbc6b2adfe45b17d5a709c020a19756177ad2232cd3d25d
5
5
  SHA512:
6
- metadata.gz: 569fefb7f9eabb4241c51db6b62f545f536d2bf45ce4e47d251ced384f5512a75a1f78ded302daa3294b2634c0cf9b989caf10f35ee24fe3aee668539f4f76c4
7
- data.tar.gz: e0718df2a3be183cdd927b561671a6a20a6092ffb3be094ca71497e1c4a70f280c4e8cf1e901980cc499222caef563044e552d0dc396edca0aac4b5f067ace04
6
+ metadata.gz: 8426a6349bf580217cdea624cef51c6bf582b03dff5519f460dd0dc8d23aa93f04d3b09698f8cbc712b2907c23e05a26c1664bdf71e30191f9ab6a0454474795
7
+ data.tar.gz: d5b62db1f8b1e11ec18bebff605dfa7025f8cb99e61630ee6d1613b1bba19d2eb99b47a0abd8dde8a961e7389ed41a3321faa1b95983f73b9611473a65b0abeb
data/CHANGES.txt CHANGED
@@ -1,4 +1,12 @@
1
1
  CHANGES
2
+ 8.3.0 (Dec 11, 2023)
3
+ - 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):
4
+ - Added new variations of the get treatment methods to support evaluating flags in given flag set/s.
5
+ - get_treatments_by_flag_set and get_treatments_by_flag_sets
6
+ - get_treatments_with_config_by_flag_set and get_treatments_with_config_by_flag_sets
7
+ - 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.
8
+ - 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.
9
+ - Added `default_treatment` and `sets` property to the `split_view` object returned by the `split` and `splits` methods of the SDK manager.
2
10
 
3
11
  8.2.0 (Jul 18, 2023)
4
12
  - 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.
@@ -60,10 +68,10 @@ CHANGES
60
68
 
61
69
  7.2.1 (Oct 23, 2020)
62
70
  - Updated redis dependency to >= 4.2.2.
63
- - Updated ably error handling.
71
+ - Updated ably error handling.
64
72
 
65
73
  7.2.0 (Sep 25, 2020)
66
- - Added impressions dedupe logic to avoid sending duplicated impressions:
74
+ - Added impressions dedupe logic to avoid sending duplicated impressions:
67
75
  - Added `OPTIMIZED` and `DEBUG` modes in order to enabling/disabling how impressions are going to be sent into Split servers,
68
76
  - `OPTIMIZED`: will send unique impressions in a timeframe in order to reduce how many times impressions are posted to Split.
69
77
  - `DEBUG`: will send every impression generated to Split.
@@ -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, the operation cannot be executed")
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 GET_TREATMENT_WITH_CONFIG
406
- @telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TREATMENT_WITH_CONFIG, bucket)
407
- when GET_TREATMENTS_WITH_CONFIG
408
- @telemetry_evaluation_producer.record_latency(Telemetry::Domain::Constants::TREATMENTS_WITH_CONFIG, bucket)
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
@@ -105,7 +105,9 @@ module SplitIoClient
105
105
  killed: split[:killed],
106
106
  treatments: treatments,
107
107
  change_number: split[:changeNumber],
108
- configs: split[:configurations] || {}
108
+ configs: split[:configurations] || {},
109
+ sets: split[:sets] || [],
110
+ default_treatment: split[:defaultTreatment]
109
111
  }
110
112
  end
111
113
 
@@ -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, [new_split], notification.data['changeNumber'], @config)
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)
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '8.3.0.pre.rc2'
2
+ VERSION = '8.3.0'
3
3
  end
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.0.pre.rc2
4
+ version: 8.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-04 00:00:00.000000000 Z
11
+ date: 2023-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allocation_stats
@@ -583,9 +583,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
583
583
  version: 2.5.0
584
584
  required_rubygems_version: !ruby/object:Gem::Requirement
585
585
  requirements:
586
- - - ">"
586
+ - - ">="
587
587
  - !ruby/object:Gem::Version
588
- version: 1.3.1
588
+ version: '0'
589
589
  requirements: []
590
590
  rubygems_version: 3.2.3
591
591
  signing_key: