Skip to content

fix(git): publish 2.48.0 as the minimum supported version - #7816

Merged
viceice merged 1 commit into
mainfrom
viceice/feat/scm-min-2.48
Oct 15, 2026
Merged

viceice merged 1 commit into
mainfrom
viceice/feat/scm-min-2.48

Conversation

@viceice

@viceice viceice commented Oct 15, 2026

Copy link
Copy Markdown
Member

Changes

Publishes git's minimum supported version as 2.48.0 (the oldest minor that still gets security fixes, and the first containerbase git prebuild), so tool-versions lists git from there. The installer still accepts any installed git from 2.33.0 (Renovate's minimum), so nothing changes for installs yet: the PPA keeps installing the newest git whatever version is requested, and Ubuntu's own git still passes when apt can't use the PPA.

Context

Please select one of the following:

  • This closes an existing Issue, Closes: #
  • This doesn't close an Issue, but I accept the risk that this PR may be closed if maintainers disagree with its opening or implementation

Part of #188.

AI assistance disclosure

Did you use AI tools to create any part of this pull request?

Please select one option and, if yes, briefly describe how AI was used (e.g., code, tests, docs) and which tool(s) you used.

  • No — I did not use AI for this contribution.
  • Yes — minimal assistance (e.g., IDE autocomplete, small code completions, grammar fixes).
  • Yes — substantive assistance (AI-generated non‑trivial portions of code, tests, or documentation).
  • Yes — other (please describe):

Change and tests written with Claude Code (Claude Opus 5.5).

Use of AI in replying to PR comments

Who answers review comments:

  • @viceice will read and reply directly. Name the account.
  • An agent will draft replies and @username will read them before they are posted. Name the account.
  • An agent will draft replies and reply autonomously. This is heavily discouraged, and we prefer that there are humans in the loop
  • Nobody has explicitly committed to replying.

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified tests

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 25 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: containerbase/coderabbit/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 217d57cf-6734-4fdf-9c0b-dfb5f4aafca0
📥 Commits

Reviewing files that changed from the base of the PR and between 5f1e35f and 5a2c29e.

📒 Files selected for processing: 6
  • packages/base/data/tools.json
  • packages/base/src/data.ts
  • src/cli/install-tool/index.spec.ts
  • src/cli/tools/git/index.spec.ts
  • src/cli/tools/git/index.ts
  • test/packages/base.spec.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Publish Git 2.48.0 as the minimum without changing install acceptance

🐞 Bug fix 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Publish Git 2.48.0 as the supported minimum in tool metadata.
• Continue accepting installed Git 2.33.0 or newer when Ubuntu supplies an older version.
• Update metadata expectations and test the distinction between published and installed minimums.
Diagram

graph TD
  G["Git install service"] -->|"publishes 2.48.0"| S["Supported tools"] --> M["Base metadata"] --> V["Tool versions"]
  G --> A["Apt install"] --> C{"Git at least 2.33.0?"}
Loading
High-Level Assessment

Keep the published minimum separate from the installed-version check. Raising the check to 2.48.0 would reject usable Ubuntu Git when the PPA is unavailable; retaining 2.33.0 in published metadata would not communicate the new support floor.

Files changed (6) +27 / -8

Bug fix (1) +12 / -4
index.tsSeparate published and installed Git minimums +12/-4

Separate published and installed Git minimums

• Publishes 2.48.0 through the service's minVersion property while retaining 2.33.0 for installed-version validation. Apt installation behavior and its handling of the requested version remain unchanged.

src/cli/tools/git/index.ts

Tests (3) +13 / -2
index.spec.tsExpect the new Git minimum in supported-tool listings +1/-1

Expect the new Git minimum in supported-tool listings

• Updates the supported-tools assertion to expect Git's published 2.48.0 minimum.

src/cli/install-tool/index.spec.ts

index.spec.tsTest acceptance of Git below the published minimum +11/-0

Test acceptance of Git below the published minimum

• Adds a test showing that installation accepts Ubuntu Git 2.34.1 while the service publishes 2.48.0.

src/cli/tools/git/index.spec.ts

base.spec.tsExpect Git 2.48.0 in base package metadata +1/-1

Expect Git 2.48.0 in base package metadata

• Updates the minimum-version expectation for the generated tool catalog.

test/packages/base.spec.ts

Other (2) +2 / -2
tools.jsonPublish Git 2.48.0 in JSON tool metadata +1/-1

Publish Git 2.48.0 in JSON tool metadata

• Raises Git's advertised minimum from 2.33.0 to 2.48.0.

packages/base/data/tools.json

data.tsAlign generated TypeScript tool metadata +1/-1

Align generated TypeScript tool metadata

• Raises the Git minimum to 2.48.0 in the TypeScript tool catalog.

packages/base/src/data.ts

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

📎 Requirement gaps (2)

Grey Divider


Action required

1. Published Git versions lack release backing 📎 Requirement gap
Description
The base metadata raises Git's published minVersion to 2.48.0 as a hard-coded value without
adding any prebuild release discovery or platform artifact configuration. Consumers can therefore
publish 2.48.0 from metadata even when a matching containerbase/git-prebuild release is absent.
Code

packages/base/data/tools.json[31]

+    "git": { "root": true, "minVersion": "2.48.0" },
Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Git's published minimum is hard-coded in package metadata, but this change does not connect publication to available `containerbase/git-prebuild` releases or verify that the required platform artifacts exist.

## Fix Focus Areas
- packages/base/data/tools.json[31-31]
- packages/base/src/data.ts[36-36]

## Recommended Fix
Make Git version publication consume the available prebuild release versions, or add the release-backed generation and validation needed to ensure every published Git version has matching prebuild artifacts for all supported platforms.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗



View low (1)
Informational
2. Git installs still ignore requested versions 📎 Requirement gap
Description
GitInstallService.install() continues installing through the Git PPA and discards the requested
_version instead of downloading the requested prebuilt release. Any installation request,
including the newly published 2.48.0 minimum, receives whatever version the PPA currently serves.
Code

src/cli/tools/git/index.ts[19]

+const minVersion = '2.48.0';
Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Git still installs from the PPA and ignores the requested version, so publishing `2.48.0` does not install the requested prebuilt Git release.

## Fix Focus Areas
- src/cli/tools/git/index.ts[19-27]
- src/cli/tools/git/index.ts[80-94]

## Recommended Fix
Replace the PPA-based installation path with a root-only download and extraction flow for the requested `containerbase/git-prebuild` release, while retaining the installed-version validation and existing system-wide Git behavior.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread packages/base/data/tools.json
@viceice
viceice enabled auto-merge October 15, 2026 12:09
@viceice
viceice added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit a28df74 Oct 15, 2026
59 checks passed
@viceice
viceice deleted the viceice/feat/scm-min-2.48 branch October 15, 2026 12:24
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 14.41.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant