human_enum 0.1.3 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ee0408af702cd8f3a52b34c2e8005c38eee9fc2d2898877092da6390c516cfd
4
- data.tar.gz: 0b1280a270a2302888335b67f8468cea4e1f73c1531ebdb016ee48971e42b940
3
+ metadata.gz: 447c8acf7eb456e8f4814338cb7e3364a0d4d5b79739a9994ccc1e5b79862cba
4
+ data.tar.gz: dc002118fda492890ad261a6b1c613c407ecfa4f476f82c026453ba00d1e1acd
5
5
  SHA512:
6
- metadata.gz: 2e06ecb229a9d1392d4e98cf8d3566b779c8a1c5bd096ce67e6fb63742e81b7a3c27ca37aa23a4f35745466c7fd386930278d5e21ed43fd5230546d909914b4a
7
- data.tar.gz: 1c608be53f7991992b9e8fadac867d3ca70c81ca1b54703aa8b86ba3ee82799790b5c274208d5f63e73700437aa0493f8f3a0161608d0c38087bb0c5e8092e6e
6
+ metadata.gz: 9080b9d079602d47e5265b04255aa878a930b746fdb2c14b42c6aeb029b866253b3ea8002f38353190efb13ce1d698d29c66dd416ba85c3dadd8ed1ffa1bdc3c
7
+ data.tar.gz: c173518fc6f16b5694481b5e6b1c2cdf3f980b9878a0af26fdb478b88acd58e1e2c1f667d3d69abcc65fe951cf64cc4f26ec0e68ed8fa1dc4908d7610d14a4d2
data/.codeclimate.yml ADDED
@@ -0,0 +1,4 @@
1
+ plugins:
2
+ rubocop:
3
+ enabled: true
4
+ channel: rubocop-1-56-3
@@ -0,0 +1 @@
1
+ {"image":"mcr.microsoft.com/devcontainers/universal:2"}
@@ -0,0 +1,15 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
12
+
13
+ ignore:
14
+ - dependency-name: "*"
15
+ update-types: ["version-update:semver-major"]
@@ -0,0 +1,31 @@
1
+ name: publish
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ tests:
9
+ uses: ./.github/workflows/tests.yml
10
+ secrets: inherit
11
+
12
+ publish:
13
+ runs-on: ubuntu-latest
14
+
15
+ needs: tests
16
+
17
+ permissions:
18
+ packages: write
19
+ contents: read
20
+ attestations: write
21
+ id-token: write
22
+
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - uses: ruby/setup-ruby@v1
27
+ with:
28
+ rubygems: latest
29
+ bundler-cache: true
30
+
31
+ - uses: rubygems/release-gem@v1
@@ -0,0 +1,26 @@
1
+ name: test-results
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows: ["tests"]
6
+ types:
7
+ - completed
8
+
9
+ permissions:
10
+ contents: read
11
+ actions: read
12
+ checks: write
13
+
14
+ jobs:
15
+ report:
16
+ name: Report test results
17
+
18
+ runs-on: ubuntu-latest
19
+
20
+ steps:
21
+ - uses: dorny/test-reporter@v1
22
+ with:
23
+ name: rspec
24
+ path: "*.json"
25
+ artifact: test-results
26
+ reporter: rspec-json
@@ -0,0 +1,69 @@
1
+ name: tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+ workflow_call:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ test-current:
15
+ name: Run specs against current Ruby and Rails
16
+
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - uses: ruby/setup-ruby@v1
23
+ with:
24
+ rubygems: latest
25
+ bundler-cache: true
26
+
27
+ - name: Run tests and upload code coverage to Code Climate
28
+ uses: paambaati/codeclimate-action@v6
29
+ env:
30
+ CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
31
+ with:
32
+ coverageCommand: bin/rspec --format json --out spec/reports/rspec.json
33
+
34
+ - name: Upload test results
35
+ uses: actions/upload-artifact@v4
36
+ if: success() || failure()
37
+ with:
38
+ name: test-results
39
+ path: spec/reports/rspec.json
40
+
41
+ test-matrix:
42
+ name: Test against Ruby ${{ matrix.ruby }} and Rails ${{ matrix.rails }}
43
+ needs: test-current
44
+
45
+ runs-on: ubuntu-latest
46
+
47
+ strategy:
48
+ fail-fast: false
49
+ matrix:
50
+ ruby: ['3.1', '3.2', '3.3']
51
+ rails: ['6.1', '7.0', '7.1', '7.2', '8.0']
52
+ exclude:
53
+ - ruby: 3.1
54
+ rails: 8.0
55
+
56
+ env:
57
+ BUNDLE_LOCKFILE: rails-${{ matrix.rails }}
58
+
59
+ steps:
60
+ - uses: actions/checkout@v4
61
+
62
+ - uses: ruby/setup-ruby@v1
63
+ with:
64
+ ruby-version: ${{ matrix.ruby }}
65
+ rubygems: latest
66
+ bundler-cache: true
67
+
68
+ - name: Run specs
69
+ run: bin/rspec --no-profile
data/.gitignore CHANGED
@@ -1,14 +1,56 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
4
  /coverage/
