gitlab-releases 2.0.0 → 2.1.1

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: e1a866a27b43c0c1ad5c0c7a616ab233637c5d44194c422d6f4eeb350573a45c
4
- data.tar.gz: 416353edd36b23116c8eed1894547e680d3c38705815cc7e03a5e8bbfc55e5a3
3
+ metadata.gz: fdd6ca3891ddce39fd65096220287c7eac8d3c344f0660b7741b49131ec71b88
4
+ data.tar.gz: f1d5ce0a726fd809f19a5eb2dc3032da8b0fdf2421256cbea70bf2dff5ca9bfb
5
5
  SHA512:
6
- metadata.gz: d766ea5fcc99b7a0ef087250c568b0a33e0b316e48c793145e9f988f405838b6165381f2b02763e4436631b41ce1cef4696cddd1036c7c839130ae4b58144801
7
- data.tar.gz: 3d401845ebaa86d003509a23853b719ac2537ade953549818a095e73f2adca792c2b5e42a8b13aaad4857c240d9e728cb5687510900f953473221d60128138b2
6
+ metadata.gz: 949f9a6390771de916a7da3b91cae120a08937f0cee2a4f7188f15374be825867e4dcefe7a65e5557c35bfb32c8a13adaf63efc00527d7aed9b09731071f3079
7
+ data.tar.gz: f3894af6c3f77437f287025800edb4c0c72fa15d27efed318a9dd3e78bfee8bce671bc011887f4dfeebd0f9d1cade3698f260aa548fdeba5c419ba916b7a7277
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 3.3
2
+ TargetRubyVersion: 3.4
3
3
 
4
4
  Style/StringLiterals:
5
5
  Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.1
1
+ 3.4.10
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [2.1.1] - 2026-08-10
4
+
5
+ - Bump Ruby version to 3.4.10 in preparation for a Ruby 4.0 upgrade
6
+ - Adds support for Rails 8.1 by increasing the allowed versions for gitlab-labkit (`>= 1.5.1` and `< 5.0`)
7
+ - Ruby 3.3 is still supported
8
+
9
+ ## [2.1.0] - 2026-07-30
10
+
11
+ - `RELEASES_GITLAB_READ_TOKEN` is now optional instead of required. The version.gitlab.com API and the `releases.yml` file are both public, so no credential is needed. When the variable is set it is still sent as a `Private-Token` header; when it is unset the header is omitted rather than raising.
12
+
3
13
  ## [2.0.0] - 2026-04-30
4
14
 
5
15
  - Add `GitlabReleases::Error` and `GitlabReleases::ReleasesYmlFetchError` error classes
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-releases (2.0.0)
4
+ gitlab-releases (2.1.1)
5
5
  activesupport (~> 8.0)
6
6
  gitlab (>= 5.1, < 7.x)
7
+ gitlab-labkit (>= 1.5.1, < 5.0)
7
8
  http (~> 5.2.0, ~> 5.2)
8
9
  retriable (~> 3.1.2)
9
10
  version_sorter (~> 2.3.0)
@@ -11,146 +12,502 @@ PATH
11
12
  GEM
12
13
  remote: https://rubygems.org/
13
14
  specs:
14
- activesupport (8.0.0)
15
+ actionpack (8.1.3.1)
16
+ actionview (= 8.1.3.1)
17
+ activesupport (= 8.1.3.1)
18
+ nokogiri (>= 1.8.5)
19
+ rack (>= 2.2.4)
20
+ rack-session (>= 1.0.1)
21
+ rack-test (>= 0.6.3)
22
+ rails-dom-testing (~> 2.2)
23
+ rails-html-sanitizer (~> 1.6)
24
+ useragent (~> 0.16)
25
+ actionview (8.1.3.1)
26
+ activesupport (= 8.1.3.1)
27
+ builder (~> 3.1)
28
+ erubi (~> 1.11)
29
+ rails-dom-testing (~> 2.2)
30
+ rails-html-sanitizer (~> 1.6)
31
+ activesupport (8.1.3.1)
15
32
  base64
16
- benchmark (>= 0.3)
17
33
  bigdecimal
18
34
  concurrent-ruby (~> 1.0, >= 1.3.1)
19
35
  connection_pool (>= 2.2.5)
20
36
  drb
21
37
  i18n (>= 1.6, < 2)
38
+ json
22
39
  logger (>= 1.4.2)
23
40
  minitest (>= 5.1)
24
41
  securerandom (>= 0.3)
25
42
  tzinfo (~> 2.0, >= 2.0.5)
26
43
  uri (>= 0.13.1)
27
- addressable (2.8.6)
28
- public_suffix (>= 2.0.2, < 6.0)
29
- ast (2.4.2)
44
+ addressable (2.9.0)
45
+ public_suffix (>= 2.0.2, < 8.0)
46
+ ast (2.4.3)
30
47
  base64 (0.2.0)
31
- benchmark (0.4.0)
32
- bigdecimal (3.1.8)
33
- binding_of_caller (1.0.1)
48
+ bigdecimal (4.1.2)
49
+ binding_of_caller (2.0.0)
34
50
  debug_inspector (>= 1.2.0)
