## Normation/rudder — 9.1.2…9.1.3

_140 commits._

### Features
- **Fixes #29119: Add a skill for Rust code** (6960b49)
- **Revert "Fixes #29091: Add function/filter for file inclusion in templates"** (7225cae)
- **Fixes #29169: Allowed network API endpoint require both add and delete parameter** (1b5dad6)
- **Fixes #29107: Add a tab for directives using the technique in editor** (df44414)
- **Fixes #29072: Add a claude skill for scala in rudder** (83058aa)
- **Fixes #29082: Add a variable_dict_from_envfile method** (8f09cae)
- **Fixes #29105: Add nodeId to inventory variables** (b4c844f)
- **Fixes #29091: Add function/filter for file inclusion in templates** (e36822a)
- **Fixes #29059: Add an ADR for choosing elm formatter** (5e12c76)
- **Fixes #26892: Add a contribution statement regarding GenAI** (f8a3863)

### Fixes
- **Fixes #29182: Reports fail when a node has run log too big - fix 9.0 (#7264)** (7c0fe09)
- **Fixes #29092: Fix tests on java time** (a426fca)
- **Fixes #29048: Update spring to latest patch release** (a310c76)
- **Fixes #29039: fix double .scala extension** (80a295f)

### Backend
- **Change version of pom.xml to 9.1.3** (01a8bb5)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (7e9aa86)
- **Merge branch 'bug_29133/warning_when_running_rudder_package_list_on_air_gap_pr' into branches/rudder/9.0** (b093b02)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (0035a90)
- **Merge branch 'enh_29210/update_rudder_webapp_documentation_webapp_md_by_adding_some_setup_about_var_rudder_ncf_pr' into branches/rudder/9.0** (f1ecd9f)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (6d2dbd6)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (f593fc5)
- **Fixes #29218: Vulnerabilities detected in Rust dependencies** (f8c310b)
- **Fixes #29210: Update rudder webapp documentation webapp.md by adding some setup about /var/rudder/ncf** (2ab5a63)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (99fe258)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (f879f20)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (897a8b6)
- **Fixes #28557: Error restarting auditd on rhel8** (1cc59c5)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (6bd2acd)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (6a36c8d)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (48c05c4)
- **Merge branch 'bug_29181/vulnerabilities_in_quick_xml_pr' into branches/rudder/8.3** (6bbfcaf)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (3904b41)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (b96f5eb)
- **Fixes #28379: Reports fail when a node has run log too big** (295e264)
- **Fixes #29181: Vulnerabilities in quick-xml** (172dfe3)
- **Merge branch 'bug_29169/allowed_network_api_endpoint_require_both_add_and_delete_parameter_pr' into branches/rudder/9.1** (419a387)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (defe7c1)
- **Fixes #29177: Log of importing archive are missing archive name** (77c9081)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (13220ad)
- **Fixes #28162: Technique parameter help text is half useful** (fb1b820)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (7b21db9)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (9bdee71)
- **Fixes #29167: Restrict some package file permissions - upgrade scripts (#7257)** (e87855c)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (45faa1a)
- **Merge branch 'arch_29072/add_a_claude_skill_for_scala_in_rudder_pr' into branches/rudder/9.0** (f9d2970)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (b724c20)
- **Fixes #29155: Restrict grant of only the uuid file** (d6a8b16)
- **Fixes #29075: Error when changing expiration date of an expired API token** (6ab1b3e)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (7ead047)
- **Fixes #29147: Elm format is not really checked upon build.sh** (5f1ee85)
- **Fixes #29148: Correct directive tab import which changed in upper version** (2b85b9b)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (872ce69)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (8b8132e)
- **Fixes #29123: elm-format integration** (056e39d)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (a43d3e6)
- **Fixes #28989: Format elm code with elm-format** (940dc66)
- **Merge branch 'bug_29135/windows_system_update_campaigns_are_always_in_error_when_there_are_no_updates_to_install_pr' into branches/rudder/9.1** (ec1bc2c)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (8ce97af)
- **Merge branch 'enh_29118/techniqueapi_is_not_stable_for_category_order_pr' into branches/rudder/9.0** (74d9459)
- **Fixes #29135: Windows system update campaigns are always in error when there are no updates to install** (31d16e5)
- **Fixes #29133: Warning when running \"rudder package list\" on air gap** (0137c04)
- **Merge** (9628e28)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (22d65fb)
- **Fixes #29127: PreparingEOL nodes don't have compliance** (9d5acf7)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (fee7ea6)
- **Fixes #28876: Missing timeout in method condition_from_command and variable_from_command** (f8dcbc3)
- **Fixes #29118: TechniqueApi is not stable for category order** (f508ad5)
- **Fixes #29111: Mark 9.2 as latest branch** (660d161)
- **Merge branch 'ust_29109/broken_upmerge_pr' into branches/rudder/9.1** (0cf6347)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (672e864)
- **Merge branch 'enh_29106/move_technique_link_from_directive_hidden_details_to_next_to_title_pr' into branches/rudder/9.0** (b976022)
- **Fixes #29109: Broken upmerge** (fa7fcfe)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (c3a2b72)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (7f4936f)
- **Fixes #29106: Move technique link from directive hidden details to next to title** (1ce3674)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (2d0fde0)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (08c1893)
- **Fixes #29099: remove useless backup file** (e4fa80f)
- **Fixes #29098: Still some random test failures for joda and java-time** (8bd81a0)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (0f38ac9)
- **Merge branch 'arch_29077/remove_the_rudder_debug_info_script_webapp_pr' into branches/rudder/9.0** (6e0b69a)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (cde266f)
- **Fixes #28958: Titles in main dashboard Score breakdown should be centered for each donut graph** (6daf1fe)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (0fbe46c)
- **Fixes #28895: Update a directive while tree filter is not empty breaks the filtering** (46002bd)
- **Merge branch 'bug_29083/cannot_import_archive_pr' into branches/rudder/9.1** (07ef33f)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (d8abe25)
- **Fixes #29089: Don-t display a message in template cli when diff is disabled** (745317e)
- **Fixes #29083: Cannot import archive** (eb24cfc)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (ad05bb6)
- **Fixes #29077: Remove the rudder-debug-info script - webapp** (9207498)
- **Fixes #29086: Better document server side campaign logger and symlink** (0086e4a)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (1ad7066)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (bf54040)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (1f0b4d8)
- **Merge branch 'bug_28984/custom_roles_with_underscore_are_not_allowed_but_error_is_misleading_pr' into branches/rudder/9.0** (daac981)
- **Merge branch 'arch_29061/some_exhaustive_pattern_matching_fail_pr' into branches/rudder/9.1** (ff171d1)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (e0d564e)
- **Fixes #29034: Correct CurrentUser initialisation problem** (5f2d011)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (4d80572)
- **Merge branch 'bug_29049/backport_changes_made_to_ncf_after_the_import_into_the_rudder_repo_pr' into branches/rudder/9.0** (98bfda2)
- **Fixes #29061: Some exhaustive pattern matching fail** (7f9c9e5)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (ff445f3)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (049d914)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (0ae362a)
- **Fixes #28967: Enable exhaustive pattern matching checks in Scala 3** (af2619e)
- **Fixes #29060: Upgrade to spring-security 6.5.11** (b1bdab7)
- **Fixes #29058: Parent breaks the build in 9.1** (cd07d84)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (3b7ef4a)
- **Fixes #29053: Remove some panics from system-updates module** (af96cec)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (80a76e8)
- **Merge branch 'bug_29012/the_reason_why_trigger_agent_inventory_and_trigger_agent_buttons_are_greyed_out_on_windows_agents_is_not_explained_in_the_webapp_pr' into branches/rudder/9.0** (1bc2da9)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (01c5093)
- **Merge branch 'bug_29052/broken_error_message_when_both_template_file_and_string_were_passed_pr' into branches/rudder/9.0** (7584f94)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (15054ef)
- **Fixes #29003: The display of logs related to variable override conflicts is not very user-friendly.** (90d39d0)
- **Fixes #29012: The reason why Trigger agent inventory and Trigger agent buttons are greyed out on windows agents is not explained in the webapp** (1183ed5)
- **Fixes #29054: Properly detect errors in needs-restarting reboot test** (94d0898)
- **Fixes #29052: Broken error message when both template file and string were passed** (03ed18c)
- **Fixes #28984: Custom roles with underscore are not allowed but error is misleading** (7fdda63)
- **Fixes #29049: Backport #26152 to rudder repo: Multi directive instance of a technique with jinja templating method fail** (86fd65b)
- **Fixes #29049: Backport #25908 to rudder repo: Allow passing env vars to package managers** (c93de15)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (c3cb58d)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (6c99849)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (3ae24f8)
- **Fixes #28839: Rudder standard technique “Users” updates “last password changed” field in /etc/shadow daily even if no change was made** (d366ed6)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (25d2985)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (6422447)
- **Merge branch 'bug_29040/ignore_rustsec_2026_0172_8_3_pr' into branches/rudder/8.3** (c76f190)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (fc705c7)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (a0e1a8b)
- **Merge branch 'bug_29039/fix_double_scala_extension_pr' into branches/rudder/8.3** (ca75f7c)
- **Merge branch 'branches/rudder/9.0' into branches/rudder/9.1** (b3b0d4e)
- **Merge branch 'branches/rudder/8.3' into branches/rudder/9.0** (1043d55)
- **Fixes #29040: Ignore RUSTSEC-2026-0172 - 8.3** (9bb6820)
- **Change version of pom.xml to 8.3.13-SNAPSHOT** (08cc969)
- **Change version of pom.xml to 8.3.12** (f1791b6)
- **Change version of pom.xml to 9.0.8-SNAPSHOT** (da52b08)
- **Change version of pom.xml to 9.0.7** (6602b2f)
- **Change version of pom.xml to 9.1.3-SNAPSHOT** (fcee958)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Normation/rudder?utm_source=github-action)._