5
- /doc/
5
+ /InstalledFiles
6
6
  /pkg/
7
7
  /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
8
11
  /tmp/
9
12
 
10
- # rspec failure tracking
11
- .rspec_status
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ # Ignore Byebug command history file.
17
+ .byebug_history
18
+
19
+ ## Specific to RubyMotion:
20
+ .dat*
21
+ .repl_history
22
+ build/
23
+ *.bridgesupport
24
+ build-iPhoneOS/
25
+ build-iPhoneSimulator/
26
+
27
+ ## Specific to RubyMotion (use of CocoaPods):
28
+ #
29
+ # We recommend against adding the Pods directory to your .gitignore. However
30
+ # you should judge for yourself, the pros and cons are mentioned at:
31
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
32
+ #
33
+ # vendor/Pods/
34
+
35
+ ## Documentation cache and generated files:
36
+ /.yardoc/
37
+ /_yardoc/
38
+ /doc/
39
+ /rdoc/
40
+
41
+ ## Environment normalization:
42
+ /.bundle/
43
+ /vendor/bundle
44
+ /lib/bundler/man/
45
+
46
+ # for a library or gem, you might want to ignore these files since the code is
47
+ # intended to run in multiple environments; otherwise, check them in:
48
+ # Gemfile.lock
49
+ # .ruby-version
50
+ # .ruby-gemset
51
+
52
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
53
+ .rvmrc
12
54
 
13
- # rspec local configuration
14
- .rspec-local
55
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
+ # .rubocop-https?--*
data/.hound.yml CHANGED
@@ -1,2 +1,7 @@
1
1
  rubocop:
2
2
  version: 0.72.0
3
+
4
+ jshint:
5
+ enabled: false
6
+
7
+ fail_on_violations: true
data/.rspec CHANGED
@@ -1,3 +1 @@
1
- --format documentation
2
- --color
3
1
  --require spec_helper
data/.rubocop.yml CHANGED
@@ -1,9 +1,20 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
4
+ - rubocop-rails
3
5
  - rubocop-rspec
4
6
 
7
+ AllCops:
8
+ NewCops: enable
9
+ TargetRubyVersion: 3.1
10
+
5
11
  Metrics/BlockLength:
6
12
  Exclude:
7
- - 'Rakefile'
8
- - '**/*.gemspec'
9
- - 'spec/**/*.rb'
13
+ - "Rakefile"
14
+ - "Guardfile"
15
+ - "**/*.gemspec"
16
+ - "spec/**/*.rb"
17
+
18
+ Rails/ApplicationRecord:
19
+ Exclude:
20
+ - "spec/**/*.rb"
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.6.4
1
+ ruby-3.3.5
@@ -0,0 +1,5 @@
1
+ {
2
+ "conventionalCommits.scopes": [
3
+ "deps"
4
+ ]
5
+ }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0
4
+ Updating to Ruby 3.2 and Rails 7
5
+
3
6
  ## 0.1.3
4
7
  No code changes, just changing our CI
5
8
 
data/Gemfile CHANGED
@@ -2,5 +2,58 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- # Specify your gem's dependencies in human_enum.gemspec
6
5
  gemspec
