kettle-dev 3.1.8 → 3.1.9

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: 78a3ee1fd963f1a7cb5b8a4c0f0a7ad45b13245a6ad3359505f230298b29a6f6
4
- data.tar.gz: 647c9da39ce601b3279cfe863cde3986006040cc26ae81ffe51f91164acb9b46
3
+ metadata.gz: 452c1019273fac5fa450b42b6bf0d24fee016a6641971eeb3c5bddcf08efaa64
4
+ data.tar.gz: 4919f5ac1cd4aeb579da6ae378109923cf7fe86c6568b77ab42101e2f8bd4087
5
5
  SHA512:
6
- metadata.gz: 2f18613e1d4d7459c3537c710caa4b705eb940c55342d65d96657ebf992961464a1f79e2511505026af8d0726d1738fd6e9ebcd6cd9d306d77f9a90ae0f55228
7
- data.tar.gz: 95d49245a2e0335c60a12ce97b20a46db0e921ec35c943641fc973c71391875d12f4d82164a222012e777b18a82c84fdfc2ad5a52aa825a67501ba7312efdba7
6
+ metadata.gz: 58be74c463a06ea48b7571ec6fffa36bcaca0da0eb5e1a7cab2b4d3765f7fe2a4be2932f1cf09bfc496c97a9fa32badcf36182eabcdf58e61f5eb8c7242c9d41
7
+ data.tar.gz: 6e679af06a75e16ff6321f348cae64f8fa8c6884408f4fca7f20c7d5d8b5498bd4cf6bac270c0dc04a84747f3e67dffe7562c89e15d91afc38d11dd7f59e82f6
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,26 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.1.9] - 2026-10-09
34
+
35
+ - TAG: [v3.1.9][3.1.9t]
36
+ - COVERAGE: 91.79% -- 6291/6854 lines in 49 files
37
+ - BRANCH COVERAGE: 75.97% -- 2397/3155 branches in 49 files
38
+ - 51.77% documented
39
+
40
+ ### Changed
41
+
42
+ - [kc] kettle-jem/prepare: updated 5 project files:
43
+ - dependencies (5)
44
+
45
+ - [kc] kettle-jem/template: updated 3 project files:
46
+ - code and tests (2)
47
+ - other (1)
48
+
49
+ ### Fixed
50
+
51
+ - [kc] bundler-pin-no-prerelease: Release step 1 (`update_bundler_and_commit!`) and `appraisal:update` pin the Bundler version when running `bundle update --bundler` instead of leaving it bare. A bare `--bundler` resolves to whatever RubyGems reports as bundler's "latest", which includes prereleases: bundler published `4.1.0.beta1` as latest, so a bare update installed the beta and rewrote `BUNDLED WITH` to it. That beta vendors its own copy of rubygems' URI constants, and loading it against rubygems' copy emits a wall of `already initialized constant Gem::URI::...` warnings on stderr, which broke any spec shelling out to an executable and asserting clean stderr — failing a later release at its coverage step. Pinning matches `LockfileReset#lockfile_command`, which already documents this hazard.
52
+
33
53
  ## [3.1.8] - 2026-10-07
34
54
 
35
55
  - TAG: [v3.1.8][3.1.8t]
@@ -4001,7 +4021,9 @@ Please file a bug if you notice a violation of semantic versioning.
4001
4021
  - Selecting will run the selected workflow via `act`
4002
4022
  - This may move to its own gem in the future.
4003
4023
 
