2024.9.10
Released on: 2026.8.25
-
Added full OpenID Connect support to the authentication server, so other applications can look up its settings and read the signed in user’s details on their own (
d7a635f). -
Added headers and footers to rendered documents, set up in the template editor and chosen when a workflow renders a document (
0ad0ed2,f54c18e,fc8094e). -
Added support for Gotenberg 7 and 8, used to turn templates into PDF documents (
8e4f4e4). -
Added a safeHTML template function, for when a value should be rendered as HTML instead of shown as plain text (
22cb71a). -
Added a rich text editor for notification messages in the workflow builder, so notifications can be sent with formatting (
c63275d,244b0ee). -
Added readable names for workflow function and prompt parameters, in place of their internal identifiers (
861f43a,778c3af). -
Added a red asterisk marking which workflow parameters are required (
2285b9b). -
Added an option to return the total number of matching reminders when a workflow searches or iterates them (
649d949,ee36e04).
-
Changed the workflow parameter list to show each name once, in bold, next to its type (
8d652ca). -
Changed the template editor to keep the header, footer and content settings together, show the content while a new template is being created, and only offer the preview once the template is saved (
28a5a34,e446a5a). -
Changed bulk editing to ignore record field prefilters, which otherwise left those fields with nothing to choose from (
7254eb1). -
Changed the duplicate detection settings to spell out that a record only counts as a duplicate when every selected field matches (
11f1baa). -
Changed the KV and KVV expression types to keep a key exactly as written, so keys containing dots are no longer split into nested values (
42dcf81). -
Changed the API Gateway proxy timeout to be taken from the server configuration, so it can then be adjusted in settings (
ed5e12a). -
Changed Corredor script results to be logged as readable text instead of base64 (
3b56260). -
Changed the webapp to track records by module as well as by ID, so records sharing an ID across modules no longer overwrite one another (
2c5169a). -
Changed reminders so that users who may assign reminders to others can also open, dismiss, undismiss and snooze them (
8a3ae0c,76cffd5). -
Changed searches to count their results in the database instead of loading every matching record, which keeps large lists responsive (
5f6af6e). -
Changed workflows to skip collecting execution trace data when tracing is turned off, which makes them run faster (
49fb332). -
Changed the workflow step dependency error to name every step that could not be resolved and the steps it is waiting for, in place of a single error reported against an arbitrary step (
eaaf715). -
Changed WORKFLOW_STACK_TRACE_FULL to be off by default, so a workflow keeps only the most recent part of its execution trace instead of a copy of every step it has run (
4564cd8). -
Changed workflows to keep a copy of the step variables only where they are actually read back — a run that asked to be traced, or the step a run failed on — which lowers memory use on every other run (
75d9b6b).
-
Fixed the server crashing when a browser connection dropped, for example while a visitor was being sent to the login page (
5d2c307,54dbca5,c9d6080). -
Fixed duplicate detection flagging records when only some of the configured fields matched, comparing a value against the wrong field, and tripping over fields that had been removed from the module (
e71c1a6,4a25c21,b1a0de3). -
Fixed the API Gateway crashing when a proxy route had no settings of its own (
3add1b8). -
Fixed external authentication provider buttons missing from the login form until the settings were saved twice (
615080d). -
Fixed provisioning failing after the default user group was deleted (
890684f). -
Fixed namespace import failing with a not unique error when the same translation appeared twice (
f69c508). -
Fixed template meta fields being silently ignored when set from a workflow (
78cab0f). -
Fixed Corredor script arguments being dropped when the script did not return them (
d9fd1c2). -
Fixed the shorten expression function returning nothing when the text was already shorter than the requested length (
35df8e3). -
Fixed CSV import of user and multi value location fields (
5f5d7cd). -
Fixed a record list prefilter being bypassed when the filter contained a top level OR (
dc260b9). -
Fixed the record export date range not including the current date (
6198834). -
Fixed import and export buttons not showing when the inline record editor is enabled (
c185dfb). -
Fixed the record selector showing a blank value when the selected record was not among the loaded options (
554b885). -
Fixed the record organizer position field having no selectable options (
625c995). -
Fixed record revisions not being shown for deleted records (
d0533fe). -
Fixed calendar reminders not appearing until the page was refreshed (
fdb5e0f). -
Fixed the reminder sidebar buttons being hidden behind the record toolbar (
1863dd6). -
Fixed lists showing repeated or empty pages when some of the records were hidden by permissions (
0e16099). -
Fixed workflows failing when a page cursor was passed to the user, role, template or reminder search and iterate steps (
1c22e27). -
Fixed the total count reported by the user, role and template search and iterate workflow steps (
5c03218,482f440). -
Fixed the workflow execution trace not being shown after a dry run (
5f89c35). -
Fixed select field options not showing when their label was left empty (
7939ad1). -
Fixed workflows refusing to save or run, reporting a step dependency error, when an iterator was placed inside a parallel branch and its exit path led to the join (
5df0bfd). -
Fixed error handler variables, such as the error message, being unavailable to later steps once any other step had run between the error handler and the step that failed (
3ff830f). -
Fixed variables changed inside a parallel branch being lost where the branches merge, leaving the value they held before the branches split (
ec04eee). -
Fixed workflows using more and more memory the longer they ran, because a copy of every variable was kept for each step that had been executed, which could exhaust the server before a workflow holding a few thousand records finished (
4564cd8). -
Fixed a workflow run with tracing turned on occasionally returning no execution trace at all, because the run was reported as finished a moment before its trace had been recorded (
b999367). -
Fixed the server log reporting every waiting workflow session as just started, because each session’s age was measured backwards, which hid sessions that had been stuck for hours or days (
db8123e).
-
Rejected search filter keys containing quotes, which could otherwise be used to interfere with the underlying database query (
380404b). -
Corrected how quotes and backslashes are handled when building database queries on MySQL, MSSQL, PostgreSQL and SQLite, addressing CVE-2026-6093 (
848963d,861055f,64b58b9).