6
+
7
+ plugin 'bundler-multilock', '~> 1.3'
8
+ return unless Plugin.installed?('bundler-multilock')
9
+
10
+ Plugin.send(:load_plugin, 'bundler-multilock')
11
+
12
+ lockfile do
13
+ gem 'activerecord', '~> 8.0'
14
+ gem 'sqlite3', '~> 2.0'
15
+ end
16
+
17
+ lockfile 'rails-6.1' do
18
+ gem 'activerecord', '~> 6.1.0' # rubocop:disable Bundler/DuplicatedGem
19
+ gem 'sqlite3', '~> 1.4' # rubocop:disable Bundler/DuplicatedGem
20
+ end
21
+
22
+ lockfile 'rails-7.0' do
23
+ gem 'activerecord', '~> 7.0.0' # rubocop:disable Bundler/DuplicatedGem
24
+ gem 'sqlite3', '~> 1.4' # rubocop:disable Bundler/DuplicatedGem
25
+ end
26
+
27
+ lockfile 'rails-7.1' do
28
+ gem 'activerecord', '~> 7.1.0' # rubocop:disable Bundler/DuplicatedGem
29
+ gem 'sqlite3', '~> 2.0' # rubocop:disable Bundler/DuplicatedGem
30
+ end
31
+
32
+ lockfile 'rails-7.2' do
33
+ gem 'activerecord', '~> 7.2.0' # rubocop:disable Bundler/DuplicatedGem
34
+ gem 'sqlite3', '~> 2.0' # rubocop:disable Bundler/DuplicatedGem
35
+ end
36
+
37
+ lockfile 'rails-8.0' do
38
+ gem 'activerecord', '~> 8.0.0' # rubocop:disable Bundler/DuplicatedGem
39
+ gem 'sqlite3', '~> 2.0' # rubocop:disable Bundler/DuplicatedGem
40
+ end
41
+
42
+ gem 'rake', '~> 13.0'
43
+ gem 'rspec', '~> 3.12'
44
+
45
+ # Should match the version in .codeclimate.yml
46
+ gem 'rubocop', '~> 1.56.3'
47
+ gem 'rubocop-performance'
48
+ gem 'rubocop-rails'
49
+ gem 'rubocop-rake'
50
+ gem 'rubocop-rspec'
51
+
52
+ gem 'ruby-lsp-rails'
53
+ gem 'ruby-lsp-rspec', require: false
54
+
55
+ gem 'guard', '~> 2.18'
56
+ gem 'guard-rspec', '~> 4.7'
57
+ gem 'guard-rubocop', '~> 1.5'
58
+
59
+ gem 'simplecov', '~> 0.22.0'
data/Gemfile.lock CHANGED
@@ -1,36 +1,57 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- human_enum (0.1.1)
5
- activerecord (> 5.0.0)
4
+ human_enum (1.1.3)
5
+ activerecord (>= 6.1, < 9)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (6.0.0)
11
- activesupport (= 6.0.0)
12
- activerecord (6.0.0)
13
- activemodel (= 6.0.0)
14
- activesupport (= 6.0.0)
15
- activesupport (6.0.0)
16
- concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- zeitwerk (~> 2.1, >= 2.1.8)
21
- ast (2.4.0)
22
- coderay (1.1.2)
23
- concurrent-ruby (1.1.5)
24
- diff-lcs (1.3)
25
- ffi (1.11.1)
26
- formatador (0.2.5)
27
- guard (2.15.1)
10
+ activemodel (8.0.2)
11
+ activesupport (= 8.0.2)
12
+ activerecord (8.0.2)
13
+ activemodel (= 8.0.2)
14
+ activesupport (= 8.0.2)
15
+ timeout (>= 0.4.0)
16
+ activesupport (8.0.2)
17
+ base64
18
+ benchmark (>= 0.3)
19
+ bigdecimal
20
+ concurrent-ruby (~> 1.0, >= 1.3.1)
21
+ connection_pool (>= 2.2.5)
22
+ drb
23
+ i18n (>= 1.6, < 2)
24
+ logger (>= 1.4.2)
25
+ minitest (>= 5.1)
26
+ securerandom (>= 0.3)
27
+ tzinfo (~> 2.0, >= 2.0.5)
28
+ uri (>= 0.13.1)
29
+ ast (2.4.2)
30
+ base64 (0.1.2)
31
+ benchmark (0.4.0)
32
+ bigdecimal (3.1.8)
33
+ coderay (1.1.3)
34
+ concurrent-ruby (1.3.4)
35
+ connection_pool (2.4.1)
36
+ diff-lcs (1.6.0)
37
+ docile (1.4.1)
38
+ drb (2.2.1)
39
+ ffi (1.17.1-aarch64-linux-gnu)
40
+ ffi (1.17.1-arm-linux-gnu)
41
+ ffi (1.17.1-arm64-darwin)
42
+ ffi (1.17.1-x86-linux-gnu)
43
+ ffi (1.17.1-x86_64-darwin)
44
+ ffi (1.17.1-x86_64-linux-gnu)
45
+ formatador (1.1.0)
46
+ guard (2.19.1)
28
47
  formatador (>= 0.2.4)
29
48
  listen (>= 2.7, < 4.0)
49
+ logger (~> 1.6)
30
50
  lumberjack (>= 1.0.12, < 2.0)
31
51
  nenv (~> 0.1)
