Skip to content

v3.0.0-preview0005

Pre-release
Pre-release
Compare
Choose a tag to compare
@dscbot dscbot released this 26 May 14:52
666fca0

[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