Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
CHANGES

8.9.0 (Oct 8, 2025)
- Added new configuration for Fallback Treatments, which allows setting a treatment value and optional config to be returned in place of "control", either globally or by flag. Read more in our docs.

8.8.0 (Sep 26, 2025)
- Added a maximum size payload when posting unique keys telemetry in batches

Expand Down
8 changes: 6 additions & 2 deletions lib/splitclient-rb/validators.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,12 @@ def valid_flag_sets(method, flag_sets)
end
without_nil = Array.new
flag_sets.each { |flag_set|
without_nil.push(flag_set) if !flag_set.nil?
log_nil("flag set", method) if flag_set.nil?
if !flag_set.nil?
without_nil.push(flag_set)
next
end

log_nil("flag set", method)
}
if without_nil.length() == 0
log_invalid_flag_set_type(method)
Expand Down
2 changes: 1 addition & 1 deletion lib/splitclient-rb/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module SplitIoClient
VERSION = '8.9.0-rc1'
VERSION = '8.9.0'
end
7 changes: 6 additions & 1 deletion spec/integrations/push_client_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
expect(a_request(:get, 'https://sdk.split.io/api/splitChanges?s=1.3&since=-1&rbSince=-1')).to have_been_made.times(1)
expect(a_request(:get, 'https://sdk.split.io/api/splitChanges?s=1.3&since=1585948850109&rbSince=-1')).to have_been_made.times(1)
expect(a_request(:get, 'https://sdk.split.io/api/splitChanges?s=1.3&since=1585948850110&rbSince=-1')).to have_been_made.times(0)
client.destroy
end
end

Expand Down Expand Up @@ -170,13 +171,14 @@
end

treatment = 'control'
for i in 1..5 do
for i in 1..10 do
sleep(1)
treatment = client.get_treatment('admin', 'bilal_split')
break if treatment != 'control'
end

expect(treatment).to eq('off')
client.destroy
end
end

Expand Down Expand Up @@ -206,6 +208,7 @@
sleep(2)
expect(client.get_treatment('admin', 'bilal_split')).to eq('control')
expect(client.get_treatment('admin', 'push_test')).to eq('after_fetch')
client.destroy
end
end

Expand Down Expand Up @@ -235,6 +238,7 @@
sleep(2)
expect(client.get_treatment('admin', 'bilal_split')).to eq('control')
expect(client.get_treatment('admin', 'push_test')).to eq('after_fetch')
client.destroy
end
end

Expand Down Expand Up @@ -264,6 +268,7 @@
sleep(2)
expect(client.get_treatment('admin', 'bilal_split')).to eq('control')
expect(client.get_treatment('admin', 'push_test')).to eq('after_fetch')
client.destroy
end
end
end
Expand Down
Loading