Skip to content

Commit 96023aa

Browse files
author
Andrey Glushkov
committed
Release v0.21.0
1 parent 6c01660 commit 96023aa

23 files changed

+398
-535
lines changed

.github/workflows/main.yml

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,42 +14,28 @@ jobs:
1414
matrix:
1515
include:
1616
# https://github.com/ruby/setup-ruby
17-
- ruby: "head"
18-
activerecord: "7.1"
17+
# - ruby: "head" # cannot test on head as sqlite-ruby requires `ruby < '3.4.dev'`
18+
# activerecord: "8.0"
1919
- ruby: "3.3"
20-
activerecord: "7.1"
21-
- ruby: "3.2"
22-
activerecord: "7.1"
20+
activerecord: "8.0"
2321
- ruby: "3.1"
24-
activerecord: "7.1"
25-
- ruby: "3.0"
26-
activerecord: "7.1"
27-
- ruby: "2.7"
28-
activerecord: "7.1"
22+
activerecord: "7.2"
2923
- ruby: "2.7"
3024
activerecord: "6.1"
31-
- ruby: "2.7"
32-
activerecord: "5.2"
33-
- ruby: "2.6"
34-
activerecord: "6.1"
3525
- ruby: "2.6"
3626
activerecord: "5.2"
37-
- ruby: "jruby-9.4.5"
38-
activerecord: "6.1"
39-
- ruby: "jruby-9.4.5"
40-
activerecord: "7.0" # latest activerecord-jdbcsqlite3-adapter (70.1) does not support latest rails 7.1 yet
41-
- ruby: "truffleruby-23.1.1"
42-
activerecord: "7.1"
43-
- ruby: "truffleruby-23.1.1"
44-
activerecord: "6.1"
27+
- ruby: "jruby-9.4.9"
28+
activerecord: "7.2"
29+
- ruby: "truffleruby-24.1.1"
30+
activerecord: "8.0"
4531

4632
env:
4733
BUNDLE_GEMFILE: gemfiles/${{ matrix.activerecord }}.gemfile
4834
CC_TEST_REPORTER_ID: 2b0dd65d1c078b0d9f6edc768751ab9f210decdace1eae9651603a6bccff96ca
4935

5036
steps:
5137
# https://github.com/actions/checkout
52-
- uses: actions/checkout@v3
38+
- uses: actions/checkout@v4
5339

5440
# https://github.com/ruby/setup-ruby
5541
- name: Set up Ruby ${{ matrix.ruby }} (AR ${{ matrix.activerecord }})
@@ -59,27 +45,27 @@ jobs:
5945
bundler-cache: true
6046

6147
- name: Install codespell
62-
if: startsWith(matrix.ruby, '3.2') && matrix.activerecord == '7.1'
48+
if: startsWith(matrix.ruby, '3.3') && matrix.activerecord == '8.0'
6349
run: |
6450
python -m pip install --upgrade pip
65-
pip install codespell==2.2.6
51+
pip install codespell==2.3.0
6652
- name: Check spelling with codespell
67-
if: startsWith(matrix.ruby, '3.2') && matrix.activerecord == '7.1'
53+
if: startsWith(matrix.ruby, '3.3') && matrix.activerecord == '8.0'
6854
run: codespell --skip="./sig,./doc,./coverage,./vendor" || exit 1
6955

7056
# Check code standards only for latest MRI. It takes a lot of time for jruby or truffleruby
7157
- name: Check Code Standards
72-
if: startsWith(matrix.ruby, '3.2') && matrix.activerecord == '7.1'
58+
if: startsWith(matrix.ruby, '3.3') && matrix.activerecord == '8.0'
7359
run: bundle exec rubocop
7460

7561
- name: Run Tests
7662
run: bundle exec rspec
7763

7864
- name: Markdown linter
79-
if: startsWith(matrix.ruby, '3.2') && matrix.activerecord == '7.1'
65+
if: startsWith(matrix.ruby, '3.3') && matrix.activerecord == '8.0'
8066
run: bundle exec mdl README.md CHANGELOG.md RELEASE.md
8167