51
+ builder (3.3.0)
35
52
  coderay (1.1.3)
36
- concurrent-ruby (1.3.4)
37
- connection_pool (2.4.1)
38
- crack (1.0.0)
53
+ concurrent-ruby (1.3.8)
54
+ connection_pool (3.0.2)
55
+ crack (1.0.1)
39
56
  bigdecimal
40
57
  rexml
41
- csv (3.3.5)
58
+ crass (1.0.7)
59
+ csv (3.3.6)
42
60
  debug_inspector (1.2.0)
43
- diff-lcs (1.5.1)
61
+ diff-lcs (1.6.2)
44
62
  domain_name (0.6.20240107)
45
- drb (2.2.1)
46
- ffi (1.17.0)
47
- ffi (1.17.0-arm64-darwin)
48
- ffi (1.17.0-x86_64-darwin)
49
- ffi (1.17.0-x86_64-linux-gnu)
50
- ffi-compiler (1.3.2)
63
+ drb (2.2.3)
64
+ erubi (1.13.1)
65
+ ffi (1.17.4-aarch64-linux-gnu)
66
+ ffi (1.17.4-aarch64-linux-musl)
67
+ ffi (1.17.4-arm-linux-gnu)
68
+ ffi (1.17.4-arm-linux-musl)
69
+ ffi (1.17.4-arm64-darwin)
70
+ ffi (1.17.4-x86_64-darwin)
71
+ ffi (1.17.4-x86_64-linux-gnu)
72
+ ffi (1.17.4-x86_64-linux-musl)
73
+ ffi-compiler (1.4.2)
51
74
  ffi (>= 1.15.5)
52
75
  rake
53
76
  gitlab (5.1.0)
54
77
  base64 (~> 0.2.0)
55
78
  httparty (~> 0.20)
56
79
  terminal-table (>= 1.5.1)
57
- hashdiff (1.1.0)
80
+ gitlab-labkit (4.0.0)
81
+ actionpack (>= 5.0.0, < 8.2.0)
82
+ activesupport (>= 5.0.0, < 8.2.0)
83
+ google-protobuf (>= 3.25, < 5.0)
84
+ grpc (>= 1.75)
85
+ jaeger-client (~> 1.1.0)
86
+ json_schemer (>= 2.3.0, < 3.0)
87
+ openssl (~> 3.3.2)
88
+ opentelemetry-exporter-otlp (>= 0.31, < 1)
89
+ opentelemetry-instrumentation-all (>= 0.89, < 1)
90
+ opentelemetry-sdk (>= 1.10, < 2)
91
+ opentracing (>= 0.4, < 1)
92
+ pg_query (>= 6.1.0, < 7.0)
93
+ prometheus-client-mmap (>= 1.2, < 2.0)
94
+ redis (> 3.0.0, < 6.0.0)
95
+ google-protobuf (4.35.1)
96
+ bigdecimal
97
+ rake (~> 13.3)
98
+ google-protobuf (4.35.1-aarch64-linux-gnu)
99
+ bigdecimal
100
+ rake (~> 13.3)
101
+ google-protobuf (4.35.1-aarch64-linux-musl)
102
+ bigdecimal
103
+ rake (~> 13.3)
104
+ google-protobuf (4.35.1-arm64-darwin)
105
+ bigdecimal
106
+ rake (~> 13.3)
107
+ google-protobuf (4.35.1-x86_64-darwin)
108
+ bigdecimal
109
+ rake (~> 13.3)
110
+ google-protobuf (4.35.1-x86_64-linux-gnu)
111
+ bigdecimal
112
+ rake (~> 13.3)
113
+ google-protobuf (4.35.1-x86_64-linux-musl)
114
+ bigdecimal
115
+ rake (~> 13.3)
116
+ googleapis-common-protos-types (1.23.0)
117
+ google-protobuf (~> 4.26)
118
+ grpc (1.83.0)
119
+ google-protobuf (>= 3.25, < 5.0)
120
+ googleapis-common-protos-types (~> 1.0)
121
+ grpc (1.83.0-aarch64-linux-gnu)
122
+ google-protobuf (>= 3.25, < 5.0)
123
+ googleapis-common-protos-types (~> 1.0)
124
+ grpc (1.83.0-aarch64-linux-musl)
125
+ google-protobuf (>= 3.25, < 5.0)
126
+ googleapis-common-protos-types (~> 1.0)
127
+ grpc (1.83.0-arm64-darwin)
128
+ google-protobuf (>= 3.25, < 5.0)
129
+ googleapis-common-protos-types (~> 1.0)
130
+ grpc (1.83.0-x86_64-darwin)
131
+ google-protobuf (>= 3.25, < 5.0)
132
+ googleapis-common-protos-types (~> 1.0)
133
+ grpc (1.83.0-x86_64-linux-gnu)
134
+ google-protobuf (>= 3.25, < 5.0)
135
+ googleapis-common-protos-types (~> 1.0)
136
+ grpc (1.83.0-x86_64-linux-musl)
137
+ google-protobuf (>= 3.25, < 5.0)
138
+ googleapis-common-protos-types (~> 1.0)
139
+ hana (1.3.7)
140
+ hashdiff (1.2.1)
58
141
  http (5.2.0)
