kettle-family 1.2.71 → 1.2.72

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: 8c61cfdc32555584613be9cc40abc3f43596619d6dcaa50296c7c2d0a5a91cdd
4
- data.tar.gz: f7430c5af93088a425052e2f387a11bd84e43ba861ec417bf12bd26f14a4da7e
3
+ metadata.gz: 266e37644edc6018b8703bf55cd6f20bf4db15c69697d28ea11e6ff1940fef37
4
+ data.tar.gz: 19ee1e19fdead5782076ec358f5d9989995775f31c721532dc8c38de9933a234
5
5
  SHA512:
6
- metadata.gz: 59b42741cd514d00252fdc0e3dec6c8c761d7151b977282b8f028ef29ff41b190564d2e4cd9527efc4eaf22790a35abf865dabc31635fd25b66481587be2afd5
7
- data.tar.gz: 86a21caf729f0a1bc47eac1b46953c17842e83b05d52ff60ada1018b3b3727e0aa1f7adae8be30d46aeaf1d7e3515ef5c62e008ed38aa724e5410fe143c14449
6
+ metadata.gz: bec417de6edd7bea0c58cb336d854ff52c9744447b31b5a37bcf4cfeb1710810a3245f34095d206bd68a1de36d30fc5532818ccf09959a4053f3dff32ac69b29
7
+ data.tar.gz: 07d41736e1d2e3577725a9382c65fbaa10c0a1308ccae0effa86a434a78994ea2cfb56d803325098b09c40af3b9653112986136dc7a7bd0deabb44209aea41f7
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,19 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.2.72] - 2026-08-30
34
+
35
+ - TAG: [v1.2.72][1.2.72t]
36
+ - COVERAGE: 93.32% -- 5535/5931 lines in 33 files
37
+ - BRANCH COVERAGE: 76.73% -- 2275/2965 branches in 33 files
38
+ - 30.50% documented
39
+
40
+ ### Fixed
41
+
42
+ - Exclude already-bumped local-changelog members from shared family bump selection.
43
+
44
+ - Propagate required shared-version bumps across shared-changelog members while keeping member-local changelogs independent.
45
+
33
46
  ## [1.2.71] - 2026-08-30
34
47
 
35
48
  - TAG: [v1.2.71][1.2.71t]
@@ -2357,7 +2370,9 @@ Please file a bug if you notice a violation of semantic versioning.
2357
2370
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
2358
2371
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
2359
2372
 
