All Versions
13
Latest Version
Avg Release Cycle
199 days
Latest Release
226 days ago

Changelog History
Page 1

  • v1.0.0 Changes

    March 10, 2021
    • πŸš€ Released to PowerShell Gallery.
    • Fate of Chocolatey to be determined.
  • v1.0.0-beta5 Changes

    February 14, 2021

    βž• Added

    • βž• Added --renormalize to the "git add" parameters for tab-completion. (PR #791) Thanks @dannoe
    • Pass PowerShell aliases down to posh-git TabExpansion autocomplete function (#257) (PR #779) Thanks @csc027
    • Autocomplete user-defined pretty formats (#786) (PR #802) Thanks @rdnlsmith
    • βž• Add warning for cygwin version of git, which does not play nicely (#771) (PR #807)
    • βž• Add BeforePath and AfterPath settings (#821) (PR #822) Thanks @breisfeld Brad Reisfeld

    πŸ”„ Changed

    • 🏁 $GitPromptSettings.DefaultPromptAbbreviateHomeDirectory defaults to $false on Windows. When enabled, ~ is always substituted for the user's home path. Before this change, when directly in your home dir, this setting would result in the full path displayed in the prompt e.g. C:\Users\Keith. After this change, ~ will be displayed. The new behavior is consistent with how the home path is displayed in prompts in other shells on Linux. (#746) (PR #801)
    • βž• Adds --no-optional-locks when invoking git to reduce conflicts with other tools. (PR #774) Thanks @jessehouwing

    πŸ›  Fixed

    • Put 'CACHE ERROR' in prompt when GitStatusCache returns failure. (PR #759) Thanks @cmarcusreid
    • Honor EnableStashStatus when using cache (#761) (PR #762)
    • Register-ArgumentCompleter based tab-expansion in beta4 doesn't work with PowerShell aliases to git,tgit,gitk. (#769) (PR #770)
    • βœ… Module now works in (and is tested in) strict mode (PR #783)
    • "git help --all" output breaks $GitTabSettings.AllCommands = $true. (#788) (PR #790) Thanks @dannoe
    • πŸ›  Fixed non-ascii git branch name garbled (PR #796) Thanks @LittleboyHarry
    • πŸ›  Fix tab completion of branches in different worktrees (PR #805) Thanks @wallybh
    • Using DarkYellow no longer results in extra $Errors (PR #806)
  • v1.0.0-beta4 Changes

    March 14, 2020

    βž• Added

    • 🚚 Branch name completion to the new Remove-GitBranch command. (PR #678) (PR #705)
    • $global:GitPromptValues with the following properties to enable users to have access to the information necessary to display error status in their prompt as well as debug their prompt customizations:
      • DollarQuestion
      • IsAdmin
      • LastExitCode
      • LastPrompt (PR #684)
    • βž• Added tab-completion for new git restore and git switch commands. (#691) (PR #702) (PR #743) Thanks @pinkfloydx33 for the direction and motivation to add this.
    • βž• Added tab-completion for git merge --allow-unrelated-histories (#632) (PR #633)
    • 0️⃣ Abbreviate path from git root with new setting DefaultPromptAbbreviateGitDirectory (#719) (PR #720) (PR #729) Thanks Philippe Elsass (@elsassph)
    • Two new properties have been added to $global:GitTabSettings
      • EnableLogging - default is $false but when set to $true, tab expansion functions log to a file.
      • LogPath - the path to the log file that is appended to (created if necessary) when EnableLogging is $true.

    πŸ”„ Changed

    • Module parameter changed from a [switch] that forced the posh-git prompt to be used to a bools. The use of this parameters during import is now simplified to: Import-Module posh-git -Args 1.
    • 🏁 Shortened up the Windows title text to work better with Windows Terminal tabs. Now only displays '32-bit' in 32-bit PowerShell, otherwise assumption is you're running 64-bit. Also display only PowerShell major.minor version number. (PR #707)
    • Switched from overriding TabExpansion function to using Register-ArgumentCompleter for tab-completion on PowerShell >= 6.0. posh-git can be configured to use the old TabExpansion function on PowerShell >= 6.0 by importing the module using the following arguments: Import-Module posh-git -ArgumentList 0,1 before importing posh-git. (#609) (PR #711) Thanks Andrew Bradley (@cspotcode)
      • (#733) (PR #741)
      • Fix conflict with TabExpansionPlusPlus module's Register-ArgumentCompleter command. (#715) (PR #714) Thanks Kris Borowinski (@kborowinski)
    • ⚑️ Update Ubuntu build system from 14.04 to 16.04 (PR #677) Thanks @ExE-Boss
    • $GitPromptSettings.BeforeIndex is always displayed even if there is nothing in the index. The intent of this separator setting is to provide a separator between the branch name / branch status and the following section of index/working/summary/stash indicators. (PR #723)
    • posh-git no longers sets missing HOME environment variable. (#718) (PR #722)
    • Get-GitStatus -Force now also overrides $GitPromptSettings.EnableFileStatus as well as $GitPromptSettings.EnablePromptStatus. (#657) (PR #721)

    πŸ›  Fixed

    • βœ‚ Remove .exe suffix from PowerTab integration to enable PowerTab integration to work with git, git.cmd or git.exe (#606)
    • BranchBehindAndAheadDisplay minimal/compact bug (#670) (PR #671)
    • πŸ›  Fix(status): Only reset changed colors (PR #673) Thanks @ExE-Boss
    • πŸ›  Fix rebase step count (PR #674) Thanks SaΕ‘a KajfeΕ‘ (@skajfes)
    • πŸ›  Fix typo in cherry-pick parameters - Β΄continue (PR #675) Thanks @KexyBiscuit
    • Prompt error in remote PSSession (#708) (PR #727
    • ✏️ Typos
  • v1.0.0-beta3 Changes

    March 10, 2019

    βœ‚ Removed

    • πŸ’₯ BREAKING: Removed SSH agent functionality from posh-git and put into another module focused solely on Git SSH support. See posh-sshell. (#338) (PR #585)
    • πŸ’₯ BREAKING: Removed PoshGitTextSpan.CustomAnsi property - now just put your custom VT sequences in the PoshGitTextSpan.Text property. Be sure to terminate your VT sequences with "$([char]27)[0m" or "`e[0m" on PowerShell Core. (PR #616)

    βž• Added

    • βž• Added Remove-GitBranch command. Partially addresses #79. These commands currently only delete local branches. (#79) (PR #663)
    • βž• Added support for vsts-cli Git integration. (#549) (PR #581) Thanks David Gardiner (@flcdrg)
    • ✨ Enhance prompt function to show username/hostname in SSH connection. Adds Get-PromptConnectionInfo command. (#591) (PR #595)
    • βͺ Show Rebase Progress (plus |REVERTING). (#102) (PR #599)
    • Set $Env:COLUMNS on prompt if necessary. (PR #607)
    • 🌲 Tab-completion for git log --stat, git log --patch and git diff --staged. (PR #620) Thanks Vasily Korytov (@chillum)
    • ⚑️ Tab-completion for git update-git-for-windows on Windows Git >= 2.16.2. (PR #642)
    • New-GitPromptSettings to provide an easy way to create a PoshGitPromptSettings object which can be used to reset to the default settings. (PR #659)

    πŸ”„ Changed

    • Eliminate traiing = on the tab-completion of --force-with-lease=. (PR #622) Thanks Chuck Lu (@chucklu)
    • Expand PathStatusSeparator string when composing prompt. This allows you to use string interpolation in the $GitPromptSettings.PathStatusSeparator.Text setting. (PR #630) Thanks Jason Shirk (@lzybkr)

    πŸ›  Fixed

    • ⚑️ WindowTitle set by user overwritten by module. No longer updates Window title if WindowTitle setting set to $null. (#594) (PR #597)
    • Write-VcsStatus behaving differently. When AnsiConsole -eq $false, Write-VcsStatus must not emit any strings. (#612) (PR #617)
    • 🏁 On Windows PowerShell, defer Add-Type until Set-ConsoleMode executed. This improves module load time. (#637) (PR #638) (PR #662)
    • πŸ‘― How do you manually install this? Added manual instructions for git clone of posh-git to README.md. (#648) (PR #649) Thanks Kyle Spier-Swenson (@MrStonedOne)
  • v1.0.0-beta2 Changes

    May 13, 2018

    πŸš€ The 1.0.0 release is targeted specifically at Windows PowerShell 5.x and (cross-platform) PowerShell Core 6.x, both of πŸ‘ which support classes, enabling the enhanced structure of $GitPromptSettings, and writing prompt strings using [ANSI escape sequences][ansi-esc-code] / 🏁 [Console Virtual Terminal Sequences][console-vt-seq] (supported since Windows 10 version 1511).

    πŸš€ Consequently, this release introduces BREAKING changes with 0.x. 🏁 If you are still on Windows PowerShell 2.0, 3.0 or 4.0, please continue to use the 0.x version of posh-git.

    πŸ”„ Changed

    • πŸ“‡ Renamed $GitPromptSettings values
      • BeforeText to BeforeStatus
      • DelimText to DelimStatus
      • AfterText to AfterStatus
      • BeforeIndexText to BeforeIndex
      • BeforeStashText to BeforeStash
      • AfterStashText to AfterStash
    • 0️⃣ Split $GirPromptSettings.DefaultPromptSuffix and $GitPromptSettings.DefaultPromptDebugSuffix into:
      1. DefaultPromptBeforeSuffix ('')
      2. DefaultPromptDebug (' [DBG]:'), which is rendered if a debugger is attached
      3. DefaultPromptSuffix ('$(">" * ($nestedPromptLevel + 1)) '), which is rendered last (or returned from prompt, for terminals that don't support escape sequences)
    • πŸ“‡ Renamed $GitPromptSettings.EnableWindowTitle to $GitPromptSettings.WindowTitle with significant improvements:
      • $Host.UI.RawUI.WindowTitle is now set on every prompt, not just when inside a Git repo.
      • To prevent setting WindowTitle, set $GitPromptSettigs.WindowTitle to $null.
      • The WindowTitle update has been moved from the Write-GitStatus command to the built-in prompt function.
      • $GitPromptSettings.WindowTitle is now fully customizable:
      • As a string, it will be processed with [ExpandString][invokecommand-expandstring].
      • As a ScriptBlock (default), it will be executed with two parameters: $GitStatus and $IsAdmin.
    • πŸ“œ When a color setting is specified by a string (color name), it is parsed as an HTML color (on platforms that support System.Drawing.ColorTranslator) before being parsed as a ConsoleColor. To force using ConsoleColors, use static member syntax (e.g. [ConsoleColor]::Cyan). (PR #536)
    • PoshGitVcsPrompt errors now show details if $GitPromptSettings.Debug (PR #560)

    βž• Added

    • πŸ†• New command Get-PromptPath which formats the path displayed in the prompt and window title. This command honors $GitPromptSettings.DefaultPromptAbbreviateHomeDirectory.
      • A path exactly matching $HOME is now shown in full, rather than abbreviated to ~ (PR #567)
    • πŸ†• New $GitPromptSettings values (default):
      • PathStatusSeparator ()
      • DefaultPromptPath ('$(Get-PromptPath)')
      • DefaultPromptWriteStatusFirst ($false)
      • DefaultPromptTimingFormat (' {0}ms')
    • RepoName property has been addded to the $global:GitStatus object returned by Get-GitStatus.
    • βž• Added $GitPromptSettings.UntrackedFilesMode; accepted values are $null (inherit status.showUntrackedFiles), "all", "no", and "normal" (#556) (PR #557) Thanks David Snedecor (@TheSned)
    • Exported Expand-GitCommand for use with custom tab expansion (#562) (PR #563)

    πŸ›  Fixed

    • πŸ›  Fixed $GitPromptSettings.EnablePromptStatus should not affect Get-GitStatus by adding -Force parameter. (#475) (PR #535)
    • πŸ›  Fixed PowerShell Core bug where we were using Get-Content -Encoding Byte when processing profile scripts during Chocolatey install/uninstall. That encoding doesn't exist in PowerShell Core. Switched to Get-Content -AsByteStream on PowerShell Core. (PR #532)
    • πŸ›  Fixed ANSI rendering bug: when both ForegroundColor and BackgroundColor colors are $null (default), we were emitting an unnecessary terminating escape sequence "$([char]27)[0m". (PR #532)
    • πŸ›  Fixed issue where setting ForegroundColor or BackgroundColor to 0 (Black) rendered the default color instead.
    • ⚑️ Updated Git subcommand lists (#561) (PR #571)
  • v1.0.0-beta1 Changes

    January 10, 2018

    βœ‚ Removed

    • ⬇️ Drop support for PowerShell 2.0 (#163) (PR #427)
    • ⬇️ Drop support for PowerShell 3.0 and 4.0 (#328) (PR #513)
    • βœ‚ Remove public Enable-GitColors, Get-AliasPattern, Get-GitBranch and Invoke-NullCoalescing and its ?? alias (#93) (PR #427)

    πŸ”„ Changed

    • πŸ”„ Changed the $GitPromptSettings hashtable to a stongly typed object. Here is one example of the impact of this change:
      $GitPromptSettings.LocalWorkingStatusSymbol = '#'
      $GitPromptSettings.LocalWorkingStatusForegroundColor = [ConsoleColor]::DarkRed
    

    Changes to:

      $GitPromptSettings.LocalWorkingStatusSymbol.Text = '#'
      $GitPromptSettings.LocalWorkingStatusSymbol.ForegroundColor = [ConsoleColor]::DarkRed
    
    • πŸ”„ Changed Write-VcsStatus, Write-GitStatus and Write-Prompt to return a string rather than write to host when the host supports ANSI escape sequences.

    βž• Added

    • πŸ‘ Implement support for ANSI escape sequences for colored output - support System.ConsoleColor, System.Drawing.HtmlColor (if available on the platform) and 24-bit color. NOTE: this is a breaking change since Write-VcsStatus, Write-GitStatus and Write-Prompt will now return a string rather than write to the host when the host supports ANSI escape sequences. (#304) (#447) (#455)
    • $GitPromptSettings is now a strongly typed object using PS classes (#344) (PR #513)
    • Provide more granular commands than just Write-GitStatus. (#345) (PR #513) We now export the commands that Write-GitStatus uses internally which are:
      • Write-GitBranchName
      • Write-GitBranchStatus
      • Write-GitIndexStatus
      • Write-GitStashCount
      • Write-GitWorkingDirStatus
      • Write-GitWorkingDirStatusSummary

    πŸ›  Fixed

    • πŸ›  Fixed Get-AuthenticodeSignature not on PS Core. (PR #487)
    • 0️⃣ Provide DefaultPromptPrefixColor and DefaultPromptSuffixColor options (#474) (PR #520)
    • πŸ›  Fixed posh-git prompt makes PowerShell transcripts less readable (#282) (PR #447)
  • v0.7.3 Changes

    April 19, 2018
    • 0️⃣ posh-git now exports the variable $GitPromptScriptBlock which contains the code for the default prompt. (#501) (PR #513)

    If you need to execute your own logic in your own prompt function but still want to display the default posh-git prompt, you can execute this scriptblock from your prompt function e.g.:

      # profile.ps1
      function prompt {
        Set-NodeVersion
        &$GitPromptScriptBlock
      }
      Import-Module posh-git
    
    • πŸ›  Fixed 'Write-Prompt' to be able use Black as foreground color. (#470) (PR #468) Thanks Vladimir Poleh (@vladimir-poleh)
    • Pass "git.exe" instead of "git" to Get-Command. (PR #478) (PR #479) Thanks Mike Sigsworth (@mikesigs)
    • ⚠ Squash ssh agent warnings if -Quiet. (PR #484) Thanks Refael Ackermann (@refack)
    • πŸ›  Fixed directory names that contain [brackets] cause GitPrompt to fail. (PR #502) Thanks Duncan Smart (@duncansmart)
    • βž• Added Add-PoshGitToProfile -AllUsers support (PR #504)
    • πŸ›  Fixed duplicated branch completion for git checkout (#505) (PR #506) (PR #512) Thanks Christoph Bergmeister (@bergmeister)
    • πŸ›  Fixed PSScriptAnalyzer warnings in the source (PR #509) Thanks Christoph Bergmeister (@bergmeister)
    • πŸ›  Fixed errors added to $Error collection by Get-GitStatus command (#500) (PR #514)
    • βž• Added custom path rendering in prompt (#469) (PR #520)
    • Clean up wording for work dir local status in help file (PR #516)
    • βž• Added $GitPromptSettings.AdminTitlePrefixText (default: 'Administrator: ') (#537) (PR #538) Thanks Eric Jorgensen (@nebosite)
    • βž• Added $GitPromptSettings.UntrackedFilesMode; accepted values are $null (inherit status.showUntrackedFiles), "all", "no", and "normal" (#556) (PR #557) Thanks David Snedecor (@TheSned)
    • PoshGitVcsPrompt errors now show details if $GitPromptSettings.Debug (PR #560)
    • Exported Expand-GitCommand for use with custom tab expansion (#562) (PR #563)
    • βž• Add code coverage to Coveralls.io (#416) (PR #461) Thanks Jan De Dobbeleer (@JanJoris)
  • v0.7.3.1

    March 11, 2019
  • v0.7.2

    April 20, 2018
  • v0.7.2-pre1

    January 10, 2018