Blog

Release announcements, helpful tips, and community discussion

9.0.1

Cerb (9.0.1) is a maintenance update released on August 10, 2018. It includes 23 minor features and fixes from community feedback covering the 9.0 update. You can follow these instructions to upgrade.

  • [Pages] Fixed an issue in the pages worklist where a worker being promoted/demoted to/from an administrator wasn’t changing the scope of the worker-owned pages they were able to see.

  • [Worklists/Bulk/Performance] On worklists, when using bulk update, if the “only checked” scope is used then the selected IDs are used to filter the list rather than any other existing worklist filters.

  • [Worklists/Bulk/Security] On worklists, when using bulk update, each page of results now checks the current worker’s permission to edit the given records. Previously, this was handled by checking the filters on the worklist, but these don’t always restrict permissions. This also makes it easier to treat bulk update operations abstractly.

  • [Worklists/Search] On worklists, filtering by a worker field (e.g. owner: on tickets, or worker: on messages) now allows the me keyword to match the current worker as a shortcut. Previously, this was running a fulltext search for ‘me’.

  • [Profiles/Workers] On worker profiles, the ‘Impersonate’ action is available to administrators from a new ‘Actions’ widget. If not an admin, this widget isn’t visible.

  • [Records/Comments] In comment dictionaries, the _label key is now trimmed, with tabs and newlines converted to spaces, and truncated to 128 characters. Previously, this was the entire comment, even if it was pages long. This wasn’t suitable for display in tables, etc.

  • [Records/Scheduled Behaviors] Scheduled behavior worklists can include the ID column, and filter by id:.

  • [Records/Scheduled Behaviors] When creating scheduled behaviors from bots or the API, the behavior_id is now properly validated as an existing macro behavior of the target record type.

  • [Setup/Mail/Routing] In Setup, when creating mail routing rules, the ‘Set custom field’ actions are now grouped by custom fieldset labels.

  • [Setup/Mail/Routing] In Setup, mail routing rules can use currency- and decimal-based custom fields as conditions.

  • [Setup/Mail/Routing] In Setup, mail routing rules can set currency- and decimal-based custom fields as actions.

  • [Project Boards/Performance] On project boards, optimized the rendering of many cards.

  • [Worklists/Performance] On worklists, fixed an inefficiency in persistence where the model was considered to be changed if the same sort/order was set again from a quick search query.

  • [Records/Messages/Performance] Optimized how a list of message labels are generated. These use email address and ticket data, which can be loaded in bulk in a single query. Previously, this was running a query per message.

  • [Dashboards/Search/UX] Fixed an issue on ‘Record Fields’ widgets on dashboards. When these widgets used search buttons, that query replaced the parameters on the worklist of that record type in the global search menu.

  • [Dashboards/Worklists] On dashboards, when the configuration of ‘Worklist’ widgets is edited, all worker instances of that worklist are reset. This also fixes an issue where the record type of the worklist could change.

  • [Data Queries] Optimized how data queries use worklists to load data. Previously, even though these always generated a new worklist they were still persisting and checking for persisted worker changes (e.g. sorting, paging). These worklists are now properly ephemeral, which drastically reduces the number of queries run on large dashboards.

  • [Dashboards/Performance] On dashboards, fixed a double save of worklist widget state (e.g. sorting, paging).

  • [Dashboards/Performance] On workspace dashboards, optimized how legacy widgets (e.g. chart, gauge, counter) use worklists. Previously, these were saving and loading worklists when they could have been disposable.

  • [Worklists/Performance] Optimized worklist persistence. Previously, if a worklist had parameters set with a quick search (e.g. widgets), this always caused the worklist model to be saved again, even if the query resulted in an identical model to the previous state. This was sending extraneous write queries to the database.

  • [Bots/Performance] Optimized the ‘Get metric from worklist’ action on bot behaviors. Previously, this was saving and loading the previous state of the worklist. These worklists are ephemeral and don’t need to be reused.

  • [Worklists/Tickets/Performance] In ticket worklists, optimized how the contact labels are loaded for the “First wrote” and “Last wrote” columns. Previously these could generate an extra query per distinct contact. Now they run a single query shared between both columns.

  • [Worklists/Performance] Optimized filters on worklists that use temporary searches.