Fix: File writer could cause corruption on parallel read/write
In some cases it can happen, that files are being read and written in parallel, which might cause the file of being corrupted.
This will resolve the issue, as in case of file locks we now do longer modify the file, but wait for the lock being released.
Fix: Module file should always point to .psd1 instead of .psm1
We have to ensure with Icinga for Windows 1.6.0 that we always point to the `.psd1` file instead of the `.psm1` file, especially when working with the `icingapowershellservice`
Feature: Improves debug output on TCP handling
Improves debugging output on TCP handling, to provide separate messages for incoming message size, message bytes and the send message back to the client.
Fix: Framework environment variables not working with 1.6.0
Environment variables like `$IcingaEnums` or other similar variables were not exported with Icinga for Windows 1.6.0, causing several other modules and functions to fail.
Feature: Adds support for version names for snapshots
In order to easy manage different snapshot versions for different branches, we now support providing a name as version for **snapshot** packages only,
Example:
```powershell
Add-IcingaRepository -Name 'icinga-powershell-framework/doc/doc_rewrite' -RemotePath 'https://packages.icinga.com/IcingaForWindows/snapshot/icinga-powershell-framework/doc/doc_rewrite/ifw.repo.json';
Install-IcingaComponent -Name 'framework' -Version 'doc/doc_rewrite' -Snapshot -Force;
```
Fix: Freeze on IMC in case commands are not found
Fixes a freeze within Icinga Management Console, in case commands which previously existed were removed/renamed or the user applied an invalid configuration with unknown commands as install file or install command
Feature: Adds improvements to IMC including cmd preview
Added vartious improvements to IMC, which allows a better view on the final summary form. In addition, we provide now the following new features:
* Show commands being executed inside IMC with `l`
* Use placeholder `$DefaultValues$` inside actions, to call commands directly for actions and replace `$DefaultValues$` with the value the user added into the form
Feature: Highlights advanced/help toogle in mmc
This will highlight the `[a] Hide advanced` and `[h] Hide Help` menu toogle inside the Management Console green, in case active.
Style: Adds mmc list view, kickstart filter, spelling fix
Fixes plenty of spelling mistakes, style guides, views, layouts and other visual topics for the Icinga for Windows Management Console.
Fix: Icinga Director Self-Service Zones and CA config
Fixes an issue on legacy installation wizard, which did not render the zones.conf properly with the correct information shipped for connection data and added missing `-CAEndpoint` assignment, which was wrong previously.
Fix: Missing architecture check on installation from repository
The architecture check was missing from the Icinga Repository installation, causing x86 packages being installed on x64 systems and vice versa.
Fix: Director Self-Service ticket handling not working
Fixes the handling for the Icinga Director Self-Service API, which caused the ticket handling for certificate signing not to work
Fatures: Adds Cmdlet to test Icinga for Windows service
Adds a new Cmdlet `Test-IcingaForWindowsService` which will test for security issue IWKB000009 and check if the service is properly configured to run against the .psd1 instead of .psm1 of the icinga-powershell-framework.
Fix: Icinga Director installation on every way for Managment Console
Fixes Icinga Director Self-Service API which caused exception on some scenarios and stored wrong keys inside configuration.
Fix: Remove-ItemSecure is not using all args and might fail on empty path
The Cmdlet `Remove-ItemSecure` was not using all args and might have crashed on empty values shipped to `-Path`
Feature: Allow force adding of repository
Extends repository feature, by allowing to force add new repositories with the same name, overriding current configuration.
Fix: Installer should always overwrite values in automation mode
The installer is not overwriting pre-defined values, in case we run in automation mode. This causes default values being used over custom defined values while using the installation file or the intallation command
Fix: Possible exception on first import run
On certain systems you can run into an exception on the first run of the system, as the module is imported but the cache is written on this import run. Therefor a second import run is required, to import the newly generated files.
Fix: Module import on non PowerShell folders
Fixes import for module files, by using the full path to the module now instead of the name only, as files could be placed inside a folder which is not listed inside the `$ENV:PSModulePath`