8268
# https://github.com/paambaati/codeclimate-action
8369
- name: Publish code coverage to code-climate
84-
uses: paambaati/codeclimate-action@v3.2
85-
if: (github.event_name == 'push') && startsWith(matrix.ruby, '3.2')
70+
uses: paambaati/codeclimate-action@v9.0.0
71+
if: (github.event_name == 'push') && startsWith(matrix.ruby, '3.3')

.rubocop.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ Style/FrozenStringLiteralComment:
2626
RSpec/ExampleLength:
2727
Enabled: false
2828

29-
RSpec/FilePath:
30-
Enabled: false
31-
3229
RSpec/IndexedLet:
3330
Enabled: false
3431

CHANGELOG.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
# CHANGELOG
22

3-
## [Unreleased]
3+
## [0.21.0] - 2024-11-19
44

55
- Allow to provide modifiers and serialization options as strings. Only symbols
66
were allowed previously.
77

8+
- Test compatibility with ActiveRecord 8.0.
9+
810
## [0.20.1] - 2024-02-25
911

1012
- Fix issue with :if plugin used together with :batch plugin.
1113
We kept `key => nil` attribute when key should have been skipped
12-
because of :if_value or :unelss_value option
14+
because of :if_value or :unless_value option
1315

1416
## [0.20.0] - 2023-12-29
1517

Gemfile

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,12 @@ gemspec
77

88
gem "rake", "~> 13.0"
99
gem "rspec", "~> 3.0", require: false
10-
gem "standard", "~> 1.3", require: false
10+
gem "standard", "~> 1.42", require: false
1111
gem "simplecov", "~> 0.21", require: false
1212
gem "rubocop-rake", "~> 0.6.0", require: false
13-
gem "rubocop-rspec", "~> 2.11", ">= 2.11.1", require: false
14-
gem "rubocop-performance", "~> 1.20", require: false
13+
gem "rubocop-rspec", "~> 3.2.0", require: false
14+
gem "rubocop-performance", "~> 1.22", require: false
1515
gem "redcarpet", "~> 3.5", require: false
16-
gem "rspec-sqlimit", "~> 0.0.5", require: false
1716
# Can be used in test like:
1817
# require 'allocation_stats'
1918
#
@@ -33,17 +32,6 @@ else
3332
gem "pry-byebug", "~> 3.9"
3433
end
3534

36-
# ORM plugins
37-
ruby_version = Gem::Version.new(RUBY_VERSION)
38-
ar_version =
39-
if ruby_version >= Gem::Version.new("3.0")
40-
"~> 7.1"
41-
elsif ruby_version >= Gem::Version.new("2.5")
42-
"~> 6.1"
43-
else
44-
"~> 5.2"
45-
end
46-
47-
gem "activerecord", ar_version
35+
gem "activerecord", "~> 8.0"
4836
gem "sqlite3", platforms: [:ruby]
4937
gem "activerecord-jdbcsqlite3-adapter", platforms: [:jruby]

Gemfile.lock

Lines changed: 67 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,175 +1,168 @@
11
PATH
22
remote: .
33
specs:
4-
serega (0.20.1)
4+
serega (0.21.0)
55

