Skip to content

SuperGit v1.3.0

Choose a tag to compare

@lqdflying lqdflying released this 14 Jun 15:28
· 5 commits to main since this release

What's New

Multi-Remote Upstream Tracking

  • Add Remote Tracking — push/fetch to additional remotes without changing the default upstream
  • Set as Default Upstream — reassign the configured default tracking ref from any tracked remote row
  • Extension-host QuickPick for remote selection (only remotes missing local tracking ref)

Post-Action Performance Optimizations

  • Selective cache invalidation — full remote-default invalidation only for fetch/prune-stale/delete-remote; list-only for safe actions
  • Branch History caching — per-root keyed cache with dirty/epoch invalidation; instant tab re-entry when data unchanged
  • Commit graph dirty deferral — skip loadCommits when Graph tab is inactive; reload once on next tab switch
  • Enrichment gating — skip ls-remote --symref after actions that cannot change remote HEAD

Race Condition Guards

  • Epoch-guarded branch history cache prevents in-flight loads from overwriting newer state
  • Commit-graph dirty epoch prevents older request-commits from clearing newer dirty marks
  • Generation guard for concurrent branch history loads

Settings

  • superGit.addUpstream.skipRemoteProbe — skip ls-remote --heads preflight for trusted environments

Bug Fixes

  • "Add Remote Tracking" button no longer disappears when clicking local branch pill
  • Removed redundant localRemoteTrackingRefExists() call in add-upstream preflight
  • tab-changed to Graph no longer clears dirty flag before loadCommits completes

Verified

  • 219 unit tests passing
  • Full typecheck, coverage, build, and package pass