1.0.6 - 2024-10-10
- Bump System.Text.Json to 8.0.5
1.0.5 - 2024-05-13
- Update
nuget.config
to use PowerShell packages feed (#1649) - Refactor V2ServerAPICalls and NuGetServerAPICalls to use object-oriented query/filter builder (#1645 Thanks @sean-r-williams!)
- Fix unnecessary
and
for version globbing in V2ServerAPICalls (#1644 Thanks again @sean-r-williams!) - Fix requiring
tags
in server response (#1627 Thanks @evelyn-bi!) - Add 10 minute timeout to HTTPClient (#1626)
- Fix save script without
-IncludeXml
(#1609, #1614 Thanks @o-l-a-v!) - PAT token fix to translate into HttpClient 'Basic Authorization'(#1599 Thanks @gerryleys!)
- Fix incorrect request url when installing from ADO (#1597 Thanks @antonyoni!)
- Improved exception handling (#1569)
- Ensure that .NET methods are not called in order to enable use in Constrained Language Mode (#1564)
- PSResourceGet packaging update
1.0.4.1 - 2024-04-05
- PSResourceGet packaging update
1.0.4 - 2024-04-05
- Dependency package updates
1.0.3 - 2024-03-13
- Bug fix for null package version in
Install-PSResource
1.0.2 - 2024-02-06
- Bug fix for
Update-PSResource
not updating from correct repository (#1549) - Bug fix for creating temp home directory on Unix (#1544)
- Bug fix for creating
InstalledScriptInfos
directory when it does not exist (#1542) - Bug fix for
Update-ModuleManifest
throwing null pointer exception (#1538) - Bug fix for
name
property not populating inPSResourceInfo
object when usingFind-PSResource
with JFrog Artifactory (#1535) - Bug fix for incorrect configuration of requests to JFrog Artifactory v2 endpoints (#1533 Thanks @sean-r-williams!)
- Bug fix for determining JFrog Artifactory repositories (#1532 Thanks @sean-r-williams!)
- Bug fix for v2 server repositories incorrectly adding script endpoint (1526)
- Bug fixes for null references (#1525)
- Typo fixes in message prompts in
Install-PSResource
(#1510 Thanks @NextGData!) - Bug fix to add
NormalizedVersion
property toAdditionalMetadata
only when it exists (#1503 Thanks @sean-r-williams!) - Bug fix to verify whether
Uri
is a UNC path and set respectiveApiVersion
(#1479 Thanks @kborowinski!)
1.0.1 - 2023-11-07
- Bugfix to update Unix local user installation paths to be compatible with .NET 7 and .NET 8 (#1464)
- Bugfix for Import-PSGetRepository in Windows PowerShell (#1460)
- Bugfix for `Test-PSScriptFileInfo`` to be less sensitive to whitespace (#1457)
- Bugfix to overwrite rels/rels directory on net472 when extracting nupkg to directory (#1456)
- Bugfix to add pipeline by property name support for Name and Repository properties for Find-PSResource (#1451 Thanks @ThomasNieto!)
- Add
ApiVersion
parameter forRegister-PSResourceRepository
(#1431)
- Automatically set the ApiVersion to v2 for repositories imported from PowerShellGet (#1430)
- Bug fix ADO v2 feed installation failures (#1429)
- Bug fix Artifactory v2 endpoint failures (#1428)
- Bug fix Artifactory v3 endpoint failures (#1427)
- Bug fix
-RequiredResource
silent failures (#1426) - Bug fix for v2 repository returning extra packages for
-Tag
based search with-Prerelease
(#1405)
- Bug fix for using
Import-PSGetRepository
in Windows PowerShell (#1390) - Add error handling when searching for unlisted package versions (#1386)
- Bug fix for deduplicating dependencies found from
Find-PSResource
(#1382) - Added support for non-PowerShell Gallery v2 repositories (#1380)
- Bug fix for setting 'unknown' repository
APIVersion
(#1377) - Bug fix for saving a script with
-IncludeXML
parameter (#1375) - Bug fix for v3 server logic to properly parse inner @id element (#1374)
- Bug fix to write warning instead of error when package is already installed (#1367)
- Detect empty V2 server responses at ServerApiCall level instead of ResponseUtil level (#1358)
- Bug fix for finding all versions of a package returning correct results and incorrect "package not found" error (#1356)
- Bug fix for installing or saving a pkg found in lower priority repository (#1350)
- Ensure
-Prerelease
is not empty or whitespace forUpdate-PSModuleManifest
(#1348) - Bug fix for saving
Az
module dependencies (#1343) - Bug fix for
Find-PSResource
repository looping to to return matches from all repositories (#1342) - Update error handling for Tags, Commands, and DSCResources when searching across repositories (#1339)
- Update
Find-PSResource
looping and error handling to account for multiple package names (#1338) - Update error handling for
Find-PSResource
using V2 server endpoint repositories (#1329) - Bug fix for searching through multiple repositories when some repositories do not contain the specified package (#1328)
- Add parameters to
Install-PSResource
verbose message (#1327) - Bug fix for parsing required modules when publishing (#1326)
- Bug fix for saving dependency modules in version range format (#1323)
- Bug fix for
Install-PSResource
failing to find prerelease dependencies (#1322) - Bug fix for updating to a new version of a prerelease module (#1320)
- Fix for error message when DSCResource is not found (#1317)
- Add error handling for local repository pattern based searching (#1316)
Set-PSResourceRepository
run without-ApiVersion
paramater no longer resets the property for the repository (#1310)
- *-PSResourceRepository
-Uri
now accepting PSPaths (#1269) - Add aliases for
Install-PSResource
,Find-PSResource
,Update-PSResource
,Publish-PSResource
(#1264) - Add custom user agent string to API calls (#1260)
- Support install for NuGet.Server application hosted feed (#1253)
- Add support for NuGet.Server application hosted feeds (#1236)
- Add Import-PSGetRepository function to import existing v2 PSRepositories into PSResourceRepositories. (#1221)
- Add
Get-PSResource
alias toGet-InstalledPSResource
(#1216) - Add
-ApiVersion
parameter to Set-PSResourceRepository (#1207) - Add support for FindNameGlobbing scenarios (i.e -Name az*) for MyGet server repository (V3) (#1202)
- Better error handling for scenario where repo ApiVersion is unknown and allow for PSPaths as URI for registered repositories (#1288)
- Bugfix for Uninstall should be able to remove older versions of a package that are not a dependency (#1287)
- Bugfix for Publish finding prerelease dependency versions. (#1283)
- Fix Pagination for V3 search with globbing scenarios (#1277)
- Update message for
-WhatIf
inInstall-PSResource
,Save-PSResource
, andUpdate-PSResource
(#1274) - Bug fix for publishing with ExternalModuleDependencies (#1271)
- Support Credential Persistence for
Publish-PSResource
(#1268) - Update
Save-PSResource
-Path
param so it defaults to the current working directory (#1265) - Update dependency error message in Publish-PSResource (#1263)
- Bug fixes for script metadata (#1259)
- Fix error message for
Publish-PSResource
for MyGet.org feeds (#1256) - Bug fix for version ranges with prerelease versions not returning the correct versions (#1255)
- Bug fix for file path version must match psd1 version error when publishing (#1254)
- Bug fix for searching through local repositories with
-Type
parameter (#1252) - Allow environment variables in module manifests (#1249 Thanks @ThomasNieto!)
- Updating prerelease version should update to latest prerelease version (#1238)
- Fix InstallHelper call to GetEnvironmentVariable() on Unix (#1237)
- Update build script to resolve module loading error (#1234)
- Enable UNC Paths for local repositories, source directories and destination directories (#1229 Thanks @FriedrichWeinmann!)
- Improve better error handling for
-Path
inPublish-PSResource
(#1227) - Bug fix for
-RequireLicenseAcceptance
inPublish-PSResource
(#1225) - Provide clearer error handling for V3 Publish support (#1224)
- Fix bug with version parsing in
Publish-PSResource
(#1223) - Improve error handling for
Find-PSResource
(#1222) - Add error handling to
Get-InstalledPSResource
andFind-PSResource
(#1217) - Improve error handling in
Uninstall-PSResource
(#1215) - Change resolved paths to use GetResolvedProviderPathFromPSPath (#1209)
- Bug fix for
Get-InstalledPSResource
returning type of scripts as module (#1198)
- PowerShellGet is now PSResourceGet! (#1164)
Update-PSScriptFile
is nowUpdate-PSScriptFileInfo
(#1140)New-PSScriptFile
is nowNew-PSScriptFileInfo
(#1140)Update-ModuleManifest
is nowUpdate-PSModuleManifest
(#1139)-Tags
parameter changed to-Tag
inNew-PSScriptFile
,Update-PSScriptFileInfo
, andUpdate-ModuleManifest
(#1123)- Change the type of
-InputObject
from PSResourceInfo to PSResourceInfo[] forInstall-PSResource
,Save-PSResource
, andUninstall-PSResource
(#1124) - PSModulePath is no longer referenced when searching paths (#1154)
- Support for Azure Artifacts, GitHub Packages, and Artifactory (#1167, #1180, #1183)
- Filter out unlisted packages (#1172, #1161)
- Add paging for V3 server requests (#1170)
- Support for floating versions (#1117)
- Update, Save, and Install with wildcard gets the latest version within specified range (#1117)
- Add positonal parameter for
-Path
inPublish-PSResource
(#1111) Uninstall-PSResource
-WhatIf
now shows version and path of package being uninstalled (#1116)- Find returns packages from the highest priority repository only (#1155)
- Bug fix for PSCredentialInfo constructor (#1156)
- Bug fix for
Install-PSResource
-NoClobber
parameter (#1121) Save-PSResource
now searches through all repos when no repo is specified (#1125)- Caching for improved performance in
Uninstall-PSResource
(#1175) - Bug fix for parsing package tags for packages that only have .nuspec from local repository (#1119)
- Move off of NuGet client APIs for local repositories (#1065)
- Update properties on PSResourceInfo object (#1077)
- Rename PSScriptFileInfo and
Get-PSResource
cmdlets (#1071) - fix ValueFromPipelineByPropertyName on Save, Install (#1070)
- add Help message for mandatory params across cmdlets (#1068)
- fix version range bug for
Update-PSResource
(#1067) - Fix attribute bugfixes for Find and Install params (#1066)
- Correct Unexpected spelling of Unexpected (#1059)
- Resolve bug with
Find-PSResource
-Type
Module not returning modules (#1050) - Inject credentials to ISettings to pass them into PushRunner (#993)
- Move off of NuGet client APIs and use direct REST API calls for remote repositories (#1023)
- Updates to dependency installation (#1010) (#996) (#907)
- Update to retrieving all packages installed on machine (#999)
- PSResourceInfo version correctly displays 2 or 3 digit version numbers (#697)
- Using
Find-PSresource
with-CommandName
or-DSCResourceName
parameters returns an object with a properly expanded ParentResource member (#754) Find-PSResource
no longer returns duplicate results (#755)Find-PSResource
lists repository 'PSGalleryScripts' which does not exist forGet-PSResourceRepository
(#1028)
- Add
-SkipModuleManifestValidate
parameter toPublish-PSResource
(#904)
- Add new parameter sets for
-IncludeXml
and-AsNupkg
parameters inInstall-PSResource
(#910) - Change warning to error in
Update-PSResource
when no module is already installed (#909) - Fix
-NoClobber
bug throwing error inInstall-PSResource
(#908) - Remove warning when installing dependencies (#907)
- Remove Proxy parameters from
Register-PSResourceRepository
(#906) - Remove
-PassThru
parameter fromUpdate-ModuleManifest
(#900)
- Add
Get-PSScriptFileInfo
cmdlet (#839) - Allow
-CredentialInfo
parameter to accept a hashtable (#836)
Publish-PSResource
now preserves folder and file structure (#882)- Fix verbose message for untrusted repos gaining trust (#841)
- Fix for
Update-PSResource
attempting to reinstall latest preview version (#834) - Add SupportsWildcards() attribute to parameters accepting wildcards (#833)
- Perform Repository trust check when installing a package (#831)
- Fix casing of
PSResource
inInstall-PSResource
(#820) - Update .nuspec 'license' property to 'licenseUrl' (#850)
- Add
-TemporaryPath
parameter toInstall-PSResource
,Save-PSResource
, andUpdate-PSResource
(#763) - Add String and SecureString as credential types in PSCredentialInfo (#764)
- Add a warning for when the script installation path is not in Path variable (#750)
- Expand acceptable paths for
Publish-PSResource
(Module root directory, module manifest file, script file)(#704) - Add
-Force
parameter toRegister-PSResourceRepository
cmdlet, to override an existing repository (#717)
- Change casing of
-IncludeXML
to-IncludeXml
(#739) - Update priority range for PSResourceRepository to 0-100 (#741)
- Editorial pass on cmdlet reference (#743)
- Fix issue when PSScriptInfo has no empty lines (#744)
- Make ConfirmImpact low for
Register-PSResourceRepository
andSave-PSResource
(#745) - Fix
-PassThru
forSet-PSResourceRepository
cmdlet to return all properties (#748) - Rename
-FilePath
parameter to-Path
for PSScriptFileInfo cmdlets (#765) - Fix RequiredModules description and add Find example to docs (#769)
- Remove unneeded inheritance in InstallHelper.cs (#773)
- Make
-Path
a required parameter forSave-PSResource
cmdlet (#780) - Improve script validation for publishing and installing (#781)
- Update NuGet dependency packages for security vulnerabilities (#733)
- Implementation of
New-ScriptFileInfo
,Update-ScriptFileInfo
, andTest-ScriptFileInfo
cmdlets (#708) - Implementation of
Update-ModuleManifest
cmdlet (#677) - Implentation of Authenticode validation via
-AuthenticodeCheck
forInstall-PSResource
(#632)
- Bug fix for installing modules with manifests that contain dynamic script blocks (#681)
- Bug fix for repository store (#661)
- Implementation of
-RequiredResourceFile
and-RequiredResource
parameters forInstall-PSResource
(#610, #592) - Scope parameters for
Get-PSResource
andUninstall-PSResource
(#639) - Support for credential persistence (#480 Thanks @cansuerdogan!)
- Bug fix for publishing scripts (#642)
- Bug fix for publishing modules with 'RequiredModules' specified in the module manifest (#640)
- 'SupportsWildcard' attribute added to
Find-PSResource
,Get-PSResource
,Get-PSResourceRepository
,Uninstall-PSResource
, andUpdate-PSResource
(#658) - Updated help documentation (#651)
- -Repositories parameter changed to singular
-Repository
inRegister-PSResource
andSet-PSResource
(#645) - Better prerelease support for
Uninstall-PSResource
(#593) - Rename PSResourceInfo's PrereleaseLabel property to match Prerelease column displayed (#591)
- Renaming of parameters
-Url
to-Uri
(#551 Thanks @fsackur!)
- Support searching for all packages from a repository (i.e
Find-PSResource -Name '*'
). Note, wildcard search is not supported for AzureDevOps feed repositories and will write an error message accordingly. - Packages found are now unique by Name,Version,Repository.
- Support searching for and returning packages found across multiple repositories when using wildcard with Repository parameter (i.e
Find-PSResource -Name 'PackageExistingInMultipleRepos' -Repository '*'
will perform an exhaustive search).- PSResourceInfo objects can be piped into:
Install-PSResource
,Uninstall-PSResource
,Save-PSResource
. PSRepositoryInfo objects can be piped into:Unregister-PSResourceRepository
- PSResourceInfo objects can be piped into:
- For more consistent pipeline support, the following cmdlets have pipeline support for the listed parameter(s):
Find-PSResource
(Name param, ValueFromPipeline)Get-PSResource
(Name param, ValueFromPipeline)Install-PSResource
(Name param, ValueFromPipeline)Publish-PSResource
(None)Save-PSResource
(Name param, ValueFromPipeline)Uninstall-PSResource
(Name param, ValueFromPipeline)Update-PSResource
(Name param, ValueFromPipeline)Get-PSResourceRepository
(Name param, ValueFromPipeline)Set-PSResourceRepository
(Name param, ValueFromPipeline)Register-PSResourceRepository
(None)Unregister-PSResourceRepository
(Name param, ValueFromPipelineByPropertyName)
- Implement
-Tag
parameter set forFind-PSResource
(i.eFind-PSResource -Tag 'JSON'
) - Implement
-Type
parameter set forFind-PSResource
(i.eFind-PSResource -Type Module
) - Implement CommandName and DSCResourceName parameter sets for
Find-PSResource
(i.eFind-PSResource -CommandName "Get-TargetResource"
). - Add consistent pre-release version support for cmdlets, including
Uninstall-PSResource
andGet-PSResource
. For example, runningGet-PSResource 'MyPackage' -Version '2.0.0-beta'
would only return MyPackage with version "2.0.0" and prerelease "beta", NOT MyPackage with version "2.0.0.0" (i.e a stable version). - Add progress bar for installation completion for
Install-PSResource
,Update-PSResource
andSave-PSResource
. - Implement
-Quiet
param forInstall-PSResource
,Save-PSResource
andUpdate-PSResource
. This suppresses the progress bar display when passed in. - Implement
-PassThru
parameter for all appropriate cmdlets.Install-PSResource
,Save-PSResource
,Update-PSResource
andUnregister-PSResourceRepository
cmdlets now have-PassThru
support thus completing this goal. - Implement
-SkipDependencies
parameter forInstall-PSResource
,Save-PSResource
, andUpdate-PSResource
cmdlets. - Implement
-AsNupkg
and-IncludeXML
parameters forSave-PSResource
. - Implement
-DestinationPath
parameter forPublish-PSResource
. - Add
-NoClobber
functionality toInstall-PSResource
. - Add thorough error handling to
Update-PSResource
to cover more cases and gracefully write errors when updates can't be performed. - Add thorough error handling to
Install-PSResource
to cover more cases and not fail silently when installation could not happen successfully. Also fixes bug where package would install even if it was already installed and-Reinstall
parameter was not specified. - Restore package if installation attempt fails when reinstalling a package.
- Fix bug with some Modules installing as Scripts.
- Fix bug with separating
$env:PSModulePath
to now work with path separators across all OS systems including Unix. - Fix bug to register repositories with local file share paths, ensuring repositories with valid URIs can be registered.
- Revert cmdlet name
Get-InstalledPSResource
toGet-PSResource
. - Remove DSCResources from PowerShellGet.
- Remove unnecessary assemblies.
- Graceful handling of paths that do not exist
- The repository store (PSResourceRepository.xml) is auto-generated if it does not already exist. It also automatically registers the PowerShellGallery with a default priority of 50 and a default trusted value of false.
- Better Linux support, including graceful exits when paths do not exist
- Better pipeline input support all cmdlets
- General wildcard support for all cmdlets
- WhatIf support for all cmdlets
- All cmdlets output concrete return types
- Better help documentation for all cmdlets
- Using an exact prerelease version with Find, Install, or Save no longer requires
-Prerelease
tag - Support for finding, installing, saving, and updating PowerShell resources from Azure Artifact feeds
Publish-PSResource
now properly dispays 'Tags' in nuspecFind-PSResource
quickly cancels transactions with 'CTRL + C'Register-PSRepository
now handles relative pathsFind-PSResource
andSave-PSResource
deduplicates dependenciesInstall-PSResource
no longer creates version folder with the prerelease tagUpdate-PSResource
can now update all resources, and no longer requires name paramSave-PSResource
properly handles saving scriptsGet-InstalledPSResource
uses default PowerShell paths
In this release, all cmdlets have been reviewed and implementation code refactored as needed. Cmdlets have most of their functionality, but some parameters are not yet implemented and will be added in future releases. All tests have been reviewed and rewritten as needed.
- Bug fix for
-ModuleName
(used with-Version
) inFind-PSResource
returning incorrect resource type - Make repositories unique by name
- Add tab completion for
-Name
parameter inGet-PSResource
,Set-PSResource
, andUnregister-PSResource
- Remove credential argument from
Register-PSResourceRepository
- Change returned version type from 'NuGet.Version' to 'System.Version'
- Have Install output verbose message on successful installation (error for unsuccessful installation)
- Ensure that not passing credentials does not throw an error if searching through multiple repositories
- Remove attempt to remove loaded assemblies in psm1
- Add DSCResources
- Fix bug related to finding dependencies that do not have a specified version in
Find-PSResource
- Fix bug related to parsing 'RequiredModules' in .psd1 in
Publish-PSResource
- Improve error handling for when repository in
Publish-PSResource
does not exist - Fix for unix paths in
Get-PSResource
,Install-PSResource
, andUninstall-PSResource
- Add debugging statements for
Get-PSResource
andInstall-PSResource
- Fix bug related to paths in
Uninstall-PSResource
- Add
-Type
parameter toInstall-PSResource
- Add 'sudo' check for admin privileges in Unix in
Install-PSResource
- Fix bug with retrieving installed scripts in
Get-PSResource
- Fix bug with AllUsers scope in Windows in
Install-PSResource
- Fix bug with
Uninstall-PSResource
sometimes not fully uninstalling - Change installed file paths to contain original version number instead of normalized version
- Completed functionality for
Update-PSResource
Input-Object
parameter forInstall-PSResource
- Improved experience when loading module for diffent frameworks
- Bug fix for assembly loading error in
Publish-PSResource
- Allow for relative paths when registering psrepository
- Improved error handling for
Install-PSResource
andUpdate-PSResource
- Remove prerelease tag from module version directory
- Fix error getting thrown from paths with incorrectly formatted module versions
- Fix module installation paths on Linux and MacOS
- Implement functionality for
Publish-PSResource
- Note: 3.0.0-beta5 was skipped due to a packaging error
- Implement
-Repository
'*' inFind-PSResource
to search through all repositories instead of prioritized repository
- Fix poor error handling for when repository is not accessible in Find-PSResource
-RequiredResource
parameter forInstall-PSResource
-RequiredResourceFile
parameter forInstall-PSResource
-IncludeXML
parameter inSave-PSResource
- Resolved paths in
Install-PSRsource
andSave-PSResource
- Resolved issues with capitalization (for unix systems) in
Install-PSResource
andSave-PSResource
- Progress bar and
-Quiet
parameter forInstall-PSResource
-TrustRepository
parameter forInstall-PSResource
-NoClobber
parameter forInstall-PSResource
-AcceptLicense
forInstall-PSResource
-Force
parameter forInstall-PSResource
-Reinstall
parameter forInstall-PSResource
- Improved error handling
- Preview version of PowerShellGet. Many features are not fully implemented yet. Please see https://devblogs.microsoft.com/powershell/powershellget-3-0-preview1 for more details.