These are the major new features, enhancements, deprecations, and removals since the Puppet 6 release.
Note that this list is not intended to be exhaustive.
Get familiar with the latest hardware requirements, supported operating systems and browsers, and network configuration details in System requirements.
Facter 4 introduces new features, including
granular blocking and caching of all types of facts, user defined fact groups, fact
hierarchies using the
dot notation and profiling
--timing option. Facter 4 is written in Ruby, instead of C++. It is
API compatible with Facter 3, but there may be some
inconsistencies. Puppet 7
drops support for Facter 3.
Puppet 7 agents
have upgraded to Ruby 2.7 and dropped support for Ruby 2.3 and 2.4. After upgrading to Puppet 7, use the
puppet_gem provider to ensure all your gems are
PuppetDB now requires Postgres 11+, which allows us to write faster migrations and take advantage of newer features like logical partitioning.
The Puppet 7
environment_timeout behaves differently for values that are not 0 or
unlimited. Puppet Server keeps your most actively
used environments cached, but allows testing environments to fall out of the cache
and reduce memory usage
Puppet 7 defaults to using SHA256 for all digest
operations. MD5 is still be available for non-FIPS platforms, but you must opt into
it using the
checksum parameter for a
serverby changing the
digest_algorithmsetting on the agent to sha256.
We have made changes to prevent you from accidentally deleting your CA directory. This change is backwards compatible.
Puppet language enhancements
The Puppet 7 compiler raises syntax errors if it encounters application orchestration language keywords. These keywords remain reserved for future use.
We have dropped agent support for the following platforms: EL5, Debian 8, SLES 11, Ubuntu 14.04, and Windows 2008/2008R2. Puppet Server and PuppetDB platforms have not changed.
We've removed the following deprecated functionality:
- Legacy authorization — replaced by Puppet Server's auth.conf in Puppet 5.
- Legacy routes — Puppet 3 agents are no longer be able to communicate with these.
Documentation terminology changes
Documentation for this release replaces the term master with primary server. This change is part of a company-wide effort to remove harmful terminology from our products. For the immediate future, you’ll continue to encounter master within the product, for example in parameters, commands, and preconfigured node groups. Where documentation references these codified product elements, we’ve left the term as-is. As a result of this update, if you’ve bookmarked or linked to specific sections of a docs page that include master in the URL, you’ll need to update your link.