32
52
  notiffany (~> 0.0)
33
- pry (>= 0.9.12)
53
+ ostruct (~> 0.6)
54
+ pry (>= 0.13.0)
34
55
  shellany (~> 0.0)
35
56
  thor (>= 0.18.1)
36
57
  guard-compat (1.2.1)
@@ -38,82 +59,140 @@ GEM
38
59
  guard (~> 2.1)
39
60
  guard-compat (~> 1.1)
40
61
  rspec (>= 2.99.0, < 4.0)
41
- guard-rubocop (1.3.0)
62
+ guard-rubocop (1.5.0)
42
63
  guard (~> 2.0)
43
- rubocop (~> 0.20)
44
- i18n (1.7.0)
64
+ rubocop (< 2.0)
65
+ i18n (1.14.6)
45
66
  concurrent-ruby (~> 1.0)
46
- jaro_winkler (1.5.3)
47
- listen (3.2.0)
67
+ json (2.10.2)
68
+ language_server-protocol (3.17.0.4)
69
+ listen (3.9.0)
48
70
  rb-fsevent (~> 0.10, >= 0.10.3)
49
71
  rb-inotify (~> 0.9, >= 0.9.10)
50
- lumberjack (1.0.13)
51
- method_source (0.9.2)
52
- minitest (5.12.2)
72
+ logger (1.6.3)
73
+ lumberjack (1.2.10)
74
+ method_source (1.1.0)
75
+ minitest (5.25.4)
53
76
  nenv (0.3.0)
54
77
  notiffany (0.1.3)
55
78
  nenv (~> 0.1)
56
79
  shellany (~> 0.0)
57
- parallel (1.18.0)
58
- parser (2.6.5.0)
59
- ast (~> 2.4.0)
60
- pry (0.12.2)
61
- coderay (~> 1.1.0)
62
- method_source (~> 0.9.0)
63
- rainbow (3.0.0)
64
- rake (10.5.0)
65
- rb-fsevent (0.10.3)
66
- rb-inotify (0.10.0)
80
+ ostruct (0.6.1)
81
+ parallel (1.26.3)
82
+ parser (3.3.7.1)
83
+ ast (~> 2.4.1)
84
+ racc
85
+ prism (1.3.0)
86
+ pry (0.15.2)
87
+ coderay (~> 1.1)
88
+ method_source (~> 1.0)
89
+ racc (1.8.1)
90
+ rack (3.1.12)
91
+ rainbow (3.1.1)
92
+ rake (13.2.1)
93
+ rb-fsevent (0.11.2)
94
+ rb-inotify (0.11.1)
67
95
  ffi (~> 1.0)
68
- rspec (3.9.0)
69
- rspec-core (~> 3.9.0)
70
- rspec-expectations (~> 3.9.0)
71
- rspec-mocks (~> 3.9.0)
72
- rspec-core (3.9.0)
73
- rspec-support (~> 3.9.0)
74
- rspec-expectations (3.9.0)
96
+ rbs (3.8.1)
97
+ logger
98
+ regexp_parser (2.10.0)
99
+ rexml (3.4.1)
100
+ rspec (3.13.0)
101
+ rspec-core (~> 3.13.0)
102
+ rspec-expectations (~> 3.13.0)
103
+ rspec-mocks (~> 3.13.0)
104
+ rspec-core (3.13.3)
105
+ rspec-support (~> 3.13.0)
106
+ rspec-expectations (3.13.3)
75
107
  diff-lcs (>= 1.2.0, < 2.0)
76
- rspec-support (~> 3.9.0)
77
- rspec-mocks (3.9.0)
108
+ rspec-support (~> 3.13.0)
109
+ rspec-mocks (3.13.2)
78
110
  diff-lcs (>= 1.2.0, < 2.0)
79
- rspec-support (~> 3.9.0)
80
- rspec-support (3.9.0)
81
- rubocop (0.72.0)
82
- jaro_winkler (~> 1.5.1)
111
+ rspec-support (~> 3.13.0)
112
+ rspec-support (3.13.2)
113
+ rubocop (1.56.4)
114
+ base64 (~> 0.1.1)
115
+ json (~> 2.3)
116
+ language_server-protocol (>= 3.17.0)
83
117
  parallel (~> 1.10)
84
- parser (>= 2.6)
118
+ parser (>= 3.2.2.3)
85
119
  rainbow (>= 2.2.2, < 4.0)
120
+ regexp_parser (>= 1.8, < 3.0)
121
+ rexml (>= 3.2.5, < 4.0)
122
+ rubocop-ast (>= 1.28.1, < 2.0)
86
123
  ruby-progressbar (~> 1.7)
