RT: Request Tracker
RT 5.0.9 Release Notes
RT 5.0.9 -- 2025-10-22
======================
RT 5.0.9 is now available for general use. The list of changes
included with this release is below. In addition to a batch of
updates, new features, and fixes, several security issues are
addressed. See below for details.
https://download.bestpractical.com/pub/rt/release/rt-5.0.9.tar.gz
https://download.bestpractical.com/pub/rt/release/rt-5.0.9.tar.gz.asc
SHA-256 sums
913e9403ad422e0064ac9378baf2b13ba2b4c0119c891fe2cb4f2b51f3a5aeb8 rt-5.0.9.tar.gz
e357206ebcd9d1615fb6dba668963502ad1a920b3c66ac6cbcbba47fb59621d1 rt-5.0.9.tar.gz.asc
Security
The following security issues are fixed in this release.
* RT 5.0 is vulnerable to CSV injection via ticket values with special
characters that are exported to a TSV from search results. This
vulnerability is assigned CVE-2025-61873. Thanks to Gareth Watkin-Jones
from 4armed for reporting this finding.
* RT 5.0.4 - 5.0.8 are vulnerable to XSS via calendar invitations added to
a ticket. This vulnerability is assigned CVE-2025-9158. Thanks to
Mateusz Szymaniec and CERT Polska for reporting this finding.
General user features
* Remove submit blocking class on back button click
* Remove duplicate Asset entry in the shredder objects list
* Add missing WebPath for modify scheduled process (thanks zach.kelly!)
* Default to the current class for existing articles
* Add user config option to disable keyboard shortcuts (thanks gibus!)
Documentation
* Fix typo after rt-clean-sessions link in README
* Provide guidance on starting a test server (thanks andrew!)
* Document the ModifySuggestions callback change
* Improve formatting for @EmailDashboardLanguageOrder docs
Administration
* Support to update extension configs via web UI
* Check meta IsJSON to determine if config is JSON
* Make doc_url optional for plugin config options
* Add NoReset config meta option
* Do not allow to change $SendmailPath from web UI for security
* Merge extension config meta with existing meta
* Refactor stringify code to simplify logic for config edit page
* Fix current value of DefaultQueue on config edit page when it's queue name
* Show default queue's name on configuration page and config updated messages
* Support import/export of @Configuration for JSON serializer
* Process Configurations before other RT objects in initialdata
* Do not exclude ___Approvals queue in dumped json file
* Support custom roles in CreateTickets templates (thanks @bdragon300!)
Internals
* Update importer SQL to correctly interpolate groups table names
* Convert <style> blocks to inline before scrubbing the HTML
* Enable encode_entities and ignore_style_type_attr options for CSS::Inliner
* Bypass ACL cache for owner validation on ticket queue change
* Ensure changes are committed when adding CGM records without auto-commit
* Add dashboards to menu by id instead of name
* Count imported objects from cloned serialized data
* The path argument should not use loc() (thanks @mkosmach!)
* Align Articles autocomplete helper callback with other similar callbacks
* Don't export removed CleanEnv (thanks buehler!)
* Add support to set default value(s) at CustomField creation (thanks elacour!)
* Skip CSS::Inliner for content over 1MB in size
* Log unresolved ticket failures at warning log level
* In the importer, ensure SQL batches stay under 256MB
Testing
* Update docker image for tests
* Update GitHub actions/checkout to v4
* Update GitHub actions/cache to v4
* Update simple-slack-notify GitHub action
* Confirm that all of the shredder plugin pages load correctly
* Test owner updates on queue change
* Test showing incorrect class for new article
* Add tests for Configurations export/import
* Update dashboard tests to use id instead of name
* Add a groups test to the rights inspector test
* Add github actions config for rt-server tests with Oracle
* Run github actions with updated 6.0.2 docker image
* Test adding custom field DefaultValues on create
* Add tests for custom role support in CreateTickets
* Add tests for running Update-Tickets via CreateTickets template
* Add tests for SetStatus action used with rt-crontool
* Run tests against postgresql 16.10
A complete changelog is available from git by running:
git log rt-5.0.8..rt-5.0.9
or visiting
https://github.com/bestpractical/rt/compare/rt-5.0.8...rt-5.0.9