Facter 4.1.0

Released April 2021.

Resolved issues

  • Auto promoting dotted facts to structured facts is incompatible. This release reverts the way Facter 4 treats dots in fact names to the same behaviour as Facter 3. This means that by default, any dot in a custom or external fact name is considered part of the fact name and not a delimiter for structured facts. This fix also adds the force-dot-resolution global setting — which you can set to re-enable the Facter 4 behavior, converting dotted facts to structured facts. FACT-3004

  • Facter cannot autoload the provider from stdlib inside puppetserver REPL shell. Previously, Facter failed to execute the first external command when running under JRuby. This issue only appeared when running puppetserver from source — packaged versions were not affected. This is now fixed. FACT-2999

  • Facter breaks when querying custom facts. Previously, Facter showed misleading values or errors when querying for non-existent facts via CLI and Facter.value. This is now fixed. FACT-2998

  • Domain facts cannot be resolved on travis without the FFI gem. This release fixes an issue that prevented FQDN facts resolving in situations where FFI was not installed. FACT-2997

  • Performance regression networking facts in Facter 4.x. This release fixes an issue with primary interface detection where the default route discarded packages. FACT-2996

  • The selinux fact is not properly detected by Facter 4. Facter 4 now takes the same approach as Facter 3 — checking for both the mounted selinux filesystem and the configuration file. If either are absent, Facter does not fill in the selinux fact. FACT-2994

  • Facter 4.0.52 does not return the fqdn fact. The Linux networking resolver now loads FFI if previous tries of getting the host information have failed. FACT-2989

  • Facter takes 20+ seconds on Windows due to Azure metadata query. Previously, the cloud fact could take over 20 seconds to resolve on Windows because Ruby was not respecting the HTTP connection timeout. Now the fact is only resolved on HyperV machines and a new implementation in the Facter HTTP client avoids long timeouts. FACT-2988

  • Facter 4 outputs hypervisor facts differently on Amazon 7. This release changes the value of hypervisor facts from a boolean to a string, matching the behavior of Facter 3. FACT-3007

  • Facter 4 outputs hypervisors.zone.id facts differently on Solaris. This release changes the value of the hypervisors.zone.id fact from a String to an Integer, matching the behavior of Facter 3. FACT-2987

  • Facter 4 outputs mountpoints facts differently on macOS. This release fixes differences in the mountpoints.options facts on macOS, matching the behavior of Facter 3. FACT-2984

  • Facter 4 outputs mountpoints facts differently on Solaris. This release fixes differences in the mountpoints fact on Solaris, matching the behavior of Facter 3. FACT-2982

  • Facter 4 outputs ldom facts differently on Solaris SPARC. Facter 4 reported boolean values as strings for Solaris LDOM facts. This is now fixed and the values are represented as boolean. FACT-2983

  • Facter 4 outputs uptime facts differently on Windows. This release fixes differences in the uptime fact on Windows, matching the behavior of Facter 3. FACT-2966

  • Facter 4 outputs the processors.speed fact differently on AIX. This release fixes differences in the processors.speed fact on AIX, matching the behavior of Facter 3. FACT-2965

  • Facter 4 outputs MB facts differently to Facter 3. Facter no longer rounds values for MB facts, for example memorysize_mb. FACT-2967

  • Facter 4 outputs virtual facts differently on Amazon 6. The virtual fact is now detected as xen instead of xenhvm on AmazonLinux 6. FACT-2986

  • Facter 4 outputs the hypervisors fact differently on Amazon 7. This release fixes differences in the hypervisors fact on Amazon 7, matching the behavior of Facter 3. FACT-3007

  • Loopback IPv6 IP is not returned correctly. This release fixes the IPv6 address fact on Solaris. FACT-2981

  • Facter ensures core facts are resolved before loading custom facts. This release updates the Facter.value API to resolve facts in a similar way to Facter 3 — loading the fact_name.rb from the configured custom directory, and then loading all core facts, external facts, environmental facts, and custom facts. FACT-2956

  • VLAN interfaces are not properly discovered. VLAN interfaces with a dot in the name were not correctly displayed in the networking fact. This is now fixed and the default networking resolver recognizes interfaces with a dot in the name. FACT-2946

  • Inconsistent handling of date types in custom facts. This release adds Date and Time as supported values for custom facts. FACT-2930