Table of Contents
Masterfiles ChangeLog
Table of Contents
See Also: Core Changelog, Enterprise Changelog
# Changelog Notable changes to the framework should be documented here 3.12.7: - Added .ps1 to list of file patterns considered during policy update (CFE-3425, ENT-4094) - Added apk package module support for alpinelinux (CFE-3451) - Added default cf_version_release of 1 when sys var missing (ENT-6219) - Added missing packages modules scripts in makefile (ENT-6814) - Added standalone self upgrade capability for Windows agents (ENT-6219, ENT-6823, ENT-4094) - Added verbose logfile for msiexec package module file installs (ENT-6220, ENT-6824) - Adjust modules/packages/Makefile.am for lack of msiexec packages module (CFE-3607) - Disabled TLSv1 by default for Mission Portal's web server (ENT-6783) - Fixed ability to define users authorized for using cf-runagent on policy servers (CFE-3546) - Fixed alpine apk packages module to parse names properly (CFE-3585) - Fixed docs describing xdev behavior in depth_search bodies (CFE-3541) - Fixed loading of platform specific inventory on AIX (CFE-3614) - Suppressed output from watchdog on AIX to prevent the mail spool from filling up (CFE-3630) - Use VBScript to enumerate installed packages on Windows (ENT-4669) - service status on FreeBSD now uses onestatus (CFE-3515) 3.12.6: - Added inventory for Timezone and GMT Offset (ENT-6161) - Added inventory for policy servers (ENT-6212) - Aligned systemd services behavior for service_policy => "enable|enabled|disable|disabled" (ENT-6073) - Changed group for state dir files promise to match defaults per OS (CFE-3362) - Replaced @ignore with useful doc strings (CFE-3378) - Stopped disabling disabled systemd unit each run when disabled state requested (CFE-3367) - Stopped trying to edit fields in manage_variable_values_ini (CFE-3372) - Fixed converge edit_line bundle not deleting lines containing marker (CFE-3482) - Added bundle edit_line converge_prepend with same behavior as bundle edit_line converge, but inserting at start of content. (CFE-3483) 3.12.5: - Admitted ::1 as a query source on Enterprise hubs (ENT-5531) - Changed m_inventory dumping behavior to exclude when values are null (ENT-5562) - Fixed typo preventing recommendation bundles from running (CFE-3305) - Made python symlink fall back to platform-python (CFE-3291) - Modified cftransport cleanup to avoid errors (ENT-5555) - Release number was added to MPF tarballs (ENT-5429) - Stopped continual repair of ha_enabled semaphore (ENT-4715) - The zypper module is now fully compatible with Python 3 (CFE-3364) 3.12.4: - Added 'data' shortcut to cf-serverd, defaults to sys.workdir/data - Added inventory of NFS servers in use (from /proc/mounts, on linux) (CFE-3259) - Added paths support for opensuse (CFE-3283) - Added zypper as default package manager for opensuse (CFE-3284) - Corrected application/logs path to outside of docroot (ENT-5255) - Enabled SUSE 12 for self upgrade (ENT-5152) - Fixed Python 3 incompatibility in yum package module - Improved resliliance of cron watchdog for linux (CFE-3258) - Modified federated reporting's import_file.sh to catch errors in psql run (ENT-5040) - Move 'selinux_enabled' class to config bundle and namespace scope it - Prevented inventory of unresolved variables for diskfree and loadavg (ENT-5190) - Setup our own symlink for Python interpreter and use it (ENT-4668, ENT-4682) - Standard services now considers systemd services in ActiveState=activating active (CFE-3238) - Fixed selection of standard_services when used explicitly from non-default namespace (ENT-5406) 3.12.3: - Extended watchdog for AIX (ENT-4995) - Added AIX support to body perms system_owned (ENT-4773) - Added ability to avoid limiting robot agents (CFE-3161) - Added and transitioned to using master_software_updates shortcut (ENT-4953) - Added continual checking for policy_server state (CFE-3073) - Added documentation how to enable systemd unit management and disable agents on all hosts (CFE-3416) - Added package_module for snap (CFE-2811) - Added scripts and templates for Federated Reporting (ENT-4473) - Added support for 'awk' filters in the FR dump-import process (ENT-4839) - Added support for configuring abortclasses and abortbundleclasses via augments (ENT-4823) - Added support for filtering in both dump and import phases of the FR ETL process (ENT-4839) - Added support for ordering FR awk and sed scripts (ENT-4839) - Added support for setting periodic package inventory refresh interval via augments (CFE-2771) - Always set files_single_copy from augments if available (CFE-3064) - Changed FR policy to honor target_state properly (ENT-4874) - Copy .awk and .sed files from masterfiles to inputs (ENT-4839) - Do not run DB maintenance tasks on a passive HA hub (ENT-4706) - Fixed agent disabling on systemd systems (CFE-2429, CFE-3416) - Fixed cleanup of future timestamps from status table (ENT-4331, ENT-4992) - Fixed pkgsrc in case where multiple Prefix paths are returned for pkg_install (CFE-3153) - Fixed pkgsrc module on Solaris/NetBSD (CFE-3151) - Fixed re-spawning of cf-execd or cf-monitord after remediating duplicate concurrent processes (CFE-3150) - Fixed state ownership on aix (ENT-4773) - Fixed synchronization of important configuration files from active to passive hub (ENT-4944) - Fixed the CFEngine 3.7.x class guard in standalone_self_upgrade.cf (CFE-3182) - Made keys of all types from feeder hubs trusted on a superhub (ENT-4917) - Set default access promises for directories to only share if directory exists (CFE-3060) - Speeded-up FR import process by merging INSERT INTO statements (ENT-4839) - Suppressed stderr output from lldpctl when using path defined by def.lldpctl_json (CFE-3109) - added SQL to update feeder update timestamp during import (ENT-4776) - added ssh_home_t type to cftransport .ssh dir (ENT-4906) - fix use of _stdlib_path_exists_in FR transport_user policy bundle (ENT-4906) - lib/paths.cf: Add usermod path for redhat systems - modules/packages/zypper.in: Moved zypper package module errors to the cf-agent output (CFE-3154) - partitioned __inventory table for federated reporting (ENT-4842) - psql_wrapper needed full path to psql binary (ENT-4912) - yum package_module gets updates available from online repos if local cache fails (CFE-3094) 3.12.2: - Fixed isvariable() syntax error in update_def.cf (CFE-2953) - Fixed maintenance policy for promise log cleanup to respect history_length_days (ENT-4588) - Added setfacl to paths - Added path support for timedatectl and journalctl (CFE-3013) - Added trailing slash to access promises expecting directories (CFE-3024) - Conditioned use of curl for ec2 metadata cache on curl binary being executable (CFE-3049) - Instrumented cf-hub pull schedule for augments (ENT-4269) - Stopped suppressing repair outcome for starting cf-monitord or cf-execd (CFE-2964) - Enforced restrictive permissions on hub install log (ENT-4506) - Ensured that asynchronous query API semaphores are writable (ENT-4551) - Fixed standalone_self_upgrade not triggering because of stale data (ENT-4317) - Improved efficiency and error handling of user specified policy update bundle - Improved performance of enterprise license utilization logging - Added version logging for Enterprise agent outside of state (ENT-4352) - Added package_module for managing windows packages using msiexec (ENT-3719) - Prevented inventorying un-expanded free memory from cf-monitord - Prevented mon.value_mem_total from being inventoried if not defined (ENT-4522) - Prevented performance overhead on hubs that don't enable license utilization logging (ENT-4333) - Added purging of future status records (ENT-4362) - Reduced cost of knowing when setopt is available in yum (CFE-2993) - Added restart of runalerts if modified (ENT-4273) - Separated kill signals from restart class to avoid warning (CFE-2974) - Separated termination and observation promises for cf-monitord (CFE-2963) - Set default value for purge_scheduled_reports_older_than_days (ENT-4404) - Changed internal class name to describes daemon state instead of desired action - Changed internal class names to be more descriptive when identifying concurrent daemons - Implemented augments support for collect_window in body server control (ENT-4283) - Added guard for vars promises in cfe_internal_enterprise_mission_portal_apache Constrain vars promises in cfe_internal_enterprise_mission_portal_apache to policy_server.enterprise_edition::, otherwise "cf-promises --show-vars" includes a dump of the entire datastate from the "data" variable in cfe_internal_enterprise_mission_portal_apache (line over 100K long). (CFE-3011) - Stopped defining redhat_pure on Fedora hosts (CFE-3022) 3.12.1: - Add 'system-uuid' to default dmidecode inventory (CFE-2925) - Add inventory of AWS EC2 linux instances (CFE-2924) - Add ubuntu 18 to package map for self upgrade (ENT-4118) - Allow dmidefs inventory to be overridden via augments (CFE-2927) - Also list packages updates for hold packages: (CFE-2855) - Analyze yum return code before parsing its output (CFE-2868) - Fixed an issue when Promise to edit file that does not exist caused "promise not kept" condition (ENT-3965) - Avoid trying to read /proc/meminfo when it doesn't exist (CFE-2922) - Avoid use of $(version) for package_version in legacy implementation (ENT-3963) - Cleanup old report data relative to the most recent changetimestamp (ENT-4807) - Configure agent_expireafter from augments (ENT-4308) - Consider sles when considering suse (CFE-2897) - Fixed an issue when standalone self upgrade policy did not create desired-cfengine-package-version.json file (ENT-3937) - Cron based watchdog for cf-execd on AIX (ENT-3963) - Detect systemd service enablement for non native services (CFE-2932) - Document how def.acl is used and how to configure it (CFE-2861) - Fix name of tunable to control max client side report history (CFE-2926) - Fix package_latest detecting larger version in some cases (CFE-1743) - Fix standalone self upgrade when path contains spaces (ENT-4117) - Fix unattended self upgrade on AIX (ENT-3972) - Inventory Memory on HPUX (ENT-4188) - Inventory Physical Memory MB when dmidecode is found (CFE-2896) - Inventory memory on Windows (ENT-4187) - Make recommendations about postgresql.conf (ENT-3958) - Only consider files that exist for rotation (ENT-3946) - Prevent noise when a service that should be disabled is missing. (CFE-2690) - Prevent standalone self upgrade from triggering un-necessarily (ENT-4092) - Remove un-necessary agent run during self upgrade (ENT-4116) - Specify scope => "namespace" when using persistent classes (CFE-2860) - Store timestamp for packages managed by zypper module (CFE-2875) - Store timestamp of packages in cache db with zypper - Sync cf-runalerts override unit template with package (ENT-3923) - Updated yum package module to take arbitrary options (ENT-4177) - Use default for package arch on aix (ENT-3963) - Use rpmvercmp for version comparison on AIX (ENT-3963) - Users allowed to request execution via cf-runagent can be configured via augments (ENT-4054) - apt_get package module includes held packages when listing updates (CFE-2855) 3.12.0: - Avoid executing self upgrade policy unnecessarily (ENT-3592) - Add amazon_linux class to yum package module - Introduce ability to set policy update bundle via augments (CFE-2687) - Localize delete tidy in ha update policy (ENT-3659) - Improve context notifying user of missing policy update bundle (ENT-3624) - Configure ignore_missing_inputs and ignore_missing_bundles via augments (CFE-2773) - Change class identifying runagent initiated executions from cfruncommand to cf_runagent_initated - Support enablerepo and disablerepo options in yum package_module (CFE-2806) - Fix cf-runagent during 3.7.x -> 3.10.x migration (CFE-2776, CFE-2781, CFE-2782) - Makes it possible to tune policy master_location via augments in update policy (ENT-3692) - Fix inventory for total memory on AIX (CFE-2797) - Do not manage redis since it's no longer used (ENT-2797) - Server control maxconnections can be configured via augments (CFE-2660) - Allow configuration of allowlegacyconnects from augments (ENT-3375) - Fix ability for zypper package_module to downgrade packages - Splaytime in body executor control can now be configured via augments (CFE-2699) - Add maintenance policy to refresh events table on enterprise hubs (ENT-3537) - Add apache config for new LDAP API (ENT-3265) - update.cf bundlesequence can be configured via augments (CFE-2521) - Update policy inputs can be extended via augments (CFE-2702) - Add oracle linux support to standalone self upgrade - Add bundle to track component variables to restart when necessary (CFE-2326) - Retention of files found in log directories can now be configured via augments (CFE-2539) - Allow multiple sections in insert_ini_section (CFE-2721) - Add lines_present edit_lines bundle - Schedule in body executor control can now be configured via augments (CFE-2508) - Include scheduled report assets in self maintenance (ENT-3558) - Remove unused body action aggregator and body file_select folder - Remove unused body process_count check_process - Prevent yum from locking in package_methods when possible (CFE-2759) - Render variables tagged for inventory from agent host_info_report (CFE-2750) - Make apt_get package module work with repositories containing spaces in the label (ENT-3438) - Allow hubs to collect from themselves over loopback (ENT-3329) - Log file max size and rotation limits can now be configured via augments (CFE-2538) - Change: Do not silence Enterprise hub maintenance - Ensure HA standby hubs have am_policy_hub state marker (ENT-3328) - Add support for 32bit rpms in standalone self upgrade (ENT-3377) - Add enterprise maintenance bundles to host info report (ENT-3537) - Removed unnecessary promises for OOTB package inventory - Add external watchdog support for stuck cf-execd (ENT-3251) - Be less noisy when a promised service is not found (CFE-2690) - Ignore empty options in apt_get module (CFE-2685) - Add postgres.log to enterprise log file rotation (ENT-3191) - Removed unnecessary support for including 3.6 controls - Fix systemctl path detection - Policy Release Id is now inventoried by default (CFE-2097) - Fix to frequent logging of enterprise license utilization (ENT-3390) - Maintain access to exported CSV reports in older versions (ENT-3572) - cf-execd service override template now only kills cf-execd on stop (ENT-3395) - Fix self upgrade for hosts older than 3.7.4 (ENT-3368) - Avoid self upgrade from triggering during bootstrap (ENT-3394) - Add json templates for rendering serial and multiline data (CFE-2713) - Removed unused libraries and controls - Fixed an error in the file_make_mustache_*, incorrect variable name used (CFE-2714) - Fix augments control state paths to work on windows (ENT-3839) - Remove templates for deprecated components (ENT-3781) - Replace unicode smartquotes with apostrophe (ENT-3823) - Configure Enterprise hub pull collection schedule via augments (ENT-3834) 3.11.0: - Rename enable_client_initiated_reporting to client_initiated_reporting_enabled - Directories for ubuntu 16 and centos 7 should exist in master_software_updates (ENT-3136) - Fix: Automatic client upgrades for deb hosts - Add AIX OOTB oslevel inventory (ENT-3117) - Disable package inventory via modules on redhat like systems with unsupported python versions (CFE-2602) - Make stock policy update more resiliant (CFE-2587) - Configure networks allowed to initiate report collection (client initiated reporting) via augments (#910) (CFE-2624) - apt_get package module: Fix bug which prevented updates from being picked up if there was more than one source listed in the 'apt upgrade' output, without a comma in between (CFE-2605) - Enable specification of monitoring_include via augments (CFE-2505) - Configure call_collect_interval from augments (enable_client_initiated_reporting) (#905) (CFE-2623) - Add templates shortcut (CFE-2582) - Behaviour change: when used with CFEngine 3.10.0 or greater, bundles set_config_values() and set_line_based() are appending a trailing space when inserting a configuration option with empty value (CFE-2466) - Add default report collection exclusion based on promise handle (ENT-3061) - Fix ability to select INI region with metachars (CFE-2519) - Change: Verify transfered files during policy update - Change select_region INI_section to match end of section or end of file (CFE-2519) - Add class to enable post transfer verrification during policy updates - Add: prunetree bundle to stdlib The prunetree bundle allws you to delete files and directories up to a sepcified depth older than a specified number of days - Do not symlink agents to /usr/local/bin on coreos (ENT-3047) - Add: Ability to set default_repository via augments - Enable settig def.max_client_history_size via augments (CFE-2560) - Change self upgrade now uses standalone policy (ENT-3155) - Fix apt_get package module incorrectly using interactive mode - Add ability to append to bundlesequnece with def.json (CFE-2460) - Enable paths to POSIX tools by default instead of native tools - Remove bundle agent cfe_internal_bins (CFE-2636) - Include previous_state and untracked reports when client clear a buildup of unreported data (ENT-3161) - Fix command to restart apache on config change (ENT-3134) - cf-serverd listens on ipv4 and ipv6 by default (CFE-528) - FixesMake apt_get module compatible with Ubuntu 16.04 (CFE-2445) - Fix rare bug that would sometimes prevent redis-server from launching - Add oslevel to well known paths (ENT-3121) - Add policy to track CFEngine Enterprise license utilization (ENT-3186) - Ensure MP SSL Cert is readable (ENT-3050) 3.10.0: - Add: Classes body tailored for use with diff - Change: Session Cookies use HTTPOnly and secure attribtues (ENT-2781) - Change: Verify transfered files during policy update - Add: Inventory for system product name (model) (ENT-2780) - Add: Ensure appropriate permissions for SSL files (ENT-760) - Fix rare bug that would sometimes prevent redis-server from launching. - Change: Enable strict transport security - Add: Definition of from_cfexecd for cf-execd initiated runs (CFE-2386) - Add testing jUnit and TAP bundles and include them in stdlib.cf - Change: Rename duplicate bodies in ha_update.cf (ENT-2753) - Change: Disable RC4 Cipher for ssl in Mission Portal - Pass package promise options to underlying apt-get call (#802) (CFE-2468) - Change: Enable agent component management policy on systemd hosts (CFE-2429) - Add: Enterprise appliaction log dir to rotation - Change: re-enable hub process maintainance - Add: edit_line contains_literal_string to stdlib - Fix: Services starting or stopping unnecessarily (CFE-2421) - Allow specifying agent maxconnections via def.json (CFE-2461) - Change: Disable http TRACE method - Change: Reduce Enteprise webserver info - Change: cronjob bundle tolerates different spacing - Fix: CFEngine choking on standard services (CFE-2806) - Change select_region INI_section to match end of section or end of file (CFE-2519) - Fix ability to manage INI sections with metachars for manage_variable_values_ini and set_variable_values_ini (CFE-2519) - Fix apt_get package module incorrectly using interactive mode. - Add ability to append to bundlesequnece with def.json (CFE-2460) - Behaviour change: when used with CFEngine 3.10.0 or greater, bundles set_config_values() and set_line_based() are appending a trailing space when inserting a configuration option with empty value. (CFE-2466) 3.7.0: - Support for user specified overring of framework defaults without modifying policy supplied by the framework itself (see example_def.json) - Support for def.json class augmentation in update policy - Run vacuum operation on postgresql every night as a part of maintenance. - Add measure_promise_time action body to lib (3.5, 3.6, 3.7, 3.8) - New negative class guard `cfengine_internal_disable_agent_email` so that agent email can be easily disabled by augmenting def.json - Relocate def.cf to controls/VER/ - Relocate update_def to controls/VER - Relocate all controls to controls/VER - Only load cf_hub and reports.cf on CFEngine Enterprise installs - Relocate acls related to report collection from bundle server access_rules to controls/VER/reports.cf into bundle server report_access_rules - Re-organize cfe_internal splitting core from enterprise specific policies and loading the appropriate inputs only when necessary - Moved update directory into cfe_internal as it is not generally intended to be modified - services/autorun.cf moved to lib/VER/ as it is not generally intended to be modified - To improve predictibility autorun bundles are activated in lexicographical order - Relocate services/file_change.cf to cfe_internal/enterprise. This policy is most useful for a good OOTB experience with CFEngine Enterprise Mission Portal. - Relocate service_catalogue from promsies.cf to services/main.cf. It is intended to be a user entry. This name change correlates with the main bundle being activated by default if there is no bundlesequence specified. - Reduce benchmarks sample history to 1 day. - Update policy no longer generates a keypair if one is not found. (Redmine: #7167) - Relocate cfe_internal_postgresql_maintenance bundle to lib/VER/ - Set postgresql_monitoring_maintenance only for versions 3.6.0 and 3.6.1 - Move hub specific bundles from lib/VER/cfe_internal.cf into lib/VER/cfe_internal_hub.cf and load them only if policy_server policy if set. - Re-organize lib/VER/stdlib.cf from lists into classic array for use with getvalues - inform_mode classes changed to DEBUG|DEBUG_$(this.bundle):: (Redmine: #7191) - Enabled limit_robot_agents in order to work around multiple cf-execd processes after upgrade. (Redmine #7185) - Remove Diff reporting on /etc/shadow (Enterprise) - Update policy from promise.cf inputs. There is no reason to include the update policy into promsies.cf, update.cf is the entry for the update policy - _not_repaired outcome from classes_generic and scoped_classes generic (Redmine: # 7022) - standard_services now restarts the service if it was not already running when using service_policy => restart with chkconfig (Redmine #7258) - Fix process_result logic to match the purpose of body process_select days_older_than (Redmine #3009)