## Normation/rudder — 9.1.4…9.2.0.alpha1

_338+ commits._

### Features
- **Fixes #28345: Add directive scheduling and compliance computation** (329bac8)
- **Fixes #29234: Use the new regex! macro** (92828d4)
- **Fixes #29081: Add recent activity tab in rule detail page** (d9a827f)
- **Fixes #29187: Add a template rendering trust mode and FS access methods in MiniJinja** (187c2a6)
- **Fixes #28945: Add tenant management to LDAP repositories** (05ef1e5)
- **Fixes #28887: Add recent activity tab in directive detail page** (4b6b2b4)
- **Fixes #29112: Add a README for the cheatsheet (#7235)** (2fddf3c)
- **Fixes #29096: New cheatsheet** (d1338aa)
- **Fixes #26026: Add a size limit on files handled by relayd** (72ca1d1)

### Fixes
- **Fixes #29266: Fix the shorten string panic** (776c4f1)

### Backend
- **Change version of pom.xml to 9.2.0~alpha1** (cc7e47c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (d17a8f4)
- **Fixes #29316: Replace string template with a fastparse native implementation** (a03088c)
- **Merge branch 'arch_29288/architecture_changes_needed_rudder_side_for_benchmark_derivation_pr' into branches/rudder/9.2** (ef1242f)
- **Fixes #29288: Architecture changes needed Rudder side for Benchmark derivation** (662fe93)
- **Fixes #29222: Export Group compliance by Node to CSV** (581d9aa)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (3f1eed3)
- **Fixes #29284: Move instance-id to var** (0d16668)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (e6eb5cf)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (5725c7a)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (20fd2df)
- **Fixes #29273: Cap size when reading /etc/os-release** (0f79e5a)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (d4a13f2)
- **Merge branch 'bug_29264/blocking_db_query_inside_async_warp_filter_pr' into branches/rudder/9.2** (d3126cf)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (78aea0b)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (40ef8d2)
- **Merge branch 'arch_28345/manage_directive_scheduling_compliance_computation_pr' into branches/rudder/9.2** (25842ad)
- **Merge branch 'enh_29260/bump_rudder_elm_library_version_to_0_2_5_pr' into branches/rudder/9.2** (514391c)
- **Fixes #29260: Bump rudder-elm-library version to 0.2.5** (c9e3ae5)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (1a7e24a)
- **Fixes #29221: Export directive compliance by node to CSV** (6d4872c)
- **Fixes #29264: Blocking DB query inside async warp filter** (797dd30)
- **Fixes #29237: Make the config reload less blocking (#7288)** (3d17dee)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (82a811c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (2dae8f4)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (67b5249)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (198c5b2)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (b4fd1c5)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (c10bce0)
- **Fixes #29238: Sanitize package paths** (a4fa255)
- **Fixes #29025: Implement TOTP for Rudder users** (fe359c6)
- **Fixes #29235: Keep the previous default output format of the module CLI as JSON** (83785e1)
- **Fixes #29097: Export Node compliance to CSV** (db01d64)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (9eaf03c)
- **Fixes #29228: Bump to Rust 1.97.0** (110ac88)
- **Merge branch 'enh_29187/add_a_template_rendering_trust_mode_pr' into branches/rudder/9.2** (011264d)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (493bc1c)
- **Merge branch 'arch_28945/add_tenant_management_to_configuration_objects_pr' into branches/rudder/9.2** (a523a44)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (a19ce0a)
- **Fixes #29170: Port the Windows modules to CFEngine Runner Protocol version 0 instead of CLI based API** (f861e29)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (74961e8)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (e0f6bd3)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (1fc8f3b)
- **Fixes #29030: Export Group compliance by Rule to CSV** (108f38c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (d4b5b42)
- **Merge branch 'bug_29079/webapp_non_root_run_hooks_with_sudo_only_in_production_pr' into branches/rudder/9.2** (59edadb)
- **Merge branch 'ust_29120/be_able_to_schedule_campaigns_every_n_months_pr' into branches/rudder/9.2** (71e545a)
- **Bring back elm changes** (f7528b7)
- **Address feedbacks** (cbe78b1)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (6fe58dd)
- **Manage policy gen, quicksearch, admin-only change tags** (a615623)
- **Correct update by rest, only admin can update** (d5f9c6f)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (f042901)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (0a7d98e)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (43bf795)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (daa99ca)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (b5a98c7)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (4c5ce58)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (dd17bd1)
- **Fixes #29079: WebApp non-root: run hooks with sudo only in production** (6b05645)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (21e0d6a)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (ab4f732)
- **Fixes #29079: WebApp non-root: run hooks with sudo only in production** (9925665)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (0163bc9)
- **Merge branch 'enh_29149/improve_the_integration_and_appearance_of_the_patches_and_vulnerabilities_dashboard_pr' into branches/rudder/9.2** (0817461)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (4d5abcd)
- **Fixes #29149: Improve the integration and appearance of the ‘Patches and vulnerabilities’ dashboard** (8a6394a)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (bc6289d)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (76143db)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (ad85c2f)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (511bb4a)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (84935c9)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (5b2564c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (8c25045)
- **Merge branch 'ust_29125/make_dashboard_page_pluggable_pr' into branches/rudder/9.2** (f576867)
- **Merge branch 'enh_29128/adding_css_specific_to_the_display_of_dedicated_dashboard_pages_pr' into branches/rudder/9.2** (f85953f)
- **Fixes #29125: Make dashboard page pluggable** (6a87260)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (279acb4)
- **Fixes #29128: Adding CSS specific to the display of dedicated dashboard pages** (bab1ced)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (357e256)
- **Merge branch 'arch_29124/switch_relayd_to_rust_2024_pr' into branches/rudder/9.2** (ddd379b)
- **Fixes #29124: Switch relayd to Rust 2024** (2d0f51e)
- **Fixes #29122: Broken arch doc publication (#7239)** (4289ed0)
- **Fixes #29120: Be able to schedule campaigns every n months** (54dc0a7)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (c4b6fc5)
- **Fixes #29110: Publish cheatsheet to files folder (#7233)** (ebf08fb)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (c882535)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (b6f96a7)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (cb1bbaf)
- **Merge branch 'arch_26026/add_a_size_limit_on_files_handled_by_relayd_pr' into branches/rudder/9.2** (cf0b8bc)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (00ce0f8)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (468971a)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (279de31)
- **Fixes #28960: Inventory should happen at the end of agent run** (9dbe52e)
- **Merge branch 9.1** (f517e77)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (e1fc2bd)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (48cad97)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (25e047c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (d1e3645)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (1432793)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (2d6c880)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (22c6674)
- **Fixes #29071: Prevent all dot components in relayd shared files API** (d58e47b)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (c48a554)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (6c5352d)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (a6eb420)
- **Fixes #29074: Remove end of line in elm.json file** (06d14bc)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (bc0dfaf)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (95733dc)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (5d0ef5c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (1866288)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (8c11643)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (a76a3b3)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (c4cbea3)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (fe1674f)
- **Fixes #29051: Only compile the Rust regexes once** (3a68731)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (7827894)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (99c4a4f)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (b3390a5)
- **Fixes #29050: Update of scala dependencies 9.2 branch, June 2026 edition** (57d73c7)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (b914228)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (d718876)
- **Fixes #29044: Remove the directory module** (6f44428)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (f3e75ed)
- **Fixes #29041: Switch back to upstream warp** (0f2bb2c)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (0e64455)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (a2ad04b)
- **Fixes #28964: Update test system technique to current templates** (3091b73)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (fe879ab)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (1a22f73)
- **Fixes #28348: Enforce TLS 1.3 in relayd HTTP client** (f2c6f26)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (c4dab4e)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (aeb532f)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (4d37573)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (2d4c5c9)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (409c75f)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (e22e2f9)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (d56539e)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (bc9ad0b)
- **Merge branch 'branches/rudder/9.1' into branches/rudder/9.2** (71258b3)

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