66
GEM
77
remote: https://rubygems.org/
88
specs:
9-
activemodel (7.1.3.2)
10-
activesupport (= 7.1.3.2)
11-
activerecord (7.1.3.2)
12-
activemodel (= 7.1.3.2)
13-
activesupport (= 7.1.3.2)
9+
activemodel (8.0.0)
10+
activesupport (= 8.0.0)
11+
activerecord (8.0.0)
12+
activemodel (= 8.0.0)
13+
activesupport (= 8.0.0)
1414
timeout (>= 0.4.0)
15-
activesupport (7.1.3.2)
15+
activesupport (8.0.0)
1616
base64
17+
benchmark (>= 0.3)
1718
bigdecimal
18-
concurrent-ruby (~> 1.0, >= 1.0.2)
19+
concurrent-ruby (~> 1.0, >= 1.3.1)
1920
connection_pool (>= 2.2.5)
2021
drb
2122
i18n (>= 1.6, < 2)
23+
logger (>= 1.4.2)
2224
minitest (>= 5.1)
23-
mutex_m
24-
tzinfo (~> 2.0)
25+
securerandom (>= 0.3)
26+
tzinfo (~> 2.0, >= 2.0.5)
27+
uri (>= 0.13.1)
2528
allocation_stats (0.1.5)
2629
ast (2.4.2)
2730
base64 (0.2.0)
28-
bigdecimal (3.1.6)
29-
chef-utils (18.4.2)
31+
benchmark (0.4.0)
32+
bigdecimal (3.1.8)
33+
chef-utils (18.5.0)
3034
concurrent-ruby
31-
concurrent-ruby (1.2.3)
35+
concurrent-ruby (1.3.4)
3236
connection_pool (2.4.1)
33-
debug (1.9.1)
37+
debug (1.9.2)
3438
irb (~> 1.10)
3539
reline (>= 0.3.8)
3640
diff-lcs (1.5.1)
37-
docile (1.4.0)
38-
drb (2.2.0)
39-
ruby2_keywords
40-
i18n (1.14.1)
41+
docile (1.4.1)
42+
drb (2.2.1)
43+
i18n (1.14.6)
4144
concurrent-ruby (~> 1.0)
4245
io-console (0.7.2)
43-
irb (1.11.2)
44-
rdoc
46+
irb (1.14.1)
47+
rdoc (>= 4.0.0)
4548
reline (>= 0.4.2)
46-
json (2.7.1)
47-
kramdown (2.4.0)
48-
rexml
49+
json (2.8.2)
50+
kramdown (2.5.1)
51+
rexml (>= 3.3.9)
4952
kramdown-parser-gfm (1.1.0)
5053
kramdown (~> 2.0)
5154
language_server-protocol (3.17.0.3)
5255
lint_roller (1.1.0)
56+
logger (1.6.1)
5357
mdl (0.13.0)
5458
kramdown (~> 2.3)
5559
kramdown-parser-gfm (~> 1.1)
5660
mixlib-cli (~> 2.1, >= 2.1.1)
5761
mixlib-config (>= 2.2.1, < 4)
5862
mixlib-shellout
59-
minitest (5.22.2)
63+
minitest (5.25.1)
6064
mixlib-cli (2.1.8)
6165
mixlib-config (3.0.27)
6266
tomlrb
63-
mixlib-shellout (3.2.7)
67+
mixlib-shellout (3.3.4)
6468
chef-utils
65-
mutex_m (0.2.0)
66-
parallel (1.24.0)
67-
parser (3.3.0.5)
69+
parallel (1.26.3)
70+
parser (3.3.6.0)
6871
ast (~> 2.4.1)
6972
racc
70-
psych (5.1.2)
73+
psych (5.2.0)
7174
stringio
72-
racc (1.7.3)
75+
racc (1.8.1)
7376
rainbow (3.1.1)
74-
rake (13.1.0)
75-
rdoc (6.6.2)
77+
rake (13.2.1)
78+
rdoc (6.7.0)
7679
psych (>= 4.0.0)
7780
redcarpet (3.6.0)
78-
regexp_parser (2.9.0)
79-
reline (0.4.3)
81+
regexp_parser (2.9.2)
82+
reline (0.5.11)
8083
io-console (~> 0.5)
81-
rexml (3.2.6)
84+
rexml (3.3.9)
8285
rspec (3.13.0)
8386
rspec-core (~> 3.13.0)
8487
rspec-expectations (~> 3.13.0)
8588
rspec-mocks (~> 3.13.0)
86-
rspec-core (3.13.0)
89+
rspec-core (3.13.2)
8790
rspec-support (~> 3.13.0)
88-
rspec-expectations (3.13.0)
91+
rspec-expectations (3.13.3)
8992
diff-lcs (>= 1.2.0, < 2.0)
9093
rspec-support (~> 3.13.0)
91-
rspec-mocks (3.13.0)
94+
rspec-mocks (3.13.2)
9295
diff-lcs (>= 1.2.0, < 2.0)
9396
rspec-support (~> 3.13.0)
94-
rspec-sqlimit (0.0.6)
95-
activerecord (>= 4.2.0, < 8)
96-
rspec (~> 3.0)
9797
rspec-support (3.13.1)
98-
rubocop (1.60.2)
98+
rubocop (1.68.0)
9999
json (~> 2.3)
100100
language_server-protocol (>= 3.17.0)
101101
parallel (~> 1.10)
102102
parser (>= 3.3.0.2)
103103
rainbow (>= 2.2.2, < 4.0)
104-
regexp_parser (>= 1.8, < 3.0)
105-
rexml (>= 3.2.5, < 4.0)
106-
rubocop-ast (>= 1.30.0, < 2.0)
104+
regexp_parser (>= 2.4, < 3.0)
105+
rubocop-ast (>= 1.32.2, < 2.0)
107106
ruby-progressbar (~> 1.7)
108107
unicode-display_width (>= 2.4.0, < 3.0)
109-
rubocop-ast (1.30.0)
110-
parser (>= 3.2.1.0)
111-
rubocop-capybara (2.20.0)
112-
rubocop (~> 1.41)
113-
rubocop-factory_bot (2.25.1)
114-
rubocop (~> 1.41)
115-
rubocop-performance (1.20.2)
108+
rubocop-ast (1.36.1)
109+
parser (>= 3.3.1.0)
110+
rubocop-performance (1.22.1)
116111
rubocop (>= 1.48.1, < 2.0)
117-
rubocop-ast (>= 1.30.0, < 2.0)
112+
rubocop-ast (>= 1.31.1, < 2.0)
118113
rubocop-rake (0.6.0)
119114
rubocop (~> 1.0)
120-
rubocop-rspec (2.26.1)
121-
rubocop (~> 1.40)
122-
rubocop-capybara (~> 2.17)
123-
rubocop-factory_bot (~> 2.22)
115+
rubocop-rspec (3.2.0)
116+
rubocop (~> 1.61)
124117
ruby-progressbar (1.13.0)
125-
ruby2_keywords (0.0.5)
118+
securerandom (0.3.2)
126119
simplecov (0.22.0)
127120
docile (~> 1.1)
128121
simplecov-html (~> 0.11)
129122
simplecov_json_formatter (~> 0.1)
130-
simplecov-html (0.12.3)
123+
simplecov-html (0.13.1)
131124
simplecov_json_formatter (0.1.4)
132-
sqlite3 (1.7.2-x86_64-linux)
133-
standard (1.34.0)
125+
sqlite3 (2.2.0-x86_64-linux-gnu)
126+
standard (1.42.0)
134127
language_server-protocol (~> 3.17.0.2)
135128
lint_roller (~> 1.0)
136-
rubocop (~> 1.60)
129+
rubocop (~> 1.68.0)
137130
standard-custom (~> 1.0.0)
138-
standard-performance (~> 1.3)
131+
standard-performance (~> 1.5)
139132
standard-custom (1.0.2)
140133
lint_roller (~> 1.0)
141134
rubocop (~> 1.50)
142-
standard-performance (1.3.1)
135+
standard-performance (1.5.0)
143136
lint_roller (~> 1.1)
144-
rubocop-performance (~> 1.20.2)
145-
stringio (3.1.0)
146-
timeout (0.4.1)
137+
rubocop-performance (~> 1.22.0)
138+
stringio (3.1.2)
139+
timeout (0.4.2)
147140
tomlrb (2.0.3)
148141
tzinfo (2.0.6)
149142
concurrent-ruby (~> 1.0)
150-
unicode-display_width (2.5.0)
151-
yard (0.9.34)
143+
unicode-display_width (2.6.0)
144+
uri (1.0.2)
145+
yard (0.9.37)
152146

153147
PLATFORMS
154148
x86_64-linux
155149

156150
DEPENDENCIES
157-
activerecord (~> 7.1)
151+
activerecord (~> 8.0)
158152
activerecord-jdbcsqlite3-adapter
159153
allocation_stats
160154
debug (>= 1.0.0)
161155
mdl (~> 0.13.0)
162156
rake (~> 13.0)
163157
redcarpet (~> 3.5)
164158
rspec (~> 3.0)
165-
rspec-sqlimit (~> 0.0.5)
166-
rubocop-performance (~> 1.20)
159+
rubocop-performance (~> 1.22)
167160
rubocop-rake (~> 0.6.0)
168-
rubocop-rspec (~> 2.11, >= 2.11.1)
161+
rubocop-rspec (~> 3.2.0)
169162
serega!
170163
simplecov (~> 0.21)
171164
sqlite3
172-
standard (~> 1.3)
165+
standard (~> 1.42)
173166
yard
174167

175168
BUNDLED WITH

0 commit comments

Comments
 (0)