The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.
- OpticalDiskDriveLetter:
- Some operating systems report the optical disk in the Win32_CDROMDrive list,
but a volume that matches either the DeviceId or DriveLetter can not be found.
This caused an
Cannot bind argument to parameter 'DevicePath' because it is an empty string.
exception to occur in theTest-OpticalDiskCanBeManaged
. Prevented this exception from occuring by marking disk as not manageable - Fixes Issue #289.
- Some operating systems report the optical disk in the Win32_CDROMDrive list,
but a volume that matches either the DeviceId or DriveLetter can not be found.
This caused an
- Azure DevOps Build Pipeline:
- Update pipeline files to use latest DSC Community pattern and sampler tasks.
- Disk:
- BREAKING CHANGE: Added support for volumes to be formatted as Dev Drives - Fixes Issue #276.
- Fixed minor markdown linting issues in README.md and used to issue BREAKING CHANGE commit - Fixes Issue #282.
- Updated tag from 'Dev Drive' to 'DevDrive' in manifest file - Fixes Issue #280.
- Added DSC_VirtualHardDisk resource for creating virtual disks and tests - Fixes Issue #277
- OpticalDiskDriveLetter:
- Fix detection of virtual optical drives by changing logic to detect how a mounted ISO is detected. This resolves issues with using the resource in Azure Gen2 VMs with Windows Server 2022 Azure Edition - Fixes Issue #285.
- Azure DevOps Build Pipeline:
- Tests 'Unit (Windows Server 2022)' corrected to execute on Windows Server 2022 node instead of Windows Server 2019.
- 'Package Module' job runs on 'windows-latest' hosted agent to resolve 'Unable to load shared library 'libmi' or one of its dependencies.' error.
- Disk:
- Fixed unit test failure loading
StorageDsc.Common.strings
due to change inDscResource.Common\Get-LocalizationData
in this PR.
- Fixed unit test failure loading
- Renamed
master
branch tomain
- Fixes Issue #250. - Added support for publishing code coverage to
CodeCov.io
and Azure Pipelines - Fixes Issue #255. - Updated build to use
Sampler.GitHubTasks
- Fixes Issue #254. - Updated pipeline tasks to latest pattern.
- Updated .github issue templates to standard - Fixes Issue #263.
- Added Create_ChangeLog_GitHub_PR task to publish stage of build pipeline.
- Added SECURITY.md.
- Updated pipeline Deploy_Module anb Code_Coverage jobs to use ubuntu-latest images - Fixes Issue #262.
- Updated pipeline unit tests and integration tests to use Windows Server 2019 and Windows Server 2022 images - Fixes Issue #262.
- Added support to use disk FriendlyName as a disk identifer - Fixes Issue #268.
- Pin Azure build agent vmImage to ubuntu-20.04 - Fixes [Issue #270] (#270).
- Remove confirmation prompt when Clear-Disk is called.
- Add mock Clear-Disk function and verification tests.
- Added support to use disk SerialNumber as a disk identifer - Fixes Issue #259.
- MountImage:
- Corrected example
1-MountImage_DismountISO.ps1
for dismounting ISO - Fixes Issue #221.
- Corrected example
- Updated
GitVersion.yml
to latest pattern - Fixes Issue #252. - Fixed pipeline by replacing the GitVersion task in the
azure-pipelines.yml
with a script.
- Fixed build failures caused by changes in
ModuleBuilder
module v1.7.0 by changingCopyDirectories
toCopyPaths
- Fixes Issue #237. - Updated to use the common module DscResource.Common - Fixes Issue #234.
- Pin
Pester
module to 4.10.1 because Pester 5.0 is missing code coverage - Fixes Issue #238. - OpticalDiskDriveLetter:
- Removed integration test that tests when a disk is not in the system as it is not a useful test, does not work correctly and is covered by unit tests - Fixes Issue #240.
- StorageDsc
- Automatically publish documentation to GitHub Wiki - Fixes Issue #241.
- Disk:
- Fix bug when multiple partitions with the same drive letter are reported by the disk subsystem - Fixes Issue #210.
- Fixed hash table style violations - fixes Issue #219.
- Disk:
- Updated example with size as a number in bytes and without unit of measurement like GB or MB - fixes Issue #214.
- BREAKING CHANGE: Changed resource prefix from MSFT to DSC.
- BREAKING CHANGE: Changed Disk resource prefix from MSFTDSC to DSC as there would no longer be a conflict with the built in MSFT_Disk CIM class.
- Updated to use continuous delivery pattern using Azure DevOps - fixes Issue #225.
- Updated Examples and Module Manifest to be DSC Community from Microsoft.
- Added Integration tests on Windows Server 2019.
- WaitForVolume:
- Improved unit tests to use virtual disk instead of physical disk.
- Disk:
- Added
Invalid Parameter
exception being reported when ReFS volumes are used with Windows Server 2019 as a known issue to README.MD - fixes Issue #227.
- Added
- Updated build badges in README.md.
- Change Azure DevOps Pipeline definition to include
source/*
- Fixes Issue #231. - Updated pipeline to use
latest
version ofModuleBuilder
- Fixes Issue #231. - Merge
HISTORIC_CHANGELOG.md
intoCHANGELOG.md
- Fixes Issue #232. - OpticalDiskDriveLetter:
- Suppress exception when requested optical disk drive does not exist
and Ensure is set to
Absent
- Fixes Issue #194.
- Suppress exception when requested optical disk drive does not exist
and Ensure is set to
- Disk:
- Added
Location
as a possible value forDiskIdType
. This will select the disk based on theLocation
property returned byGet-Disk
- Maximum size calculation now uses workaround so that Test-TargetResource works properly - workaround for Issue #181.
- Added
- DiskAccessPath:
- Added
Location
as a possible value forDiskIdType
. This will select the disk based on theLocation
property returned byGet-Disk
- Added
- WaitForDisk:
- Added
Location
as a possible value forDiskIdType
. This will select the disk based on theLocation
property returned byGet-Disk
- Added
- Removed suppression of
PSUseShouldProcessForStateChangingFunctions
PSSA rule because it is no longer required. - Combined all
StorageDsc.ResourceHelper
module functions intoStorageDsc.Common
module and removedStorageDsc.ResourceHelper
. - Opted into Common Tests 'Common Tests - Validate Localization' - fixes Issue #206.
- Refactored tests for
StorageDsc.Common
to meet latest standards. - Minor style corrections.
- Removed unused localization strings from resources.
- DiskAccessPath:
- Added function to force refresh of disk subsystem at the start of Set-TargetResource to prevent errors occuring when the disk access path is already assigned - See Issue 121
- DiskAccessPath:
- Added a Get-Partition to properly handle setting the NoDefaultDriveLetter parameter - fixes Issue #198.
- Fix example publish to PowerShell Gallery by adding
gallery_api
environment variable toAppVeyor.yml
- fixes Issue #202. - Added 'DscResourcesToExport' to manifest to improve information in PowerShell Gallery and removed wildcards from 'FunctionsToExport', 'CmdletsToExport', 'VariablesToExport' and 'AliasesToExport' - fixes Issue #192.
- Clean up module manifest to correct Author and Company - fixes Issue #191.
- Correct unit tests for DiskAccessPath to test exact number of mocks called - fixes Issue #199.
- Disk:
- Added minimum timetowate of 3s after new-partition using the while loop. The problem occurs when the partition is created and the format-volume is attempted before the volume has completed. There appears to be no property to determine if the partition is sufficiently ready to format and it will often format as a raw volume when the error occurs - fixes Issue #85.
- Opt-in to Example publishing to PowerShell Gallery - fixes Issue #186.
- DiskAccessPath:
- Updated the resource to not assign a drive letter by default when adding a disk access path. Adding a Set-Partition -NoDefaultDriveLetter $NoDefaultDriveLetter block defaulting to true. When adding access paths the disks will no longer have drive letters automatically assigned on next reboot which is the desired behavior - Fixes Issue #145.
- Refactored module folder structure to move resource to root folder of repository and remove test harness - fixes Issue #169.
- Updated Examples to support deployment to PowerShell Gallery scripts.
- Removed limitation on using Pester 4.0.8 during AppVeyor CI.
- Moved the Code of Conduct text out of the README.md and into a CODE_OF_CONDUCT.md file.
- Explicitly removed extra hidden files from release package
- WaitForDisk:
- Added readonly-property isAvailable which shows the current state of the disk as a boolean - fixes Issue #158.
- Disk:
- Added
PartitionStyle
parameter - Fixes Issue #137. - Changed MOF name from
MSFT_Disk
toMSFTDSC_Disk
to remove conflict with Windows built-in CIM class - Fixes Issue #167.
- Added
- Opt-in to Common Tests:
- Common Tests - Validate Example Files To Be Published
- Common Tests - Validate Markdown Links
- Common Tests - Relative Path Length
- Added .VSCode settings for applying DSC PSSA rules - fixes Issue #168.
- Disk:
- Added 'defragsvc' service conflict known issue to README.MD - fixes Issue #172.
- Corrected style violations in StorageDsc.Common module - fixes Issue #153.
- Corrected style violations in StorageDsc.ResourceHelper module.
- Enabled PSSA rule violations to fail build - Fixes Issue #149.
- Fixed markdown rule violations in CHANGELOG.MD.
- Disk:
- Corrected message strings.
- Added message when partition resize required but
AllowDestructive
parameter is not enabled. - Fix error when
Size
not specified andAllowDestructive
is$true
and partition can be expanded - Fixes Issue #162. - Fix incorrect error displaying when newly created partition is not made Read/Write.
- Change verbose messages to show warnings when a partition resize would
have occured but the
AllowDestructive
flag is set to$false
.
- BREAKING CHANGE:
- Renamed xStorage to StorageDsc
- Renamed MSFT_xDisk to MSFT_Disk
- Renamed MSFT_xDiskAccessPath to MSFT_DiskAccessPath
- Renamed MSFT_xMountImage to MSFT_MountImage
- Renamed MSFT_xOpticalDiskDriveLetter to MSFT_OpticalDiskDriveLetter
- Renamed MSFT_xWaitForDisk to MSFT_WaitForDisk
- Renamed MSFT_xWaitForVolume to MSFT_WaitforVolume
- Deleted xStorage folder under StorageDsc/Modules
- See Issue 129
- xDisk:
- Removed duplicate integration tests for Guid Disk Id type.
- Added new contexts to integration tests improve clarity.
- Fix bug when size not specified and disk partitioned and formatted but not assigned drive letter - See Issue 103.
- xDiskAccessPath:
- Added new contexts to integration tests improve clarity.
- Fix bug when size not specified and disk partitioned and formatted but not assigned to path - See Issue 103.
- Opted into common tests for Module and Script files - See Issue 115.
- xDisk:
- xDiskAccessPath:
- Added support for Guid Disk Id type - See Issue 104.
- xWaitForDisk:
- Added support for Guid Disk Id type - See Issue 104.
- Added .markdownlint.json file to configure markdown rules to validate.
- Clean up Badge area in README.MD - See Issue 110.
- Disabled MD013 rule checking to enable badge table.
- Added .github support files:
- CONTRIBUTING.md
- ISSUE_TEMPLATE.md
- PULL_REQUEST_TEMPLATE.md
- Changed license year to 2017 and set company name to Microsoft Corporation in LICENSE.MD and module manifest - See Issue 111.
- Set Visual Studio Code setting "powershell.codeFormatting.preset" to "custom" - See Issue 108
- Added
Documentation and Examples
section to Readme.md file - see issue #116. - Prevent unit tests from DSCResource.Tests from running during test execution - fixes Issue #118.
- Updated tests to meet Pester V4 guidelines - fixes Issue #120.
- xDisk:
- Fix error message when new partition does not become writable before timeout.
- Removed unneeded timeout initialization code.
- xDiskAccessPath:
- Fix error message when new partition does not become writable before timeout.
- Removed unneeded timeout initialization code.
- Fix error when used on Windows Server 2012 R2 - See Issue 102.
- Added the VS Code PowerShell extension formatting settings that cause PowerShell files to be formatted as per the DSC Resource kit style guidelines.
- Removed requirement on Hyper-V PowerShell module to execute integration tests.
- xMountImage:
- Fix error when mounting VHD on Windows Server 2012 R2 - See Issue 105
- Added integration test to test for conflicts with other common resource kit modules.
- Prevented ResourceHelper and Common module cmdlets from being exported to resolve conflicts with other resource modules.
- Converted AppVeyor build process to use AppVeyor.psm1.
- Added support for auto generating wiki, help files, markdown linting and checking examples.
- Correct name of MSFT_xDiskAccessPath.tests.ps1.
- Move shared modules into Modules folder.
- Fixed unit tests.
- Removed support for WMI cmdlets.
- Opted in to Markdown and Example tests.
- Added CodeCov.io support.
- Removed requirement on using Pester 3.4.6 because Pester bug fixed in 4.0.3.
- Fixed unit tests for MSFT_xDiskAccessPath resource to be compatible with Pester 4.0.3.
- xDisk:
- BREAKING CHANGE: Renamed parameter DiskNumber to DiskId to enable it to contain either DiskNumber or UniqueId - See Issue 81.
- Added DiskIdType parameter to enable specifying the type of identifer the DiskId parameter contains - See Issue 81.
- Changed to use xDiskAccessPath pattern to fix issue with Windows Server 2016 - See Issue 80.
- Fixed style violations in xDisk.
- Fixed issue when creating multiple partitions on a single disk with no size specified - See Issue 86.
- xDiskAccessPath:
- BREAKING CHANGE: Renamed parameter DiskNumber to DiskId to enable it to contain either DiskNumber or UniqueId - See Issue 81.
- Added DiskIdType parameter to enable specifying the type of identifer the DiskId parameter contains - See Issue 81.
- Fixed incorrect logging messages when changing volume label.
- Fixed issue when creating multiple partitions on a single disk with no size specified - See Issue 86.
- xWaitForDisk:
- Updated readme.md to remove markdown best practice rule violations.
- Updated readme.md to match DSCResources/DscResource.Template/README.md.
- xDiskAccessPath:
- Fix bug when re-attaching disk after mount point removed or detatched.
- Additional log entries added for improved diagnostics.
- Additional integration tests added.
- Improve timeout loop.
- Converted integration tests to use
$TestDrive
as working folder ortemp
folder when persistence across tests is required. - Suppress
PSUseShouldProcessForStateChangingFunctions
rule violations in resources. - Rename
Test-AccessPath
function toAssert-AccessPathValid
. - Rename
Test-DriveLetter
function toAssert-DriveLetterValid
. - Added
CommonResourceHelper.psm1
module (based on PSDscResources). - Added
CommonTestsHelper.psm1
module (based on PSDscResources). - Converted all modules to load localization data using
Get-LocalizedData
from CommonResourceHelper. - Converted all exception calls and tests to use functions
in
CommonResourceHelper.psm1
andCommonTestsHelper.psm1
respectively. - Fixed examples:
- Sample_InitializeDataDisk.ps1
- Sample_InitializeDataDiskWithAccessPath.ps1
- Sample_xMountImage_DismountISO.ps1
- xDisk:
- Improve timeout loop.
- added test for existing file system and no drive letter assignment to allow simple drive letter assignment in MSFT_xDisk.psm1
- added unit test for volume with existing partition and no drive letter assigned for MSFT_xDisk.psm1
- xMountImage: Fixed mounting disk images on Windows 10 Anniversary Edition
- Updated to meet HQRM guidelines.
- Moved all strings into localization files.
- Fixed examples to import xStorage module.
- Fixed Readme.md layout issues.
- xWaitForDisk:
- Added support for setting DriveLetter parameter with or without colon.
- MOF Class version updated to 1.0.0.0.
- xWaitForVolume:
- Added new resource.
- StorageCommon:
- Added helper function module.
- Corrected name of unit tests file.
- xDisk:
- Added validation of DriveLetter parameter.
- Added support for setting DriveLetter parameter with or without colon.
- Removed obfuscation of drive/partition errors by eliminating try/catch block.
- Improved code commenting.
- Reordered tests so they are in same order as module functions to ease creation.
- Added FSFormat parameter to allow disk format to be specified.
- Size or AllocationUnitSize mismatches no longer trigger Set-TargetResource because these values can't be changed (yet).
- MOF Class version updated to 1.0.0.0.
- Unit tests changed to match xDiskAccessPath methods.
- Added additional unit tests to Get-TargetResource.
- Fixed bug in Get-TargetResource when disk did not contain any partitions.
- Added missing cmdletbinding() to functions.
- xMountImage (Breaking Change):
- Removed Name parameter (Breaking Change)
- Added validation of DriveLetter parameter.
- Added support for setting DriveLetter parameter with or without colon.
- MOF Class version updated to 1.0.0.0.
- Enabled mounting of VHD/VHDx/VHDSet disk images.
- Added StorageType and Access parameters to allow mounting VHD and VHDx disks as read/write.
- xDiskAccessPath:
- Added new resource.
- Added support for changing/setting volume label.
- Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
- MSFT_xDisk: Replaced Get-WmiObject with Get-CimInstance
- added test for existing file system to allow simple drive letter assignment in MSFT_xDisk.psm1
- modified Test verbose message to correctly reflect blocksize value in MSFT_xDisk.psm1 line 217
- added unit test for new volume with out existing partition for MSFT_xDisk.psm1
- Fixed error propagation
- Fixed bug where AllocationUnitSize was not used
- Added support for
AllocationUnitSize
inxDisk
.
- Updated documentation: changed parameter name Count to RetryCount in xWaitForDisk resource
- Fixed encoding
- Breaking change: Added support for following properties: DriveLetter, Size, FSLabel. DriveLetter is a new key property.
This module was previously named xDisk, the version is regressing to a "1.0.0.0" release with the addition of xMountImage.
- Initial release of xStorage module with following resources (contains resources from deprecated xDisk module):
- xDisk (from xDisk)
- xMountImage
- xWaitForDisk (from xDisk)