Release announcements, helpful tips, and community discussion


Cerb (9.3.3) is a maintenance update released on August 28, 2019. It includes 13 minor features and fixes from community feedback covering the 9.3 update. You can follow these instructions to upgrade.

  • [Records/Search] On message and comment worklists, fixed an issue with the attachments: filter that could return extra matching rows. There wasn’t a proper constraint by record type (e.g. message, comment).

  • [Login/UX] Fixed an issue where non-authenticated users visiting /internal/redirectRead URLs were shown a blank page rather than redirected to the login form. [#969]

  • [Performance/Responsibilities] Significantly improved performance when editing bucket responsibilities for large lists of workers and buckets. Previously this created a draggable slider control for every bucket/worker. Now the single editable slider control is swapped in based on mouse hover events.

  • [Responsibilities/UX] When editing worker bucket responsibilities, each slider change saves independently. This avoids issues with submitting huge forms (i.e. 1,000+ fields). It also avoids issues with concurrency, where two group managers making changes to responsibilities at the same time could overwrite each other’s changes. [#972]

  • [Records/Attachments/Custom Fields] Fixed an issue on attachment records that prevented filtering by custom field values.

  • [Security/MFA/UX] In two-factor authentication, when entering a TOTP (time-based one time password), we now follow the leniency guidelines in the RFC and allow both the current code and the code from the previous 30-sec window. This improves UX when a user types/copies a code that only has a few seconds left, and enters it a few seconds after it expires. [#974]

  • [Bots/Scripting] Added a |devblocks_context_name(format) filter to bot scripting. This filters a record type ID (e.g. cerberusweb.contexts.ticket) or alias (e.g. task) and can return the following formats: singular, plural, id, uri. This is particularly useful for normalization when a record type may be specified in multiple ways by a data source.

  • [Records/Tickets/UX] In the conversation history on ticket profiles, worker titles are now displayed next to their names when available. [#976]

  • [Storage] Fixed an issue with the storage service where message content objects could show no storage profile. Internally this defaulted to database, but the configuration screens now properly reflect this default.

  • [Data Queries/Subtotals/UX] On worklist.subtotals data queries, increased the by: max limit from 250 distinct categories to 2,000.

  • [Bots/Scripting] Added a |context_alias() filter to bot scripting. This can normalize a record type as an extension ID (e.g. cerberusweb.contexts.ticket) or alias (e.g. ticket), and it can return the following formats: singular, plural, id, uri.

  • [UI/Cards/UX] Popup cards now open slightly lower from the top of the screen by default. This leaves room for the ‘alert’ banner to display success or errors when saving records, without both elements overlapping.

  • [Tests] Added unit tests for bot behavior dictionaries (e.g. get, set, unset, key paths, scrub, exists).