Homebrew formula clashes with formula produce by Boot 4.1

オープン 初心者向け
#50,907 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
領域
release

調査の方向性

spring-io/homebrew-tap リポジトリの spring-boot.rb formula から始め、そのコミット履歴を確認して、3.5.x と 4.x の更新がどのように交互に行われているかを理解します。並行するメジャーリリースの formula に関する Homebrew の慣例を確認し、そのうえで spring-boot がプライマリラインを追跡し、spring-boot@3 が 3.x のメンテナンスラインを独立して追跡していることを検証します。

索引モデルが issue の本文から書いたものです。

説明

status: team-only type: bug

The spring-boot.rb Homebrew formula in spring-io/homebrew-tap tracks
both the 3.5.x maintenance line and the 4.0.x line in the same formula
file. The spring-builds bot alternates between the two lines on
nearly every release, sometimes upgrading to the 4.x line first and
then reverting to 3.x shortly after, and sometimes the other way
around, for example:

  • 2026-06-25: Upgrade to Spring Boot 3.5.16
  • 2026-06-10: Upgrade to Spring Boot 4.1.0 → then Upgrade to Spring Boot 4.0.7 → then Upgrade to Spring Boot 3.5.15
  • 2026-04-23: Upgrade to Spring Boot 4.0.6 → then Upgrade to Spring Boot 3.5.14
  • 2026-03-26: Upgrade to Spring Boot 3.5.13 → then Upgrade to Spring Boot 4.0.5
  • 2026-03-19: Upgrade to Spring Boot 4.0.4 → then Upgrade to Spring Boot 3.5.12
  • 2026-02-19: Upgrade to Spring Boot 3.5.11 → then Upgrade to Spring Boot 4.0.3
  • 2026-01-22: Upgrade to Spring Boot 3.5.10 → then Upgrade to Spring Boot 4.0.2

Full commit history: https://github.com/spring-io/homebrew-tap/commits/main/spring-boot.rb

Because the formula only ever points at a single URL/version at a time,
the outcome of brew install spring-boot or brew upgrade depends
entirely on which of the two lines the bot last committed at the
moment the user runs the command — not on any explicit choice by the
user. Two users installing on different days can end up with a 3.x or
a 4.x CLI without ever intending to pick a specific major version.

Since Homebrew never downgrades a formula automatically, this also
means a user who happens to install while the formula points at 4.0.x
stays on that version indefinitely once the bot flips back to 3.5.x,
since brew upgrade will not revert them to a "lower" tracked version.
brew info then reports the 3.5.x line as current/stable while the
installed keg silently remains on 4.0.x, with no indication that this
happened due to timing rather than intent.

Suggested fix: split the formula into two, following the standard
Homebrew convention for parallel major release lines, e.g.:

  • spring-boot → tracks the primary/latest line
  • spring-boot@3 → tracks the 3.x maintenance line

This would let users explicitly choose which major version to install
and upgrade, instead of the outcome being determined by upgrade timing.

Happy to provide more detail or help test a fix if useful.

主要言語
Java
スター
81.8k
フォーク
43.5k
平均マージ
3日 13時間
マージ済み PR(30日)
90

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

spring-projects/spring-boot のほかの issue

spring-projects/spring-boot の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。