Terminalfour: 8.4.2
- Date Released:
- November 27 2025
General
Overview
We're delighted to introduce Terminalfour 8.4.2. This release brings some exciting new product improvements including an all new accessibility reporting tool; improved security; Handlebars improvements; and improvements to the External Content Sync Tool.
Keep reading below to learn more about what's involved.
All New Accessibility Reporting Tool
RDSM-38769
We're introducing an all new Accessibility Reporting Tool to Terminalfour. This report allows you to check your pages to ensure they meet the WCAG guidelines, giving you the peace of mind that your pages can be accessed by all users. These checks happen against your pending content, so you can be sure you meet accessibility requirements before publishing your site.
The detailed report can be run from the Site Structure, Direct Edit, and even from the Content listing page for Fulltext content.
When you run the report it will instantaneously provide a detailed breakdown of all accessibility issues on the page broken down by severity.
Your page will be displayed inline next to the report and you will be able to jump to directly the part of the page that contains the issue.
Reports can be shared with colleagues and include a link to the published page.
Handlebars Improvements
RDSM-37704
Since the release of Handlebars in Terminalfour 8.3.19 the feedback has been fantastic. Each release of Terminalfour since then has added improvements and enhanced functionality based on your feedback.
This release of Terminalfour introduces a new UI so that you can quickly and easily generate Handlebars Expressions via the UI.
If you're familiar with the T4 Tag generator, you'll know exactly how this works.
We've also introduced some new Helpers to give you even more functionality. Check out our new guide to see what's the powerful new possibilities enabled by the new linkTarget Helper.
Multi Factor Authentication for local and LDAP users
RDSM-39077
While Multi Factor Authentication has always been possible in Terminalfour if you were using your own Identity Provider, this release of Terminalfour allows you to require MFA for local/LDAP users as well.
If you use the Terminalfour login page to access Terminalfour your admin can now enable MFA and an additional code will be sent to your email when you log into the Terminalfour Platform.

To enable Multi Factor Authentication for all local/LDAP accounts, go to "Administration > Settings > Users and Workflow" and make sure "Enable MFA" is checked.
External Content Syncer Enhancements
RDSM-34339
The external content syncer is a great way to pull content in from a source of truth that is outside of the Terminalfour Platform and keep it in sync.
However, it's always been harder than it should have been to schedule these syncs. Separate Syncs were required to Add new content and Remove or update existing content.
Now, from 8.4.2 there's a new sync type called "Full sync" that will do exactly that, ensure the content in Terminalfour matches the content in the data source, all in a single sync operation.