59
142
  addressable (~> 2.8)
60
143
  base64 (~> 0.1)
61
144
  http-cookie (~> 1.0)
62
145
  http-form_data (~> 2.2)
63
146
  llhttp-ffi (~> 0.5.0)
64
- http-cookie (1.0.6)
147
+ http-cookie (1.1.6)
65
148
  domain_name (~> 0.5)
66
149
  http-form_data (2.3.0)
67
- httparty (0.23.1)
150
+ httparty (0.24.2)
68
151
  csv
69
152
  mini_mime (>= 1.0.0)
70
153
  multi_xml (>= 0.5.2)
71
- i18n (1.14.6)
154
+ i18n (1.15.2)
72
155
  concurrent-ruby (~> 1.0)
73
- json (2.7.2)
74
- language_server-protocol (3.17.0.3)
75
- llhttp-ffi (0.5.0)
156
+ jaeger-client (1.1.0)
157
+ opentracing (~> 0.3)
158
+ thrift
159
+ json (2.21.2)
160
+ json_schemer (2.5.0)
161
+ bigdecimal
162
+ hana (~> 1.3)
163
+ regexp_parser (~> 2.0)
164
+ simpleidn (~> 0.2)
165
+ language_server-protocol (3.17.0.6)
166
+ lint_roller (1.1.0)
167
+ llhttp-ffi (0.5.1)
76
168
  ffi-compiler (~> 1.0)
77
169
  rake (~> 13.0)
78
- logger (1.6.1)
170
+ logger (1.7.0)
171
+ loofah (2.25.2)
172
+ crass (~> 1.0.2)
173
+ nokogiri (>= 1.12.0)
79
174
  method_source (1.1.0)
80
175
  mini_mime (1.1.5)
