Change logs for Rudder 9.2== Rudder 9.2.0.alpha1 (2026-07-20)
Rudder 9.2.0.rc1 (2026-10-14)
Changes
Web - Compliance & node report
-
The last reports date is not displayed in the System status page of a node (#29734)
Miscellaneous
-
Update to zio-json 1.1.0 for Rudder 9.2 (#29889)
-
Enhancements on export to CSV buttons (#29697)
-
Recent Activity feature reworded to History (#29736)
-
Recent Activity get last 100 event logs sorted by date order desc (#29742)
-
Recent Activity : column Actor should be named User (#29683)
-
Technique change logs miss a link to go the technique view (#29655)
Web - Technique editor
-
Make file size in techniques resources upload configurable (#29791)
Generic methods
-
Allow new pkgs on apt upgrades (#29722)
Web - Config management
-
Make it possible to rollback item after a commit (#29776)
Architecture - Dependencies
-
Use scala 3.9.0 in Rudder 9.2 (#29761)
Module - secedit
-
Add a report_file optional input to the secedit module (#29749)
Server components
-
Add the technique writer logger to the logback file (#29731)
Build & Deps - Rust
-
Update to Rust 1.98.0 (#29662)
Bug fixes
Packaging
-
Fixed: Reset initial policies in servers at upgrade (#29949)
-
Fixed: We can not synchronize the ncf folders in the rudder-server-postinst as the plugins postinst have yet to run, a sync before them would only deploy outdated methods metadata (#29935)
-
Fixed: Force the update of the ncf content in the rudder-server-postinst before starting the webapp (#29932)
-
Fixed: Incorrect permission change on /var/rudder/ncf/local done by the rudder-server-postinst (#29931)
-
Fixed: webapp non-root: fix perms on /var/rudder/ncf/local/ (#29921)
-
Fixed: Actually, filename encoding of jetty produced file is not UTF-8 (#29869)
-
Fixed: Bump to openssl 3.5.9 & curl 8.22.0 (#29826)
-
Fixed: webapp non-root: add /var/log to systemd sandbox (#29777)
-
Fixed: webapp non-root: create backup directory (#29766)
-
Fixed: Missing chown on /var/rudder/backup (#29760)
-
Fixed: webapp non-root: fix wrong owner after acl restoration (#29757)
Miscellaneous
-
Fixed: webapp non-root: fix /var/rudder/ncf/local perms (#29875)
-
Fixed: webapp non-root: fix sudo-rs environment restriction issue (#29669)
-
Fixed: Correct password escaping in post-inst (#29658)
-
Fixed: Include not fully installed updates (with pending reboot for instance) to the Windows packages reporting (#29139)
-
Fixed: Missing path trasersal hardening for campaigns (#29799)
-
Fixed: Missing path trasersal hardening for campaigns (#29799)
-
Fixed: Fix typo after manual merge on History (#29771)
-
Fixed: Recent Activity : link to change logs page on id only for administrator (#29751)
-
Fixed: Ignore CVE-2026-8657 in rudder 9.0 (#29687)
-
Fixed: Bump jsondiffpatch version to 0.7.6 (#29686)
-
Fixed: Wrong change logs result when comming from recent activity id link (#29648)
-
Fixed: error 500 when deleting a campaign (#29625)
-
Fixed: exotic passwords fails vulnerability management (#29519)
-
Fixed: fix rudder agent non-root failsafe (#29833)
Web - UI & UX
-
Fixed: Login error for invalid TOTP is an ugly apache error (#29819)
-
Fixed: Directive count on dashboard is off (#29725)
-
Fixed: Permissions in user information are displayed with "anon" (#29878)
-
Fixed: Dashboard layout is surprising in 9.2 (#29845)
-
Fixed: When we creates a group category, the console fills up with a stream of error (#29847)
-
Fixed: User management page shows TOTP warning for OIDC users (#29798)
-
Fixed: When we create a global property, the create button disappear (#29205)
-
Fixed: Impossible to delete a category in the Techniques Tree (#26191)
-
Fixed: Display of item rollback is confusing in change log details (#29729)
-
Fixed: OTP page can be a redirect page of itself (#29726)
-
Fixed: The text filter for Group compliance by node does not work correctly (#29730)
-
Fixed: LastPass extension breaks node properties (#28879)
Plugin manager cli
-
Fixed: Rudder package should always clean the /opt/rudder/share/plugins/<plugin id> folder before unpacking a plugin (#27873)
Agent
-
Fixed: Agentd should not break if there is a configuration file error (#29832)
-
Fixed: agentd configuration parsing errors are not logged (#29825)
-
Fixed: Typo introduced in 29574 (#29758)
-
Fixed: Improve agent logs (#29665)
-
Fixed: Missing generic OS System conditions for redhat family nodes (#29693)
-
Fixed: Issue a proper error message and exit when agent is started as non-root (#29486)
Architecture - Code maintenance
-
Fixed: Upmerge broke build (#29862)
-
Fixed: Some change were reverted during merge of 29390 (#29803)
-
Fixed: Update and consolidate claude skills (#29438)
-
Fixed: Adding new instance reaches platform limit in RudderConfig (#29699)
-
Fixed: org.eclipse.jgit.errors.MissingObjectException maybe link to Jgit multiPackIndex support (#29674)
Module - system-updates
-
Fixed: Missing run_module CLI option for the rudder_system_updates module in 9.2 (#29831)
Plugins integration
-
Fixed: When the version in the license doesn’t match the version of Rudder, nothing says in the web interface that it is not compatible (#29706)
Architecture - Dependencies
-
Fixed: Bump svgo version (#29728)
Web - Compliance & node report
-
Fixed: When we trigger a full policy generation, we have an error about missing hash file (twice) (#29678)
System techniques
-
Fixed: Broken update (#29756)
Techniques
-
Fixed: In technique packageManagement already_install class is defined in pass1 (#29416)
Rudder 9.2.0.beta1 (2026-08-31)
Changes
Miscellaneous
-
Change logs : column Actor should be named User (#29654)
-
Add API version 24 to API documentation (#29594)
-
We embeded useless data in war that bloat it sizes (#29552)
-
Improvements on #29233 (#29447)
-
Improvements on #29340 (#29448)
-
Update Compliance API documentation (#29454)
-
Add link on recent activity id items leading to item detail on change log page (#29340)
-
Add unit tests for compliance exports to csv (#29313)
-
Rename fastparse class to actually fastparse (#29374)
Web - Technique editor
-
Only show techniques in technique editor that have user policy type (#29595)
Module - inventory
-
Add content to the inventory (#29496)
Module - templates
-
List the new sandboxing option of the module as a feature (#29406)
Architecture - Test
-
Add tests for OTP (#29224)
Agent
-
Remove rudder server debug (#29643)
Bug fixes
Packaging
-
Fixed: webapp non-root: fix broken sudoers rule (#29650)
-
Fixed: Sudo rule cleanup (#29634)
-
Fixed: Bug in postinst su (#29633)
-
Fixed: webapp non-root: filter out the old hooks from the ACL list (#29611)
-
Fixed: webapp non-root: add plugins path to systemd sandbox (#29472)
-
Fixed: Warning about missing strt.ini in RPM 9.0 → 9.1 upgrade (#29471)
-
Fixed: Jetty restart in postinst fails in RPM packages on 9.0 → 9.1 (#29466)
-
Fixed: webapp non-root: fix broken postinst (#29459)
-
Fixed: Masterfiles should be owned by root (#29457)
-
Fixed: webapp non-root: mv sudoers file (#29451)
-
Fixed: webapp non-root: fix hook (#29450)
-
Fixed: postinst of cis benchmark rhel9 to change parameters fails (#29321)
-
Fixed: webapp non-root: fix broken postinst (#29422)
-
Fixed: webapp non-root: fix broken postinst (#29401)
-
Fixed: webapp non-root: fix broken rpm packaging (#29369)
-
Fixed: webapp non-root: fix broken postinst (#29347)
-
Fixed: webapp non-root: fix certificate creation in server postinst (#29343)
-
Fixed: webapp non-root: fix broken reporting (#29336)
-
Fixed: Move the plugin update state file (#29439)
-
Fixed: Migrate /opt/rudder/etc/trigger-policy-generation (#29348)
-
Fixed: webapp non-root: update contributing/webapp.md (#29339)
Miscellaneous
-
Fixed: webapp non-root: add creation of /var/log/rudder/compliance in postinst (#29638)
-
Fixed: webapp non-root: fix broken sudoers rule (#29640)
-
Fixed: webapp non-root: fix rudder-upgrade (#29619)
-
Fixed: webapp non-root: fix permissions on hooks (#29575)
-
Fixed: webapp non-root: cannot access inventory signatures (#29481)
-
Fixed: webapp non-root: Unexpected Backup File Creation in /opt/rudder/etc (#29480)
-
Fixed: Adapt doc for Rudder 9.2 (#29341)
-
Fixed: missing changes in rudder doc 9.1 (#29342)
-
Fixed: webapp non-root: fix 91-compress-linux-policies hook (#29612)
-
Fixed: Typo in PublicPlugin handleDuplicateMenus since #29563 (#29589)
-
Fixed: Trivy skip dir docs/api starting 9.2 (#29565)
-
Fixed: Impact of #29554 in rudder (#29563)
-
Fixed: webapp non-root: fix hook for setting policy permissions (#29524)
-
Fixed: webapp non-root: replace the 30-chown-windows-policies hook with a better solution (#29483)
-
Fixed: webapp non-root: remove the rudder.generated.policies.group.owner parameter (#29482)
-
Fixed: Elm compilation error (#29453)
-
Fixed: webapp non-root: disable chown of group policy owner (#29445)
-
Fixed: webapp non-root: fix rudder-users.xml path (#29528)
-
Fixed: webapp non-root: fix rudder-users.xml path (#29527)
Documentation
-
Fixed: Fix relay configuration files path (#29586)
-
Fixed: PostgreSQL documentation is incorrect wrt to current support version (#29473)
-
Fixed: Upgrade doc on sles is invalid (#29446)
-
Fixed: What is rudder description is outdated (#29269)
-
Fixed: adapt Rudder sizing requirements to Policy Benchmarks (#29357)
-
Fixed: JSON payload in create technique endpoint is completely wrong (#29647)
-
Fixed: Recompute the redoc.js hash after our changes (#29582)
-
Fixed: Clean the base rudder-users.xml (#29381)
Web - UI & UX
-
Fixed: Standardise the message when no results match the filters (#29585)
-
Fixed: 'Vulnerabilities' chart appears twice on the dashboard (#29623)
-
Fixed: Prevent the graph legend from taking up too much vertical space (#29641)
-
Fixed: OTP enroll banner should not be a warning (#29632)
-
Fixed: OTP page input should have focus upon page load (#29631)
-
Fixed: Compliance is not displayed in the node table (#29580)
-
Fixed: Tooltips error in group recent activities (#29579)
-
Fixed: Sometimes the ‘patches and vulnerabilities’ charts do not display (#29573)
-
Fixed: Rename the ‘Activity’ card in the dashboard to ‘Recent Activity’ (#29521)
-
Fixed: The rules' recent changes tab may contain an empty "recent changes" dropdown (#29501)
-
Fixed: Fix otp serialization and error notification (#29503)
-
Fixed: Recent changes on nodes should use the hostname (#29152)
-
Fixed: Link to search in agent version donut are not correct (#27111)
Architecture - Evolution
-
Fixed: Change default policy template parser to fastparse one (#29617)
Web - Campaigns
-
Fixed: Syntax error on scheduled event generation (#29567)
CI
-
Fixed: Dockerfile of policies uses 8.3 instead of 9.0 version in build (#29606)
Security
-
Fixed: Handle Scala dependency security checks since Trivy (#29539)
-
Fixed: Use latest release of bouncycastle (#29540)
-
Fixed: Clarify the npm dependency security checks (#29531)
-
Fixed: Remove better-npm-audit dev dependency (#29532)
-
Fixed: Clarify the Rust dependency security checks (#29530)
-
Fixed: Bump spring-ldap-core version (#29533)
-
Fixed: Fix trivy branch checks (#29505)
-
Fixed: Make the argon2 impl more reliable (#29477)
-
Fixed: Escape html in remote run error handler (#29465)
-
Fixed: Rename the session cookie (#29417)
-
Fixed: Escape some more JS values (#29394)
-
Fixed: Escape some more JS values (9.2) (#29396)
-
Fixed: Switch to trivy for vuln tracking (#29356)
-
Fixed: Enforce bcrypt factor >= 10 for new passwords (#25521)
Web - Config management
-
Fixed: Generate root policies in the standard dir (#29452)
Relay server or API
-
Fixed: Add node_id to logs about broken reports (#29354)
Architecture - Code maintenance
-
Fixed: Error log at boot: Error while deleting ldap entries, error details: Inconsistency: Active technique 'test_import_export_archive' was not found (#29351)
API
-
Fixed: Missing documentation for "force" param of technique deletion API (#26916)
System techniques
-
Fixed: Add a rudder agent run to bootstrap policies (#29395)
Release notes
Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:
-
Killian Duranti
This is a bug fix release in the 9.2 series and therefore all installations of 9.2.x should be upgraded when possible. When we release a new version of Rudder it has been thoroughly tested, and we consider the release enterprise-ready for deployment.
Changes
Architecture - Dependencies
-
Update our version of jetty to 12.1.8 (#28838)
-
Replace string template with a fastparse native implementation (#29316)
-
Update of scala dependencies 9.2 branch, June 2026 edition (#29050)
-
Update front-end dependencies (#28819)
-
Update scala dependencies (#28806)
-
Migrate to Lift 4.0.0-RC1 in scala 3 (#28769)
Miscellaneous
-
Architecture changes needed Rudder side for Benchmark derivation (#29288)
-
Export Group compliance by Node to CSV (#29222)
-
Bump rudder-elm-library version to 0.2.5 (#29260)
-
Export directive compliance by node to CSV (#29221)
-
Export Node compliance to CSV (#29097)
-
Export Group compliance by Rule to CSV (#29030)
-
Export Rule compliance by node to CSV (#28831)
-
Cover an Elm app with tests, including the
updatefunction (#28794) -
Export Rule compliance by directive to CSV (#28802)
-
update owner for rudder-users.xml and rudder-web.properties (#28951)
Security
-
Implement TOTP for Rudder users (#29025)
Web - Config management
-
Add recent activity tab in technique detail page (#29081)
-
Add tenant management to configuration objects (#28945)
-
Add recent activity tab in directive detail page (#28887)
-
Inventory should happen at the end of agent run (#28960)
-
Add a configurable target for root node policies directory (#28912)
-
Change logs : fix search (#28157)
Generic methods
-
It would be great to have the impacted sections in the secedit diff when a repair is reported (#28593)
Module - templates
-
Add a template rendering trust mode and FS access methods in MiniJinja (#29187)
Web - Campaigns
-
Be able to schedule campaigns every n months (#29120)
Architecture - Code maintenance
-
Remove end of line in elm.json file (#29074)
-
UserId list parameter should be userIds (#28873)
-
Migrate to zio-json (#23677)
-
Migrate Properties/Property hierarchy to zio-json (#28759)
-
Migrate Properties/Property hierarchy to zio-json (#28759)
-
Migrate CampaignApiTest and last bit in rudder-rest to zio-jons (#28748)
-
Port SharedFileApi to zio-json (#28741)
-
Migrate RuleGrid and JsDataTable (#28739)
-
Migrate several rudder-web js param to zio-json (#28738)
-
Migrate system api to zio-json (#28734)
-
Migrate NodeContext to zio-json (#28742)
rudderc
-
Only compile the Rust regexes once (#29051)
Module - common
-
Remove the directory module (#29044)
Bug fixes
Packaging
-
Fixed: webapp non-root: fix broken postinst (#29302)
-
Fixed: webapp non-root: fix broken postinst (#29300)
-
Fixed: Can’t create techniques (#29297)
-
Fixed: ncf_hash_file owned by root (#29296)
-
Fixed: The webapp needs to write to /var/rudder/plugin-resources (#29293)
-
Fixed: All git actions should be made as rudder-webapp (#29292)
-
Fixed: Broken RPM build (#29291)
-
Fixed: webapp non root: fix rudder-upgrade script (#29282)
-
Fixed: Add /var/rudder/plugins as a webapp dir (#29280)
-
Fixed: webapp non-root: fix broken rpm packaging (#29277)
-
Fixed: webapp non-root: fix broken postinst (#29275)
-
Fixed: webapp non-root: fix broken postinst (#29274)
-
Fixed: webapp non-root: fix broken postinst (#29262)
-
Fixed: webapp non-root: fix broken postinst (#29220)
-
Fixed: webapp non-root: fix broken postinst (#29213)
-
Fixed: webapp non-root: update user & group in rudder-jetty.service (#29100)
-
Fixed: webapp non-root: enable systemd tmp mount in service file (#29094)
Security
-
Fixed: Change validation rudder-core internal API lose isCreator parameter (#29241)
Web - Technique editor
-
Fixed: Rudder 9.1.3 : Technique action menu opens mostly hidden by left pane (#29272)
Module - secedit
-
Fixed: Secedit remove user for user right assignements (#28849)
-
Fixed: Secedit remove user for user right assignements (#28849)
-
Fixed: Secedit remove user for user right assignements (#28849)
-
Fixed: Keep the previous default output format of the module CLI as JSON (#29235)
-
Fixed: Secedit some sections don’t exist (#28852)
-
Fixed: Port the Windows modules to CFEngine Runner Protocol version 0 instead of CLI based API (#29170)
Architecture - Dependencies
-
Fixed: Update postgresql to latest patch release (#29252)
Web - UI & UX
-
Fixed: Missing edit button on node documentation (#26574)
CI
-
Fixed: Update the windows methods test dockerfile’s sdk to 10.0 (#28824)
Architecture - Code maintenance
-
Fixed: Port RestCompletion to zio-json (#28733)
Release notes
Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:
-
Matthieu Baechler
-
Lars Koenen
-
Alexander Brunhirl
This is a bug fix release in the 9.2 series and therefore all installations of 9.2.x should be upgraded when possible. When we release a new version of Rudder it has been thoroughly tested, and we consider the release enterprise-ready for deployment.