Skip to content

v2.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Jun 19:17
v2.6.0
7b37d89

Added

  • ngit merge merges a PR into the default branch as a no-ff merge commit (recording the PR nevent and author in the commit message) without pushing
  • ngit pr and ngit issue commands that accept a PR/issue event ID now accept unique hex prefixes, with or without a leading #; ambiguous prefixes fail with the matching items listed
  • ngit init -u ... / --u ... / --upstream ... publishes the informational NIP-34 u tag for subordinate forks, and ngit repo now displays/serializes existing u metadata without ever inventing it by default
  • ngit account connect as an alias for ngit account login -i (interactive nostr connect login) [hzd149]
  • Pushing commits that include issue-closing keywords (e.g. fixes / resolves) followed by # or nostr:nevent123 now auto-resolves referenced issues
  • Added env-var and git-config options to increase libgit2 HTTP connect and per-socket I/O timeouts, helpful for large pushes with git servers that may be silent for longer than the default timeout; NGIT_HTTP_CONNECT_TIMEOUT_MS / NGIT_HTTP_IO_TIMEOUT_MS override nostr.http-connect-timeout-ms / nostr.http-io-timeout-ms for one-off commands — thanks to new contributor mstrofnone
  • warn when newer ngit version available

Changed

  • Use git index relays along side relay hints to find repositories during cloning
  • Bump dependencies: updated to rust-nostr v0.45.0-alpha.2 (required significant internal refactoring); semver-compatible lockfile updates across the board; dev-dependencies rstest 0.23 → 0.26 and mockall 0.13 → 0.14
  • The interactive remote-signer login menu now has a single "bunker" option that shows the QR code and the nostrconnect:// connection string together while it waits for the signer to connect, and concurrently offers options to manually paste a bunker:// url, change the signer relays, or cancel; previously these were separate menu entries gated behind ctrl+c [hzd149]

Fixed

  • Merge status detection now handles updated PRs correctly
  • Better default branch and merge-base detection when force-pushing PRs
  • cargo install ngit was failing to build due to an upstream dependency picking up an incompatible git2 version
  • Pushing a tag through a nostr:// remote wrote a stray ref at refs/remotes/<remote>/<tagname> — git's remote-tracking branch namespace — so tags appeared as remote branches in git branch -r, IDE listings, completion, etc. The remote helper no longer writes a per-remote tracking ref for tags (the local refs/tags/<name> is git's single source of truth), and ngit sync sources tag push refspecs directly from the nostr state event oid. On the next push or ngit sync, any stray legacy entries are deleted automatically.
  • Invited co-maintainers auto-accept maintainership during push and auto-update the remote to reflect their npub. This no longer breaks the push.
  • ngit send --in-reply-to now errors before publishing an update to an existing PR when the signer is neither the proposal author nor a repository maintainer.
  • Push reporting no longer returns ok before any git server has successfully received the git data.
  • State events are no longer broadcast before the git data is successfully pushed: ngit now publishes the state event to GRASP servers using their purgatory support, pushes the git data, then only broadcasts to additional relays after at least one git server succeeds, so ok requires the latest state on at least one relay and the git data on at least one git server.

Removed

  • NIP-05 signer-URL lookup removed from the remote-signer login flow; it was unused and added an extra step before reaching the bunker / QR-code screen