81
- minitest (5.25.1)
82
- multi_xml (0.7.2)
83
- bigdecimal (~> 3.1)
84
- parallel (1.25.1)
85
- parser (3.3.3.0)
176
+ minitest (6.0.6)
177
+ drb (~> 2.0)
178
+ prism (~> 1.5)
179
+ multi_xml (0.9.1)
180
+ bigdecimal (>= 3.1, < 5)
181
+ nokogiri (1.19.4-aarch64-linux-gnu)
182
+ racc (~> 1.4)
183
+ nokogiri (1.19.4-aarch64-linux-musl)
184
+ racc (~> 1.4)
185
+ nokogiri (1.19.4-arm-linux-gnu)
186
+ racc (~> 1.4)
187
+ nokogiri (1.19.4-arm-linux-musl)
188
+ racc (~> 1.4)
189
+ nokogiri (1.19.4-arm64-darwin)
190
+ racc (~> 1.4)
191
+ nokogiri (1.19.4-x86_64-darwin)
192
+ racc (~> 1.4)
193
+ nokogiri (1.19.4-x86_64-linux-gnu)
194
+ racc (~> 1.4)
195
+ nokogiri (1.19.4-x86_64-linux-musl)
196
+ racc (~> 1.4)
197
+ openssl (3.3.3)
198
+ opentelemetry-api (1.11.0)
199
+ logger
200
+ opentelemetry-common (0.25.1)
201
+ opentelemetry-api (~> 1.0)
202
+ opentelemetry-exporter-otlp (0.34.1)
203
+ google-protobuf (>= 3.18)
204
+ googleapis-common-protos-types (~> 1.3)
205
+ opentelemetry-api (~> 1.1)
206
+ opentelemetry-common (~> 0.20)
207
+ opentelemetry-sdk (~> 1.10)
208
+ opentelemetry-semantic_conventions
209
+ opentelemetry-helpers-mysql (0.6.0)
210
+ opentelemetry-api (~> 1.7)
211
+ opentelemetry-common (~> 0.21)
212
+ opentelemetry-helpers-sql (0.4.0)
213
+ opentelemetry-api (~> 1.7)
214
+ opentelemetry-helpers-sql-processor (0.5.0)
215
+ opentelemetry-api (~> 1.0)
216
+ opentelemetry-common (~> 0.21)
217
+ opentelemetry-instrumentation-action_mailer (0.8.1)
218
+ opentelemetry-instrumentation-active_support (~> 0.10)
219
+ opentelemetry-instrumentation-action_pack (0.18.0)
220
+ opentelemetry-instrumentation-rack (~> 0.29)
221
+ opentelemetry-instrumentation-action_view (0.13.0)
222
+ opentelemetry-instrumentation-active_support (~> 0.10)
223
+ opentelemetry-instrumentation-active_job (0.13.0)
224
+ opentelemetry-instrumentation-base (~> 0.25)
225
+ opentelemetry-instrumentation-active_model_serializers (0.25.0)
226
+ opentelemetry-instrumentation-active_support (>= 0.7.0)
227
+ opentelemetry-instrumentation-active_record (0.13.0)
228
+ opentelemetry-instrumentation-base (~> 0.25)
229
+ opentelemetry-instrumentation-active_storage (0.5.1)
230
+ opentelemetry-instrumentation-active_support (~> 0.10)
231
+ opentelemetry-instrumentation-active_support (0.12.1)
232
+ opentelemetry-instrumentation-base (~> 0.25)
233
+ opentelemetry-instrumentation-all (0.94.0)
234
+ opentelemetry-instrumentation-active_model_serializers (~> 0.25.0)
235
+ opentelemetry-instrumentation-anthropic (~> 0.5.0)
236
+ opentelemetry-instrumentation-aws_lambda (~> 0.7.0)
237
+ opentelemetry-instrumentation-aws_sdk (~> 0.12.0)
238
+ opentelemetry-instrumentation-bunny (~> 0.25.0)
239
+ opentelemetry-instrumentation-concurrent_ruby (~> 0.25.0)
240
+ opentelemetry-instrumentation-dalli (~> 0.30.0)
241
+ opentelemetry-instrumentation-delayed_job (~> 0.26.0)
242
+ opentelemetry-instrumentation-ethon (~> 0.29.0)
243
+ opentelemetry-instrumentation-excon (~> 0.29.0)
244
+ opentelemetry-instrumentation-faraday (~> 0.33.0)
245
+ opentelemetry-instrumentation-grape (~> 0.7.0)
246
+ opentelemetry-instrumentation-graphql (~> 0.32.0)
247
+ opentelemetry-instrumentation-grpc (~> 0.5.0)
248
+ opentelemetry-instrumentation-gruf (~> 0.6.0)
249
+ opentelemetry-instrumentation-http (~> 0.30.0)
250
+ opentelemetry-instrumentation-http_client (~> 0.29.0)
251
+ opentelemetry-instrumentation-httpx (~> 0.8.0)
252
+ opentelemetry-instrumentation-koala (~> 0.24.0)
253
+ opentelemetry-instrumentation-lmdb (~> 0.26.0)
254
+ opentelemetry-instrumentation-mongo (~> 0.26.0)
255
+ opentelemetry-instrumentation-mysql2 (~> 0.34.0)
256
+ opentelemetry-instrumentation-net_http (~> 0.29.0)
257
+ opentelemetry-instrumentation-pg (~> 0.36.0)
258
+ opentelemetry-instrumentation-que (~> 0.13.0)
259
+ opentelemetry-instrumentation-racecar (~> 0.7.0)
260
+ opentelemetry-instrumentation-rack (~> 0.31.0)
261
+ opentelemetry-instrumentation-rails (~> 0.42.0)
262
+ opentelemetry-instrumentation-rake (~> 0.6.0)
263
+ opentelemetry-instrumentation-rdkafka (~> 0.10.0)
264
+ opentelemetry-instrumentation-redis (~> 0.29.0)
265
+ opentelemetry-instrumentation-resque (~> 0.9.0)
266
+ opentelemetry-instrumentation-restclient (~> 0.28.0)
267
+ opentelemetry-instrumentation-ruby_kafka (~> 0.25.0)
268
+ opentelemetry-instrumentation-sidekiq (~> 0.29.0)
269
+ opentelemetry-instrumentation-sinatra (~> 0.30.0)
270
+ opentelemetry-instrumentation-trilogy (~> 0.69.0)
271
+ opentelemetry-instrumentation-anthropic (0.5.0)
272
+ opentelemetry-instrumentation-base (~> 0.25)
273
+ opentelemetry-instrumentation-aws_lambda (0.7.0)
274
+ opentelemetry-instrumentation-base (~> 0.25)
275
+ opentelemetry-instrumentation-aws_sdk (0.12.0)
276
+ opentelemetry-instrumentation-base (~> 0.25)
277
+ opentelemetry-instrumentation-base (0.26.1)
278
+ opentelemetry-api (~> 1.7)
279
+ opentelemetry-common (~> 0.21)
280
+ opentelemetry-registry (~> 0.1)
281
+ opentelemetry-instrumentation-bunny (0.25.0)
282
+ opentelemetry-instrumentation-base (~> 0.25)
283
+ opentelemetry-instrumentation-concurrent_ruby (0.25.0)
284
+ opentelemetry-instrumentation-base (~> 0.25)
285
+ opentelemetry-instrumentation-dalli (0.30.0)
286
+ opentelemetry-instrumentation-base (~> 0.25)
287
+ opentelemetry-instrumentation-delayed_job (0.26.0)
288
+ opentelemetry-instrumentation-base (~> 0.25)
289
+ opentelemetry-instrumentation-ethon (0.29.0)
290
+ opentelemetry-instrumentation-base (~> 0.25)
291
+ opentelemetry-instrumentation-excon (0.29.1)
292
+ opentelemetry-instrumentation-base (~> 0.25)
293
+ opentelemetry-instrumentation-faraday (0.33.0)
294
+ opentelemetry-instrumentation-base (~> 0.25)
295
+ opentelemetry-instrumentation-grape (0.7.1)
296
+ opentelemetry-instrumentation-rack (~> 0.29)
297
+ opentelemetry-instrumentation-graphql (0.32.0)
298
+ opentelemetry-instrumentation-base (~> 0.25)
299
+ opentelemetry-instrumentation-grpc (0.5.2)
300
+ opentelemetry-instrumentation-base (~> 0.25)
301
+ opentelemetry-instrumentation-gruf (0.6.2)
302
+ opentelemetry-instrumentation-base (~> 0.25)
303
+ opentelemetry-instrumentation-http (0.30.0)
304
+ opentelemetry-instrumentation-base (~> 0.25)
305
+ opentelemetry-instrumentation-http_client (0.29.0)
306
+ opentelemetry-instrumentation-base (~> 0.25)
307
+ opentelemetry-instrumentation-httpx (0.8.0)
308
+ opentelemetry-instrumentation-base (~> 0.25)
309
+ opentelemetry-instrumentation-koala (0.24.0)
310
+ opentelemetry-instrumentation-base (~> 0.25)
311
+ opentelemetry-instrumentation-lmdb (0.26.0)
312
+ opentelemetry-instrumentation-base (~> 0.25)
313
+ opentelemetry-instrumentation-mongo (0.26.0)
314
+ opentelemetry-instrumentation-base (~> 0.25)
315
+ opentelemetry-instrumentation-mysql2 (0.34.0)
316
+ opentelemetry-helpers-mysql
317
+ opentelemetry-helpers-sql
318
+ opentelemetry-helpers-sql-processor
319
+ opentelemetry-instrumentation-base (~> 0.25)
320
+ opentelemetry-instrumentation-net_http (0.29.0)
321
+ opentelemetry-instrumentation-base (~> 0.25)
322
+ opentelemetry-instrumentation-pg (0.36.0)
323
+ opentelemetry-helpers-sql
324
+ opentelemetry-helpers-sql-processor
325
+ opentelemetry-instrumentation-base (~> 0.25)
326
+ opentelemetry-instrumentation-que (0.13.0)
327
+ opentelemetry-instrumentation-base (~> 0.25)
328
+ opentelemetry-instrumentation-racecar (0.7.0)
329
+ opentelemetry-instrumentation-base (~> 0.25)
330
+ opentelemetry-instrumentation-rack (0.31.1)
331
+ opentelemetry-instrumentation-base (~> 0.25)
332
+ opentelemetry-instrumentation-rails (0.42.0)
333
+ opentelemetry-instrumentation-action_mailer (~> 0.7)
334
+ opentelemetry-instrumentation-action_pack (~> 0.17)
335
+ opentelemetry-instrumentation-action_view (~> 0.12)
336
+ opentelemetry-instrumentation-active_job (~> 0.11)
337
+ opentelemetry-instrumentation-active_record (~> 0.12)
338
+ opentelemetry-instrumentation-active_storage (~> 0.4)
339
+ opentelemetry-instrumentation-active_support (~> 0.11)
340
+ opentelemetry-instrumentation-concurrent_ruby (~> 0.25)
341
+ opentelemetry-instrumentation-rake (0.6.0)
342
+ opentelemetry-instrumentation-base (~> 0.25)
343
+ opentelemetry-instrumentation-rdkafka (0.10.0)
344
+ opentelemetry-instrumentation-base (~> 0.25)
345
+ opentelemetry-instrumentation-redis (0.29.0)
346
+ opentelemetry-instrumentation-base (~> 0.25)
347
+ opentelemetry-instrumentation-resque (0.9.0)
348
+ opentelemetry-instrumentation-base (~> 0.25)
349
+ opentelemetry-instrumentation-restclient (0.28.0)
350
+ opentelemetry-instrumentation-base (~> 0.25)
351
+ opentelemetry-instrumentation-ruby_kafka (0.25.0)
352
+ opentelemetry-instrumentation-base (~> 0.25)
353
+ opentelemetry-instrumentation-sidekiq (0.29.0)
354
+ opentelemetry-instrumentation-base (~> 0.25)
355
+ opentelemetry-instrumentation-sinatra (0.30.0)
356
+ opentelemetry-instrumentation-rack (~> 0.29)
357
+ opentelemetry-instrumentation-trilogy (0.69.0)
358
+ opentelemetry-helpers-mysql
359
+ opentelemetry-helpers-sql
360
+ opentelemetry-helpers-sql-processor
361
+ opentelemetry-instrumentation-base (~> 0.25)
362
+ opentelemetry-semantic_conventions (>= 1.8.0)
363
+ opentelemetry-registry (0.6.3)
364
+ opentelemetry-api (~> 1.1)
365
+ opentelemetry-sdk (1.13.0)
366
+ logger
367
+ opentelemetry-api (~> 1.1)
368
+ opentelemetry-common (~> 0.20)
369
+ opentelemetry-registry (~> 0.2)
370
+ opentelemetry-semantic_conventions
371
+ opentelemetry-semantic_conventions (1.43.0)
372
+ opentelemetry-api (~> 1.0)
373
+ opentracing (0.5.0)
374
+ parallel (2.1.0)
375
+ parser (3.3.12.0)
86
376
  ast (~> 2.4.1)
87
377
  racc
378
+ pg_query (6.2.2)
379
+ google-protobuf (>= 3.25.3)
380
+ prism (1.9.0)
88
381
  proc_to_ast (0.2.0)
89
382
  parser
90
383
  rouge
91
384
  unparser
385
+ prometheus-client-mmap (1.6.0)
386
+ base64
387
+ bigdecimal
388
+ logger
389
+ rb_sys (~> 0.9.128)
390
+ prometheus-client-mmap (1.6.0-aarch64-linux-gnu)
391
+ base64
392
+ bigdecimal
393
+ logger
394
+ rb_sys (~> 0.9.128)
395
+ prometheus-client-mmap (1.6.0-aarch64-linux-musl)
396
+ base64
397
+ bigdecimal
398
+ logger
399
+ rb_sys (~> 0.9.128)
400
+ prometheus-client-mmap (1.6.0-arm64-darwin)
401
+ base64
402
+ bigdecimal
403
+ logger
404
+ rb_sys (~> 0.9.128)
405
+ prometheus-client-mmap (1.6.0-x86_64-darwin)
406
+ base64
407
+ bigdecimal
408
+ logger
409
+ rb_sys (~> 0.9.128)
410
+ prometheus-client-mmap (1.6.0-x86_64-linux-gnu)
411
+ base64
412
+ bigdecimal
413
+ logger
414
+ rb_sys (~> 0.9.128)
415
+ prometheus-client-mmap (1.6.0-x86_64-linux-musl)
416
+ base64
417
+ bigdecimal
418
+ logger
419
+ rb_sys (~> 0.9.128)
92
420
  pry (0.14.2)
