splitclient-rb 8.0.1.pre.rc1-java → 8.1.0-java

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
- SHA256:
3
- metadata.gz: ab8285b67beee00da2c26ea2e9fd87be921446a160a5a2113a630c6af531cfda
4
- data.tar.gz: 8d11251a5ebc2bb56ae86bae46cc9e27157ecfbde41ef6e427fa2c785b57a487
2
+ SHA1:
3
+ metadata.gz: ffc81241db89baa5be678177e9c396b458fa45c1
4
+ data.tar.gz: '0049e2aa1fa6e804f53264b8cd77fe6f4567a892'
5
5
  SHA512:
6
- metadata.gz: 81b09262e334579e6a9b6db3dca7c99424261ab1dd0b5697fc4e6d823189a9a809a144dcdd6a9de655315b165d72c7d2e963e5d585c07116d07bca821d9ba18e
7
- data.tar.gz: f30af710d2128671a290079a0892a5ec3d7735c2f8982ce787254e05e718a9c7f823f036f5ada209a2772daa11e09bfb75f3738944c52a4068f816f6e5d1f157
6
+ metadata.gz: 262f726d941f05d2deb3804b66ce24f3cb231dbe615bc23181fb70ff58ce4e48ae2776cf7812a98ca00fcedff43b5e4b19ff82de7d63b2d5143f4c1d73523976
7
+ data.tar.gz: 544496e2d48c24daf8989558cee739bb48971b14ca9039b2844074c8e0737f5c0714594fc1d819a0b38c35d409c0ba8aa4d21338f5ef218c90dab4eef9f990a5
data/CHANGES.txt CHANGED
@@ -1,5 +1,11 @@
1
1
  CHANGES
2
2
 
3
+ 8.1.0 (Oct 5, 2022)
4
+ - 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.
5
+
6
+ 8.0.1 (Jul 20, 2022)
7
+ - Updated dependencies to support faraday > 2.0
8
+
3
9
  8.0.0 (May 10, 2022)
4
10
  - BREAKING CHANGE: Deprecated support for ruby 2.3 and 2.4 versions. The minimum ruby version required is 2.5 now.
5
11
  - Updated redis command for config telemetry, using hset instead of rpush now.
@@ -46,9 +52,10 @@ CHANGES
46
52
  - Updated ably error handling.
47
53
 
48
54
  7.2.0 (Sep 25, 2020)
49
- - Added deduplication logic for impressions data.
50
- - Now there are two modes for Impressions when the SDK is in standalone mode, OPTIMIZED (default) that only ships unique impressions and DEBUG for times where you need to send ALL impressions to debug an integration.
51
- - Impression listener remains unchanged and will still get all impressions.
55
+ - Added impressions dedupe logic to avoid sending duplicated impressions:
56
+ - Added `OPTIMIZED` and `DEBUG` modes in order to enabling/disabling how impressions are going to be sent into Split servers,
57
+ - `OPTIMIZED`: will send unique impressions in a timeframe in order to reduce how many times impressions are posted to Split.
58
+ - `DEBUG`: will send every impression generated to Split.
52
59
 
53
60
  7.1.3 (Jul 31, 2020)
54
61
  - Updated rake development dependency to ~> 12.3.3.
@@ -12,7 +12,9 @@ module SplitIoClient
12
12
  end
13
13
 
14
14
  def record_uniques_key(uniques)
15
- formatted = uniques_formatter(uniques)
15
+ return if uniques.nil? || uniques == {}
16
+
17
+ formatted = uniques_formatter(uniques).to_json
16
18
 
17
19
  unless formatted.nil?
18
20
  size = @adapter.add_to_queue(unique_keys_key, formatted)
@@ -30,7 +30,8 @@ module SplitIoClient
30
30
  @unique_keys_tracker.track(split_name, matching_key)
31
31
  else # In OPTIMIZED mode we should track the total amount of evaluations and deduplicate the impressions.
32
32
  impression_data[:pt] = @impression_observer.test_and_set(impression_data)
33
- @impression_counter.inc(split_name, impression_data[:m])
33
+
34
+ @impression_counter.inc(split_name, impression_data[:m]) unless impression_data[:pt].nil?
34
35
  end
35
36
  rescue StandardError => e
36
37
  @config.log_found_exception(__method__.to_s, e)
@@ -47,13 +47,13 @@ module SplitIoClient
47
47
  connected = false
48
48
 
49
49
  if @config.streaming_enabled
50
- @config.logger.debug('Starting Straming mode ...')
50
+ @config.logger.debug('Starting Streaming mode ...')
51
51
  start_push_status_monitor
52
52
  connected = @push_manager.start_sse
53
53
  end
54
54
 
55
55
  unless connected
56
- @config.logger.debug('Starting polling mode ...')
56
+ @config.logger.debug('Starting Polling mode ...')
57
57
  @synchronizer.start_periodic_fetch
58
58
  record_telemetry(Telemetry::Domain::Constants::SYNC_MODE, SYNC_MODE_POLLING)
59
59
  end
@@ -310,23 +310,18 @@ module SplitIoClient
310
310
  10
311
311
  end
312
312
 
313
- def self.default_impressions_mode
314
- :optimized
315
- end
316
-
317
313
  def init_impressions_mode(impressions_mode, adapter)
318
- impressions_mode ||= SplitConfig.default_impressions_mode
319
-
320
- return :debug if adapter == :redis
321
-
322
314
  case impressions_mode
315
+ when :optimized
316
+ return :optimized
317
+ when :none
318
+ return :none
323
319
  when :debug
324
320
  return :debug
325
- # when :none // we not support :none impression mode yet. Defaulting to :optimized mode
326
- # return :none
327
321
  else
328
- @logger.error('You passed an invalid impressions_mode, impressions_mode should be one of the following values: :debug or :optimized. Defaulting to :optimized mode') unless impressions_mode == :optimized
329
- return :optimized
322
+ default = adapter == :redis ? :debug : :optimized
323
+ @logger.error("You passed an invalid impressions_mode, impressions_mode should be one of the following values: :debug, :optimized or :none. Defaulting to #{default} mode")
324
+ return default
330
325
  end
331
326
  end
332
327
 
@@ -455,7 +450,7 @@ module SplitIoClient
455
450
  end
456
451
 
457
452
  def self.default_features_refresh_rate
458
- 5
453
+ 60
459
454
  end
460
455
 
461
456
  def self.default_segments_refresh_rate
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '8.0.1.pre.rc1'
2
+ VERSION = '8.1.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.0.1.pre.rc1
4
+ version: 8.1.0
5
5
  platform: java
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-05 00:00:00.000000000 Z
11
+ date: 2022-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -556,11 +556,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
556
556
  version: 2.5.0
557
557
  required_rubygems_version: !ruby/object:Gem::Requirement
558
558
  requirements:
559
- - - ">"
559
+ - - ">="
560
560
  - !ruby/object:Gem::Version
561
- version: 1.3.1
561
+ version: '0'
562
562
  requirements: []
563
- rubygems_version: 3.2.29
563
+ rubyforge_project:
564
+ rubygems_version: 2.6.14
564
565
  signing_key:
565
566
  specification_version: 4
566
567
  summary: Ruby client for split SDK.