The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.
- Added SettingDefinitionId as a new value to merge items in an array, in addition to UniqueId, NodeName, Id and Identity
- Added support for the new Azure, Azure DevOps and Defender workloads
- Corrected issue in Required test in Test-M365DSCPowershellDataFile, where array values were not checked properly.
- Fixed bug in Test datafiles function to correctly test required parameters
- Added Sentinel workload support
- Added code to only install dependencies that are needed for the used PowerShell version
- Added CIMInstance key to the exclusion list for Convert-M365DSCExportToPowerShellDataFile
- Updated ObjectGraphTools requirement to v0.2 and higher
- Updated Test-M365DSCPowershellDataFile to allow four scenarios: Test for type values, required parameters, mandatory has to be present and mandatory has to be absent
- Removed two old and obsolete functions Test-M365MandatoryPowerShellDataFile and Test-M365PowerShellDataFile. These are replaced with Test-M365DSCPowerShellDataFile
- Function Test-M365DSCPowershellDataFile added as replacement for Test-M365PowershellDataFile
- Fixed issue in Convert-M365DSCExportToPowerShellDataFile where the created data file was in ASCII format, causing special characters to be displayed incorrectly.
- Updated Test-M365MandatoryPowershellDataFile to filter key parameters for testing. This is to make sure you can specify some properties of an object without tests failing because the key parameter exists
- Updated Test-M365PowershellDataFile to make sure warning are suppressed from Get-ChildNode
- Updated Set-ADOEnvironment to skip configuring checks on environments that are not specified in the TargetEnvironments parameter
- Fixed several issues in Test-M365MandatoryPowershellDataFile, which caused the NotAllowedMandatory parameter not to work
- New Test-IfModulesInBlobStorage that tests if a package exists in the Azure Blob Storage for the specified Microsoft365DSC version
- New Test-M365MandatoryPowershellDataFile function to test a data object for mandatory values
- Updated the Test-M365PowerShellDataFile function to allow specifying to disable checking for Required parameters. This is specifically useful for individual, not yet merged, data files. There required parameters could not exist, because they are coming from a different file.
- Optimized unit tests for Test-M365PowershellDataFile
- Fixed issue in Convert-M365DSCExportToPowerShellDataFile where parameter in ConvertTo-Expression has been removed
- Corrected pipeline yaml output where the file was encoded as UTF8 instead of UTF8 with BOM. Now code always outputs UTF8 with BOM
- Updated code to support ObjectGraphTools v0.1.0 and higher
- Fixed issue with importing data file in Convert-M365DSCExportToPowerShellDataFile
- Updated Set-ADOEnvironment to make the approval settings configurable
- Corrected typo in logging in Set-ADOEnvironment
- Improved logging in Set-ADOEnvironment
- Fixed issue in Convert-M365DSCExportToPowerShellDataFile where resources with "Profile" in the name wasn't converted properly
- Fixed issue in Convert-M365DSCExportToPowerShellDataFile where multiple versions of M365DSC.CompositeResources being installed caused errors
- Fixed issue in Set-ADOEnvironment where the checks weren't updating due to missing check id parameter
- Fixed issue with diacritic characters in Set-ADOEnvironment
- Added required version range for ObjectGraphTools
- Updated logging to new function in Add-ModulesToBlobStorage and Get-ModulesFromBlobStorage
- Updated Add-ModulesToBlobStorage and Get-ModulesFromBlobStorage to return a boolean with the result of the operation
- Fixed issue in Set-PipelineYaml where an exception was thrown when the Defaults parameter was empty Fixes #8
- Fixed bug in Test-M365PowerShellDataFile where an incorrect path was generated.
- Converted the required parameter test in Test-M365PowerShellDataFile to an actual Pester test, so Pester will fail if the parameter is missing.
- Fixed issue in Test-M365PowerShellDataFile where errors were displayed when the example file did not contain a property that was specified in the data file.
- Fixed issue with correctly loading the ObjectGraphTools module, making sure the PSNode classes are available.
- Corrected location of generic information files in the Get-EnvironmentsGenericInfo function.
- Corrected issue in Set-PipelineYaml where the dependsOn property was written as an empty string instead of null.
- Added new more advanced Write-Log function.
- Added Convert-M365DSCExportToPowerShellDataFile function to convert a Microsoft365DSC export to a PowerShell data file that complies with the format specified in the M365DSC.CompositeResources module.
- Added Copy-Object function to copy hashtable objects by value instead of by reference.
- Added Get-EnvironmentsGenericInfo function to retrieve generic information on the CICD config from the Generic data files.
- Added Import-PSDataFile function that fixes the limitation of the default Import-PowerShellDataFile function.
- Added Set-ADOEnvironment function to configure Azure DevOps environments correctly.
- Added Set-PipelineYaml function to configure Azure DevOps pipeline YAML files correctly.
- Added Test-M365PowerShellDataFile function to test if the merged data file complies with the Microsoft365DSC schema, as specified in the ExampleData file of the CompositeResources module.
- Updated information in the Readme file
- Rollback of the new DataObject functions. These will be replaced by the ObjectGraphTools module
- Added new Compare-DataObject, Copy-DataObject, Merg-DataObject and Sort-DataObject functions. These new functions can be used to manipulate various data objects, such as arrays and hashtables, so they can be used in PowerShell DSC configurations.
- Added a folder deletion section to Add-ModulesToBlobStorage.ps1 to avoid packaging issues on self-hosted VMs.
- Fixed bug in hashtable merge. Corrected Identity typo to Id.
- Added Id as a new value to merge items in an array, in addition to UniqueId, NodeName and Identity
- Updated package information in the module manifest file
- Added the caching of the Microsoft365DSC module itself to Azure Blob storage
- Extended the Get-ModulesFromBlobStorage function with the clear-out of existing modules
- Corrected certain log strings and function descriptions
- First version of this module