93
421
  coderay (~> 1.1)
94
422
  method_source (~> 1.0)
95
- public_suffix (5.1.1)
96
- racc (1.8.0)
423
+ public_suffix (7.0.5)
424
+ racc (1.8.1)
425
+ rack (3.2.6)
426
+ rack-session (2.1.2)
427
+ base64 (>= 0.1.0)
428
+ rack (>= 3.0.0)
429
+ rack-test (2.2.0)
430
+ rack (>= 1.3)
431
+ rails-dom-testing (2.3.0)
432
+ activesupport (>= 5.0.0)
433
+ minitest
434
+ nokogiri (>= 1.6)
435
+ rails-html-sanitizer (1.7.1)
436
+ loofah (~> 2.25, >= 2.25.2)
437
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
97
438
  rainbow (3.1.1)
98
- rake (13.2.1)
99
- regexp_parser (2.9.2)
439
+ rake (13.4.2)
440
+ rake-compiler-dock (1.12.0)
441
+ rb_sys (0.9.128)
442
+ rake-compiler-dock (= 1.12.0)
443
+ redis (5.4.1)
444
+ redis-client (>= 0.22.0)
445
+ redis-client (0.30.1)
446
+ connection_pool
447
+ regexp_parser (2.12.0)
100
448
  retriable (3.1.2)
101
- rexml (3.3.0)
102
- strscan
103
- rouge (4.3.0)
104
- rspec (3.13.0)
449
+ rexml (3.4.4)
450
+ rouge (5.0.0)
451
+ strscan (~> 3.1)
452
+ rspec (3.13.2)
105
453
  rspec-core (~> 3.13.0)
106
454
  rspec-expectations (~> 3.13.0)
107
455
  rspec-mocks (~> 3.13.0)
108
- rspec-core (3.13.0)
456
+ rspec-core (3.13.6)
109
457
  rspec-support (~> 3.13.0)
110
- rspec-expectations (3.13.1)
458
+ rspec-expectations (3.13.5)
111
459
  diff-lcs (>= 1.2.0, < 2.0)
112
460
  rspec-support (~> 3.13.0)
113
- rspec-mocks (3.13.1)
461
+ rspec-mocks (3.13.8)
114
462
  diff-lcs (>= 1.2.0, < 2.0)
115
463
  rspec-support (~> 3.13.0)
116
- rspec-parameterized (1.0.2)
117
- rspec-parameterized-core (< 2)
118
- rspec-parameterized-table_syntax (< 2)
119
- rspec-parameterized-core (1.0.1)
464
+ rspec-parameterized (2.0.1)
465
+ rspec-parameterized-core (>= 2, < 3)
466
+ rspec-parameterized-table_syntax (>= 2, < 3)
467
+ rspec-parameterized-core (2.0.2)
120
468
  parser
469
+ prism
121
470
  proc_to_ast (>= 0.2.0)
122
471
  rspec (>= 2.13, < 4)
123
472
  unparser