Improved Ellucian Ethos Syncing
RDSM-39109
This release also improves the Ellucian Ethos Integration with the External Content Sync tool.
The external content sync can now paginate over all results returned by Ethos meaning everything can be synced in a single action.
Preview Restrictor
RDSM-34339
We now give you more control over which logged in users are allowed to preview pages. You can restrict preview on Access Controlled sections, or restrict preview on all sections to just those users with edit rights.
By default this new Preview Restrictor is disabled by default. It can be enabled by visiting: Administration > Settings > Preview & Publish.
Performance Improvements
Media Library Performance
RDSM-38122
Media Library Performance has been significantly improved when users are in lots of groups. We've seen improvements of up to 40% in page load time for these users.
Reset Content Performance
RDSM-29394
When choosing to Reset content from the channels listing page, this modal now opens up to 10 times faster than in previous versions
Other Improvements
- Many accessibility improvements including improved screen reader support.
- See the table below for full details
RDSM-39107- HTML Package improvements. A number of small improvements to make HTML migrations easierRDSM-37633- We now record more information in the Audit Trail when a Assets are deleted (such as its ID)RDSM-38960- Inserting new Media into content can cause hidden elements to display when they should be hiddenRDSM-38511- Lists can sometimes become uneditable if they were originally created by a Form that is no longer in useRDSM-37907- Quotes in section names can break section links in TinyMCE
Deprecation Notice
We're announcing that Clustering is being marked as deprecated from this release. You can learn more information by visiting our Deprecation page.
Changes
| Issue Type | Issue key | Summary | Priority | Components |
|---|---|---|---|---|
| Bug | RDSM-39244 | Power users getting an unexpected error when editing a content item if its content type is not global and modification of content is not restricted | P3 | Access rights |
| Bug | RDSM-39257 | WCAG: Missing aria attributes in non-text content elements e.g. current version | P3 | Accessibility |
| Epic | RDSM-38769 | Single page accessibility report | P3 | Accessibility |
| Bug | RDSM-37052 | Section filtering buttons are missing screen reader text | P3 | Accessibility |
| Bug | RDSM-37048 | No text on modal close button | P3 | Accessibility |
| Bug | RDSM-36958 | WCAG Section filtering area and other buttons, links have unlabeled form control with title and no value text or missing labels | P3 | Accessibility |
| Bug | RDSM-39261 | Background image should be marked as decorative in navigation menu | P4 | Accessibility |
| Bug | RDSM-21709 | Message format incorrect, LazyLogMessage issue formatting the message when keys are present on delete/get event type | P3 | Audit Trail |
| Epic | RDSM-39077 | Multi-factor authentication via email for Local and LDAP users | P3 | Authentication |
| Bug | RDSM-29394 | Reset content' modal takes a long time to load/does not load for large Channels | P3 | Channels |
| Technical Debt | RDSM-39345 | Mark Clustering code as deprecated | P4 | Clustering |
| Bug | RDSM-39133 | Not all conditional statements are being displayed in the "Conditional elements" flyout | P3 | Conditionals |
| Bug | RDSM-39486 | Content links to content with File or Image elements are creating content links to the file rather than the content | P3 | Content |
| Bug | RDSM-39210 | Duplicating a Content type which has multiple Repeater Elements of Content Types containing section/content links, results in only the last repeaters links being duplicated | P3 | Content |
| Bug | RDSM-38818 | Can't add media to TinyMCE, if the media layout is using Handlebars | P3 | Content |
| Bug | RDSM-37907 | Quotes in section names break section links in tinymce | P3 | Content |
| Bug | RDSM-38960 | Hidden conditional element displays incorrectly if media is inserted to TinyMCE after being added to the Media Library | P4 | Content |
| Bug | RDSM-38566 | Section/content link is causing conditionals not to load | P4 | Content |
| Bug | RDSM-36975 | TinyMCE: The menu item Format > Blocks should not be shown when "Custom block formats" option has not been set | P4 | Content |
| Bug | RDSM-31777 | Cannot make sublist items with indentation using lists that have been added via TinyMCE source code | P4 | Content |
| Bug | RDSM-37023 | Old status sync is moving content that was updated in the datasource to the archive section | P3 | Content Syncer |
| Change Request | RDSM-34339 | Update content, add new content, and delete old content, all within one scheduled sync | P3 | Content Syncer |
| Change Request | RDSM-39109 | Update Ethos JDBC Driver | P4 | Content Syncer |
| Bug | RDSM-37633 | Content Type delete events do not record the ID of the deleted content type in the audit trail | P3 | Content Types |
| Bug | RDSM-38339 | Submissions should be marked as failed or self-fix its mappings when the form has invalid mappings | P3 | Form Builder |
| Bug | RDSM-38185 | Form submission emails not decoding the Medium password correctly, and assigning it to the wrong Email attribute | P3 | Form Builder |
| Bug | RDSM-38183 | Form submission emails don't support TLS | P3 | Form Builder |
| Bug | RDSM-17475 | Two groups can inherit each other, causes breakage | P3 | Groups |
| Story | RDSM-39060 | Create contentInSection handelbars helper to get the list of content items in the current section scope | P3 | Handlebars |
| Story | RDSM-38678 | Create handlebars helper (and related API) to allow section/content links in content to be used in a _with_ block | P3 | Handlebars |
| Change Request | RDSM-38675 | The (New) Publish API should allow developers to get access to Content Items linked to Sections | P3 | Handlebars |
| Change Request | RDSM-38673 | Handlebars should make the number of entries in a list available | P3 | Handlebars |
| Change Request | RDSM-38657 | Embed Handlebars Helper should process Handlebars Layouts using the current "Layout Processor" | P3 | Handlebars |
| Epic | RDSM-37704 | Implement UI for Handlebars "Expression Builder" | P3 | Handlebars |
| Technical Debt | RDSM-39165 | Remove Widgets and Dashboard Handlers (v7 UI) and related handler from database | P3 | Handlers |
| Bug | RDSM-38511 | Lists created in T4 from manual lists in forms should be editable immediately after the manual list is removed from the form | P3 | Lists |
| Bug | RDSM-39376 | Categories slow to load when large number of variants | P3 | Media Library |
| Bug | RDSM-39180 | No values provided for Search keywords element name if any Content Type is selected in Keyword Search Content navigation Object | P3 | Navigation |
| Bug | RDSM-39168 | XSS in Navigation Usage report on Navigation object name | P3 | Navigation |
| Bug | RDSM-37985 | HTML packages don't record the media usage of imported media in content | P3 | Packages - html |
| Bug | RDSM-37485 | HTML Package - CSS selector element should be trimmed for whitespace back-end | P3 | Packages - html |
| Technical Debt | RDSM-39026 | Review and improve the thread management in ConnectionMonitor | P3 | Performance |
| Bug | RDSM-38754 | Unnecessary checks to see if files (images) can be scaled, even though we don't intend to scale them | P3 | Performance |
| Bug | RDSM-38122 | Performance: /rs/media/category/{categoryID}/{language}/list can take a very long time for non Admin users when they are in many groups | P3 | Performance |
| Bug | RDSM-37401 | Database performance can be impacted by non-existant media indexing records trying to be removed from the Simple Search index | P4 | Performance |
| Bug | RDSM-27347 | Sometimes it takes 3 minutes to download single submission | P4 | Performance |
| Story | RDSM-34521 | Implement Preview Restrictor | P3 | Preview |
| Bug | RDSM-31178 | Publish intermittently fails with ConcurrentModificationException in CachedContentVersion class | P3 | Publish |
| Bug | RDSM-13803 | CMS Search library incompatibilities | P3 | Search |
| Bug | RDSM-39181 | Address CVE-2025-58386 | P2 | Security |
| Bug | RDSM-39166 | Content Type "description" fields triggers XSS payloads in /rs/contenttype (due to breadcrumbs) | P3 | Security |
| Bug | RDSM-37619 | Password reset attempts should be rate limited | P3 | Security |
| Bug | RDSM-37291 | Add best practice guidelines and correct attributes to the inputs on the login and forgotten password pages | P4 | Security |
Before upgrading
In advance of the upgrade please view the information and Technical Roadmap. Please contact us prior to upgrading we can provide you with the pre and post-upgrade tasks.
Priority
Please note that the priorities assigned to bugs differ from those assigned to Client Support tickets:
- P1 - Major rework of product.
- P2 - Major performance change.
- P3 - Regular priority change.
- P4 - Minor change.
- Trivial - Very minor UI changes.