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`
Fix: MSI package reader not working on Windows 2012 R2
On Windows 2012 R2, the current implementation for `Read-IcingaMSIMetadata` is not working, as we require to do it on a more complicated way.
Feature: Adds repository management
Icinga for Windows installation and configuration can be very complex, even though way to complicated because there are plenty of different sources available you can download files from.
The repository managmenet will make things easier, as you can provide single entry points containing all your components for installation.
Feature: Adds array thresholds and date time support
Adds support to parse arrays to Icinga Check thresholds functions like `WarnOutOfRange` and adds two new functions `WarnDateTime` and `CritDateTime`, for easier comparing of time stamps.
Required for new `Invoke-IcingaCheckScheduledTask` features requested on [Plugin Feature Reqest #208](https://github.com/Icinga/icinga-powershell-plugins/issues/208)
Feature: Adds rebuild cache switch to icinga cmd
As we move forward with enforcing the Framework Code Cache, we should make it easier for developers to rebuild the cache while testing new features.
For this we now added the `RebuildCache` switch for `icinga` alias and `Invoke-IcingaCommand` which rebuilds the cache before the actual Icinga Shell or Icinga Command is executed.
Deprecated: Remove legacy import feature from files
In the past we used different ways to import certain information into Icinga for Windows. With the new version, we can get rid of most of the handling and reduce CPU impact in this matter.
Fix: Code cache creation loop
With the previous implementation, we caused an infinite creation of the code cache during every execution, causing Icinga to fail executing checks.
Feature: Always enforce Framework code caching
To ensure we increase the performance of the loading and to introduce JEA profiles later on, we will now enforce the Icinga Framework Code cache starting with 1.6.0.
By doing so, each new update will be forced to create a Framework Code Cache and only this file will be loaded during intialisation.
Fix: Long file names causing error on Windows Copy
With the implementatation of the Management Console, file names were way too big for certain branch names and checkouts. This resolves the issue by renaming them to a shorter grade.
Feature: Relocating reconfigure menu entry
The reconfigure menu was previously present inside the Icinga Agent sub-menu and is now moved to the main installation menu.
The reason was that in case Agent installation failed, no re-configuration was possible because the entry is locked for the Agent not being present.
Feature: Adds support to set listen ip, defaults to localhost
We should ensure the local socket creation always defaults to the loopback interface, while making it configurable on which IP it listens.
Feature: Removes password on Secure.String exceptions
Improves error handling in case of exceptions, which will now remove the arguments and content for passwords, in case `String` is tried to be used for `SecureString` arguments.
Feature: Adds critical exception cmdlet and exit code catch
Adds new Cmdlet `Exit-IcingaThrowCritical` to throw critical exit with a custom message, either by force or by using string filtering and adds storing of plugin exit codes internally.