PDK release notes
New features, enhancements, and resolved issues for PDK.
PDK 3.4.0
Deprecations
Support has been removed for
SLES 12and packages for it are no being longer built.
New features and enhancements
The in built
forge uploadfunctionality has been replaced with a call to thepuppet_forgegem.json-schemadependency updated to~> 5.0in order for it to be kept it in line with the wider Puppet products.Support for
RedHat 8has been extended toAARCH64with new packages built.
Bug Fixes
A parser swap to
JSON::Purehas been removed from themetadata_syntax_validatorchanging the format of the output. This was required due to the parser used no being longer included within either thejsonorjson_puregems.Removed the dependency on the
json_puregem as it is no longer necesary withjsonadded as a default ruby gem.Deprecated call
Gem::Platform.match()replaced with the modernGem::Platform.match_spec?withinpuppet_version.rb.Updated
vendored_file.rbto use vendored cert files andVERIFY_PEERwithNET::HTTPon Windows machines.The above change to
vendored_file.rbhas been updated to sethttp.ca_filerather thanhttp.cert.The PDK spinner has been updated on Windows to be more consistent, with tick marks now being given upon success.
Runtime Changes
The version of the
gitgem bundled within the runtime has been set to2.39.4.The
json_puregem has been removed from the runtime.-
The
puppet_forgegem has been added to the runtime pinned to5.0.4, with the following dependencies also added:Dependency
faradaypinned to2.12.0.Dependency
faraday-follow_redirectspinned to0.3.0.Dependency
faraday-net_httppinned to3.3.0.Dependency
semantic_puppetpinned to1.1.0.Dependency
minitaralready present, pin kept at0.9.
Template Changes
The
puppet_blacksmithgem has been added to the templates, pinned to~> 7.0.The
puppetlabs_spec_helpergem has been repinned to~> 8.0.Default
lintconfiguration has been updated to match that withinpuppetlabs_spec_helper. Notation added to help ensure they are kept in sync.
PDK 3.3.0
New features and enhancements
Name validation now skipped for controlrepo's
The PDK has been updated to use the
modulebuildergem in place of duplicated code within the PDK.Support for Debian 11 and 12 has been extended to AARCH64 with new packages built
Support for Ubuntu 18.04 to 24.04 has been extended to AARCH64 with new packages built
Support for RedHat 9 has been extended to AARCH64 with new packages built
Support for Mac OsX 13 has been extended to arm64 with new packages built
Windows 2019 package is now being tested on Windows 11 to ensure support
Bug Fixes
The childprocess gem has been updated and a patch for it has been removed.
pdk test --listhas been updated to account for a change in how information is passed back to it.
Template Changes
Bolt-related files added to the .gitignore default paths
puppetlabs_sec_helppinned to 7.3 or newer and.rspec.erbremoved to accountPin added for
rexmlto account for Windows issuesdeep_mergeupdated to require 1.2.2 or newerConfig extras handling added back into the Rakefile
.vendoradded to .gitignorefacterdbrepinned to ~> 2.1 andrspec-puppet-factsto ~> 4.0
PDK 3.2.0
Deprecations
Analytics have been removed from the code
Support has been officially withdrawn for Debian 9 and Redhat 6.
New features and enhancements
Support has been added and packages are now being built for Debian 12 and Mac OSX 13.
While not possessing an explicit package Windows 11 is now being verified as supported.
Template Changes
CFPropertyList has been pinned on Windows
Fix implemented so that .sync.yml will properly overide Rubocop rules
Duplicate gems have been removed
PDK 3.1.0
New features and enhancements
Executable templates are now supported
pdk convertandpdk updatecan now work in a ControlRepo context
Template Changes
The templates have been updated to allow Rubocop rules to be overriden.
CFPropertyList has been added as a pinned dependency on Windows.
Our Rubocop pin has been increased to
1.50.0.The codecov gem has been removed.
The archived ruby vscode extension has been replaced.
PDK 3.0.1
New features and enhancements
Updated various dependencies
Added stricter puppetlabs_spec_helper dependency
Minor adjustments to our documentation
PDK 3.0.0
PDK 3.0 is a backwards incompatible release.
New features and enhancements
Ruby 3.2.2 is now the default version of Ruby.
Puppet 8 is now the default version of Puppet.
PDK no longer relies on PowerShell, you are able to use PDK from any terminal that honours your PATH variable.
As of this release, PDK now only includes the latest Puppet versions available at the time of build. This siginficantly reduces the package size and improves performance.
The
bundlecommand is no longerexperimental.PDK now properly respects the
verboseoption when utilizing format options for unit testing.PDK now supports the
operatingsystem_supportparameter fromanswers.json.
Deprecations
The
--pe-versionflag has been deprecated. It will continue to work but we advise moving to--puppet-versiongiven that this flag will be removed in a future release.The deprecated
modulecommand has now been removed.The deprecated
configcommand has now been removed.The experimental
consolecommand has been removed from this release.