splitclient-rb 8.3.0.pre.rc2-java → 8.3.1-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
2
  SHA1:
3
- metadata.gz: 2d4d51065bea1f95afa628a82a475e6f9ba405c2
4
- data.tar.gz: 724f28c892996270ec1ed3f60f33b39620389f31
3
+ metadata.gz: e913b0eb4199f22c4beef56a217d626c92e8a844
4
+ data.tar.gz: c7faf888f35f8f8a1ceb73e8db7e2e6478e60873
5
5
  SHA512:
6
- metadata.gz: c791f77af6bc85f0893428077e7bbf48cd462bea313389e34262741d1f9c53e316bffb1173e01b0e4de7bc81663e55ae41e4759ca66c3376b3372393ed82f11b
7
- data.tar.gz: c876c0cc8b1ab4ed26233b2dbb0547dd8857b53ce0b2ac827572255d795e7d3087305a3f40ab5ec0fecbc1a98a0eb248647441bb273c9d624f3d0eb509345ca2
6
+ metadata.gz: 6bb069d4d7943d29746f268ace9955fe75c5ef9f026243458dc169e91c931d3572585cc7c4b529e16feb8ef3b0d0018e459f8ceb2ab1efaa89e14cffb5f1a339
7
+ data.tar.gz: 4133ed292d22e6fb046ac5f85912bd657297c3bb5e5380a4850c369265b69c6ec6cea0f668ef93b6ab6fd89d6795bcc45ca9143403feedade82d3b862b63f412
data/CHANGES.txt CHANGED
@@ -1,5 +1,18 @@
1
1
  CHANGES
2
2
 
3
+ 8.3.1 (Mar 22, 2024)
4
+ - Fixed ruby process hanging due to failed thread.join command, when calling destroy and a http request still active.
5
+ - Fixed streaming notification parser. Issue ref: https://github.com/splitio/ruby-client/issues/511
6
+
7
+ 8.3.0 (Dec 11, 2023)
8
+ - 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):
9
+ - Added new variations of the get treatment methods to support evaluating flags in given flag set/s.
10
+ - get_treatments_by_flag_set and get_treatments_by_flag_sets
11
+ - get_treatments_with_config_by_flag_set and get_treatments_with_config_by_flag_sets
12
+ - 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.
13
+ - 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.
14
+ - Added `default_treatment` and `sets` property to the `split_view` object returned by the `split` and `splits` methods of the SDK manager.
15
+
3
16
  8.2.0 (Jul 18, 2023)
4
17
  - 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
18
 
@@ -60,10 +73,10 @@ CHANGES
60
73
 
61
74
  7.2.1 (Oct 23, 2020)
62
75
  - Updated redis dependency to >= 4.2.2.
63
- - Updated ably error handling.
76
+ - Updated ably error handling.
64
77
 
65
78
  7.2.0 (Sep 25, 2020)
66
- - Added impressions dedupe logic to avoid sending duplicated impressions:
79
+ - Added impressions dedupe logic to avoid sending duplicated impressions:
67
80
  - Added `OPTIMIZED` and `DEBUG` modes in order to enabling/disabling how impressions are going to be sent into Split servers,
68
81
  - `OPTIMIZED`: will send unique impressions in a timeframe in order to reduce how many times impressions are posted to Split.
69
82
  - `DEBUG`: will send every impression generated to Split.
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright © 2023 Split Software, Inc.
1
+ Copyright © 2024 Split Software, Inc.
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License.
@@ -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
@@ -1,7 +1,7 @@
1
1
  module SplitIoClient
2
2
  class SplitIoError < StandardError; end
3
3
 
4
- class SDKShutdownException < SplitIoError; end
4
+ class SDKShutdownException < Exception; end
5
5
 
6
6
  class SDKBlockerTimeoutExpiredException < SplitIoError; end
7
7
 
@@ -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
 
@@ -43,7 +43,8 @@ module SplitIoClient
43
43
  private
44
44
 
45
45
  def parse_event_data(data, type)
46
- event_data = JSON.parse(data.sub('data: ', ''))
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, [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.1'
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.1
5
5
  platform: java
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: 2024-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -578,9 +578,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
578
578
  version: 2.5.0
579
579
  required_rubygems_version: !ruby/object:Gem::Requirement
580
580
  requirements:
581
- - - ">"
581
+ - - ">="
582
582
  - !ruby/object:Gem::Version
583
- version: 1.3.1
583
+ version: '0'
584
584
  requirements: []
585
585
  rubyforge_project:
586
586
  rubygems_version: 2.6.14