4004
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.8...HEAD
4024
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.9...HEAD
4025
+ [3.1.9]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.8...v3.1.9
4026
+ [3.1.9t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.9
4005
4027
  [3.1.8]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.7...v3.1.8
4006
4028
  [3.1.8t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.8
4007
4029
  [3.1.7]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.6...v3.1.7
@@ -6,6 +6,16 @@ begin
6
6
  require "kettle/dev/lockfile_reset"
7
7
 
8
8
  bundle = "bundle"
9
+ # The exact Bundler running this rake, so `bundle update --bundler=VERSION`
10
+ # records it instead of resolving to RubyGems' "latest" bundler, which can be
11
+ # a prerelease. Falls back to the bare flag only if no version is
12
+ # determinable, preserving prior behaviour rather than failing.
13
+ bundler_version = if defined?(Bundler) && Bundler::VERSION
14
+ Bundler::VERSION
15
+ elsif (bundler_spec = Gem.loaded_specs["bundler"])
16
+ bundler_spec.version.to_s
17
+ end
18
+ bundler_version_arg = bundler_version ? "--bundler=#{bundler_version}" : "--bundler"
9
19
  unbundled_env = Kettle::Dev::LockfileReset::UNBUNDLED_ENV_KEYS.each_with_object({}) do |key, env|
10
20
  env[key] = nil
11
21
  end
@@ -144,13 +154,20 @@ begin
144
154
  "--quiet"
145
155
  )
146
156
 
147
- # 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler
157
+ # 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler=<version>
158
+ #
159
+ # Pinned to the executing Bundler. A bare `--bundler` resolves to
160
+ # whatever RubyGems reports as bundler's "latest", which includes
161
+ # prereleases, so it can install a beta and record it in BUNDLED WITH;
162
+ # that beta's vendored URI then collides with rubygems' copy and
163
+ # spams stderr. See ReleaseCLI#update_bundler_and_commit! and
164
+ # LockfileReset#lockfile_command for the same hazard.
148
165
  run_command.call(
149
166
  "appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler",
150
167
  appraisal_env,
151
168
  bundle,
152
169
  "update",
153
- "--bundler"
170
+ bundler_version_arg
154
171
  )
155
172
 
156
173
  # 3) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install
@@ -1864,14 +1864,26 @@ module Kettle
1864
1864
  # Keep Bundler maintenance separate from the release metadata commit.
1865
1865
  # The project lockfiles are shared development state, so the update must
1866
1866
  # be real and committed rather than hidden behind a temporary lockfile.
1867
+ #
1868
+ # The version is pinned to the Bundler actually executing rather than left
1869
+ # bare. `bundle update --bundler` resolves to whatever RubyGems reports as
1870
+ # bundler's "latest", which includes prereleases: bundler published
1871
+ # 4.1.0.beta1 as latest, so a bare update installed the beta and rewrote
1872
+ # BUNDLED WITH to it. That beta vendors its own copy of rubygems' URI
1873
+ # constants, and loading it against rubygems' copy emits a wall of
1874
+ # "already initialized constant Gem::URI::..." warnings on stderr, which
1875
+ # broke any spec shelling out to the executable and asserting clean stderr
1876
+ # — failing a later release at its coverage step. Pinning matches
1877
+ # LockfileReset#lockfile_command, which already documents this hazard.
1867
1878
  def update_bundler_and_commit!
1868
- run_cmd!(release_project_command("bundle update --bundler"))
1879
+ bundler_version = Shellwords.escape(Bundler::VERSION)
1880
+ run_cmd!(release_project_command("bundle update --bundler=#{bundler_version}"))
1869
1881
 
1870
1882
  appraisal_gemfile = File.join(@root, "Appraisal.root.gemfile")
1871
1883
  if File.file?(appraisal_gemfile)
1872
1884
  appraisal_lockfile = File.join(@root, "Appraisal.root.gemfile.lock")
1873
1885
  appraisal_command = "BUNDLE_GEMFILE=#{Shellwords.escape(appraisal_gemfile)} " \
1874
- "BUNDLE_LOCKFILE=#{Shellwords.escape(appraisal_lockfile)} bundle update --bundler"
1886
+ "BUNDLE_LOCKFILE=#{Shellwords.escape(appraisal_lockfile)} bundle update --bundler=#{bundler_version}"
1875
1887
  run_cmd!(release_project_command(appraisal_command))
1876
1888
  run_cmd!(release_project_command("bundle exec rake appraisal:reset"))
1877
1889
  end
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "3.1.8"
8
+ VERSION = "3.1.9"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.8
4
+ version: 3.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -276,7 +276,7 @@ dependencies:
276
276
  version: '3.2'
277
277
  - - ">="
278
278
  - !ruby/object:Gem::Version
279
- version: 3.2.13
279
+ version: 3.2.14
280
280
  type: :development
281
281
  prerelease: false
282
282
  version_requirements: !ruby/object:Gem::Requirement
@@ -286,7 +286,7 @@ dependencies:
286
286
  version: '3.2'
287
287
  - - ">="
288
288
  - !ruby/object:Gem::Version
289
- version: 3.2.13
289
+ version: 3.2.14
290
290
  - !ruby/object:Gem::Dependency
291
291
  name: stone_checksums
292
292
  requirement: !ruby/object:Gem::Requirement
@@ -422,10 +422,10 @@ licenses:
422
422
  - AGPL-3.0-only
423
423
  metadata:
424
424
  homepage_uri: https://kettle-dev.galtzo.com
425
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.8
426
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.8/CHANGELOG.md
425
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.9
426
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.9/CHANGELOG.md
427
427
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
428
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.8
428
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.9
429
429
  funding_uri: https://github.com/sponsors/pboling
430
430
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
431
431
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file