# ncf-1.2 Version used for ncf in Rudder 4.2 * Bug #4797: When using multiple times the same generic method on the same object, the reporting will be broken for all of them * Architecture #6101: We should be able to call ncf generic methods more than once * Architecture #6370: We may have more than one class parameter * User story #6968: Add a package_install_from_file * Bug #7168: ncf debian package is missing asciidoc build dependencies * User story #7181: Add a way to highlight deprecated methods in ncf builder * User story #7182: Deprecate methods that should never be used * User story #7184: Add new generic methods for ncf v1.0 * Bug #7186: ncf rpm package is missing asciidoc build dependencies * Bug #7214: Do not consider 'deprecated' as a mandatory generic methods metadata * Bug #7215: Fix tests after 7182, 7158 and 7214 * User story #7236: Add dry-run support * Architecture #7277: Ignore empty destination in _class_* parameters * User story #7278: Add new class parameter to command_execution_* * User story #7279: Add generic methods to create conditions * User story #7280: Add generic methods to create variables * Bug #7334: Resynchronise stdlib with CFEngine stdlib * Bug #7359: Policy generation impossible after resynchronisation with CFEngine stdlib * User story #7377: Adapt rudderify script to use in the generated metadata.xml * Bug #7427: Invalid class parameter for command_execution_result.cf on branch master * User story #7438: Technique File should be included as an input by rudderify * Bug #7463: classes_* methods should refuse to copy classes to a prefix which is an empty string (master branch) * Bug #7532: Errors "Variable reference bracket mismatch" in debug output * Bug #7553: ncf 1.x show debug messages with unknown promisers and args lists * Bug #7558: http_request_* port to use new log interface on master * User story #7615: Adapt group_present and group_absent for ncf master and _log call * User story #7674: Adapt support for the SMF system on Solaris for service management to v1.0 * Bug #7681: variable_dict_from_file contains a debug line * Bug #7683: Syntax error in _service_check_running_smf.cf * Bug #7693: service_check_running result classes broken on master branch * Bug #7694: service_check_running report misleading always says it uses 'ps' * Bug #7695: service_ensure_running_path creates the wrong result classes on master * Bug #7759: Typo in package_install_version generic method * Bug #7762: Warnings at info and verbose levels while parsing log_rudder * User story #7856: Use a mustache template from a string * Bug #7920: classes_generic_return_codes disapeared from ncf v1 * User story #8066: Add documentation for ncf generic methods (1.x) * Bug #8074: variable_* generic methods says we can use ${class_prefix} for a local variable, but this variable doesn't exist * User story #8092: Show deprecation in ncf documentation * Bug #8194: file_check_ on branch master use deprecated _logger interface * Bug #8219: Broken syntax in generic methods docs - master branch * Bug #8299: ncf tests don't run on master branch due to old CFEngine version * Bug #8305: ncf tests don't run on master branch due to old CFEngine version - missing apt-https module * Bug #8339: Tests are broken on 1.x branch because of old logger being used * Bug #8342: Broken tests * Bug #8345: Missing changes in classes in 8339 * Bug #8350: Reporting issues in permissions_* generic methods * Bug #8475: rudder generated reporting (N/A when condition not met) use logger_rudder and not log_rudder * Bug #8531: Doc does not generated after 8228 - master branch * Bug #8574: File edit methods return a kept class even when they repaired the file * Bug #8619: The condition_from_command doc is not clear about outcome classes * Bug #8651: Merge error in 8321 * User story #8652: Add bundles to manage dry run of generic methods * User story #8666: Change doc url in to use new doc in rudder 3.2 * User story #8742: Test dry run of generic methods * Bug #8771: Syntax error in ncf.js * Bug #8826: Reporting generated for rudder techniques has broken reporting promises ( log with 2 params ) * User story #8851: Document logger parameters * Bug #8887: Move dry-run tests to staging until we have a solution * Bug #8947: missing rudder_expected_reports.csv.res when starting the agent for the first time after an update - master branch * User story #8952: Add generic methods using new package promises * Bug #8956: Specified action bodies override the dry-run policy * User story #9022: Add jinja2 templating support to ncf * User story #9062: Mark the correct version dependencies in dry-run tests * User story #9094: Add a bundle to copy local modules into workdir/modules * User story #9105: Add conditions on features in ncf code loading * Bug #9109: Rename init bundle to ncf_init * User story #9124: Handle Rudder's capabilities file in ncf tests * Bug #9128: 8952 breaks ncf tests * Bug #9153: Broken tests after 9022 * Bug #9154: New package promise test should only run on compatible agents * Bug #9175: ncf API needs to know about agent_requirements * Bug #9189: We are not removing reporting files on master branch * Bug #9213: Add jinja2 to test dependencies * User story #9225: Add support for negative checks and agent version checks in agent_requirements * User story #9226: Define a standard abort class in ncf * User story #9230: Define a dry-run lib when default bodies are not supported * User story #9236: Log levels should be incremental * User story #9242: Add new reports types to the rudder logger * Bug #9292: Syntax error in parent ticket * Architecture #9293: Add support for expressions in agent_requirements * Bug #9298: Failure on old python-jinja2 version * Bug #9300: Add support for expressions in agent_requirements * Bug #9304: Syntax errors in failsafe dry-run lib * Bug #9308: Broken Rudder logger test in master * Bug #9319: The agent capabaility defaultbody should be called bodydefault * Bug #9390: Typo in error message when dry-run is not supported * User story #9409: Add a special log when audit mode is used but not supported * User story #9410: Add a new abort parameter in ncf.conf * Bug #9453: Add an empty default for loggers and abort_handlers * Bug #9483: syntax error in dry-run lib agent requirements * User story #9536: ncf builder popup should use a flat backgroud * User story #9592: Improve jinja2 templating documentation * User story #9711: Add generic methods to share files between nodes using rudder relay API * Bug #9924: Broken syntax in parent ticket * Bug #9999: Use hash from signature in sharedfiles methods * User story #10079: Add a generic method to merge two dict variables * Bug #10083: Cannot upload file on shared folder if certificate is self-signed * Bug #10137: Send data as binary in shared_files methods * User story #10160: Deprecate old generic methods * Bug #10170: Broken dict_merge test * Bug #10183: Setting TTL to "30 minutes" in sharedfile to node generic method make it fail completly * Bug #10189: When sharing a file, the generic method always returns "repaired" * User story #10213: Trace should only be used for (big) very low-level information * User story #10232: Improve service_action methods * Bug #10279: 4.1 manual build is broken * Bug #10284: Improve doc of sharedfile_to_node * Bug #10287: Broken doc build after parent ticket * Bug #10298: Broken links in doc * User story #10332: Document the behavior of service methods * Bug #10336: Validate file_id in sharedfiles_* methods * Bug #10337: No visible error when shared-files API returns a 500 error * Bug #10370: cfengine_classes.json does not contain json but a js script * Bug #10403: Typo in sharedfiles_to_node doc about ttl * Bug #10488: Do not use systemd to manage legacy init scripts * Bug #10598: Wrong link to "how to share file from Node with Rudder" in shared_file_to_node command * Bug #10602: Spurious messages " initctl: Unknown job: XXX" in output * Bug #10606: Spurious message about "Note: This output shows SysV services only and does not include native" when managing services * Bug #10683: Generic method doc does not load properly in Rudder * Bug #10716: sharedfile_to_node broken if file is updated after shared * Architecture #10737: Remove ncf_clone_test.sh * Bug #10781: Upstart service detection may fail on some cloud providers * User story #10906: Add a new script to generate a dsc technique * Bug #10925: Broken syntax in CFEngine 3.6 * User story #10929: Add a way to highlight Generic Methods compatible with DSC * User story #10937: generate metadata.xml file for dsc techniques * Bug #10972: Fix small commit error * Bug #11006: Broken test in ncf * Bug #11020: ncf_dsc.py must be executable * Bug #11021: Cannot generate ps1 technique file (missing 50_techniques directory) * Bug #11023: Wrong agent type for generated technique in ncf * Bug #11025: files generated by ncf_dsc are not in the right place * Bug #11094: Invalid call to not applicable generic method generated for dsc agent * Architecture #11157: Change technique format to match new generic method uses in DSC * User story #11174: Add new method to get file from Rudder shared folder * Bug #11199: Refresh page after creating a new technique * Architecture #11211: Add an agent_support tag to generic methods * User story #11215: Add "Classic" icon on generic methods compatible with the DSC and the Classic agent * User story #11245: Add constraint on hash_type * Bug #11268: double quote are not escaped correctly in dsc techniques * Bug #11275: Parent fix breaks the tests * User story #11280: decline user_create generic method * Architecture #11282: Parent ticket breaks the tests * Architecture #11283: automatically generate na report for method call that does not support cfengine-community in techniques * Bug #11327: Broken doc tests because of unescaped $ * Bug #11328: broken test in user_GM * Bug #11344: Script to convert all techniques to dsc action does not modify technique metadata * Bug #11403: file_from_shared_folder generic method does not report with classical agent * Bug #11606: "Show deprecated methods" filter is broken