splitclient-rb 8.4.0.rc.1 → 8.4.1.pre.rc1

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: c2d88c503fd599260c8062351b0da66746f88bc9c516ddf0dfc6926d92c9a9d0
4
- data.tar.gz: 84c924891606f1d54e8bdd47825a9eab184893f320877b3964835ba572a818ae
3
+ metadata.gz: 8f5c4eeedc44963558586b999cd4f33c39ca80f5bfc4c80041a740b588e94595
4
+ data.tar.gz: 34373355b4b0657fa86a44522ae33d23a8a0fb3b2db43dd78d0b2cfaee33b1d0
5
5
  SHA512:
6
- metadata.gz: c62091af282b9edd27bc1cf9e9462c0474ced1aebfc531a7d8a9cee1041bd32f40f7fcfc40a1584c380672435cf332f269ecaa16f1a460c415b788ff8db49651
7
- data.tar.gz: 3f77adf348d19a1827e65e481b2030e98eaec7e0330a4df3aa54607b469c8414f5265cfa386ec367fb300f78da3dcc3527eca6d8f43309e5b522331992eb53e8
6
+ metadata.gz: 6e6bc70886bd26787fa73a3d98e7840d7338d2431595de4f588b59a2861b91de165ba97e2eb6ad21685920aa0a18095f1bdd00ffc5b5d7c4d55c3d79ba8c52cc
7
+ data.tar.gz: 84461ff3ae4dfc419249387ae86503e28ec00971d93d24dd138d7669c299b368488ce8ec9d09b9e1f0e8228da377ae9965900398bc745ca1a8b2d461bc416c3e
data/CHANGES.txt CHANGED
@@ -1,5 +1,9 @@
1
1
  CHANGES
2
2
 
3
+ 8.4.0 (May 3, 2024)
4
+ - Fixed issue preventing Impressopns and Events posting if client.destroy is called before the post threads started
5
+ - Added support for targeting rules based on semantic versions (https://semver.org/).
6
+
3
7
  8.3.1 (Mar 22, 2024)
4
8
  - Fixed ruby process hanging due to failed thread.join command, when calling destroy and a http request still active.
5
9
  - Fixed streaming notification parser. Issue ref: https://github.com/splitio/ruby-client/issues/511
@@ -8,8 +8,8 @@ module SplitIoClient
8
8
  class BloomFilter
9
9
  def initialize(capacity, false_positive_probability = 0.001)
10
10
  @capacity = capacity.round
11
- m = best_m(capacity, false_positive_probability)
12
- @ba = BitArray.new(m.round)
11
+ @m = best_m(capacity, false_positive_probability)
12
+ reset_filter
13
13
  @k = best_k(capacity)
14
14
  end
15
15
 
@@ -17,22 +17,26 @@ module SplitIoClient
17
17
  return false if contains?(string)
18
18
 
19
19
  positions = hashes(string)
20
-
21
20
  positions.each { |position| @ba[position] = 1 }
22
21
 
23
22
  true
24
23
  end
25
-
24
+
26
25
  def contains?(string)
27
26
  !hashes(string).any? { |ea| @ba[ea] == 0 }
28
27
  end
29
28
 
30
29
  def clear
31
- @ba.size.times { |i| @ba[i] = 0 }
30
+ @ba = nil
31
+ reset_filter
32
32
  end
33
-
33
+
34
34
  private
35
35
 
36
+ def reset_filter
37
+ @ba = BitArray.new(@m.round)
38
+ end
39
+
36
40
  # m is the required number of bits in the array
37
41
  def best_m(capacity, false_positive_probability)
38
42
  -(capacity * Math.log(false_positive_probability)) / (Math.log(2) ** 2)
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '8.4.0.rc.1'
2
+ VERSION = '8.4.1-rc1'
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.4.0.rc.1
4
+ version: 8.4.1.pre.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-02 00:00:00.000000000 Z
11
+ date: 2024-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allocation_stats
@@ -594,7 +594,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
594
594
  - !ruby/object:Gem::Version
595
595
  version: 1.3.1
596
596
  requirements: []
597
- rubygems_version: 3.2.3
597
+ rubygems_version: 3.4.10
598
598
  signing_key:
599
599
  specification_version: 4
600
600
  summary: Ruby client for split SDK.