# ncf-0.x Version used for ncf in until Rudder 3.1 * Bug #4253: Could not install rudder-techniques and rudder-webapp on sles, wrong dependencies on ncf package * Bug #4254: openssh knwoledge does not work on SuSE * Bug #4255: typo in template file path for open_ssh * Bug #4257: generic_method package install cannot install package on suse * Bug #4259: change path of ncf_rudder.py in logger_rudder.cf * User story #4268: Implement a generic_method for insuring that a section contains exactly a block * Bug #4291: Reporting with NCF on components that mustn't be executed everytime * Bug #4315: There is no report with services management bundles * User story #4316: Add bundle to create the inverse result classes of other ones * User story #4317: Bundle _classes_inverted_copy(src_class, new_class) * User story #4318: Add bundle to create symlinks * User story #4319: Bundle file_create_symlink(enforce[true,false],src_file,dst_file) to create symlink * User story #4320: Add bundle to restart a service * User story #4321: Bundle service_restart(service_name, trigger_class) * Bug #4322: The bundle service_ensure_stopped() have an unused variable containing command to start service * Bug #4323: The bundle service_ensure_stopped() has wrong result classes * User story #4337: Add bundle to create a file or directory * User story #4338: Add a bundle or argument to an existing bundle managing services in order to set a service starting at boot * User story #4340: Add bundle service_restart(service_name) * User story #4341: Add bundle to enforce content of a file (erase what is not defined) * Bug #4343: The bundle service_check_running_ps.cf should return an error class instead of an repaired * Bug #4344: The bundle _classes_success and _classes_failure don't create classes with succes or failure prefix * Bug #4345: Typo in service_ensure_stopped * Bug #4404: The bundle _classes_copy.cf does not copy prefix from result classes * Bug #4409: It is not possible to use 'rudderify_techniques" with techniques written into /var/rudder/configuration-repositories/ncf * Bug #4410: There is no report with the use of command_execution_module * Bug #4424: Copy of file from a remote host does not work since recursion option is not tolerated for file by CFEngine * User story #4432: Bundle file_force_lines_present(file, content) to enforce content of a file * Bug #4437: ensure_lines_{present,absent} should quote the lines inserted * Bug #4446: Cannot use service_ensure_running with service that have either different start command than their ps one, or when name is too broad * User story #4448: Add a generic method to ensure that a service is defined at start * Bug #4462: Bundle permissions_type_recursion() with 'automatic detection' use a recursion with files * Bug #4470: Using both permissions() and permissions_recurse() into a MetaTechnique will create a metadata.xml not valid * Bug #4472: when installing ncf, it fails to run because of a ExpandAndMapIteratorsFromScalar error * Bug #4474: the service baseline doesn't have the proper bundle name, hence fails to be executed * Bug #4489: The method file_copy_from_remote_recursion() don't copy file if the file to be copied is less recent * Bug #4504: ome inconsistencies in detection of packages installed on debian when package has the :amd64 suffix * Bug #4541: the rudderify script does not allow the use of methods from /var/rudder/configuration-repository/ncf/30_generic_methods/ * User story #4577: Add a bundle to allow to add lines in a INI like section * Bug #4714: Warning about missing bundle at rudder-agent startup (at least on serve) * User story #4739: implementation for adding a method to add lines in section * Bug #4784: The reporting is in an unknown state if a same action is made on two objects with a name too similar * Bug #4806: When two techniques generated with ncf-builder use the same generic method with same parameters, reporting cannot dinstinguish them, and reports "Unknown" * User story #4818: Add file_create and file_remove bundles * User story #4819: Add file_create and file_remove bundles (implementation + tests) * User story #4820: Add a bundle to check if a package is installed * User story #4821: Add a bundle to check if a package is installed (implementation + test case) * User story #4823: Be able to install 32 bits packages with "Success" reports * Bug #4839: ncf uses "find" to find promises files, but the command in Mac is gfind * Bug #4842: The use of package_install on SuSE grow too quickly the /var/log/zypper.log * User story #4844: Add bundle package_install_version_cmp_update_arch(package_name, version_comparator, package_version, action, update_policy,architecture) to manage package installation for specific architecture * Bug #4851: The command used to have a list of promises from ncf will lead to "Buffer exceeded 8192 bytes in exec" if ncf contains more than 125 files * Bug #4857: The bundlefile_ensure_lines_present_in_ini_section() will only display a message if called several times for the same file. This will lead to 'unknown state' * Bug #4858: Fix test of bundle file_ensure_lines_present_in_ini_section() since its rename * Bug #4880: The use of escaped string into class_parameter lead to "Unknown state" reports * Bug #4949: Ensure that a line is present in a ini section will not work if the section does not exist or is at the end of file but will return a success * Bug #4971: Make test fails on permissions test on centos as the group nogroup doesn't exists by default * Bug #4978: test suite fails on CFEngine 3.6 as the CFEngine output format is different * Bug #4984: Some test fails on CFEngine 3.6 as the execresult and returnszero functions are cached at the begining of execution * Bug #5058: Add bundle to edit RHS in file, with arbitrary format for LHS RHS * User story #5060: Create generic methods for http request * User story #5061: Create generic method to check a http status * Bug #5062: Create generic method to send content to a url, with headers and method * Bug #5063: Resync paths.cf in ncf from the CFEngine stdlib * Bug #5065: Create generic method to add a line in an xml section * Bug #5072: Package installation fails on ncf with CFEngine 3.6 * User story #5074: Provide a REST API to create/modify/delete Techniques in ncf * User story #5075: Add functions to manage technique files in ncf python tools * User story #5079: Add API to manage techniques * User story #5083: Add authentication to ncf API * User story #5090: integrate ncf-builder in ncf directory * User story #5091: Copy content of ncf-builder in folder builder on ncf * User story #5095: Add hooks to ncf-builder directory so you can have pre/post actions when editing with ncf API * User story #5096: Add hooks.d to ncf init * User story #5097: Implement logic to handle hooks in ncf-api * User story #5107: Change rudder's SSL virtualhost to expose ncf builder * Bug #5112: wrong method called in ncf.py leading to not checking technique metadata before writing file * Bug #5114: ncf cannot read techniques if parameter path ends with / * Bug #5148: Use of bundle "file_ensure_line_present_in_ini_section.cf" to add lines into a section which does not exist will only add the section, not the lines * Bug #5171: path is not set in builder * Bug #5175: Add additional path to find cf-promises * Bug #5195: ncf-builder/api should escape all character that are not underscore in bundle_name * User story #5211: Rudderify should generate a second cfengine file, that complete reports * User story #5213: Add _class_noop generic method and handle it in logger_rudder * User story #5214: Generate rudder_reporting.st file to have complete reporting in rudderified Technique * User story #5215: Remove icons and replace by link to ncf reference manual * User story #5216: remove icons, replace by links * User story #5217: Display classes generated in ncf_builder * User story #5218: Display classes generated in ncf_builder * Bug #5243: Error in parsing of bundle names causing ncf to use technique names like "ntp {" * Bug #5245: simplify regexp to parse bundle name * Bug #5247: ncf-builder should not allow to save an empty name * Bug #5248: forbid to save a Technique with no method call * Bug #5274: ncf replace all files in /usr/share/ncf without exception which is non compatible with Rudder * Bug #5282: ncf_builder doesn't display the class set by each generic method * Bug #5290: Tests does not work since add of "file_enforce_content" generic_method * Bug #5302: ncf test of "file_enforce_content" fails on CFEngine 3.6.0 but pass on CFEngine 3.5.2 * Bug #5324: ncf should write techniques using ifvarclass instead of direct classes * Bug #5332: In ncf-builder, we have no (easy) way to add multi-line content * User story #5333: Add a OS class selector * User story #5365: Deleting a Technique from ncf-builder should display a warning * Bug #5366: Deleting a Technique from ncf-builder will not remove Technique from Rudder * User story #5376: Add possibility to create folder with ncf * User story #5377: Add bundle directory_create(target) to create simple directory * Bug #5378: We need a method for the mustache template * Bug #5381: ncf builder does not escape automatically double quotes, leading to broken Techniques * Bug #5382: The change from in #5381 introduced broken quotes * Bug #5383: ncf doesn't parse ifvarclass into the class_context * User story #5395: Have multi lines inputs for parameters * User story #5396: Replace multi line inputs on parameters * Bug #5397: The file_from_template generic method can not use mustache templates on pre-3.6 CFEngine * User story #5398: Add clone Technique to ncf-builder * Bug #5401: Create a shell script that list all .cf files compatible with a given cf-agent version. * Bug #5403: F is not a posix sed command * Bug #5404: Script must return full path * Bug #5405: Links to reference library should open in new tab * Bug #5406: Press enter should save form / validate popup * Bug #5407: Ncf documentation should show @agent_version * Bug #5408: class prefix displayed in ncf-builder is not correct * Bug #5410: shell script that list all compatible .cf files should ignore non-existant directories * Bug #5422: Create a generic method to check if a folder exist * Bug #5423: Tests don't work on CFengine 3.5 * User story #5426: Make ncf-builder more Rudder independant * User story #5427: Add "no authentcation" authentication * User story #5428: Add a default_path variable * User story #5435: Add warning when deleting methods and techniques. * User story #5436: Add confirmation popup when deletin things in ncf-builder * Bug #5437: class parameter not displayed on each method * Bug #5443: command execution does not send any reports * Bug #5444: Inconsistency between advertised error class definition and actual class definition, and wrong use of class lead to no error reporting * Architecture #5448: Add test to ensure that all generic_methods use normal ordering for promise types * Bug #5450: ncf method command_execution should contain the command in shell * Bug #5465: We should not canonify ourselves class context given in ncf * Bug #5474: list-compatible-inputs fails when there is no which command * Bug #5483: We should not be able to create a clone if only case is different * Bug #5484: Do not accept technique with same name * Bug #5485: Save button should be disabled while actions is not finished * User story #5487: Update logger_rudder to understand "error only" mode * Bug #5520: Call list-comptible-inputs with /bin/sh * Bug #5523: Generate cache in a configurable directory * Bug #5534: 2 method calls on the same object produce a confusion in the reports * Bug #5543: list-compatible-inputs contains unsecable space, breaking the script execution * Bug #5550: Classes are not properly canonified by ncf if \' are present * Bug #5555: logger_rudder doesn't properly canonify entries * Bug #5558: When we use variables in parameters, for a generic methods that have a condition, the resulting generated not applicable file is invalid * Bug #5565: ncf won't report twice with the same message even if necessary with CFEngine 3.6 * Bug #5585: Test the presence of nbsp in source code * Bug #5598: logger_rudder fails on windows * User story #5613: Add OS class selector * Bug #5625: Services are not evaluated in CFEngine 3.6.1+ * Bug #5633: ncf service management does not support systemd service management * Bug #5634: Class context is surrounded by parenthesis enven if there is no need of them * Bug #5659: Make list_compatible_inputs script equivalent for Windows * Bug #5663: logger_rudder generates extra buggy reports * Bug #5676: Add notifications to ncf-builder on success and error * Bug #5682: Add a configuration file when using enterprise edition * Bug #5728: list-compatible input is not working on aix * Bug #5740: Secure template application * Bug #5744: missing test in ncf * User story #5758: Add generic method to create user/groups * Bug #5766: classes_generic_return_code in ncf_lib doesn't define _error classes * Bug #5770: logger_rudder don't log anymore * Bug #5854: service_ensure_started_at_boot doesn't work on debian without systemd * Bug #5861: service_ensure_stopped_at_boot is missing * Bug #5865: ncf_rudder.py tools doesn't looks for user defined generic methods when generating techniques * Bug #5892: Nbsp in ncf.js * Bug #5900: Some generic methods do not produce report * Architecture #5901: Implementation of #5448 normal ordering test * Bug #5910: CFEngine 3.5 cannot run ncf as the size of of the string containing all generic method is too big * Bug #5924: ncf-builder Readme does not allows one to start using it * Bug #5929: nbsp test is failing in ncf because it checks to many files * Bug #5945: ncf service management does not support windows service management * Bug #5952: Add quickstart and ncf-builder pages to documentation and ncf.io * Bug #5980: have the path of the config file overridable * Bug #6034: The use of package_install on SuSE grow too quickly the /var/log/zypper.log * Bug #6074: When we have space in classes condition, the technique is no longer displayed in the Tehcnique editor, and we cannot update anymore any techniques * Bug #6080: When using invalid XML character in the technique parameters, the generated matadata.xml is invalid * Bug #6107: Cannot save new technique with ncf-builder, button is disabled * Bug #6128: Add IE support for ncf-builder * Bug #6140: The fact that inputs can be multiline in forms is not obvious * Bug #6170: Rudder reports are made on ncf only if class "full_compliance" is set, but this class is defined only in Rudder 3.0 * Bug #6219: Mispelled Aix in ncf-builder * Bug #6275: Fix negative status and test when a variable is used in class context * Bug #6281: ? escaped in in the path variable parameter of ncf-builder URL * Bug #6306: Complete error logging for ncf * Bug #6315: ncf API should catch all exceptions to be able to track them * Architecture #6317: Make ncf api compatible with python3 * Bug #6318: ncf api error should be properly interpreted * User story #6369: Run twice the same action * Bug #6376: Properly catch all error in ncf api * Bug #6383: A small border is displayed on top of technique editor if form is invalid * Bug #6390: Use new data/error fields in ncf-builder * Bug #6397: Moving generic method in ncf-builder is painful * Bug #6407: ncf-doc cannot parse generic methods new format * Bug #6408: Test and tools broken with new metadata format * Architecture #6410: Make ncf api compatible with python 3 * Bug #6415: ncf package management doesn't use rpmvercmp not dpkg for version comparision * User story #6417: File download generic method * User story #6418: File download generic method (implementation) * Bug #6425: Generic method for installing package freeze on debian with untrusted sources * Bug #6433: write technique function does not work with new data model * Bug #6436: Adding a carriage return in the description of a technique breaks the generated technique * Bug #6440: We can't use é in the generic methods parameters * Bug #6446: On Error 500 ncf builder doesn't say anything * Bug #6460: Typo in ncf.py, cannot be used * Bug #6461: We can't use é in bundle name * Bug #6463: Undefined bundle schedule_simple_generic with type usebundle * Bug #6472: Invalid blank character in generic method * Bug #6473: Some generic methods have multiline definition, which is not compatible with the test * Bug #6474: Remove invalid test that prevent bundle agent in librairies * Bug #6488: Avoid waiting on lock when calling yum * Question #6520: it should be possible to update ncf * Bug #6529: Can't delete example NCF technique * Bug #6530: Cannot save technique with ncf builder - error during the API call to the technique librairy reload * Bug #6531: Interface ncf builder can't read the created techniques * Bug #6533: Move ncf Technique examples out of the default ncf tree * Bug #6534: Displaying the technique list in ncf-builder can take more than one minute * Bug #6539: test broken since normation.com has changed * Bug #6542: url for non existant test is wrong * Bug #6545: package_check_install doesn't produce report * Bug #6573: check_output function has no env param * Bug #6615: ncf_rudder.py is not valid when using python 2.6 * User story #6618: change the name of techniques category to "User Techniques" instead of "Meta Techniques" * Bug #6621: The file_ensure_line_present_in_ini_section bundle does not handle line editing * Bug #6622: Non-breaking spaces in comments in ncf files * User story #6629: ncf builder arrows are not aligned * Bug #6665: package_check_install doesn't report anything * Bug #6666: test fails on ncf due to wrong return code from normation website * User story #6668: fix test after changing of ncf techniques category named changed * Bug #6696: aptitude hangs on unsigned packages * Bug #6774: No reporting in rudder for service_check_started_at_boot * Bug #6796: generic methods permissions (non recursive) is indeed recursive * Bug #6828: service_check_Started_at_boot fails * Bug #6940: The service_check_started_at_boot generic method fails if run on Debian 8 and a legacy sysv init script is present * Bug #6949: typos in ncf libs * User story #6977: Add generic methods to allow convenient data management * Bug #6979: We should append .service to service name when calling systemctl * Bug #6993: no report on file_remove if the file has already been removed * Bug #7007: update-rc.d enable doesn't work * User story #7017: Make ncf packageable from source * Bug #7035: script tools/ncf-clone-test.sh use a bad target in makefile * Bug #7066: Test -e doesn't exist on solaris * Bug #7152: There is a stringtemplace key in logger_rudder.cf * Bug #7160: Canonify all class prefix * Bug #7195: Canonify in ncf doesn't work like cfengine does * Bug #7200: Read only role is not correctly interpreted in technique editor * Bug #7209: Add a way to log in to ncf without reloading page * Bug #7216: ncf test scripts is running tests on master on branch v0.x * Bug #7217: syntax error in rudder-clone-test.sh * Bug #7223: service_check_started_at_boot throws error on service boot status check * Bug #7225: Fix tests * Bug #7226: service_ensure_started_at_boot does not work on non-systemd systems with upsteam CFEngine stdlib * Bug #7231: Errors and lots of warnings when tetsing ncf with python3 * User story #7234: Add a generic method for command execution with return code handling * Bug #7247: service detection based on ps may not work for start/restart method * Bug #7248: No user/group creation methods available * Bug #7261: When a generic method is modified (add parameter), method calls arenot updated * Bug #7294: ncf technique editor is saving invalid promises files * Bug #7312: add generic method to manage key = value in INI section * Bug #7313: correct tests after #7234 * Bug #7322: Allow testall to give more information during tests * User story #7434: Add edit-default with backup on all edit files * Bug #7440: Correctly display an error when rudder authentication fails in ncf-builder * Bug #7461: classes_* methods should refuse to copy classes to a prefix which is an empty string * Bug #7483: list_compatible_input doesn't list 3.6 specific files * Bug #7500: Errors in inform output about 'assumed integer value' due to time_lib.cf * Bug #7519: http_request_* can't fallback on wget and doesn't warn if curl is missing * Bug #7520: package_install* methods do not work outside of debian|redhat|SuSE Linux distributions and don't warn about it * Bug #7521: Tests do not work on AIX * Bug #7522: schedule_simple fails * Bug #7528: Extend tests for non-existant files with file_remove * User story #7529: Add support for the SRC system on AIX for service management * Bug #7539: There is a global pass2 class in tests * Architecture #7542: Tests should run ncf in "debug" mode to have more output to make it easier to analyse test failures * Bug #7603: Wrong class_paramater and reporting for group_present and group_absent methods * Bug #7604: group_present and group_absent use non-existant class "unix" * Bug #7614: backup files should not be in conf.d folders * Bug #7626: Tehcnique editor center part has no overflow in an iframe * User story #7649: Add support for the SMF system on Solaris for service management * Bug #7682: The class prefix documented in file_copy_from_remote_source is wrong * Bug #7715: ncf editor and display problem * User story #7724: Allow to drag and drop method call (move, create) * User story #7725: Add documentation and apache conf to run ncf-builder dev env * Bug #7807: Restarting services via systemctl fails * User story #7838: Add an attribute for longer documentation of generic methods and techniques * Bug #7848: Using configuration value before defining it * User story #7851: Simplify ncf-builder installation doc * Bug #7864: Missing Functions for File-Checks * Bug #7875: Broken tests after #7838 * User story #7878: Add an asciidoc output to ncf_doc * User story #7879: Add documentation for ncf generic methods * Bug #7882: curl should follow redirect * Bug #7883: command_execution_result does not define result classes for "other" return codes than kept/repaired * Bug #7907: Typo of "$#this.promise_filename}" in acceptance tests * User story #7913: list-compatible input should be able to filter on minimum and maximum version * Bug #7929: File copy from remote source may fail if sys.policyhub is not defined * User story #7947: Add a generic methods doc output for Rudder * User story #7966: invalid syntax in list-compatible-inputs script * Bug #7971: Non applicable reports "Not applicable is not applicable" are useless and can be duplicates, breaking reporting * User story #7980: Add the ability to configure the link to the web documentation * Bug #8021: ncf Editor renders buttons outside of visible range if long content. * Bug #8023: command_exection_result defaulting to 'error' state is not documented * Bug #8024: file_template_expand appears to not work within rudder * Bug #8061: "File ensure block in section" does not preserve blocks * Bug #8062: Sometimes the techniques do not appear at first load of the technique editor * Bug #8063: Technique Editor don't display anymore method parameter description * Bug #8064: Clicking in the *i*nformation of a generic method add it * User story #8067: Add documentation for ncf internal generic methods * User story #8071: Add 'Windows Server 2012 R2' as OS condition * Bug #8091: NCF Editor category list stops working * Bug #8095: add generic method to manage key -> value , without array * Bug #8101: service_ensure_at_boot uses chkconfig on SLES12 * Bug #8109: Missing reporting in Permissions (non recursive) when the file does not exist * Bug #8137: Technique editor display method params of the last generic method created for all methods * Bug #8150: Update does not work in package_install_version_cmp_update * Bug #8151: Technique Editor - whitespace as separator in "File ensure keys -> values present" method * Bug #8154: Printf error messages on Windows Agents * Bug #8160: Remote file copies in ncf should be encrypted * Bug #8167: package_install_version_cmp_update should handle all needed package operations * Bug #8217: Broken syntax in generic methods docs * User story #8218: Add @documentation fields for the new file_check_* generic methods * User story #8228: Add constraints to ncf parameters * User story #8229: Add constraint in ncf technique editor * Bug #8241: On IE, the Technique created on Technique Editor doesn't show up * Bug #8259: Delete/Up/Down buttons are not visible in generic methods which have a long description * Bug #8261: Warn when the string length reaches the maximum value supported by the agent * Bug #8266: Missing reporting in Permissions (non recursive) when the file does not exist - missing class in original fix * Bug #8270: Missing reporting in "Service ensure running with service path" when the service is not running * Bug #8271: Missing reporting in "Permissions (non recursive)" when the target does not exist * User story #8301: Provider variable_* methods in the 0.x branch * Bug #8315: Varying use of "array" instead of "dict" in ncf docs * Bug #8320: Most file edition generic method return kept and repaired when a file has been modified * Bug #8321: File edit methods return a kept class even when they repaired the file * Bug #8322: When creating a second technique which have the same canonified name but not the same name, ncf builder will silently override the other * User story #8323: Limit the length of technique names * Bug #8341: Missing promise types in ordering check script * Bug #8343: logger_rudder breaks if expected_reports.csv.res is missing but expected_reports.csv.tmp is present * Bug #8360: Method and technique are not correctly identified leading to wrong behavior in UI (Reset, Save) * User story #8361: Make the test script able to run from different sources * Bug #8377: Error messages about setopt in the inform output of the agent * Bug #8379: invalid reporting in ncf * Bug #8430: logger_rudder can re-read expected_reports_temp even without change, impacting performance significantly * Bug #8433: logger_rudder evaluates too late content of temp file, causing it to miss first report * User story #8465: Limit length of technique names to 100 chars in the ncf api * User story #8512: Add a makefile target for unsafe tests and add it to the test script * Bug #8522: Doc does not generated after 8228 * User story #8541: default constraint are not kept if constraint are defined * User story #8544: Add max length 2048 default constraint * User story #8546: Broken test due to change in default constraints * Bug #8559: list-compatible-inputs fails can fail because it returns more than 8192 character * User story #8560: Call unsafe tests in the test script * Bug #8561: htop is needed for tests * Bug #8562: Broken ordering in package_check_installed_even_if_upgradable test * Bug #8564: Remove the menu bar if the Technique Editor is opened in an iframe. * User story #8571: Add a title to the Generic Methods categories list * Bug #8573: Smelly code in logger_rudder * Bug #8575: The technique creation form validation doesn't check if the technique name starts with an invalid character. * Bug #8598: Sometimes the rudder logger tries to read a non-existing expected reports .res file * Bug #8604: ncf select constraint error message, each value is prefixed by u'' * Bug #8605: Focus on technique name when creating technique * Bug #8610: Some usage docs are not correctly generated in html output * Bug #8611: Service ensure running keeps staying repaired * Bug #8623: Method "File ensure block in section" of Technique Editor cuts the block to 2047 bytes * Bug #8637: Failing unit tests - because of #8610 * Bug #8638: file_ensure_lines_present_in_ini_section.cf test fails with CFEngine 3.9 * Bug #8645: Create a constant value for space: ncf_const.s * Bug #8653: The cancel body doesn't exist * User story #8657: The test framework should be able to use list-compatible-input to only test compatible generic methods * Bug #8660: Adapt documetation url of each method to us rudder documentation if editor is used with Rudder * Bug #8664: All package commands in tests need to be non-interactive * Bug #8667: Broken build after #8664 * User story #8691: Add bodies to manage AIX password files * Bug #8703: Build error after 8691 * Bug #8706: Disable broken test package_check_installed_even_if_upgradable.cf * Bug #8719: Broken tests in ncf v0.x on Rudder 2.11 * Bug #8721: Broken service_ensure_running_path test with CFEngine 3.6.7, 3.7.3 * Bug #8754: file ensure keys-> value cannot handle keys with special characters (like *) * Bug #8762: The Category list is cut on small screen * Bug #8763: When the conditions contain spaces, they are kept and the generated file is invalid * Bug #8769: Broken ncf tests * Bug #8793: ncf still loads mp.autofocus module that was deleted! * Bug #8829: New method calls are considered valid, although they are empty which leads to error when validated via API * Bug #8843: ncf template methods do not empty file before editing it * Bug #8846: broken report from Directory check exists * Bug #8871: missing rudder_expected_reports.csv.res when starting the agent for the first time after an update * Bug #8896: We need to save twice after cloning a technique * User story #8946: Drop CFEngine 3.5 support * Bug #8972: Check/Verify package generic methods are actually installing packages * Bug #8981: Cannot save new generic method with some contraints * User story #8997: Remove code specific to 3.5 * Bug #8998: Broken test since end of 3.5 support * User story #9014: Remove TODO file from ncf repo * User story #9024: Add conditions on rudder_version in ncf code loading * Bug #9045: Wrong list of files when calling testall on a directory * Bug #9053: All files are included in tests - use list-compatible-inputs * User story #9063: Add support for a rudder_version check in list-compatible-input and policy loading * User story #9065: Use rudder_version in ncf scripts * User story #9068: Small improvement for ncf website * Bug #9070: Conditionnal loading does not work as expected * Bug #9079: When a ncf technnique has an ampersand in its name, rudder doesn't see it * User story #9088: Call lis-compatible-inputs with rudder_version if present * Bug #9096: rudderification breaks when a parameter contains '&' * Bug #9132: Package check installed does not produce reports * Bug #9139: Do not save backups for expected reports files * Bug #9164: Uneeded scrollbar when using ncf builder in an iframe * Bug #9187: logger_rudder evaluates at each call the expected_reports_temp file * Bug #9188: The first report is skipped after 9187 * Bug #9199: Add unit test for rudder_logger * Bug #9203: rudder_logger is too complex * Bug #9322: Some runs have no report on ncf if after upgrading from 3.1.13 * Bug #9431: http* methods should allow enmpty headers field * Bug #9432: No Rudder report for http_request_content_headers * Bug #9547: package_install should use another package body when using a specific package version * User story #9585: Improve templating documentation * Bug #9612: Documentation of file_replace_lines is minimalist, and doesn't explain how to use it * Bug #9661: Fix typo in file_download method doc * User story #9663: ncf Editor: Highlight condition box if a condition is active * User story #9664: ncf Editor: Properly align up-down arrows * Bug #9671: Description field + generic methods fields in Technique editor are too small on IE11 * Bug #9755: Broken tests with CFEngine 3.10.0b1 * Bug #9779: Save button is not disable during saving * User story #9823: Do not start the rudder agent in ncf tests * Bug #9848: Broken ncf tests * Bug #9901: Error when using quotes on class parameters * User story #9940: Add more information when a technique cannot be saved * Bug #9962: Fix jinja2 version used to 2.8 * Bug #9966: Fix jinja2 version used to 2.8 * Bug #10020: Document usage of "file ensure keys->values present" * Bug #10021: On Technique Editor, if I click on a Technique, it asks me to discard my changes, even if I didn't do any changes * Bug #10022: Parent ticket doc is not correctly rendered * Bug #10024: On Technique Editor, if I click on a Technique, it asks me to discard my changes, even if I didn't do any changes * Bug #10025: Parent ticket broke Rudder doc build * Bug #10086: Add ncf loader cache file to git ignore * Bug #10110: Unknown option --oldversion introduced in 9547 * Bug #10117: CFEngine 3.10 skips all bundles in dispatcher * User story #10121: There should be only one "required parameters missing" in the methods list * Bug #10153: Calling twice file_ensure_key_value_present_in_ini_section for same file and section doesn't do anything for the second call * Bug #10161: Fix file_ensure_key_value when used several times on the same file * Bug #10205: File edition is limited to 1MB file, which is really small * Bug #10226: Broken tests after parent ticket * Bug #10268: technique editor return error 500 and /var/rudder/ncf/50_techniques/ empty * Bug #10311: service check at boot tests are unsafe * Bug #10462: package verify version (sometimes?) does not check version of packages * Bug #10490: Errors does not show up when saving ... * Bug #10500: Display is broken on small screens when opening details of a generic method * Bug #10503: Generic method details still visible after removing this method * User story #10507: Generic method to edit separate parameters in key="values" line * User story #10508: Add a generic method to remove directories * Bug #10535: Add missing option to use "space" as a parameter separator in file_ensure_key_value_parameter_in_list * User story #10549: Add more padding to the drag'n drop area * User story #10561: Generic method to remove separate parameters in key="values" line * Bug #10571: Wrong case for a parameter in file_ensure_key_value_parameter_in_list, causing an error message at upgrade * Bug #10575: putting a double quote in a technique in the "class" parameter generate an invalid rudder-reporting file for the agent * Bug #10603: Broken tests * Bug #10610: Cannot use space separator in file ensure key value * Bug #10616: Documentation for file_* is incomplete * Bug #10653: Bug in the resolution fo the parent issue * Bug #10676: "Required parameter missing" always visible * Bug #10768: class input box should be wrapping / multiline / autosizing * Bug #10798: Document that command_execution should point to binary/executable/script file * Bug #10901: Work lost on logout in ncf builder * Bug #10919: Use a specific package body when no version is specified for yum/rpm * Bug #10948: Add Rudder icon as favicon to avoid js error * Bug #10956: Fix js errors when selecting a generic method * Bug #10985: Fix ncf tests * Bug #11041: User defined conditions should be enclosed in parenthesis * Bug #11079: runlevel command is caled without path * Bug #11113: Save button is not disable during saving * User story #11145: Add bundle in library to edit section, and enforce its content, as well as deleteing line matching regexp in all file * Bug #11272: The doc link for generic methods in a technique in rudder leads to ncf.io * Bug #11281: Removing trailing spaces from generic methods metadata * User story #11346: Create a new generic method to set key/value with option to define if it is strict or not