1.0.6 - 2024-10-10
- Bump System.Text.Json to 8.0.5
1.0.5 - 2024-05-13
- Update
nuget.configto use PowerShell packages feed (#1649) - Refactor V2ServerAPICalls and NuGetServerAPICalls to use object-oriented query/filter builder (#1645 Thanks @sean-r-williams!)
- Fix unnecessary
andfor version globbing in V2ServerAPICalls (#1644 Thanks again @sean-r-williams!) - Fix requiring
tagsin 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-PSResourcenot updating from correct repository (#1549) - Bug fix for creating temp home directory on Unix (#1544)
- Bug fix for creating
InstalledScriptInfosdirectory when it does not exist (#1542) - Bug fix for
Update-ModuleManifestthrowing null pointer exception (#1538) - Bug fix for
nameproperty not populating inPSResourceInfoobject when usingFind-PSResourcewith 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
NormalizedVersionproperty toAdditionalMetadataonly when it exists (#1503 Thanks @sean-r-williams!) - Bug fix to verify whether
Uriis 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
ApiVersionparameter 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
-RequiredResourcesilent failures (#1426) - Bug fix for v2 repository returning extra packages for
-Tagbased search with-Prerelease(#1405)
- Bug fix for using
Import-PSGetRepositoryin 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
-IncludeXMLparameter (#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
-Prereleaseis not empty or whitespace forUpdate-PSModuleManifest(#1348) - Bug fix for saving
Azmodule dependencies (#1343) - Bug fix for
Find-PSResourcerepository looping to to return matches from all repositories (#1342) - Update error handling for Tags, Commands, and DSCResources when searching across repositories (#1339)
- Update
Find-PSResourcelooping and error handling to account for multiple package names (#1338) - Update error handling for
Find-PSResourceusing 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-PSResourceverbose 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-PSResourcefailing 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-PSResourceRepositoryrun without-ApiVersionparamater no longer resets the property for the repository (#1310)
- *-PSResourceRepository
-Urinow 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-PSResourcealias toGet-InstalledPSResource(#1216) - Add
-ApiVersionparameter 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
-WhatIfinInstall-PSResource,Save-PSResource, andUpdate-PSResource(#1274) - Bug fix for publishing with ExternalModuleDependencies (#1271)
- Support Credential Persistence for
Publish-PSResource(#1268) - Update
Save-PSResource-Pathparam 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-PSResourcefor 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
-Typeparameter (#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
-PathinPublish-PSResource(#1227) - Bug fix for
-RequireLicenseAcceptanceinPublish-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-InstalledPSResourceandFind-PSResource(#1217) - Improve error handling in
Uninstall-PSResource(#1215) - Change resolved paths to use GetResolvedProviderPathFromPSPath (#1209)
- Bug fix for
Get-InstalledPSResourcereturning type of scripts as module (#1198)
- PowerShellGet is now PSResourceGet! (#1164)
Update-PSScriptFileis nowUpdate-PSScriptFileInfo(#1140)New-PSScriptFileis nowNew-PSScriptFileInfo(#1140)Update-ModuleManifestis nowUpdate-PSModuleManifest(#1139)-Tagsparameter changed to-TaginNew-PSScriptFile,Update-PSScriptFileInfo, andUpdate-ModuleManifest(#1123)- Change the type of
-InputObjectfrom 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
-PathinPublish-PSResource(#1111) Uninstall-PSResource-WhatIfnow 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-NoClobberparameter (#1121) Save-PSResourcenow 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-PSResourcecmdlets (#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-TypeModule 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-PSresourcewith-CommandNameor-DSCResourceNameparameters returns an object with a properly expanded ParentResource member (#754) Find-PSResourceno longer returns duplicate results (#755)Find-PSResourcelists repository 'PSGalleryScripts' which does not exist forGet-PSResourceRepository(#1028)
- Add
-SkipModuleManifestValidateparameter toPublish-PSResource(#904)
- Add new parameter sets for
-IncludeXmland-AsNupkgparameters inInstall-PSResource(#910) - Change warning to error in
Update-PSResourcewhen no module is already installed (#909) - Fix
-NoClobberbug throwing error inInstall-PSResource(#908) - Remove warning when installing dependencies (#907)
- Remove Proxy parameters from
Register-PSResourceRepository(#906) - Remove
-PassThruparameter fromUpdate-ModuleManifest(#900)
- Add
Get-PSScriptFileInfocmdlet (#839) - Allow
-CredentialInfoparameter to accept a hashtable (#836)
Publish-PSResourcenow preserves folder and file structure (#882)- Fix verbose message for untrusted repos gaining trust (#841)
- Fix for
Update-PSResourceattempting 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
PSResourceinInstall-PSResource(#820) - Update .nuspec 'license' property to 'licenseUrl' (#850)
- Add
-TemporaryPathparameter 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
-Forceparameter toRegister-PSResourceRepositorycmdlet, to override an existing repository (#717)
- Change casing of
-IncludeXMLto-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-PSResourceRepositoryandSave-PSResource(#745) - Fix
-PassThruforSet-PSResourceRepositorycmdlet to return all properties (#748) - Rename
-FilePathparameter to-Pathfor PSScriptFileInfo cmdlets (#765) - Fix RequiredModules description and add Find example to docs (#769)
- Remove unneeded inheritance in InstallHelper.cs (#773)
- Make
-Patha required parameter forSave-PSResourcecmdlet (#780) - Improve script validation for publishing and installing (#781)
- Update NuGet dependency packages for security vulnerabilities (#733)
- Implementation of
New-ScriptFileInfo,Update-ScriptFileInfo, andTest-ScriptFileInfocmdlets (#708) - Implementation of
Update-ModuleManifestcmdlet (#677) - Implentation of Authenticode validation via
-AuthenticodeCheckforInstall-PSResource(#632)
- Bug fix for installing modules with manifests that contain dynamic script blocks (#681)
- Bug fix for repository store (#661)
- Implementation of
-RequiredResourceFileand-RequiredResourceparameters forInstall-PSResource(#610, #592) - Scope parameters for
Get-PSResourceandUninstall-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
-RepositoryinRegister-PSResourceandSet-PSResource(#645) - Better prerelease support for
Uninstall-PSResource(#593) - Rename PSResourceInfo's PrereleaseLabel property to match Prerelease column displayed (#591)
- Renaming of parameters
-Urlto-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
-Tagparameter set forFind-PSResource(i.eFind-PSResource -Tag 'JSON') - Implement
-Typeparameter 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-PSResourceandGet-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-PSResourceandSave-PSResource. - Implement
-Quietparam forInstall-PSResource,Save-PSResourceandUpdate-PSResource. This suppresses the progress bar display when passed in. - Implement
-PassThruparameter for all appropriate cmdlets.Install-PSResource,Save-PSResource,Update-PSResourceandUnregister-PSResourceRepositorycmdlets now have-PassThrusupport thus completing this goal. - Implement
-SkipDependenciesparameter forInstall-PSResource,Save-PSResource, andUpdate-PSResourcecmdlets. - Implement
-AsNupkgand-IncludeXMLparameters forSave-PSResource. - Implement
-DestinationPathparameter forPublish-PSResource. - Add
-NoClobberfunctionality toInstall-PSResource. - Add thorough error handling to
Update-PSResourceto cover more cases and gracefully write errors when updates can't be performed. - Add thorough error handling to
Install-PSResourceto 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-Reinstallparameter 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:PSModulePathto 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-InstalledPSResourcetoGet-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
-Prereleasetag - Support for finding, installing, saving, and updating PowerShell resources from Azure Artifact feeds
Publish-PSResourcenow properly dispays 'Tags' in nuspecFind-PSResourcequickly cancels transactions with 'CTRL + C'Register-PSRepositorynow handles relative pathsFind-PSResourceandSave-PSResourcededuplicates dependenciesInstall-PSResourceno longer creates version folder with the prerelease tagUpdate-PSResourcecan now update all resources, and no longer requires name paramSave-PSResourceproperly handles saving scriptsGet-InstalledPSResourceuses 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-PSResourcereturning incorrect resource type - Make repositories unique by name
- Add tab completion for
-Nameparameter 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-PSResourcedoes not exist - Fix for unix paths in
Get-PSResource,Install-PSResource, andUninstall-PSResource - Add debugging statements for
Get-PSResourceandInstall-PSResource - Fix bug related to paths in
Uninstall-PSResource
- Add
-Typeparameter 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-PSResourcesometimes not fully uninstalling - Change installed file paths to contain original version number instead of normalized version
- Completed functionality for
Update-PSResource Input-Objectparameter 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-PSResourceandUpdate-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-PSResourceto search through all repositories instead of prioritized repository
- Fix poor error handling for when repository is not accessible in Find-PSResource
-RequiredResourceparameter forInstall-PSResource-RequiredResourceFileparameter forInstall-PSResource-IncludeXMLparameter inSave-PSResource
- Resolved paths in
Install-PSRsourceandSave-PSResource - Resolved issues with capitalization (for unix systems) in
Install-PSResourceandSave-PSResource
- Progress bar and
-Quietparameter forInstall-PSResource -TrustRepositoryparameter forInstall-PSResource-NoClobberparameter forInstall-PSResource-AcceptLicenseforInstall-PSResource-Forceparameter forInstall-PSResource-Reinstallparameter 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.