This page lists the changes in Puppet 5.2 and its patch releases. You can also view current known issues in this release.
Puppet’s version numbers use the format X.Y.Z, where:
- X must increase for major backward-incompatible changes
- Y can increase for backward-compatible new functionality or significant bug fixes
- Z can increase for bug fixes
If you’re upgrading from Puppet 4.x
Read the Puppet 5.0.0 release notes, because they cover breaking changes since Puppet 4.10.
Read the Puppet 5.1 release notes, because they cover important new features and changes since Puppet 5.0.
Released September 13, 2017.
This is a feature and improvement release in the Puppet 5 series that also includes several bug fixes.
PA-1104: Puppet can output warning and error strings in Japanese on systems with a Japanese locale setting. For details about configuring locale settings for the Puppet agent service, see Configuration: How Puppet is configured.
PUP-7645: Puppet 5.2.0 ensures that translated strings can be loaded in the puppet gem.
PUP-7821: Previous versions of Puppet 4.10 and Puppet 5.x on Windows could crash if a corrupt environment variable was set. Puppet 5.2.0 resolves this issue.
PUP-7835: In previous versions of Puppet 5, a type mismatch involving an aliased Struct type would cause an
undefined method 'from'error during a Puppet run. Puppet 5.2.0 resolves this issue by producing a more accurate evaluation error message.
PUP-7804: Previous versions of Puppet repeatedly attempted to fetch file metadata from the
serversetting when entries in
server_listcould not be reached. Puppet 5.2.0 resolves this issue by ignoring the
PUP-7813: In previous versions of Puppet, The
yumpackage provider could crash if yum plugins generated valid but unexpected additional output. Puppet 5.2.0 resolves this issue.
PUP-7855: When using the special value
defaultas a value for something being serialized, such as a catalog, in previous versions of Puppet, Puppet would encode the value as a rich-data hash instead of transforming it to the string “default”, even if the
rich_datasetting was not enabled. Puppet 5.2.0 resolves this issue and produces a warning or error depending on the
PUP-7885: In previous versions of Puppet, you could create an illegal specification of an Enum data type by providing numeric entries instead of string entries, such as
Enum\[blue, 42]. This illegal Enum type would then either cause an error when attempting to use it, or would have undefined matching behavior. Puppet 5.2.0 resolves this issue by raising an error when encountering this illegal specification.
PUP-7914: Puppet’s event logging destination setting on Windows, introduced in Puppet 5.0.0, is now documented.
PUP-7668: Previous versions of Puppet could report an incorrect position in source code after optimizing a code block with a single expression. Puppet 5.2.0 resolves this issue.
PUP-7824: When using the
String.new()function in previous versions of Puppet, Puppet would accept unintended characters suffixed to format specifiers, such as
%p, without error. For instance,
%scould be suffixed as
%strange, which results in a nonsense specifier that Puppet would erroneously accept. Pupept 5.2.0 resolves this issue by more strictly validating format specifiers and producing an error when parsing an invalid specifier.
PUP-7818 and PUP-6364: Puppet 5.2.0 can correctly install packages with the AIX provider when a manifest also includes a package being removed with
ensure => absent, and updates installed packages as expected when a manifest sets them to
ensure => latest.