Changelog History
Page 1
-
v1.1.0 Changes
March 31, 2022β Added
- π
Remove-PoshGitFromProfile
(git-for-windows/build-extra#401) (PR #877) Thanks @dscho
π Fixed
- π Fix branch status when cherry-picking, merging, reverting (#818) (PR #828) (PR #894) Thanks @NihilityT
- π Fix tab expansion for PowerShell aliases to
git.exe
(#854) (PR #855) - π Fix tab expansion for symbolic refs (#867) (PR #868) Thanks @dmringo
- π Fix status inside
.github
directories (#873) (PR #874) (PR #893) Thanks @jethas-bennettjones - π Version warning no longer flags VFS for Git (#860) (PR #884) Thanks @shmuelie
- π Version warning no longer flags Git for Windows release candidates (#845) (PR #885) Thanks @dscho
Chores
- π
-
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
andgit 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) whenEnableLogging
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 usingRegister-ArgumentCompleter
for tab-completion on PowerShell >= 6.0.posh-git
can be configured to use the oldTabExpansion
function on PowerShell >= 6.0 by importing the module using the following arguments:Import-Module posh-git -ArgumentList 0,1
before importingposh-git
. (#609) (PR #711) Thanks Andrew Bradley (@cspotcode) - β‘οΈ 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 withgit
,git.cmd
orgit.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
- π Branch name completion to the new
-
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 thePoshGitTextSpan.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
andgit 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 aPoshGitPromptSettings
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 ifWindowTitle
setting set to$null
. (#594) (PR #597) Write-VcsStatus
behaving differently. WhenAnsiConsole -eq $false
,Write-VcsStatus
must not emit any strings. (#612) (PR #617)- π On Windows PowerShell, defer
Add-Type
untilSet-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)
- π₯ BREAKING: Removed SSH agent functionality from
-
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
valuesBeforeText
toBeforeStatus
DelimText
toDelimStatus
AfterText
toAfterStatus
BeforeIndexText
toBeforeIndex
BeforeStashText
toBeforeStash
AfterStashText
toAfterStash
- 0οΈβ£ Split
$GirPromptSettings.DefaultPromptSuffix
and$GitPromptSettings.DefaultPromptDebugSuffix
into:DefaultPromptBeforeSuffix
(''
)DefaultPromptDebug
(' [DBG]:'
), which is rendered if a debugger is attachedDefaultPromptSuffix
('$(">" * ($nestedPromptLevel + 1)) '
), which is rendered last (or returned fromprompt
, 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 everyprompt
, not just when inside a Git repo.- To prevent setting
WindowTitle
, set$GitPromptSettigs.WindowTitle
to$null
. - The
WindowTitle
update has been moved from theWrite-GitStatus
command to the built-inprompt
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 supportSystem.Drawing.ColorTranslator
) before being parsed as aConsoleColor
. To force usingConsoleColors
, 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)
- A path exactly matching
- π New
$GitPromptSettings
values (default):PathStatusSeparator
()
DefaultPromptPath
('$(Get-PromptPath)'
)DefaultPromptWriteStatusFirst
($false
)DefaultPromptTimingFormat
(' {0}ms'
)
RepoName
property has been addded to the$global:GitStatus
object returned byGet-GitStatus
.- β Added
$GitPromptSettings.UntrackedFilesMode
; accepted values are$null
(inheritstatus.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 affectGet-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 toGet-Content -AsByteStream
on PowerShell Core. (PR #532) - π Fixed ANSI rendering bug: when both
ForegroundColor
andBackgroundColor
colors are$null
(default), we were emitting an unnecessary terminating escape sequence"$([char]27)[0m"
. (PR #532) - π Fixed issue where setting
ForegroundColor
orBackgroundColor
to 0 (Black) rendered the default color instead. - β‘οΈ Updated Git subcommand lists (#561) (PR #571)
- π Renamed
-
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
andInvoke-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
andWrite-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
andWrite-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 thatWrite-GitStatus
uses internally which are:- Write-GitBranchName
- Write-GitBranchStatus
- Write-GitIndexStatus
- Write-GitStashCount
- Write-GitWorkingDirStatus
- Write-GitWorkingDirStatusSummary
π Fixed
-
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
(inheritstatus.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)
- 0οΈβ£ posh-git now exports the variable
-
v0.7.3.1
March 11, 2019 -
v0.7.2
April 20, 2018