# 3.1.18 2017-02-20 Maintenance release 18 of 3.1 branch * Bug #6142: Change request link is too small * Bug #7285: Only run inventory collection when no other is running * User story #7422: Node breakdown - show actual numbers * Bug #8543: Sorting by compliance is broken in the list of nodes * Bug #8633: expected reports, component keys * Bug #9500: copyGitFile reports an error when destination is a symbolic link * Bug #9776: Logs from 4.1 agent are not sent to the server * Bug #9794: Malformed .gz inventory breaks upload process * Bug #9800: Missing "default =" word in node properties expansion documention * Bug #9804: Shared files input does not appear on in directives form * Bug #9818: Rudder's LDAP server configuration does not allow to query the monitor DB * Bug #9822: Job is not run for Technique JobScheduler in Rudder * Bug #9835: When we receive reports from node with old reports, caches are not used for compliance computation * Bug #9841: Error parsing inventory * Bug #9845: rudder-techniques depends on perl(XML::TreePP) * Bug #9851: ncf-api-virtualenv build depends on selinux * Bug #9869: Compliance on all reports is always computed, even when not necessary * Bug #9872: The service management technique does not disable boot services * Bug #9884: Typo in root of policy libray tree name * User story #9893: Add qa-test for line breaks * Bug #9903: The service management technique does not enable boot services * Bug #9913: Add SELinux config to relay package * Bug #9926: Backport 9857 into 3.1 * Bug #9930: If node is sending unexpected report, we get an invalid text * User story #9976: API endpoint to get information about queue status of uploaded inventories * Bug #9990: Broken remote run in 4.1 * Bug #9991: Syntax error in parent ticket * Architecture #10005: Add documentation about inventory upload on root server * Bug #10008: Not having set %{real_name} does operate on /bin * Bug #10029: Test create directories in /tmp that are not cleaned nor unique * Bug #10047: "Inventory workflow, from nodes to Root server" should be in Reference, not troubleshooting * Bug #10056: SELinux target directory does not exist * Bug #10060: Unpackaged SELinux file * Bug #10089: Do not build SELinux policy on old OSes * Bug #10090: Missing selinux-policy-devel in rudder-server-relay dependencies * Bug #10092: Do not package SELinux policy on old OSes * Bug #10120: Use correct repository definition in pom.xml (rudder-parent-pom) * Bug #10122: Use correct repository definition in pom.xml (ldap-inventory) * Bug #10123: Use correct repository definition in pom.xml (scala-ldap) * Bug #10124: Use correct repository definition in pom.xml (rudder) * Bug #10126: Use correct repository definition in pom.xml (rudder-commons) * Bug #10133: Included "time ended" in Status dropdown * Bug #10134: Use correct repository definition in pom.xml (cf-clerk) * Bug #10143: Incomplete logging in expected reports computation * Bug #10146: warning: Class javax.annotation.Nonnull not found - continuing with a stub. * Bug #10151: Broken link in CFEngine doc * User story #10157: Add an option to not display rule status/recent changes in directives screen * Bug #10158: Missing logger definition file in parent ticket * Bug #10168: Deadlock with simultaneous generation and new reports * Bug #10171: If the Rudder Web Interface is interrupted during the second step of reports archiving, then it won't never succeed in archiving again * User story #10181: Add link to the new FAQ in the manual * Bug #10187: The link to the faq is broken * Bug #10188: Spurious println introduced in parent ticket * Bug #10211: If we change the status of "Display rule compliance columns", we need to refresh the page to be able to revert to previous value * Bug #10220: Inventories with fields containing only spaces/tabs/... may fail to be parsed due to invalid sanitization of entry * Bug #13967: [replaces #10115] FileNotFoundException when looking for deleted history file