- PSProfile - ChangeLog
- 0.7.2 - 2021-12-09
- 0.7.1 - 2021-11-17
- 0.6.3 - 2020-06-27
- 0.6.2 - 2020-05-14
- 0.6.1 - 2019-11-04
- 0.6.0 - 2019-11-02
- 0.5.0 - 2019-10-08
- 0.4.1 - 2019-10-08
- 0.4.0 - 2019-09-22
- 0.3.0 - 2019-09-07
- 0.2.0 - 2019-09-02
- 0.1.9 - 2019-08-26
- 0.1.8 - 2019-08-26
- 0.1.7 - 2019-08-25
- 0.1.6 - 2019-08-24
- 0.1.5 - 2019-08-22
- 0.1.4 - 2019-08-22
- 0.1.3 - 2019-08-20
- 0.1.2 - 2019-08-20
- 0.1.1 - 2019-08-19
- 0.1.0 - 2019-08-19
- Miscellaneous
- Updated: Tab-completion results only wrap completion text if the text contains any white-space or commas to improve completion results in normal PS history.
- Miscellaneous
- Added: Support for code-workspace aggregation in the GitPathMap if any are found under ProjectPaths.
- Updated: Tab-completion results now wrap the completion text in single-quotes if it contains any non-word characters.
- Issue #37
- Fixed: Machine-specific environment variables set by PSProfile are now set after profile load to prevent issues when syncing configurations across machines.
- Added:
$PSProfile.ConfigurationPaths
and the surrounding functions to support management of this new property:Add-PSProfileConfigurationPath
,Get-PSProfileConfigurationPath
,Remove-PSProfileConfigurationPath
.
- Miscellaneous
- Fixed:
PSProfile.ADCompleters
plugin now correctly tab completes properties forGet-ADComputer
andGet-ADGroup
- Added: InitScripts, ScriptPaths, and Plugins now create a dynamic module per item for easier discovery of where the command came from.
- Updated:
Get-PSProfileImportedCommands
logic so it pulls in commands from any module namedPSProfile.*
, which includes the changes to InitScripts, ScriptPaths, and Plugins where they are now loaded in as dynamic modules.
- Fixed:
- Miscellaneous
- Fixed: Errors thrown on functions
Open-Code
,Edit-PSProfileInitScript
, &Edit-PSProfilePrompt
whencode-insiders
is not installed
- Fixed: Errors thrown on functions
- Issue #21 - Thank you @corbob!
- Fixed: Project folder discovery logic to ensure that project folders with the same name are added to the dictionary without conflict.
- Issue #22 - Thank you @corbob!
- Added:
WithInsiders
switch parameter toOpen-Code
,Edit-PSProfilePrompt
, andEdit-PSProfileInitScript
.
- Added:
- Issue #23
- Fixed:
$PSProfile
variable should exist regardless of when you import the module (removed conditional variable setting from PSM1).
- Fixed:
- Issue #26
- Fixed:
$PSProfile._globalize()
internal method will now update$PSDefaultParameterValue
to$global":PSDefaultParameterValue
on InitScripts / ExternalScripts / etc so$PSDefaultParameterValue
persists in the main session as intended.
- Fixed:
- Issue #27
- Removed:
Set-Prompt
alias to prevent conflict withoh-my-posh
module.
- Removed:
- Issue #29
- Fixed: Secrets now persist across refreshes and sessions as intended. Details:
- Removed
PSProfileVault
class, replaced with pure hashtable. - Updated the Secrets management functions to work directly against the Vault hashtable.
- Removed
- Fixed: Secrets now persist across refreshes and sessions as intended. Details:
- Issue #31
- Fixed: Same as Issue #29.
- Miscellaneous
- Added FileWatcher event registration to update current
$global:PSProfile
object whenever the Configuration.psd1 file has changed, enabling configuration persistence across sessions. Configuration additions and removals from one PowerShell session will immediately be reflected in other active sessions. - Removed the persistence workaround the
Save()
method in favor of the Configuration.psd1 FileWatcher method.
- Added FileWatcher event registration to update current
- Miscellaneous
- Added
LastSave
property to the primaryPSProfile
class - Added check on
Save()
method to pull in updated configuration if it has been saved from another session by comparingLastSave
DateTime between the configuration and current$PSProfile.LastSave
- Added
- Issue #18
- Added the following functions for Init Script management:
Add-PSProfileInitScript
Get-PSProfileInitScript
Remove-PSProfileInitScript
Enable-PSProfileInitScript
Disable-PSProfileInitScript
Edit-PSProfileInitScript
- Added contextual help file
about_PSProfile_Init_Scripts
- Added Init Scripts section to
Start-PSProfileConfigurationHelper
- Updated
PSProfile
class to include Init Script support.
- Added the following functions for Init Script management:
- Miscellaneous
- Updated
Edit-PSProfilePrompt
when choosing to Save PSProfile to ensure the updated prompt is written back to disk. - Updated
invoke.build.ps1
for better contextual verbosity when compiling the module during the build process.
- Updated
- Issue #15
- Added
Add-PSProfileToProfile
function to easily addImport-Module PSProfile
to your PowerShell profile.
- Added
- Issue #16
- Added the following functions from the
PSProfile.PowerTools
plugin to PSProfile directly:Confirm-ScriptIsValid
Enter-CleanEnvironment
Format-Syntax
Get-Definition
Get-Gist
Get-LongPath
Install-LatestModule
Open-Code
Open-Item
Pop-Path
Push-Path
Start-BuildScript
Test-RegEx
- Added HelpFile for Power Tools functions:
Get-Help about_PSProfile_Power_Tools
- Updated
Start-PSProfileConfigurationHelper
with Power Tools section
- Added the following functions from the
- Miscellaneous
- Cleaned up
PSProfile
class. - Updated alias list.
- Updated module versioning strategy in build script.
- Updated
GitAliases
plugin to only spawn 1 runspace in the background. - Fixed issue with
Copy-Parameters
where it would fail to pull parameters for commands with multiple parameter sets. - Updated Content.Tests.
- Updated azure-pipelines YAML.
- Renamed the InvokeBuild script from
tasks.build.ps1
toinvoke.build.ps1
.
- Cleaned up
- Issue #2
- Added special module import process when the
ModuleToImport
isEditorServicesCommandSuite
so it also automatically registers the available editor commands.
- Added special module import process when the
- Issue #12
- Added
Start-PSProfileConfigurationHelper
to provide an easy way to get started with configuring your PSProfile.
- Added
- Issue #6
- Added
PSReadline
key to$PSProfile.Settings
(Settings management in development still.)
- Added
- Miscellaneous
- Added support for multiple Command Aliases to be removed at once with
Remove-PSProfileCommandAlias
. - Updated default
SCRTHQ
prompt that comes with the module. - Added support for NerdFonts and PowerLine switches on the prompts to switch char sets depending on the FontType.
- Added
IncludeVault
switch parameter toExport-PSProfileConfiguration
to prevent exporting the Secrets Vault by default when creating portable configurations. - Added
_cleanModules()
method to PSProfile class to remove any null or empty values hanging over and convert any string values to the full hashtable value instead. - Cleaned up logic and fixed bugs in the following functions:
Add-PSProfileModuleToImport
Remove-PSProfileModuleToImport
Add-PSProfileModuleToInstall
Remove-PSProfileModuleToInstall
Add-PSProfilePlugin
- Updated CONTRIBUTING.md with snippet to include for PSProfile developers on their PowerShell profile.
- Refactored
Get-PSProfilePrompt
to return$null
if a name is specified but does not exist on the current PSProfile configuration. - Refactored
$PSProfile._loadConfiguration()
to start with the base value of$Global:PSProfile
if present, otherwise import the existing configuration from file. This is necessary to retain the existing configuration if an action is taken that forces the PSProfile to reload, e.g. adding a new plugin to the configuration. - Updated
$PSProfile._loadPrompt()
method to set the value of$function:prompt
directly instead of callingSwitch-PSProfilePrompt
to reduce overhead.
- Added support for multiple Command Aliases to be removed at once with
- Renamed
Copy-DynamicParameters
toCopy-Parameters
for correctness and cleaned up approach for building the ParameterDictionary. - Updated Dockerfile to not run the Build task again since it should only run after module has been built.
- Updated
azure-pipelines.yml
to break out Docker tasks
- Fixed issue with
$PSProfile.ModulesToImport
where an empty string was added to the array, resulting in a Warning during profile load about the module failing to import.
- Fixed
Task
parameter type onStart-BuildScript
to allow an array of strings.
- Added
Copy-DynamicParameters
to clone DynamicParams from another file or function. - Updated
Start-BuildScript
inPSProfile.PowerTools
with better argument completers to enable listing available Tasks and other parameters directly from the build script you are executing. - Added
Dockerfile
to enable testing in an Ubuntu container.
- Added
Export-PSProfileConfiguration
to export your configuration to a portable file. - Fixed bug with
Edit-PSProfilePrompt
that tried to run a non-existent function after editing was finished. - Swapped the
Temporary
switch parameter withSave
onEdit-PSProfilePrompt
to align with the rest of the functions. - Updated the
_loadPrompt()
method on the$PSProfile
object to not force load a default prompt if a default prompt name has not been specified yet. - Updated README with better details.
- Updated Wiki content.
- Updated CONTRIBUTING.md.
- Added conceptual HelpFiles. Run
Get-Help about_PSProfile*
for more info! - Added argument completer for
Add-PSProfilePlugin
. - Updated Wiki content.
- Added
Pop-Path
to fix scope issues withPush-Path
that effectively turned it intoSet-Location
- Added
Confirm-ScriptIsValid
toPSProfile.PowerTools
- Added
Test-RegEx
toPSProfile.PowerTools
- Changed
ErrorAction
onNew-Alias
call in$PSProfile._setCommandAliases()
method. - Removed
ForEach-Object
alias fromOpen-Code
- Added
pwsh-preview
exe resolver toEnter-CleanEnvironment
as the wrapper cmd file does not handle the arguments correctly (throws non-terminated string error).
- Added
*-PSProfilePluginPath
functions to manage PluginPaths - Cleaned up PluginPath logic to remove old module versions from the search path.
- Cleaned up
Get-PSProfilePrompt
and added a-NoPSSA
switch to prevent usage ofInvoke-Formatter
regardless is PSScriptAnalyzer is installed. - Updated
PSProfile.PowerTools
included plugin. - Fixed issue with
Add-PSProfileModuleToInstall
andAdd-PSProfileModuleToImport
where it wouldn't rebuild the hashtable array correctly when adding modules to the PSProfile. - Added additional logic to build script.
- Made
PSProfile.PowerTools
included in Plugins by default due to utility. - Cleaned up docs folder as it belongs in the Wiki, not the main repo.
- Issue #3
- Fixed:
$PSProfile.Refresh()
only usesTrim()
to clean up the Prompts now due to Invoke-Formatter hanging.
- Fixed:
- Initial release to the PowerShell Gallery
- Included functions:
Add-PSProfileCommandAlias
Add-PSProfileModuleToImport
Add-PSProfileModuleToInstall
Add-PSProfilePathAlias
Add-PSProfilePlugin
Add-PSProfileProjectPath
Add-PSProfilePrompt
Add-PSProfileScriptPath
Add-PSProfileSecret
Add-PSProfileSymbolicLink
Add-PSProfileVariable
Edit-PSProfilePrompt
Get-LastCommandDuration
Get-MyCreds
Get-PathAlias
Get-PSProfileArguments
Get-PSProfileCommand
Get-PSProfileCommandAlias
Get-PSProfileImportedCommand
Get-PSProfileLog
Get-PSProfileModuleToImport
Get-PSProfileModuleToInstall
Get-PSProfilePathAlias
Get-PSProfilePlugin
Get-PSProfileProjectPath
Get-PSProfilePrompt
Get-PSProfileScriptPath
Get-PSProfileSecret
Get-PSProfileSymbolicLink
Get-PSProfileVariable
Get-PSVersion
Import-PSProfile
Import-PSProfileConfiguration
Remove-PSProfileCommandAlias
Remove-PSProfileModuleToImport
Remove-PSProfileModuleToInstall
Remove-PSProfilePathAlias
Remove-PSProfilePlugin
Remove-PSProfileProjectPath
Remove-PSProfilePrompt
Remove-PSProfileScriptPath
Remove-PSProfileSecret
Remove-PSProfileSymbolicLink
Remove-PSProfileVariable
Save-PSProfile
Switch-PSProfilePrompt
Test-IfGit
Update-PSProfileConfig
Update-PSProfileRefreshFrequency
Update-PSProfileSetting
Write-PSProfileLog
- Included aliases:
Creds
>>Get-MyCreds
Edit-Prompt
>>Edit-PSProfilePrompt
Get-Prompt
>>Get-PSProfilePrompt
Load-PSProfile
>>Import-PSProfile
Refresh-PSProfile
>>Update-PSProfileConfig
Remove-Prompt
>>Remove-PSProfilePrompt
Save-Prompt
>>Add-PSProfilePrompt
Set-Prompt
>>Switch-PSProfilePrompt
Switch-Prompt
>>Switch-PSProfilePrompt