What's new since Puppet 6?

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

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 using the --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.

Ruby 2.7

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 installed.

Postgres 11+

PuppetDB now requires Postgres 11+, which allows us to write faster migrations and take advantage of newer features like logical partitioning.

Environment caching

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 file resource.

CAUTION: To avoid breaking changes when upgrading, either disable remote filebuckets or make sure the agent has the same digest algorithm as server by changing the digest_algorithm setting on the agent to sha256.

CA directory

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.

Platform end-of-life

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.
  • Puppet key, cert and status commands.

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.