87
- unicode-display_width (>= 1.4.0, < 1.7)
88
- rubocop-performance (1.5.0)
89
- rubocop (>= 0.71.0)
90
- rubocop-rspec (1.36.0)
91
- rubocop (>= 0.68.1)
92
- ruby-progressbar (1.10.1)
124
+ unicode-display_width (>= 2.4.0, < 3.0)
125
+ rubocop-ast (1.38.1)
126
+ parser (>= 3.3.1.0)
127
+ rubocop-performance (1.23.1)
128
+ rubocop (>= 1.48.1, < 2.0)
129
+ rubocop-ast (>= 1.31.1, < 2.0)
130
+ rubocop-rails (2.29.1)
131
+ activesupport (>= 4.2.0)
132
+ rack (>= 1.1)
133
+ rubocop (>= 1.52.0, < 2.0)
134
+ rubocop-ast (>= 1.31.1, < 2.0)
135
+ rubocop-rake (0.6.0)
136
+ rubocop (~> 1.0)
137
+ rubocop-rspec (3.0.0)
138
+ rubocop (~> 1.40)
139
+ ruby-lsp (0.23.11)
140
+ language_server-protocol (~> 3.17.0)
141
+ prism (>= 1.2, < 2.0)
142
+ rbs (>= 3, < 4)
143
+ sorbet-runtime (>= 0.5.10782)
144
+ ruby-lsp-rails (0.4.0)
145
+ ruby-lsp (>= 0.23.0, < 0.24.0)
146
+ ruby-lsp-rspec (0.1.22)
147
+ ruby-lsp (~> 0.23.0)
148
+ ruby-progressbar (1.13.0)
149
+ securerandom (0.4.0)
93
150
  shellany (0.0.1)
94
- sqlite3 (1.4.1)
95
- thor (0.20.3)
96
- thread_safe (0.3.6)
97
- tzinfo (1.2.5)
98
- thread_safe (~> 0.1)
99
- unicode-display_width (1.6.0)
100
- zeitwerk (2.2.0)
151
+ simplecov (0.22.0)
152
+ docile (~> 1.1)
153
+ simplecov-html (~> 0.11)
154
+ simplecov_json_formatter (~> 0.1)
155
+ simplecov-html (0.13.1)
156
+ simplecov_json_formatter (0.1.4)
157
+ sorbet-runtime (0.5.11919)
158
+ sqlite3 (2.6.0-aarch64-linux-gnu)
159
+ sqlite3 (2.6.0-arm-linux-gnu)
160
+ sqlite3 (2.6.0-arm64-darwin)
161
+ sqlite3 (2.6.0-x86-linux-gnu)
162
+ sqlite3 (2.6.0-x86_64-darwin)
163
+ sqlite3 (2.6.0-x86_64-linux-gnu)
164
+ thor (1.3.2)
165
+ timeout (0.4.3)
166
+ tzinfo (2.0.6)
167
+ concurrent-ruby (~> 1.0)
168
+ unicode-display_width (2.6.0)
169
+ uri (1.0.3)
101
170
 
102
171
  PLATFORMS
103
- ruby
172
+ aarch64-linux
173
+ arm-linux
174
+ arm64-darwin
175
+ x86-linux
176
+ x86_64-darwin
177
+ x86_64-linux
104
178
 
105
179
  DEPENDENCIES
106
- bundler (~> 2.0)
107
- guard (~> 2.15)
180
+ activerecord (~> 8.0)
181
+ guard (~> 2.18)
108
182
  guard-rspec (~> 4.7)
109
- guard-rubocop (~> 1.3)
183
+ guard-rubocop (~> 1.5)
110
184
  human_enum!
111
- rake (~> 10.0)
112
- rspec (~> 3.0)
113
- rubocop (~> 0.72.0)
114
- rubocop-performance (~> 1.5)
115
- rubocop-rspec (~> 1.36)
116
- sqlite3 (~> 1.4)
185
+ rake (~> 13.0)
186
+ rspec (~> 3.12)
187
+ rubocop (~> 1.56.3)
188
+ rubocop-performance
189
+ rubocop-rails
190
+ rubocop-rake
191
+ rubocop-rspec
192
+ ruby-lsp-rails
193
+ ruby-lsp-rspec
194
+ simplecov (~> 0.22.0)
195
+ sqlite3 (~> 2.0)
117
196
 
118
197
  BUNDLED WITH
119
- 2.0.2
198
+ 2.5.10