124
- rspec-parameterized-table_syntax (1.0.1)
125
- binding_of_caller
126
- rspec-parameterized-core (< 2)
127
- rspec-support (3.13.1)
128
- rubocop (1.64.1)
473
+ rspec-parameterized-table_syntax (2.1.1)
474
+ binding_of_caller (>= 2)
475
+ rspec-parameterized-core (>= 2, < 3)
476
+ rspec-support (3.13.7)
477
+ rubocop (1.89.0)
129
478
  json (~> 2.3)
130
- language_server-protocol (>= 3.17.0)
131
- parallel (~> 1.10)
479
+ language_server-protocol (~> 3.17.0.2)
480
+ lint_roller (~> 1.1.0)
481
+ parallel (>= 1.10)
132
482
  parser (>= 3.3.0.2)
133
483
  rainbow (>= 2.2.2, < 4.0)
134
- regexp_parser (>= 1.8, < 3.0)
135
- rexml (>= 3.2.5, < 4.0)
136
- rubocop-ast (>= 1.31.1, < 2.0)
484
+ regexp_parser (>= 2.9.3, < 3.0)
485
+ rubocop-ast (>= 1.49.0, < 2.0)
137
486
  ruby-progressbar (~> 1.7)
138
- unicode-display_width (>= 2.4.0, < 3.0)
139
- rubocop-ast (1.31.3)
140
- parser (>= 3.3.1.0)
487
+ unicode-display_width (>= 2.4.0, < 4.0)
488
+ rubocop-ast (1.50.0)
489
+ parser (>= 3.3.7.2)
490
+ prism (~> 1.7)
141
491
  ruby-progressbar (1.13.0)
142
- securerandom (0.3.2)
143
- strscan (3.1.0)
492
+ securerandom (0.4.1)
493
+ simpleidn (0.2.3)
494
+ strscan (3.1.8)
144
495
  terminal-table (4.0.0)
145
496
  unicode-display_width (>= 1.1.1, < 4)
146
- timecop (0.9.10)
497
+ thrift (0.24.0)
498
+ logger
499
+ timecop (0.9.11)
147
500
  tzinfo (2.0.6)
148
501
  concurrent-ruby (~> 1.0)
149
- unicode-display_width (2.5.0)
150
- unparser (0.6.15)
151
- diff-lcs (~> 1.3)
502
+ unicode-display_width (3.2.0)
503
+ unicode-emoji (~> 4.1)
504
+ unicode-emoji (4.2.0)
505
+ unparser (0.9.0)
506
+ diff-lcs (>= 1.6, < 3)
152
507
  parser (>= 3.3.0)
153
- uri (1.0.2)
508
+ prism (>= 1.5.1)
509
+ uri (1.1.1)
510
+ useragent (0.16.11)
154
511
  vcr (6.2.0)
155
512
  version_sorter (2.3.0)
156
513
  webmock (3.18.1)
@@ -159,13 +516,14 @@ GEM
159
516
  hashdiff (>= 0.4.0, < 2.0.0)
160
517
 
161
518
  PLATFORMS
162
- arm64-darwin-21
163
- arm64-darwin-22
164
- arm64-darwin-23
165
- ruby
166
- x86_64-darwin-20
167
- x86_64-darwin-22
168
- x86_64-linux
519
+ aarch64-linux-gnu
520
+ aarch64-linux-musl
521
+ arm-linux-gnu
522
+ arm-linux-musl
523
+ arm64-darwin
524
+ x86_64-darwin
525
+ x86_64-linux-gnu
526
+ x86_64-linux-musl
169
527
 
170
528
  DEPENDENCIES
171
529
  activesupport (~> 8.0)
@@ -184,4 +542,4 @@ DEPENDENCIES
184
542
  webmock (~> 3.18.0)
185
543
 
186
544
  BUNDLED WITH
187
- 2.5.13
545
+ 4.0.17
data/README.md CHANGED
@@ -44,8 +44,6 @@ There are different methods available:
44
44
 
45
45
  To make use of it:
46
46
 
47
- 1. Create a personal access token with `read_api` scope.
48
- 1. Store it in an environment variable called `RELEASES_GITLAB_READ_TOKEN`.
49
47
  1. Open up an irb session:
50
48
 
51
49
  ```ruby
@@ -89,6 +87,13 @@ To make use of it:
89
87
 
90
88
  ```
91
89
 
