Skip to content

build(deps): Update git requirement from ~> 4.0 to ~> 5.0 - #429

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/bundler/git-tw-5.0
Open

build(deps): Update git requirement from ~> 4.0 to ~> 5.0#429
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/bundler/git-tw-5.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 29, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on git to permit the latest version.

Release notes

Sourced from git's releases.

v5.0.0

5.0.0 (2026-07-28)

� BREAKING CHANGES

  • Git::Base and Git::Lib are removed. All public API is now surfaced through Git::Repository (for repo-bound operations) and the Git module-level methods (Git.open, .clone, .init, .bare, .default_branch, .git_version). Internal command execution goes through Git::Commands::* and Git::ExecutionContext, not Git::Lib.
  • Git.open, Git.bare, Git.clone, and Git.init now return Git::Repository instead of Git::Base. Code that depends on the Git::Base return type must be updated to use Git::Repository. Git::Repository provides all the same public API methods as Git::Base.
  • arguments: flag_option :foo, negatable: true no longer accepts false to emit --no-foo. Before: bind(foo: false) => ["--no-foo"]. After: register two entries; bind(no_foo: true) => ["--no-foo"]. Callers passing foo: false expecting --no-foo will silently get nothing emitted.

Features

  • Add branch_current delegator to Git::Base (8b92b54)
  • Add deprecated config_get/list/set aliases to Git::Repository::Configuring (fb964d3)
  • Add deprecated conflicts wrapper on Git::Repository::Merging (cc3907d)
  • Add deprecated empty? wrapper on Git::Repository::StatusOperations (e0dbd1c)
  • Add deprecated Git::Repository::Stashing#stash_list facade (9e532bd)
  • Add Git::Base compatibility shim with deprecation warnings (d37710b)
  • Add Git::MINIMUM_GIT_VERSION constant (d5c8604)
  • Add Git::Repository remote_names facade method (4f52a7b)
  • Add Git::Repository::Branching#change_head_branch facade (e8d6af6)
  • Add Git::Repository::Branching#current_branch_state facade (fa798a7)
  • Add Git::Repository::Configuring#global_config facade and deprecated aliases (12b2e59)
  • Add Git::Repository::Diffing#diff factory (33db465)
  • Add Git::Repository::Merging#unmerged facade (7d4b1fe)
  • Add Git::Repository::RemoteOperations#ls_remote facade (4c63567)
  • Add Git::Repository#branches factory to Branching module (92e4cc6)
  • Add Git::RepositoryContext and Git::GlobalContext (Phase 3 Task 1) (e2b94ca)
  • Add Git::Version class for git binary versions (d97b5e3)
  • Add Git::VersionConstraint value object (28599f0)
  • Add Git::VersionError exception class (8ed8713)
  • Add upstream and upstream_remote to Git::Branch (ef16e94), closes #1270
  • Allow deprecation behavior env var (49ae5a8)
  • api: Add Git.git_version method (7ae54f3), closes #1249
  • arguments: Replace negatable tri-state with no_{flag} companion key (#1260) (e305922)
  • base: Add diff_numstat delegator to Git::Base (5a8a0ec)
  • base: Add Git::Base delegators for 23 Bucket 6 orphans (513e6a2)
  • base: Add Git::Base#git_version delegator (026f738)
  • branching: Add deprecated is_branch?/is_local_branch?/is_remote_branch? stubs (9484e4f)
  • branching: Add local_branch?, remote_branch?, branch? facade methods (14dd2b3)
  • commands: Add Git::Commands::Maintenance subcommand classes (5404c5a)
  • commands: Add requires_git_version macro and validation (3c1f1ec)
  • commands: Add validate_version! to custom #call implementations (9deec1f)
  • config: Add Git::Configuring mixin, parsers, and ConfigEntryInfo (cf0d813)
  • config: Extend Git::Configuring into the Git module (eb5be7a)
  • config: Include Git::Configuring in Git::Repository and remove clashing deprecated aliases (68ca900)
  • diff_stats: Migrate DiffStats to Git::Repository and add diff_stats factory (1a7b28f)
  • execution-context: Add binary_path: keyword and retire Open3 stopgap (bf94218)
  • execution-context: Forward binary_path from Git::Base via from_base (8e9af8f)
  • Extend config() with :file option for reads; add deprecated parse_config wrapper (c2be049)

... (truncated)

Changelog

Sourced from git's changelog.

5.0.0 (2026-07-28)

v5.0.0 is a complete architectural redesign of the git gem. The monolithic Git::Base and Git::Lib classes have been replaced by a layered design: Git::Commands::* for git command execution, Git::Repository as the public API surface, and dedicated parser classes. Most v4.x code requires no changes — compatibility shims emit deprecation warnings pointing to the v5.x equivalents.

For a full migration guide, including deprecated method renames and code examples, see https://github.com/ruby-git/ruby-git/blob/main/UPGRADING.md.

⚠ BREAKING CHANGES

  • Git::Base class removed; constant remains as a deprecated shim. Git::Base.new raises an error and require 'git/base' raises LoadError. The Git::Base constant still exists as a deprecated module included in Git::Repository, so is_a?(Git::Base) checks and monkeypatches continue to work but emit deprecation warnings. Update explicit Git::Base class references to use Git::Repository; the shim is removed in v6.0.0.
  • Git::Lib removed. Calling #lib on a repository object returns self with a deprecation warning (forwarding to Git::Repository methods where possible), but Git::Lib itself no longer exists. Methods unique to Git::Lib with no Git::Repository counterpart raise NoMethodError.
  • Git.open, Git.bare, Git.clone, and Git.init return Git::Repository instead of Git::Base. For most callers this is transparent. Code that explicitly checks is_a?(Git::Base) must be updated to is_a?(Git::Repository).
  • Unsupported options now raise ArgumentError. Unknown keyword options that were silently ignored in v4.x may now raise ArgumentError. Check option names against the documented API when upgrading.
  • Git::Log#object is not a path limiter. Use Git::Log#path to filter log results by file path.
  • Git::CommandLineResult is deprecated (removed in v6.0.0). Use Git::CommandLine::Result instead.

For the full list of commits included in this release, see the v5.0.0 commit history.

4.1.2 (2026-01-10)

Other Changes

  • Add Continuity section to Governance (a2f644c)
  • Add Roberto Decurnex to Maintainers Emeritus (5104537)
  • Enable releases from 4.x maintenance branch (5377de6)
  • Move inactive maintainers to Emeritus per governance policy (f09e4d1)

4.1.1 (2026-01-09)

... (truncated)

Commits
  • b28c306 chore: release v5.0.0
  • 8887679 docs: announce v5.0.0 stable release in README
  • 5ca6280 docs: fold remaining threads into #1635 and #1640
  • d7d1c37 docs: track Git::Remote deprecation (#1643) in migration plan
  • 4998b40 docs: add Info/DAO migration plan and issue index to redesign/
  • 0b8d98d docs: improve README clarity and accuracy
  • 413074b test: cover merge BranchInfo coercion
  • e56913e fix(branch): wire branch_list slash remote parsing
  • 6f8f43a fix(branch): parse slash remote names
  • 9524654 docs: add branch_parse_refactor_plan to redesign/
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [git](https://github.com/ruby-git/ruby-git) to permit the latest version.
- [Release notes](https://github.com/ruby-git/ruby-git/releases)
- [Changelog](https://github.com/ruby-git/ruby-git/blob/main/CHANGELOG.md)
- [Commits](ruby-git/ruby-git@v4.0.0...v5.0.0)

---
updated-dependencies:
- dependency-name: git
  dependency-version: 5.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Jul 29, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner July 29, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants