Skip to content

Releases: dsccommunity/DnsServerDsc

v3.0.1-preview0002

09 Jul 08:36
9ac3399
Compare
Choose a tag to compare
v3.0.1-preview0002 Pre-release
Pre-release

[v3.0.1-preview0002]

Changed

  • DnsServerDsc
    • Changed the issue template for reporting a problem with a resource to
      use the new GitHub issue forms template.
    • Changed the issue template for proposing a new resource to use the new
      GitHub issue forms template.
    • Replaced the private function ConvertTo-HashTableFromObject with the
      public function ConvertFrom-DscResourceInstance (from DscResource.Common).
    • Updated wiki start page with deprecation notice.
    • Updated issue template for proposing a new resource.

v3.0.1-preview0001

29 Jun 16:01
935e86c
Compare
Choose a tag to compare
v3.0.1-preview0001 Pre-release
Pre-release

[v3.0.1-preview0001]

Changed

  • DnsServerDsc
    • Changed the issue template for reporting a problem with a resource to
      use the new GitHub issue forms template.
    • Changed the issue template for proposing a new resource to use the new
      GitHub issue forms template.
    • Replaced the private function ConvertTo-HashTableFromObject with the
      public function ConvertFrom-DscResourceInstance (from DscResource.Common).

v3.0.0

26 May 15:10
666fca0
Compare
Choose a tag to compare

[v3.0.0]

Removed

  • xDnsRecord

    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr,
      and DnsServerCName (issue #221).
  • xDnsServerMx

    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting

    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has
      been removed (issue #192).
      Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has
      been removed (issue #195).
      Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and
      MaxNegativeCacheTTL has been removed (issue #197).
      To enforce theses properties, use resource DnsServerEDns using the
      properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl
      respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval,
      DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed.
      Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and
      RecursionTimeout has been removed (issue #200).
      To enforce theses properties, use resource DnsServerRecursion using the
      properties Enable, RetryInterval, and Timeout respectively.
    • BREAKING CHANGE: A few properties that are not supported by any DNS
      Server PowerShell cmdlet was moved to the new resource DnsServerSettingLegacy.
    • BREAKING CHANGE: The properties DsPollingInterval and DsTombstoneInterval
      has been removed (issue #252).
      Use the resource DnsServerDsSetting to enforce these properties.
  • ResourceBase

    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
      was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name
      or optionally an array with the class name and all inherited base class
      named.
    • Added new private function Get-LocalizedDataRecursive that gathers
      all localization strings from an array of class names. This can be used
      in classes to be able to inherit localization strings from one or more
      base class. If a localization string key exist in a parent class's
      localization string file it will override the localization string key
      in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records
  • DnsServerDsSetting
    • Added new resource to manage AD-integrated DNS settings
  • DnsServerSettingLegacy
    • A new resource to manage legacy DNS Server settings that are not supported
      by any DNS Server PowerShell cmdlet.

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources
      (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked
      correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release
      is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in
      unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override
      a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method
      Test(), Get(), and Set(). The base class now have three methods
      AssertProperties(), Modify(), and GetCurrentState() where the
      two latter ones must be overridden by a resource if calling the base
      methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert()
      that is called from Get(), Test(), and Set(). The method Assert()
      also calls the method AssertProperties(). The method Assert() is not
      meant to be overridden, but can if there is a reason not to run
      Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM
      before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerSetting
    • Changed to use Get-DnsServerSetting and Set-DnsServerSetting
      (issue #185).
    • BREAKING CHANGE: The property DisableAutoReverseZones have been renamed
      to DisableAutoReverseZone.
    • BREAKING CHANGE: The property ListenAddresses have been renamed
      to ListeningIPAddress.
    • BREAKING CHANGE: The property AllowUpdate was changed to a boolean
      value ($true or $false) since that is what the cmdlet Set-DnsServerSetting
      is expecting (related to issue #101).
    • BREAKING CHANGE: The property EnableDnsSec was changed to a boolean
      value ($true or $false) since that is what the cmdlet Set-DnsServerSetting
      is expecting.
    • BREAKING CHANGE: The property ForwardDelegations was changed to a boolean
      value ($true or $false) since that is what the cmdlet Set-DnsServerSetting
      is expecting.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0005

26 May 14:52
666fca0
Compare
Choose a tag to compare
v3.0.0-preview0005 Pre-release
Pre-release

[v3.0.0-preview0005]

Removed

  • xDnsRecord

    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr,
      and DnsServerCName (issue #221).
  • xDnsServerMx

    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting

    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has
      been removed (issue #192).
      Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has
      been removed (issue #195).
      Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and
      MaxNegativeCacheTTL has been removed (issue #197).
      To enforce theses properties, use resource DnsServerEDns using the
      properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl
      respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval,
      DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed.
      Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and
      RecursionTimeout has been removed (issue #200).
      To enforce theses properties, use resource DnsServerRecursion using the
      properties Enable, RetryInterval, and Timeout respectively.
    • BREAKING CHANGE: A few properties that are not supported by any DNS
      Server PowerShell cmdlet was moved to the new resource DnsServerSettingLegacy.
    • BREAKING CHANGE: The properties DsPollingInterval and DsTombstoneInterval
      has been removed (issue #252).
      Use the resource DnsServerDsSetting to enforce these properties.
  • ResourceBase

    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
      was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name
      or optionally an array with the class name and all inherited base class
      named.
    • Added new private function Get-LocalizedDataRecursive that gathers
      all localization strings from an array of class names. This can be used
      in classes to be able to inherit localization strings from one or more
      base class. If a localization string key exist in a parent class's
      localization string file it will override the localization string key
      in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records
  • DnsServerDsSetting
    • Added new resource to manage AD-integrated DNS settings
  • DnsServerSettingLegacy
    • A new resource to manage legacy DNS Server settings that are not supported
      by any DNS Server PowerShell cmdlet.

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources
      (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked
      correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release
      is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in
      unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override
      a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method
      Test(), Get(), and Set(). The base class now have three methods
      AssertProperties(), Modify(), and GetCurrentState() where the
      two latter ones must be overridden by a resource if calling the base
      methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert()
      that is called from Get(), Test(), and Set(). The method Assert()
      also calls the method AssertProperties(). The method Assert() is not
      meant to be overridden, but can if there is a reason not to run
      Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM
      before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerSetting
    • Changed to use Get-DnsServerSetting and Set-DnsServerSetting
      (issue #185).
    • BREAKING CHANGE: The property DisableAutoReverseZones have been renamed
      to DisableAutoReverseZone.
    • BREAKING CHANGE: The property ListenAddresses have been renamed
      to ListeningIPAddress.
    • BREAKING CHANGE: The property AllowUpdate was changed to a boolean
      value ($true or $false) since that is what the cmdlet Set-DnsServerSetting
      is expecting (related to issue #101).
    • BREAKING CHANGE: The property EnableDnsSec was changed to a boolean
      value ($true or $false) since that is what the cmdlet Set-DnsServerSetting
      is expecting.
    • BREAKING CHANGE: The property ForwardDelegations was changed to a boolean
      value ($true or $false) since that is what the cmdlet Set-DnsServerSetting
      is expecting.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0004

19 May 08:34
8f0de03
Compare
Choose a tag to compare
v3.0.0-preview0004 Pre-release
Pre-release

[v3.0.0-preview0004]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr,
      and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has
      been removed (issue #192).
      Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has
      been removed (issue #195).
      Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and
      MaxNegativeCacheTTL has been removed (issue #197).
      To enforce theses properties, use resource DnsServerEDns using the
      properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl
      respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval,
      DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed.
      Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and
      RecursionTimeout has been removed (issue #200).
      To enforce theses properties, use resource DnsServerRecursion using the
      properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
      was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name
      or optionally an array with the class name and all inherited base class
      named.
    • Added new private function Get-LocalizedDataRecursive that gathers
      all localization strings from an array of class names. This can be used
      in classes to be able to inherit localization strings from one or more
      base class. If a localization string key exist in a parent class's
      localization string file it will override the localization string key
      in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records
  • DnsServerDsSetting
    • Added new resource to manage AD-integrated DNS settings

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources
      (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked
      correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release
      is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in
      unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override
      a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method
      Test(), Get(), and Set(). The base class now have three methods
      AssertProperties(), Modify(), and GetCurrentState() where the
      two latter ones must be overridden by a resource if calling the base
      methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert()
      that is called from Get(), Test(), and Set(). The method Assert()
      also calls the method AssertProperties(). The method Assert() is not
      meant to be overridden, but can if there is a reason not to run
      Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM
      before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0003

15 May 19:28
66fb5b0
Compare
Choose a tag to compare
v3.0.0-preview0003 Pre-release
Pre-release

[v3.0.0-preview0003]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr,
      and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has
      been removed (issue #192).
      Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has
      been removed (issue #195).
      Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and
      MaxNegativeCacheTTL has been removed (issue #197).
      To enforce theses properties, use resource DnsServerEDns using the
      properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl
      respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval,
      DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed.
      Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and
      RecursionTimeout has been removed (issue #200).
      To enforce theses properties, use resource DnsServerRecursion using the
      properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
      was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name
      or optionally an array with the class name and all inherited base class
      named.
    • Added new private function Get-LocalizedDataRecursive that gathers
      all localization strings from an array of class names. This can be used
      in classes to be able to inherit localization strings from one or more
      base class. If a localization string key exist in a parent class's
      localization string file it will override the localization string key
      in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources
      (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked
      correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release
      is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in
      unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override
      a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method
      Test(), Get(), and Set(). The base class now have three methods
      AssertProperties(), Modify(), and GetCurrentState() where the
      two latter ones must be overridden by a resource if calling the base
      methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert()
      that is called from Get(), Test(), and Set(). The method Assert()
      also calls the method AssertProperties(). The method Assert() is not
      meant to be overridden, but can if there is a reason not to run
      Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM
      before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0002

23 Apr 19:26
b17d68f
Compare
Choose a tag to compare
v3.0.0-preview0002 Pre-release
Pre-release

[v3.0.0-preview0002]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr,
      and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has
      been removed (issue #192).
      Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has
      been removed (issue #195).
      Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and
      MaxNegativeCacheTTL has been removed (issue #197).
      To enforce theses properties, use resource DnsServerEDns using the
      properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl
      respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval,
      DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed.
      Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and
      RecursionTimeout has been removed (issue #200).
      To enforce theses properties, use resource DnsServerRecursion using the
      properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
      was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name
      or optionally an array with the class name and all inherited base class
      named.
    • Added new private function Get-LocalizedDataRecursive that gathers
      all localization strings from an array of class names. This can be used
      in classes to be able to inherit localization strings from one or more
      base class. If a localization string key exist in a parent class's
      localization string file it will override the localization string key
      in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources
      (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked
      correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release
      is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in
      unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override
      a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method
      Test(), Get(), and Set(). The base class now have three methods
      AssertProperties(), Modify(), and GetCurrentState() where the
      two latter ones must be overridden by a resource if calling the base
      methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert()
      that is called from Get(), Test(), and Set(). The method Assert()
      also calls the method AssertProperties(). The method Assert() is not
      meant to be overridden, but can if there is a reason not to run
      Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM
      before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

v3.0.0-preview0001

23 Apr 19:12
97f6ef7
Compare
Choose a tag to compare
v3.0.0-preview0001 Pre-release
Pre-release

[v3.0.0-preview0001]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr,
      and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has
      been removed (issue #192).
      Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has
      been removed (issue #195).
      Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and
      MaxNegativeCacheTTL has been removed (issue #197).
      To enforce theses properties, use resource DnsServerEDns using the
      properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl
      respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval,
      DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed.
      Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and
      RecursionTimeout has been removed (issue #200).
      To enforce theses properties, use resource DnsServerRecursion using the
      properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance]
      was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name
      or optionally an array with the class name and all inherited base class
      named.
    • Added new private function Get-LocalizedDataRecursive that gathers
      all localization strings from an array of class names. This can be used
      in classes to be able to inherit localization strings from one or more
      base class. If a localization string key exist in a parent class's
      localization string file it will override the localization string key
      in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources
      (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked
      correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release
      is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in
      unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override
      a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method
      Test(), Get(), and Set(). The base class now have three methods
      AssertProperties(), Modify(), and GetCurrentState() where the
      two latter ones must be overridden by a resource if calling the base
      methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert()
      that is called from Get(), Test(), and Set(). The method Assert()
      also calls the method AssertProperties(). The method Assert() is not
      meant to be overridden, but can if there is a reason not to run
      Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM
      before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

v2.0.0

26 Mar 16:07
0c4a213
Compare
Choose a tag to compare

[v2.0.0]

Deprecated

  • The module xDnsServer will be renamed DnsServerDsc. Version 2.0.0
    will be the the last release of xDnsServer. Version 3.0.0 will be
    release as DnsServerDsc, it will be released shortly after the 2.0.0
    release
    (issue #179).
    The prefix 'x' will be removed from all resources in DnsServerDsc.
  • xDnsRecord will be removed in the next release (of DnsServerDsc) (issue #220).
    Start migrate to the resources DnsRecord*.
  • xDnsRecordMx will be removed in the next release (of DnsServerDsc) (issue #228).
    Start migrate to the resources DnsRecordMx.
  • The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval,
    and DefaultRefreshInterval will be removed from the resource xDnsServerSetting
    in the next release (of DnsServerDsc) (issue #193).
    Migrate to use the resource DnsServerScavenging to enforce these properties.
  • The properties EnableEDnsProbes and EDnsCacheTimeout will be removed from
    the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #195).
    Migrate to use the resource DnsServerEDns to enforce these properties.
  • The properties Forwarders and ForwardingTimeout will be removed from the
    resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #192)
    Migrate to use the resource xDnsServerForwarder to enforce these properties.

Added

  • xDnsServer
    • Added automatic release with a new CI pipeline.
    • Add unit tests for the Get-LocalizedData, NewTerminatingError, and
      Assert-Module helper functions.
    • Added description README files for each resource.
    • Add example files for resources
    • OptIn to the following Dsc Resource Meta Tests:
      • Common Tests - Validate Localization
      • Common Tests - Validate Example Files To Be Published
    • Standardize Resource Localization.
    • Added the build task Publish_GitHub_Wiki_Content to publish content
      to the GitHub repository wiki.
    • Added new source folder WikiSource which content will be published
      to the GitHub repository wiki.
      • Add the markdown file Home.md which will be automatically updated
        with the latest version before published to GitHub repository wiki.
    • Updated the prerequisites in the GitHub repository wiki (Home.md)
      that Microsoft DNS Server is required on a node targeted by a resource,
      and that the DSC resources requires the DnsServer
      PowerShell module (issue #37).
    • Added the base class ResourcePropertiesBase to hold DSC properties that
      can be inherited for all class-based resources.
    • Added the base class ResourceBase to hold methods that should be
      inherited for all class-based resources.
    • Added new private function ConvertTo-TimeSpan to help when evaluating
      properties that must be passed as strings and then converted to [System.TimeSpan].
    • Added new private function Assert-TimeSpan to help assert that a value
      provided in a resource can be converted to a [System.TimeSpan] and
      optionally evaluates so it is not below a minium value or over a maximum
      value.
    • Added prefix.ps1 that is used to import dependent modules like DscResource.Common.
    • Added new resource
      • DnsServerScavenging - resource to enforce scavenging settings (issue #189).
      • DnsServerEDns - resource to enforce extension mechanisms for DNS
        (EDNS) settings (issue #194).
  • xDNSServerClientSubnet
    • Added integration tests.
  • xDnsServerPrimaryZone
    • Added integration tests (issue #173).
    • Added more examples.
  • xDnsRecordMx
    • Added new resource to manage MX records
  • xDnsServerZoneScope
    • Added integration tests (issue #177).
    • New read-only property ZoneFile was added to return the zone scope
      file name used for the zone scope.
  • xDnsServerZoneAging
  • xDnsServerForwarder
    • Added integration tests (issue #170).
    • Added new properties Timeout and EnableReordering (issue #191).
  • xDnsServerRootHint
  • Added a class DnsRecordBase that is used as the base class for the resources that create DNS records.
    • Added unit tests to get code coverage on unimplemented method calls (ensuring the throw statements get called)
  • DnsRecordSrv
    • Added new resource to manage SRV records
  • DnsRecordSrvScoped
    • Added new resource to manage scoped SRV records
  • DnsRecordA
    • Added new resource to manage A records
  • DnsRecordAScoped
    • Added new resource to manage scoped A records
  • DnsRecordAaaa
    • Added new resource to manage AAAA records
  • DnsRecordAaaaScoped
    • Added new resource to manage scoped AAAA records
  • DnsRecordCname
    • Added new resource to manage CNAME records
  • DnsRecordCnameScoped
    • Added new resource to manage scoped CNAME records
  • DnsRecordPtr
    • Added new resource to manage PTR records
  • DnsRecordMx
    • Added new resource to manage MX records
  • DnsRecordMxScoped
    • Added new resource to manage scoped MX records

Changed

  • xDnsServer
    • BREAKING CHANGE: Set the minimum required PowerShell version to 5.0 to support classes used in the DnsRecordBase-derived resources.
    • Resolve style guideline violations for hashtables
    • Update pipeline files.
    • Renamed the default branch to main (issue #131).
    • Uses PublishPipelineArtifact in Azure Pipelines pipeline.
    • Unit tests are now run in PowerShell 7 in the Azure Pipelines
      pipeline (issue #160).
    • Merged the historic changelog into CHANGELOG.md (issue #163).
    • Only add required role in integration tests pipeline.
    • Updated the pipeline to use new deploy tasks.
    • Revert back to using the latest version of module Sampler for the pipeline (issue #211).
    • Fixed the sections in the GitHub issue and pull request templates to
      have a bit higher font size. This makes it easier to distinguish the
      section headers from the text.
  • DnsRecordBase
    • Changed class to inherit properties from 'ResourcePropertiesBase`.
  • xDnsRecordSrv
    • Now uses [CimInstance]::new() both in the resource code and the resource
      unit test to clone the existing DNS record instead of using the method
      Clone() that does not exist in PowerShell 7.
  • xDnsServerSetting
    • BREAKING CHANGE: The mandatory parameter was replaced by the mandatory
      parameter DnsServer. This prevents the resource from being used twice
      in the same configuration using the same value for the parameter DnsServer
      (issue #156).
  • xDnsServerDiagnostics
    • BREAKING CHANGE: The mandatory parameter was replaced by the mandatory
      parameter DnsServer. This prevents the resource from being used twice
      in the same configuration using the same value for the parameter DnsServer
      (issue #157).
  • xDnsServerPrimaryZone
    • Now the property Name is always returned from Get-TargetResource
      since it is a Key property.
  • xDnsServerForwarder
    • When providing an empty collection the resource will enforce that no
      forwarders are present.
  • DnsRecordSrv
    • Changed logic for calculating the record's hostname

Removed

  • xDnsServer
    • BREAKING CHANGE: The DSC resource xDnsARecord was removed and are replaced
      by the DSC resource xDnsRecord.
    • Removing resource parameter information from README.md in favor of
      GitHub repository wiki.
    • Remove helper function Remove-CommonParameter in favor of the one in
      module DscResource.Common (issue #166).
    • Remove helper function ConvertTo-CimInstance in favor of the one in
      module DscResource.Common (issue #167).
    • Remove helper function ConvertTo-HashTable in favor of the one in
      module DscResource.Common (issue #168).
  • xDnServerSetting
    • BREAKING CHANGE: The properties LogIPFilterList, LogFilePath, LogFileMaxSize,
      and EventLogLevel have been removed. Use the resource xDnsServerDiagnostics
      with the properties FilterIPAddressList, LogFilePath, MaxMBFileSize,
      and EventLogLevel respectively to enforce these settings (issue #190).
      This is done in preparation to support more settings through the cmdlet
      Get-DnsServerSetting for the resource xDnServerSetting, and these
      values are not available through that cmdlet.

Fixed

  • xDnsServer
    • Enable Unit Tests to be run locally.
    • Rename integration te...
Read more

v2.0.0-preview0018

26 Mar 15:48
0c4a213
Compare
Choose a tag to compare
v2.0.0-preview0018 Pre-release
Pre-release

[v2.0.0-preview0018]

Deprecated

  • The module xDnsServer will be renamed DnsServerDsc. Version 2.0.0
    will be the the last release of xDnsServer. Version 3.0.0 will be
    release as DnsServerDsc, it will be released shortly after the 2.0.0
    release
    (issue #179).
    The prefix 'x' will be removed from all resources in DnsServerDsc.
  • xDnsRecord will be removed in the next release (of DnsServerDsc) (issue #220).
    Start migrate to the resources DnsRecord*.
  • xDnsRecordMx will be removed in the next release (of DnsServerDsc) (issue #228).
    Start migrate to the resources DnsRecordMx.
  • The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval,
    and DefaultRefreshInterval will be removed from the resource xDnsServerSetting
    in the next release (of DnsServerDsc) (issue #193).
    Migrate to use the resource DnsServerScavenging to enforce these properties.
  • The properties EnableEDnsProbes and EDnsCacheTimeout will be removed from
    the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #195).
    Migrate to use the resource DnsServerEDns to enforce these properties.
  • The properties Forwarders and ForwardingTimeout will be removed from the
    resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #192)
    Migrate to use the resource xDnsServerForwarder to enforce these properties.

Added

  • xDnsServer
    • Added automatic release with a new CI pipeline.
    • Add unit tests for the Get-LocalizedData, NewTerminatingError, and
      Assert-Module helper functions.
    • Added description README files for each resource.
    • Add example files for resources
    • OptIn to the following Dsc Resource Meta Tests:
      • Common Tests - Validate Localization
      • Common Tests - Validate Example Files To Be Published
    • Standardize Resource Localization.
    • Added the build task Publish_GitHub_Wiki_Content to publish content
      to the GitHub repository wiki.
    • Added new source folder WikiSource which content will be published
      to the GitHub repository wiki.
      • Add the markdown file Home.md which will be automatically updated
        with the latest version before published to GitHub repository wiki.
    • Updated the prerequisites in the GitHub repository wiki (Home.md)
      that Microsoft DNS Server is required on a node targeted by a resource,
      and that the DSC resources requires the DnsServer
      PowerShell module (issue #37).
    • Added the base class ResourcePropertiesBase to hold DSC properties that
      can be inherited for all class-based resources.
    • Added the base class ResourceBase to hold methods that should be
      inherited for all class-based resources.
    • Added new private function ConvertTo-TimeSpan to help when evaluating
      properties that must be passed as strings and then converted to [System.TimeSpan].
    • Added new private function Assert-TimeSpan to help assert that a value
      provided in a resource can be converted to a [System.TimeSpan] and
      optionally evaluates so it is not below a minium value or over a maximum
      value.
    • Added prefix.ps1 that is used to import dependent modules like DscResource.Common.
    • Added new resource
      • DnsServerScavenging - resource to enforce scavenging settings (issue #189).
      • DnsServerEDns - resource to enforce extension mechanisms for DNS
        (EDNS) settings (issue #194).
  • xDNSServerClientSubnet
    • Added integration tests.
  • xDnsServerPrimaryZone
    • Added integration tests (issue #173).
    • Added more examples.
  • xDnsRecordMx
    • Added new resource to manage MX records
  • xDnsServerZoneScope
    • Added integration tests (issue #177).
    • New read-only property ZoneFile was added to return the zone scope
      file name used for the zone scope.
  • xDnsServerZoneAging
  • xDnsServerForwarder
    • Added integration tests (issue #170).
    • Added new properties Timeout and EnableReordering (issue #191).
  • xDnsServerRootHint
  • Added a class DnsRecordBase that is used as the base class for the resources that create DNS records.
    • Added unit tests to get code coverage on unimplemented method calls (ensuring the throw statements get called)
  • DnsRecordSrv
    • Added new resource to manage SRV records
  • DnsRecordSrvScoped
    • Added new resource to manage scoped SRV records
  • DnsRecordA
    • Added new resource to manage A records
  • DnsRecordAScoped
    • Added new resource to manage scoped A records
  • DnsRecordAaaa
    • Added new resource to manage AAAA records
  • DnsRecordAaaaScoped
    • Added new resource to manage scoped AAAA records
  • DnsRecordCname
    • Added new resource to manage CNAME records
  • DnsRecordCnameScoped
    • Added new resource to manage scoped CNAME records
  • DnsRecordPtr
    • Added new resource to manage PTR records
  • DnsRecordMx
    • Added new resource to manage MX records
  • DnsRecordMxScoped
    • Added new resource to manage scoped MX records

Changed

  • xDnsServer
    • BREAKING CHANGE: Set the minimum required PowerShell version to 5.0 to support classes used in the DnsRecordBase-derived resources.
    • Resolve style guideline violations for hashtables
    • Update pipeline files.
    • Renamed the default branch to main (issue #131).
    • Uses PublishPipelineArtifact in Azure Pipelines pipeline.
    • Unit tests are now run in PowerShell 7 in the Azure Pipelines
      pipeline (issue #160).
    • Merged the historic changelog into CHANGELOG.md (issue #163).
    • Only add required role in integration tests pipeline.
    • Updated the pipeline to use new deploy tasks.
    • Revert back to using the latest version of module Sampler for the pipeline (issue #211).
    • Fixed the sections in the GitHub issue and pull request templates to
      have a bit higher font size. This makes it easier to distinguish the
      section headers from the text.
  • DnsRecordBase
    • Changed class to inherit properties from 'ResourcePropertiesBase`.
  • xDnsRecordSrv
    • Now uses [CimInstance]::new() both in the resource code and the resource
      unit test to clone the existing DNS record instead of using the method
      Clone() that does not exist in PowerShell 7.
  • xDnsServerSetting
    • BREAKING CHANGE: The mandatory parameter was replaced by the mandatory
      parameter DnsServer. This prevents the resource from being used twice
      in the same configuration using the same value for the parameter DnsServer
      (issue #156).
  • xDnsServerDiagnostics
    • BREAKING CHANGE: The mandatory parameter was replaced by the mandatory
      parameter DnsServer. This prevents the resource from being used twice
      in the same configuration using the same value for the parameter DnsServer
      (issue #157).
  • xDnsServerPrimaryZone
    • Now the property Name is always returned from Get-TargetResource
      since it is a Key property.
  • xDnsServerForwarder
    • When providing an empty collection the resource will enforce that no
      forwarders are present.
  • DnsRecordSrv
    • Changed logic for calculating the record's hostname

Removed

  • xDnsServer
    • BREAKING CHANGE: The DSC resource xDnsARecord was removed and are replaced
      by the DSC resource xDnsRecord.
    • Removing resource parameter information from README.md in favor of
      GitHub repository wiki.
    • Remove helper function Remove-CommonParameter in favor of the one in
      module DscResource.Common (issue #166).
    • Remove helper function ConvertTo-CimInstance in favor of the one in
      module DscResource.Common (issue #167).
    • Remove helper function ConvertTo-HashTable in favor of the one in
      module DscResource.Common (issue #168).
  • xDnServerSetting
    • BREAKING CHANGE: The properties LogIPFilterList, LogFilePath, LogFileMaxSize,
      and EventLogLevel have been removed. Use the resource xDnsServerDiagnostics
      with the properties FilterIPAddressList, LogFilePath, MaxMBFileSize,
      and EventLogLevel respectively to enforce these settings (issue #190).
      This is done in preparation to support more settings through the cmdlet
      Get-DnsServerSetting for the resource xDnServerSetting, and these
      values are not available through that cmdlet.

Fixed

  • xDnsServer
    • Enable Unit Tests to be run locally.
    • Rename in...
Read more