Facter 4.2.0

Released June 2021 and shipped with Puppet7.7.0.

We would like to thank the following Puppet community members for their contributions to this release: ccaviness, b4ldr, ekohl, and lollipopman.

New features

  • New os.macosx.version.patch fact. The os.macosx.version.minor fact has been split into an additional os.macosx.version.patch fact (on macOS 11+). Contributed by Puppet community member ccaviness. FACT-3031
  • New flags key. This release adds a flags key to the networking.interfaces.*.bindings6 fact, which parses the lower 8-bit encoded flags from /proc/net/if_inet6. Note that the higher bit flags (managetempaddr, noprefixroute, mcautojoin, stableprivacy) are not shown in the fact output. Contributed by Puppet community member b4ldr. FACT-2907

Enhancements

  • Ruby 3 added to the test matrix. This release adds support for Ruby 3 and updates the test matrix. Contributed by Puppet community member ekohl. FACT-3029
  • Facter gem on Ruby 3. You can now install the Facter gem on Ruby 3. FACT-3027
  • Improved fact matching and filtering. This release improves the mechanism of fact filtering and matching by unifying the functionality. FACT-3006

Resolved issues

  • Invalid rubysitedir value when Ruby is compiled without sitedir. This release fixes an issue where Facter reported an invalid value for the ruby.sitedir fact — if Ruby was compiled without the sitedir option. FACT-3041
  • Undefined method each_line for nil:NilClass. This release fixes a bug where multi-line commands executed through the Facter::Util::Resolution API were not expanded correctly. FACT-3040
  • Facter executes which lsblk and which blkid for each partition. This release fixes an issue where Facter executed which lsblk and which blkid for each partition. Now these commands are executed once per Facter run, improving performance and log readability. FACT-3035
  • Facter returns TypeError on non-existent indexes. Previously, when accessing array values by indexes, Facter raised a TypeError if a non-existent index was searched. This is now fixed and Facter no longer errors. FACT-3030
  • Facter 4 calls deprecated xen-toolstack script when resolving the xen fact. Previously, Facter called the xen-toolstack script when resolving the xen fact. This script is deprecated, and now Facter only calls it if multiple xen stacks are installed. Contributed by Puppet community member lollipopman. FACT-3023
  • Mountpoint file error. Previously, when a mountpoint file could not be read, or was missing, Facter threw an error, without specifying which mountpoint file had failed. The error is now silent, allowing Facter to continue resolving facts. You can still see the error when running Facter with debug logging enabled. FACT-2928