90
+ ### Authentication
91
+
92
+ No token is needed. Both data sources are public.
93
+
94
+ `RELEASES_GITLAB_READ_TOKEN` is optional: when it is set, its value is sent as a
95
+ `Private-Token` header on requests to [versions.gitlab.com](https://version.gitlab.com/).
96
+
92
97
  ## Contributing
93
98
 
94
99
  Bug reports and feature requests are welcome on the [Delivery team tracker]. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://gitlab.com/gitlab-org/ruby/gems/gitlab-releases/-/blob/main/CODE_OF_CONDUCT.md).
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'gitlab-labkit'
4
+
5
+ module GitlabReleases
6
+ class << self
7
+ def configure
8
+ yield self
9
+ end
10
+
11
+ def logger
12
+ @logger ||= begin
13
+ l = Labkit::Logging::JsonLogger.new(log_output)
14
+ l.level = ::Logger::INFO
15
+ configure_http_logging(l)
16
+ l
17
+ end
18
+ end
19
+
20
+ def logger=(new_logger)
21
+ @logger = new_logger
22
+ configure_http_logging(new_logger) if new_logger
23
+ end
24
+
25
+ def log_output
26
+ @log_output ||= File::NULL
27
+ end
28
+
29
+ def log_output=(output)
30
+ @log_output = output
31
+ @logger = nil
32
+ logger
33
+ end
34
+
35
+ private
36
+
37
+ def configure_http_logging(logger)
38
+ HTTP.default_options = HTTP::Options.new(features: { logging: { logger: logger } })
39
+ ReleaseVersionClient.default_options.update(logger: logger, log_level: :info)
40
+ end
41
+ end
42
+ end
@@ -2,23 +2,27 @@
2
2
 
3
3
  require 'gitlab/request'
4
4
  require 'gitlab'
5
+ require_relative 'logger'
5
6
 
6
7
  class ReleaseVersionClient < Gitlab::Request
7
8
  base_uri 'https://version.gitlab.com'
8
- headers 'Private-Token' => -> { api_token }
9
9
 
10
10
  # Get the latest version information
11
11
  #
12
12
  # Returns an Array of Gitlab::ObjectifiedHash objects
13
13
  def self.versions
14
- get('/api/v1/versions', query: { per_page: 50 })
14
+ get('/api/v1/versions', query: { per_page: 50 }, headers: auth_headers)
15
15
  end
16
16
 
17
- def self.api_token
18
- ENV.fetch('RELEASES_GITLAB_READ_TOKEN') do |name|
19
- raise "Must specify `#{name}` environment variable!"
20
- end
17
+ # The versions endpoint is public, so the token is optional. When set, it is
18
+ # sent so that the gem keeps working if the endpoint starts requiring auth.
19
+ def self.auth_headers
20
+ token = ENV.fetch('RELEASES_GITLAB_READ_TOKEN', nil)
21
+
22
+ return {} if token.to_s.empty?
23
+
24
+ { 'Private-Token' => token }
21
25
  end
22
26
 
23
- private_class_method :api_token
27
+ private_class_method :auth_headers
24
28
  end
@@ -4,6 +4,7 @@ require 'version_sorter'
4
4
  require 'retriable'
5
5
  require 'http'
6
6
  require_relative 'release_version_client'
7
+ require_relative 'logger'
7
8
 
8
9
  # Wrapper to interact with GitLab release versions. Versions are fetched
9
10
  # from two sources:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GitlabReleases
4
- VERSION = "2.0.0"
4
+ VERSION = "2.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-releases
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mayra Cabrera
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2026-05-05 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -44,6 +43,26 @@ dependencies:
44
43
  - - "<"
45
44
  - !ruby/object:Gem::Version
46
45
  version: 7.x
46
+ - !ruby/object:Gem::Dependency
47
+ name: gitlab-labkit
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.5.1
53
+ - - "<"
54
+ - !ruby/object:Gem::Version
55
+ version: '5.0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.5.1
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '5.0'
47
66
  - !ruby/object:Gem::Dependency
48
67
  name: http
49
68
  requirement: !ruby/object:Gem::Requirement
@@ -92,7 +111,6 @@ dependencies:
92
111
  - - "~>"
93
112
  - !ruby/object:Gem::Version
94
113
  version: 2.3.0
95
- description:
96
114
  email:
97
115
  - mcabrera@gitlab.com
98
116
  executables: []
@@ -113,6 +131,7 @@ files:
113
131
  - lib/gitlab_releases.rb
114
132
  - lib/gitlab_releases/date_calculator.rb
115
133
  - lib/gitlab_releases/errors.rb
134
+ - lib/gitlab_releases/logger.rb
116
135
  - lib/gitlab_releases/patch_date_calculator.rb
117
136
  - lib/gitlab_releases/release_calculator.rb
118
137
  - lib/gitlab_releases/release_version.rb
@@ -128,7 +147,6 @@ metadata:
128
147
  homepage_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab-releases
129
148
  source_code_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab-releases
130
149
  changelog_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab-releases/-/blob/main/CHANGELOG.md
131
- post_install_message:
132
150
  rdoc_options: []
133
151
  require_paths:
134
152
  - lib
@@ -136,15 +154,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
154
  requirements:
137
155
  - - ">="
138
156
  - !ruby/object:Gem::Version
139
- version: 3.3.0
157
+ version: '3.3'
140
158
  required_rubygems_version: !ruby/object:Gem::Requirement
141
159
  requirements:
142
160
  - - ">="
143
161
  - !ruby/object:Gem::Version
144
162
  version: '0'
145
163
  requirements: []
146
- rubygems_version: 3.5.9
147
- signing_key:
164
+ rubygems_version: 3.6.9
148
165
  specification_version: 4
149
166
  summary: Utilities for GitLab releases and versions
150
167
  test_files: []