# 4.1.12 2018-05-29 Maintenance release 12 of 4.1 branch * User story #7616: Overriden directives are not listed in reports information * Bug #11852: Unbalanced spacing in allowed networks form * Bug #11990: Broken text/js button in directive form in chrome * Bug #12081: The filter field in the technique editor should not be monospace * Bug #12207: Always get "Technique diverges" pop-up when coming back to technique editor * Bug #12262: jobScheduler does not work when the first non-loopback interface has no ip address * User story #12455: Add tests for sshKeyDistribution technique * User story #12501: New rudder technique : SNMP configuration to monitor the rudder agent health * Bug #12504: rudder-pkg python3 issue * Bug #12506: Typo beeing -> being in rudder manual * Bug #12511: wrong import in ssh-key-distribution tests * Bug #12512: Buttons don't follow a straight design * Bug #12513: Add margin between selects and button groups in Archives page * Bug #12514: CSS of txt/json inputs is broken * Bug #12515: Add space between filter and Event logs table * Bug #12521: Access rules on Rudder servers/relays prevent in most case the server from downloading/connecting on itself * Bug #12541: Fix flask version during build * Bug #12544: Fix flask version during build * Bug #12545: Broken css when technique name is long * Bug #12548: Java 9 / Java 10 compatibility: security exception for JS VM * Bug #12552: Delete directive confirmation popup should display the action to confirm * Bug #12555: Missing report when we cannot change home directory in users technique * Bug #12556: NumberFormatException in NodeAPI 8 (runResponse) * Bug #12557: Java 9 / Java 10 compatibility: javax/xml/bind removed * Bug #12570: Fix various typos in ncf doc * Bug #12573: Fixing api documentation typo * Architecture #12576: Upgrade to CFEngine 3.10.4 LTS * Bug #12606: Restricted java security policy breaks Rudder (class configured for Cipher(provider: BC)cannot be found) * User story #12610: Make the 'common' system technique identify crond on a slackware agent * User story #12615: rudder-lib.st in the "common" system technique does not identify crond as running when the ps is /usr/sbin/crond -l notice * Bug #12616: ${const.dollar} in generic method parameter leads to missing report * Architecture #12621: Explore alternative format for compliance table * Bug #12633: ncf script traceback error * Bug #12634: .pyc file are not cleand up during postinst * Bug #12635: "Safelly" typo in logs * Architecture #12639: Use pylint to verify python code in ncf * Architecture #12640: Fix pylint error in ncf 4.1 * Architecture #12641: Use pylint to verify python code in relay * Architecture #12642: Fix pylint error in relay code * Bug #12643: Compliance bar appears partially white in some graphes * Bug #12647: Missing report if two mountounts with the same target * Architecture #12648: Add migration script for table nodecompliancelevels * Bug #12650: Directive and Rule tree filter are very slow * Architecture #12652: Fix pylint error in relay code * Bug #12660: JS error on node compliance details for rule with overiden directives * Bug #12661: Rudder fails to boot because cleaning TTL property is added after rudder reboot by migration script * Bug #12665: Generation error with SNMP technique * Bug #12666: Missing ipv6 constraint regex test * Bug #12670: Enforce checkbox tooltip in groupmanagement technique is misleading * Bug #12679: Add a test for escaped " in promise writer * User story #12680: Add a way to override report mode in system techniques * Bug #12682: JS test template * Bug #12683: Add agent support for Ubuntu 18.04 "Bionic Beaver" * Bug #12690: Rule tree filter is a bit slow * Bug #12694: In Rudder 4.1, we cannot do reporting using a variable defined in a generic method