Skip to content
This repository was archived by the owner on Jun 13, 2024. It is now read-only.

Merge development into master #431

Merged
merged 22 commits into from
Feb 26, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ab60ff8
Secure the links
RDIL Jan 10, 2019
0d77cf1
Throw error when Test-ModuleManifest fails in Update-ModuleManifest
throwaway774 Jan 11, 2019
e454bd6
filter out hidden files from nupkg (#396)
edyoung Jan 14, 2019
e2c81de
Adding support for PowerShellGet switches (#347)
mrhockeymonkey Jan 14, 2019
c1f05eb
File renaming to PowerShellGet and Code cleanup, added some best prac…
Outek Jan 17, 2019
c3c8a45
Now removes the PSGet_ prepended to line 2 in the updated manifest. (…
ThePoShWolf Jan 19, 2019
5a51ee6
Added basic test case to demonstrate repository / problem
edyoung Jan 23, 2019
4cc6d80
Proposed fix for location issues
edyoung Jan 24, 2019
437b0ba
do-nothing update to tickle appveyor
edyoung Jan 24, 2019
24cdf82
Fix for not being able to register PSGallery repository behind web pr…
muzzar78 Jan 29, 2019
3f6f735
Allow Update-ModuleManifest to take an empty array of functions or co…
Feb 4, 2019
73e6f87
Updated CI pipeline for testing PSModule DSC resources (#413)
johlju Feb 6, 2019
8c6ed52
Fix Update-ModuleManifest clears FunctionsToExport, AliasesToExport, …
Feb 10, 2019
cfdc6c7
Fix bug #9, use utf8 for .nuspec
edyoung Feb 11, 2019
041cb48
Fix #36 Allow piping psrepositories (#420)
edyoung Feb 11, 2019
cb52f79
PSModule: Clean up code (#424)
johlju Feb 18, 2019
1c677b8
PSRepository: New DSC resource (#426)
johlju Feb 18, 2019
1ed4914
Add DSC Unit tests to BVT
mgreenegit Feb 21, 2019
6b13c51
Merge pull request #428 from mgreenegit/DSC-BVTtags-1
edyoung Feb 22, 2019
87783e9
Cleaned up Travis CI config (#429)
RDIL Feb 23, 2019
6926ad4
Fix #78 (#421)
edyoung Feb 25, 2019
b9fba01
Update version and changelog (#430)
alerickson Feb 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .MetaTestOptIn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
"Common Tests - Validate Module Files",
"Common Tests - Validate Script Files",
"Common Tests - Validate Example Files",
"Common Tests - Validate Example Files To Be Published",
"Common Tests - Required Script Analyzer Rules",
"Common Tests - New Error-Level Script Analyzer Rules",
"Common Tests - Custom Script Analyzer Rules",
"Common Tests - Validate Markdown Links",
"Common Tests - Relative Path Length"
]
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -269,3 +269,7 @@ FakesAssemblies/
*.xproj
*.xproj.user
*.suo

# Ignore DscResource.Tests repository when it is cloned
# when running DSC resource unit tests locally.
DSC/DscResource.Tests
13 changes: 1 addition & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

language: csharp
dotnet: 2.0.2
mono: none
Expand Down Expand Up @@ -37,14 +36,4 @@ install:

script:
- echo "TRAVIS_EVENT_TYPE value $TRAVIS_EVENT_TYPE"
- ./tools/travis.sh










- bash ./tools/travis.sh
145 changes: 95 additions & 50 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,107 @@
# Changelog

## 2.1.0

Breaking Change

- Default installation scope for Update-Module and Update-Script has changed to match Install-Module and Install-Script. For Windows PowerShell (version 5.1 or below), the default scope is AllUsers when running in an elevated session, and CurrentUser at all other times.
For PowerShell version 6.0.0 and above, the default installation scope is always CurrentUser. (#421)

Bug Fixes

- Update-ModuleManifest no longer clears FunctionsToExport, AliasesToExport, nor NestModules (#415 & #425) (Thanks @pougetat and @tnieto88!)
- Update-Module no longer changes repository URL (#407)
- Update-ModuleManifest no longer preprends 'PSGet_' to module name (#403) (Thanks @ThePoShWolf)
- Update-ModuleManifest now throws error and fails to update when provided invalid entries (#398) (Thanks @pougetat!)
- Ignore files no longer being included when uploading modules (#396)

New Features

- New DSC resource, PSRepository (#426) (Thanks @johlju!)
- Piping of PS respositories (#420)
- utf8 support for .nuspec (#419)

## 2.0.4

Bug Fix
* Remove PSGallery availability checks (#374)

- Remove PSGallery availability checks (#374)

## 2.0.3

Bug fixes and Improvements
* Fix CommandAlreadyAvailable error for PackageManagement module (#333)
* Remove trailing whitespace when value is not provided for Get-PSScriptInfoString (#337) (Thanks @thomasrayner)
* Expanded aliases for improved readability (#338) (Thanks @lazywinadmin)
* Improvements for Catalog tests (#343)
* Fix Update-ScriptInfoFile to preserve PrivateData (#346) (Thanks @tnieto88)
* Install modules with many commands faster (#351)

- Fix CommandAlreadyAvailable error for PackageManagement module (#333)
- Remove trailing whitespace when value is not provided for Get-PSScriptInfoString (#337) (Thanks @thomasrayner)
- Expanded aliases for improved readability (#338) (Thanks @lazywinadmin)
- Improvements for Catalog tests (#343)
- Fix Update-ScriptInfoFile to preserve PrivateData (#346) (Thanks @tnieto88)
- Install modules with many commands faster (#351)

New Features
* Tab completion for -Repository parameter (#339) and for Publish-Module -Name (#359) (Thanks @matt9ucci)

- Tab completion for -Repository parameter (#339) and for Publish-Module -Name (#359) (Thanks @matt9ucci)

## 2.0.1

Bug fixes

- Resolved Publish-Module doesn't report error but fails to publish module (#316)
- Resolved CommandAlreadyAvailable error while installing the latest version of PackageManagement module (#333)

## 2.0.0

Breaking Change

- Default installation scope for Install-Module, Install-Script, and Install-Package has changed. For Windows PowerShell (version 5.1 or below), the default scope is AllUsers when running in an elevated session, and CurrentUser at all other times.
For PowerShell version 6.0.0 and above, the default installation scope is always CurrentUser.


## 1.6.7

Bug fixes

- Resolved Install/Save-Module error in PSCore 6.1.0-preview.4 on Ubuntu 18.04 OS (WSL/Azure) (#313)
- Updated error message in Save-Module cmdlet when the specified path is not accessible (#313)
- Added few additional verbose messages (#313)

## 1.6.6

Dependency Updates
* Add dependency on version 4.1.0 or newer of NuGet.exe
* Update NuGet.exe bootstrap URL to https://aka.ms/psget-nugetexe

- Add dependency on version 4.1.0 or newer of NuGet.exe
- Update NuGet.exe bootstrap URL to https://aka.ms/psget-nugetexe

Build and Code Cleanup Improvements
* Improved error handling in network connectivity tests.

- Improved error handling in network connectivity tests.

Bug fixes

- Change Update ModuleManifest so that prefix is not added to CmdletsToExport.
- Change Update ModuleManifest so that parameters will not reset to default values.
- Specify AllowPrereleseVersions provider option only when AllowPrerelease is specified on the PowerShellGet cmdlets.
- Specify AllowPrereleaseVersions provider option only when AllowPrerelease is specified on the PowerShellGet cmdlets.

## 1.6.5

New features
* Allow Pester/PSReadline installation when signed by non-Microsoft certificate (#258)

- Allow Pester/PSReadline installation when signed by non-Microsoft certificate (#258)
- Whitelist installation of non-Microsoft signed Pester and PSReadline over Microsoft signed Pester and PSReadline.

Build and Code Cleanup Improvements
* Splitting of functions (#229) (Thanks @Benny1007)

- Splitting of functions (#229) (Thanks @Benny1007)
- Moves private functions into respective private folder.
- Moves public functions as defined in PSModule.psd1 into respective public folder.
- Removes all functions from PSModule.psm1 file.
- Dot sources the functions from PSModule.psm1 file.
- Uses Export-ModuleMember to export the public functions from PSModule.psm1 file.

* Add build step to construct a single .psm1 file (#242) (Thanks @Benny1007)
- Add build step to construct a single .psm1 file (#242) (Thanks @Benny1007)
- Merged public and private functions into one .psm1 file to increase load time performance.

Bug fixes

- Fix null parameter error caused by MinimumVersion in Publish-PackageUtility (#201)
- Change .ExternalHelp link from PSGet.psm1-help.xml to PSModule-help.xml in PSModule.psm1 file (#215)
- Change Publish-* to allow version comparison instead of string comparison (#219)
Expand All @@ -76,87 +113,95 @@ Bug fixes
## 1.6.0

New features
* Prerelease Version Support (#185)

- Prerelease Version Support (#185)
- Implemented prerelease versions functionality in PowerShellGet cmdlets.
- Enables publishing, discovering, and installing the prerelease versions of modules and scripts from the PowerShell Gallery.
- [Documentation](https://docs.microsoft.com/en-us/powershell/gallery/psget/module/PrereleaseModule)

* Enabled publish cmdlets on PWSH and Nano Server (#196)
- Enabled publish cmdlets on PWSH and Nano Server (#196)
- Dotnet command version 2.0.0 or newer should be installed by the user prior to using the publish cmdlets on PWSH and Windows Nano Server.
- Users can install the dotnet command by following the instructions specified at https://aka.ms/dotnet-install-script .
- On Windows, users can install the dotnet command by running *Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -OutFile '.\dotnet-install.ps1'; & '.\dotnet-install.ps1' -Channel Current -Version '2.0.0'*
- Publish cmdlets on Windows PowerShell supports using the dotnet command for publishing operations.

Breaking Change

- PWSH: Changed the installation location of AllUsers scope to the parent of $PSHOME instead of $PSHOME. It is the SHARED_MODULES folder on PWSH.

Bug fixes

- Update HelpInfoURI to 'https://go.microsoft.com/fwlink/?linkid=855963' (#195)
- Ensure MyDocumentsPSPath path is correct (#179) (Thanks @lwsrbrts)

## 1.5.0.0

New features
* Added support for modules requiring license acceptance (#150)

- Added support for modules requiring license acceptance (#150)
- [Documentation](https://docs.microsoft.com/en-us/powershell/gallery/psget/module/RequireLicenseAcceptance)

* Added version for REQUIREDSCRIPTS (#162)
- Added version for REQUIREDSCRIPTS (#162)
- Enabled following scenarios for REQUIREDSCRIPTS
- [1.0] - RequiredVersion
- [1.0,2.0] - Min and Max Version
- (,1.0] - Max Version
- 1.0 - Min Version

Bug fixes
* Fixed empty version value in nuspec (#157)

- Fixed empty version value in nuspec (#157)

## 1.1.3.2
* Disabled PowerShellGet Telemetry on PS Core as PowerShell Telemetry APIs got removed in PowerShell Core beta builds. (#153)
* Fixed for DateTime format serialization issue. (#141)
* Update-ModuleManifest should add ExternalModuleDependencies value as a collection. (#129)

- Disabled PowerShellGet Telemetry on PS Core as PowerShell Telemetry APIs got removed in PowerShell Core beta builds. (#153)
- Fixed for DateTime format serialization issue. (#141)
- Update-ModuleManifest should add ExternalModuleDependencies value as a collection. (#129)

## 1.1.3.1

New features
* Added `PrivateData` field to ScriptFileInfo. (#119)

- Added `PrivateData` field to ScriptFileInfo. (#119)

Bug fixes
* Fixed Add-Type issue in v6.0.0-beta.1 release of PowerShellCore. (#125, #124)
* Install-Script -Scope CurrentUser PATH changes should not require a reboot for new PS processes. (#124)
- Made changes to broadcast the Environment variable changes, so that other processes pick changes to Environment variables without having to reboot or logoff/logon.
* Changed `Get-EnvironmentVariable` to get the unexpanded version of `%path%`. (#117)
* Refactor credential parameter propagation to sub-functions. (#104)
* Added credential parameter to subsequent calls of `Publish-Module/Script`. (#93)
- This is needed when a module is published that has the RequiredModules attribute in the manifest on a repository that does not have anonymous access because the required module lookups will fail.

- Fixed Add-Type issue in v6.0.0-beta.1 release of PowerShellCore. (#125, #124)
- Install-Script -Scope CurrentUser PATH changes should not require a reboot for new PS processes. (#124)
- Made changes to broadcast the Environment variable changes, so that other processes pick changes to Environment variables without having to reboot or logoff/logon.
- Changed `Get-EnvironmentVariable` to get the unexpanded version of `%path%`. (#117)
- Refactor credential parameter propagation to sub-functions. (#104)
- Added credential parameter to subsequent calls of `Publish-Module/Script`. (#93)
- This is needed when a module is published that has the RequiredModules attribute in the manifest on a repository that does not have anonymous access because the required module lookups will fail.

## 1.1.2.0

Bug fixes
* Renamed `PublishModuleIsNotSupportedOnNanoServer` errorid to `PublishModuleIsNotSupportedOnPowerShellCoreEdition`. (#44)
- Also renamed `PublishScriptIsNotSupportedOnNanoServer` to `PublishScriptIsNotSupportedOnPowerShellCoreEdition`.
* Fixed an issue in `Update-Module` and `Update-Script` cmdlets to show proper version of current item being updated in `Confirm`/`WhatIf` message. (#44)
* Updated `Test-ModuleInstalled` function to return single module instead of multiple modules. (#44)
* Updated `ModuleCommandAlreadyAvailable` error message to include all conflicting commands instead of one. (#44)
- Corresponding changes to collect the complete set of conflicting commands from the being installed.
- Also ensured that conflicting commands from PSModule.psm1 are ignored in the command collision analysis as Get-Command includes the commands from current local scope as well.

* Fixed '[Test-ScriptFileInfo] Fails on *NIX newlines (LF vs. CRLF)' (#18)
- Renamed `PublishModuleIsNotSupportedOnNanoServer` errorid to `PublishModuleIsNotSupportedOnPowerShellCoreEdition`. (#44)
- Also renamed `PublishScriptIsNotSupportedOnNanoServer` to `PublishScriptIsNotSupportedOnPowerShellCoreEdition`.
- Fixed an issue in `Update-Module` and `Update-Script` cmdlets to show proper version of current item being updated in `Confirm`/`WhatIf` message. (#44)
- Updated `Test-ModuleInstalled` function to return single module instead of multiple modules. (#44)
- Updated `ModuleCommandAlreadyAvailable` error message to include all conflicting commands instead of one. (#44)
- Corresponding changes to collect the complete set of conflicting commands from the being installed.
- Also ensured that conflicting commands from PSModule.psm1 are ignored in the command collision analysis as Get-Command includes the commands from current local scope as well.

- Fixed '[Test-ScriptFileInfo] Fails on *NIX newlines (LF vs. CRLF)' (#18)

## 1.1.1.0

Bug fixes
* Fixed 'Update-Module fails with `ModuleAuthenticodeSignature` error for modules with signed PSD1'. (#12) (#8)
* Fixed 'Properties of `AdditionalMetadata` are case-sensitive'. #7
* Changed `ErrorAction` to `Ignore` for few cmdlet usages as they should not show up in ErrorVariable.
- For example, error returned by `Get-Command Test-FileCatalog` should be ignored.

- Fixed 'Update-Module fails with `ModuleAuthenticodeSignature` error for modules with signed PSD1'. (#12) (#8)
- Fixed 'Properties of `AdditionalMetadata` are case-sensitive'. #7
- Changed `ErrorAction` to `Ignore` for few cmdlet usages as they should not show up in ErrorVariable.
- For example, error returned by `Get-Command Test-FileCatalog` should be ignored.

## 1.1.0.0

* Initial release from GitHub.
* PowerShellCore support.
* Security enhancements including the enforcement of catalog-signed modules during installation.
* Authenticated Repository support.
* Proxy Authentication support.
* Responses to a number of user requests and issues.
- Initial release from GitHub.
- PowerShellCore support.
- Security enhancements including the enforcement of catalog-signed modules during installation.
- Authenticated Repository support.
- Proxy Authentication support.
- Responses to a number of user requests and issues.
4 changes: 2 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
This project has adopted the [Microsoft Open Source Code of Conduct][conduct-code].
For more information see the [Code of Conduct FAQ][conduct-FAQ] or contact [opencode@microsoft.com][conduct-email] with any additional questions or comments.

[conduct-code]: http://opensource.microsoft.com/codeofconduct/
[conduct-FAQ]: http://opensource.microsoft.com/codeofconduct/faq/
[conduct-code]: https://opensource.microsoft.com/codeofconduct/
[conduct-FAQ]: https://opensource.microsoft.com/codeofconduct/faq/
[conduct-email]: mailto:opencode@microsoft.com
63 changes: 63 additions & 0 deletions DSC/DSC.psd1
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<#
This is a dummy PowerShell manifest file so that the DscResource.Tests
test framework recognize the module folder as correct (expected) folder
and file structure.
THIS FILE IS NOT USE DURING DEPLOYMENT.
#>
@{
# Version number of this module.
moduleVersion = '0.0.0.1'

# ID used to uniquely identify this module
GUID = 'e102ebd2-bdc3-4d0f-bc93-4b8cc3eb7074'

# Author of this module
Author = 'Microsoft Corporation'

# Company or vendor of this module
CompanyName = 'Microsoft Corporation'

# Copyright statement for this module
Copyright = '(c) 2019 Microsoft Corporation. All rights reserved.'

# Description of the functionality provided by this module
Description = 'Module with DSC Resources for deployment of PowerShell modules.'

# Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '5.0'

# Minimum version of the common language runtime (CLR) required by this module
CLRVersion = '4.0'

# Functions to export from this module
FunctionsToExport = @()

# Cmdlets to export from this module
CmdletsToExport = @()

RequiredAssemblies = @()

<#
Private data to pass to the module specified in RootModule/ModuleToProcess.
This may also contain a PSData hashtable with additional module metadata used by PowerShell.
#>
PrivateData = @{

PSData = @{

# Tags applied to this module. These help with module discovery in online galleries.
Tags = @('DesiredStateConfiguration', 'DSC', 'DSCResource')

# A URL to the license for this module.
LicenseUri = 'https://github.com/PowerShell/PowerShellGet/blob/master/LICENSE'

# A URL to the main website for this project.
ProjectUri = 'https://github.com/PowerShell/PowerShellGet'

# ReleaseNotes of this module
ReleaseNotes = ''

} # End of PSData hashtable

} # End of PrivateData hashtable
}
Loading