2360
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.71...HEAD
2373
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.72...HEAD
2374
+ [1.2.72]: https://github.com/kettle-dev/kettle-family/compare/v1.2.71...v1.2.72
2375
+ [1.2.72t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.72
2361
2376
  [1.2.71]: https://github.com/kettle-dev/kettle-family/compare/v1.2.70...v1.2.71
2362
2377
  [1.2.71t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.71
2363
2378
  [1.2.70]: https://github.com/kettle-dev/kettle-family/compare/v1.2.69...v1.2.70
@@ -702,8 +702,7 @@ module Kettle
702
702
  )
703
703
  selected = Selection.new(
704
704
  members: ordered,
705
- release_state_results: release_state_results,
706
- shared_version: config.shared_changelog?
705
+ release_state_results: release_state_results
707
706
  ).apply(only: effective_only, exclude: options[:exclude], start_at: start_at.member)
708
707
  result_members = selected
709
708
  display_members = display_members_for(command: command, config: config, members: ordered, selected_members: selected)
@@ -777,23 +777,11 @@ module Kettle
777
777
  end
778
778
 
779
779
  def normalize_shared_version_bump(results)
780
- return results unless results.any? { |result| result.ok? && result.state["bump_release_pending"] == true }
781
-
782
- successful = results.select(&:ok?)
783
- target_version = successful.filter_map { |result| parse_version(result.state["version"]) }.max
784
- released_version = successful.filter_map { |result| parse_version(result.state["latest_released"]) }.max
785
- target_already_bumped = target_version && released_version && target_version > released_version
780
+ shared_results = results.select { |result| result.ok? && shared_changelog_member_result?(result) }
781
+ return results unless shared_results.any? { |result| result.state["bump_release_pending"] == true }
786
782
 
787
783
  results.map do |result|
788
- next result unless result.ok?
789
-
790
- state = result.state
791
- version = parse_version(state["version"])
792
- bump_pending = if target_already_bumped && version == target_version
793
- false
794
- else
795
- state["bump_release_pending"] == true
796
- end
784
+ next result unless result.ok? && shared_changelog_member_result?(result)
797
785
 
798
786
  result.class.new(
799
787
  member_name: result.member_name,
@@ -804,17 +792,16 @@ module Kettle
804
792
  stdout: result.stdout,
805
793
  stderr: result.stderr,
806
794
  elapsed_seconds: result.elapsed_seconds,
807
- state: state.merge("bump_release_pending" => bump_pending),
795
+ state: result.state.merge("bump_release_pending" => true),
808
796
  reason: result.reason,
809
797
  branch: result.branch
810
798
  )
811
799
  end
812
800
  end
813
801
 
814
- def parse_version(value)
815
- Gem::Version.new(value.to_s) unless value.to_s.empty?
816
- rescue ArgumentError
817
- nil
802
+ def shared_changelog_member_result?(result)
803
+ member = members.find { |candidate| candidate.name == result.member_name }
804
+ member && !member_local_changelog?(member)
818
805
  end
819
806
 
820
807
  def git_root
@@ -30,10 +30,9 @@ module Kettle
30
30
  raise Error, "--only release-state tokens cannot be combined with member names: #{member_names.join(", ")}" unless member_names.empty?
31
31
  end
32
32
 
33
- def initialize(members:, release_state_results: nil, shared_version: false)
33
+ def initialize(members:, release_state_results: nil)
34
34
  @members = members
35
35
  @release_state_results = release_state_results
36
- @shared_version = shared_version
37
36
  end
38
37
 
39
38
  def apply(only: nil, exclude: nil, start_at: nil)
@@ -48,7 +47,7 @@ module Kettle
48
47
 
49
48
  private
50
49
 
51
- attr_reader :members, :release_state_results, :shared_version
50
+ attr_reader :members, :release_state_results
52
51
 
53
52
  def select_only(selected, only)
54
53
  names = only.split(",").map(&:strip).reject(&:empty?)
@@ -89,10 +88,6 @@ module Kettle
89
88
  failed = results_by_member.values.select { |result| !result.ok? }
90
89
  raise Error, "release-state check failed for: #{failed.map(&:member_name).join(", ")}" unless failed.empty?
91
90
 
92
- if shared_version && status_tokens.include?("bump")
93
- return selected if selected.any? { |candidate| truthy_state?(results_by_member[candidate.name]&.state&.fetch("bump_release_pending", nil)) }
94
- end
95
-
96
91
  selected.select do |candidate|
97
92
  result = results_by_member[candidate.name]
98
93
  result && status_tokens.all? { |token| truthy_state?(result.state[STATUS_TOKEN_KEYS.fetch(token)]) }
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "1.2.71"
8
+ VERSION = "1.2.72"
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-family
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.71
4
+ version: 1.2.72
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -441,10 +441,10 @@ licenses:
441
441
  - AGPL-3.0-only
442
442
  metadata:
443
443
  homepage_uri: https://kettle-family.galtzo.com
444
- source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.71
445
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.71/CHANGELOG.md
444
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.72
445
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.72/CHANGELOG.md
446
446
  bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
447
- documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.71
447
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.72
448
448
  funding_uri: https://github.com/sponsors/pboling
449
449
  wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
450
450
  news_uri: https://www.railsbling.com/tags/kettle-family
metadata.gz.sig CHANGED
Binary file