sentry-sanitizer 0.1.4 → 0.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: ce13accdd4d90cccb1820625ef2d167a765e077b3837cf2d8341d2e945c3f735
4
- data.tar.gz: 948e32dee0448aa61a1897328806fcacd1ac392179b502fb7ab09a0cf78cb21d
3
+ metadata.gz: 001d2ffb5bebe39d7f349f992f426cb53a08422b59b0a9d916477c0800d35d75
4
+ data.tar.gz: 48841d0763734c89c155737b07f1f774b3405aeb121ca2773b9f7dd384b1d9d8
5
5
  SHA512:
6
- metadata.gz: e4863aeb41c575268039a9eda51a04aa78057fb41e3238ed1ba075be7020e395b9f526551fc0684cb39838101067c89441cd0d5a6eb5ef0ca3dfed3ed24320a0
7
- data.tar.gz: cb5ec02b1a3604da2c636226ced1db9bd590ecd767f7bf083582911a211a22f79fc2ae3c55a27e5d944cdcc86b65861eb94bc6c1c2ef1730905ef9ca4a01be3e
6
+ metadata.gz: 9bfb1c9f69345cfaee791e3802e2bc52845244d06b58b4b64b6b43529608cbe60dfc42fb51ad8ca6a1cdb888e6ed091ff4d13602035450a1fcb338f3f02fa973
7
+ data.tar.gz: 8d3a339ee6a5fc3da5eda0a35012c2bf00f8f6cc8e304fcdadac5f17eecd7bf742cdee4ab9540077564362c1b861b46bd7ddc623e374522789612b935f2d94ec
@@ -0,0 +1,37 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ pull_request:
7
+
8
+ jobs:
9
+ rspec:
10
+ name: Unit tests
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ include:
15
+ - { ruby_version: 2.4 }
16
+ - { ruby_version: 2.5 }
17
+ - { ruby_version: 2.4 }
18
+ - { ruby_version: 2.7 }
19
+ - { ruby_version: 3.0 }
20
+ - { ruby_version: jruby }
21
+ steps:
22
+ - uses: actions/checkout@v1
23
+
24
+ - name: Set up Ruby ${{ matrix.ruby_version }}
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ bundler: 2
28
+ ruby-version: ${{ matrix.ruby_version }}
29
+
30
+ - name: Run specs
31
+ run: |
32
+ bundle install --jobs 4 --retry 3 --no-cache
33
+ bundle exec rspec
34
+
35
+ - uses: codecov/codecov-action@v1
36
+ with:
37
+ token: ${{ secrets.CODECOV_TOKEN }}
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## (not released)
6
+ - Update compatibility with sentry-rails 4.3 releases [#3](https://github.com/mrexox/sentry-sanitizer/pull/3)
7
+
8
+ ## 0.2.1
9
+ - Rework header cleaning to adhere to documentation in readme and not crash without configuration [#1](https://github.com/mrexox/sentry-sanitizer/pull/1)
data/Gemfile.lock CHANGED
@@ -1,20 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sentry-sanitizer (0.1.0)
5
- sentry-ruby (~> 4.2.0)
4
+ sentry-sanitizer (0.3.0)
5
+ sentry-ruby (~> 4.3.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- concurrent-ruby (1.1.8)
10
+ codecov (0.4.3)
11
+ simplecov (>= 0.15, < 0.22)
12
+ concurrent-ruby (1.1.10)
11
13
  diff-lcs (1.4.4)
12
- faraday (1.3.0)
13
- faraday-net_http (~> 1.0)
14
- multipart-post (>= 1.2, < 3)
15
- ruby2_keywords
16
- faraday-net_http (1.0.1)
17
- multipart-post (2.1.1)
14
+ docile (1.3.5)
15
+ faraday (2.3.0)
16
+ faraday-net_http (~> 2.0)
17
+ ruby2_keywords (>= 0.0.4)
18
+ faraday-net_http (2.0.3)
19
+ rack (2.2.3)
18
20
  rake (10.5.0)
19
21
  rspec (3.10.0)
20
22
  rspec-core (~> 3.10.0)
@@ -29,23 +31,30 @@ GEM
29
31
  diff-lcs (>= 1.2.0, < 2.0)
30
32
  rspec-support (~> 3.10.0)
31
33
  rspec-support (3.10.2)
32
- ruby2_keywords (0.0.4)
33
- sentry-ruby (4.2.0)
34
+ ruby2_keywords (0.0.5)
35
+ sentry-ruby (4.3.2)
34
36
  concurrent-ruby (~> 1.0, >= 1.0.2)
35
37
  faraday (>= 1.0)
36
- sentry-ruby-core (= 4.2.0)
37
- sentry-ruby-core (4.2.0)
38
+ sentry-ruby-core (= 4.3.2)
39
+ sentry-ruby-core (4.3.2)
38
40
  concurrent-ruby
39
41
  faraday
42
+ simplecov (0.18.5)
43
+ docile (~> 1.1)
44
+ simplecov-html (~> 0.11)
45
+ simplecov-html (0.12.3)
40
46
 
41
47
  PLATFORMS
42
48
  ruby
43
49
 
44
50
  DEPENDENCIES
45
51
  bundler (>= 1.17)
52
+ codecov
53
+ rack
46
54
  rake (~> 10.0)
47
55
  rspec (~> 3.0)
48
56
  sentry-sanitizer!
57
+ simplecov (~> 0.18.5)
49
58
 
50
59
  BUNDLED WITH
51
- 2.1.4
60
+ 2.2.14
data/LICENSE.txt CHANGED
@@ -1,21 +1,13 @@
1
- The MIT License (MIT)
1
+ The BSD-3-Clause license
2
2
 
3
3
  Copyright (c) 2021 Valentine Kiselev
4
4
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
5
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
11
6
 
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
7
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
14
8
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
9
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
10
+
11
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md CHANGED
@@ -1,15 +1,27 @@
1
- # Sentry::Sanitizer
1
+ ![CI](https://github.com/mrexox/sentry-sanitizer/workflows/CI/badge.svg)
2
+ [![Gem Version](https://badge.fury.io/rb/sentry-sanitizer.svg)](https://badge.fury.io/rb/sentry-sanitizer)
3
+ [![codecov](https://codecov.io/gh/mrexox/sentry-sanitizer/branch/master/graph/badge.svg?token=QW93HCVI0W)](https://codecov.io/gh/mrexox/sentry-sanitizer)
2
4
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/sentry/sanitizer`. To experiment with that code, run `bin/console` for an interactive prompt.
5
+ # sentry-sanitizer: sanitizing extension for sentry-ruby
4
6
 
5
- TODO: Delete this and the text above, and describe your gem
7
+ This gem aimed to add sanitizing support to [sentry-ruby](https://rubygems.org/gems/sentry-ruby) gem.
8
+
9
+ [sentry-raven](https://rubygems.org/gems/sentry-raven) gem had this apportunity but it is no longer supported. Moving from `sentry-raven` to `sentry-ruby` can surprise you with missing this ability. But you can still use `sentry-sanitizer` (with a little change to configuration).
10
+
11
+ Currently this gem provides following features
12
+ - [x] Sanitizing POST params
13
+ - [x] Sanitizing HTTP headers
14
+ - [x] Sanitizing cookies
15
+ - [x] Sanitizing extras ([see](https://docs.sentry.io/platforms/ruby/enriching-events/context/#additional-data) `Sentry.set_extras`)
6
16
 
7
17
  ## Installation
8
18
 
19
+ :warning: Please, don't use `0.1.*` version as it was experimental and not usable at all.
20
+
9
21
  Add this line to your application's Gemfile:
10
22
 
11
23
  ```ruby
12
- gem 'sentry-sanitizer'
24
+ gem 'sentry-sanitizer', '>= 0.2.0'
13
25
  ```
14
26
 
15
27
  And then execute:
@@ -22,7 +34,30 @@ Or install it yourself as:
22
34
 
23
35
  ## Usage
24
36
 
25
- TODO: Write usage instructions here
37
+ Add following lines to your Sentry configuration:
38
+
39
+ ```ruby
40
+ Sentry.init do |config|
41
+ # ... your configuration
42
+
43
+ # If using Rails
44
+ config.sanitize.fields = Rails.application.config.filter_parameters
45
+
46
+ # You can also pass custom array
47
+ config.sanitize.fields = %w[password super_secret_token]
48
+
49
+ # HTTP headers can be sanitized too (it is case insensitive)
50
+ config.sanitize.http_headers = %w[Authorization X-Xsrf-Token]
51
+
52
+ # You can sanitize all HTTP headers with setting `true` value
53
+ config.sanitize.http_headers = true
54
+
55
+ # You can sanitize all cookies with this setting
56
+ config.sanitize.cookies = true
57
+
58
+ # ...
59
+ end
60
+ ```
26
61
 
27
62
  ## Development
28
63
 
@@ -32,8 +67,8 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
67
 
33
68
  ## Contributing
34
69
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/sentry-sanitizer.
70
+ Bug reports and pull requests are welcome on GitHub at https://github.com/mrexox/sentry-sanitizer.
36
71
 
37
72
  ## License
38
73
 
39
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
74
+ The gem is available as open source under the terms of the [BSD-3-Clause License](https://opensource.org/licenses/BSD-3-Clause).
data/Rakefile CHANGED
@@ -1,9 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
 
4
- require "bundler/gem_helper"
5
- Bundler::GemHelper.install_tasks(name: "sentry-sanitizer")
6
-
7
4
  RSpec::Core::RakeTask.new(:spec)
8
5
 
9
6
  task :default => :spec
@@ -11,44 +11,74 @@ module Sentry
11
11
 
12
12
  def initialize(config)
13
13
  @fields = config.fields || []
14
- @http_headers = config.http_headers || []
15
- @cookies = config.cookies || false
14
+ @http_headers = config.http_headers || DEFAULT_SENSITIVE_HEADERS
15
+ @do_cookies = config.cookies || false
16
16
  end
17
17
 
18
18
  def call(event)
19
19
  if event.is_a?(Sentry::Event)
20
- sanitize_request(event.request) if event.request
21
- event.extra = sanitize_data(event.extra) if event.extra
20
+ sanitize_request(event, :object) if event.request
21
+ event.extra = sanitize_data(event.extra)
22
+ elsif event.is_a?(Hash)
23
+ sanitize_request(event, :stringified_hash) if event['request']
24
+ sanitize_request(event, :symbolized_hash) if event[:request]
25
+ event['extra'] = sanitize_data(event['extra']) if event['extra']
26
+ event[:extra] = sanitize_data(event[:extra]) if event[:extra]
22
27
  end
23
28
  end
24
29
 
25
- def sanitize_request(request)
26
- request.data = sanitize_data(request.data) unless fields.size.zero?
27
- request.headers = sanitize_headers(request.headers) unless http_headers.size.zero?
28
- request.cookies = sanitize_cookies(request.cookies) if cookies
30
+ def sanitize_request(event, type)
31
+ case type
32
+ when :object
33
+ event.request.data = sanitize_data(event.request.data)
34
+ event.request.headers = sanitize_headers(event.request.headers)
35
+ event.request.cookies = sanitize_cookies(event.request.cookies)
36
+ when :stringified_hash
37
+ event['request']['data'] = sanitize_data(event['request']['data'])
38
+ event['request']['headers'] = sanitize_headers(event['request']['headers'])
39
+ event['request']['cookies'] = sanitize_cookies(event['request']['cookies'])
40
+ when :symbolized_hash
41
+ event[:request][:data] = sanitize_data(event[:request][:data])
42
+ event[:request][:headers] = sanitize_headers(event[:request][:headers])
43
+ event[:request][:cookies] = sanitize_cookies(event[:request][:cookies])
44
+ end
29
45
  end
30
46
 
31
47
  def sanitize_data(hash)
32
- return unless hash.is_a? Hash
48
+ return hash unless hash.is_a? Hash
49
+ return hash unless fields.size.positive?
33
50
 
34
51
  sanitize_value(hash, nil)
35
52
  end
36
53
 
37
54
  private
38
55
 
39
- attr_reader :fields, :http_headers, :cookies
56
+ attr_reader :fields, :http_headers, :do_cookies
40
57
 
41
58
  # Sanitize specified headers
42
59
  def sanitize_headers(headers)
43
- headers.keys.select { |key| key.match?(sensitive_headers) }.each do |key|
44
- headers[key] = DEFAULT_MASK
45
- end
60
+ case http_headers
61
+ when TrueClass
62
+ headers.transform_values { DEFAULT_MASK }
63
+ when Array
64
+ return headers unless http_headers.size.positive?
65
+ http_headers_regex = sensitive_regexp(http_headers)
46
66
 
47
- headers
67
+ headers.keys.select { |key| key.match?(http_headers_regex) }.each do |key|
68
+ headers[key] = DEFAULT_MASK
69
+ end
70
+
71
+ headers
72
+ else
73
+ headers
74
+ end
48
75
  end
49
76
 
50
77
  # Sanitize all cookies
51
78
  def sanitize_cookies(cookies)
79
+ return cookies unless cookies.is_a? Hash
80
+ return cookies unless do_cookies
81
+
52
82
  cookies.transform_values { DEFAULT_MASK }
53
83
  end
54
84
 
@@ -91,10 +121,6 @@ module Sentry
91
121
  @sensitive_fields ||= sensitive_regexp(fields)
92
122
  end
93
123
 
94
- def sensitive_headers
95
- @sensitive_headers ||= sensitive_regexp(DEFAULT_SENSITIVE_HEADERS | http_headers)
96
- end
97
-
98
124
  def sensitive_regexp(fields)
99
125
  Regexp.new(fields.map { |field| "\\b#{field}\\b" }.join('|'), 'i')
100
126
  end
@@ -5,9 +5,15 @@ require 'sentry/sanitizer/configuration_mixin'
5
5
  module Sentry
6
6
  # Monkey-patching Sentry::Configuration
7
7
  class Configuration
8
+ # Add sanitizing configuration
9
+ attr_reader :sanitize
10
+
11
+ # Patch before_send method so it could support more than one call
8
12
  prepend Sentry::Sanitizer::ConfigurationMixin
9
13
 
10
14
  add_post_initialization_callback do
15
+ @sanitize ||= Sentry::Sanitizer::Configuration.new
16
+
11
17
  self.before_send = ->(event, hint) do
12
18
  Sentry::Sanitizer::Cleaner.new(Sentry.configuration.sanitize).call(event)
13
19
 
@@ -23,6 +29,30 @@ module Sentry
23
29
  def configured?
24
30
  [fields, http_headers, cookies].any? { |setting| !setting.nil? }
25
31
  end
32
+
33
+ def fields=(fields)
34
+ unless fields.is_a? Array
35
+ raise ArgumentError, 'sanitize_fields must be array'
36
+ end
37
+
38
+ @fields = fields
39
+ end
40
+
41
+ def http_headers=(headers)
42
+ unless [Array, TrueClass, FalseClass].include?(headers.class)
43
+ raise ArgumentError, 'sanitize_http_headers must be array'
44
+ end
45
+
46
+ @http_headers = headers
47
+ end
48
+
49
+ def cookies=(cookies)
50
+ unless [TrueClass, FalseClass].include?(cookies.class)
51
+ raise ArgumentError, 'sanitize_cookies must be boolean'
52
+ end
53
+
54
+ @cookies = cookies
55
+ end
26
56
  end
27
57
  end
28
58
  end
@@ -20,34 +20,6 @@ module Sentry
20
20
  event
21
21
  }
22
22
  end
23
-
24
- def sanitize
25
- @sanitize ||= Sentry::Sanitizer::Configuration.new
26
- end
27
-
28
- def sanitize_fields=(fields)
29
- unless fields.is_a? Array
30
- raise ArgumentError, 'sanitize_fields must be array'
31
- end
32
-
33
- sanitize.fields = fields
34
- end
35
-
36
- def sanitize_http_headers=(headers)
37
- unless headers.is_a? Array
38
- raise ArgumentError, 'sanitize_http_headers must be array'
39
- end
40
-
41
- sanitize.http_headers = headers
42
- end
43
-
44
- def sanitize_cookies=(cookies)
45
- unless [TrueClass, FalseClass].include?(cookies.class)
46
- raise ArgumentError, 'sanitize_cookies must be boolean'
47
- end
48
-
49
- sanitize.cookies = cookies
50
- end
51
23
  end
52
24
  end
53
25
  end
@@ -1,5 +1,5 @@
1
1
  module Sentry
2
2
  module Sanitizer
3
- VERSION = '0.1.4'
3
+ VERSION = '0.3.0'
4
4
  end
5
5
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.email = ['mrexox@outlook.com']
12
12
 
13
13
  spec.summary = %q{Sanitizing middleware for sentry-ruby gem}
14
- spec.description = %q{Add missing sanitizing support for sentry-ruby (previous sentry-rav)}
14
+ spec.description = %q{Add missing sanitizing support for sentry-ruby (previous sentry-raven)}
15
15
  spec.homepage = 'https://github.com/mrexox/sentry-sanitizer'
16
16
  spec.license = 'BSD'
17
17
 
@@ -27,9 +27,14 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.require_paths = ['lib']
29
29
 
30
+ # Codecov
31
+ spec.add_development_dependency 'codecov'
32
+ spec.add_development_dependency 'simplecov', '~> 0.18.5'
33
+
30
34
  spec.add_development_dependency 'bundler', '>= 1.17'
31
35
  spec.add_development_dependency 'rake', '~> 10.0'
32
36
  spec.add_development_dependency 'rspec', '~> 3.0'
37
+ spec.add_development_dependency 'rack'
33
38
 
34
- spec.add_runtime_dependency 'sentry-ruby', '~> 4.2.0'
39
+ spec.add_runtime_dependency 'sentry-ruby', '~> 4.3.0'
35
40
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-sanitizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Valentine Kiselev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-05 00:00:00.000000000 Z
11
+ date: 2022-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: codecov
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: simplecov
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.18.5
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.18.5
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,30 +80,46 @@ dependencies:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
82
  version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rack
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: sentry-ruby
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - "~>"
60
102
  - !ruby/object:Gem::Version
61
- version: 4.2.0
103
+ version: 4.3.0
62
104
  type: :runtime
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - "~>"
67
109
  - !ruby/object:Gem::Version
68
- version: 4.2.0
69
- description: Add missing sanitizing support for sentry-ruby (previous sentry-rav)
110
+ version: 4.3.0
111
+ description: Add missing sanitizing support for sentry-ruby (previous sentry-raven)
70
112
  email:
71
113
  - mrexox@outlook.com
72
114
  executables: []
73
115
  extensions: []
74
116
  extra_rdoc_files: []
75
117
  files:
118
+ - ".github/workflows/ci.yml"
76
119
  - ".gitignore"
77
120
  - ".rspec"
78
121
  - ".travis.yml"
122
+ - CHANGELOG.md
79
123
  - Gemfile
80
124
  - Gemfile.lock
81
125
  - LICENSE.txt
@@ -112,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
156
  - !ruby/object:Gem::Version
113
157
  version: '0'
114
158
  requirements: []
115
- rubygems_version: 3.1.4
159
+ rubygems_version: 3.1.6
116
160
  signing_key:
117
161
  specification_version: 4
118
162
  summary: Sanitizing middleware for sentry-ruby gem