Release announcements, helpful tips, and community discussion


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

  • [Mail/Drafts] Fixed an issue with drafts not being saved if they contained Emoji characters (or any other 4-byte characters). [#449]

  • [Tasks/UX] When creating tasks, importance is now defaulted to the midpoint rather than zero. [#795]

  • [Cards/Custom Fields] On cards, fixed an issue where ‘multi-checkbox’ custom fields displayed an (X) after their value. This was displaying the symbol for the custom field type when it wasn’t specifically handled. [#794]

  • [Project Boards] Fixed an issue with default queries when adding cards to project boards. Queries with quotes were being double-escaped, which prevented filters from working as expected. [#768]

  • [Worklists/Subtotals] Fixed an issue on worklist subtotals. When subtotaling by a worker-based custom field, clicking on ‘(nobody)’ didn’t properly add a new ‘is null’ filter. [#769]

  • [Project Boards/UX] On project boards, if a column behavior removes a card from the board (e.g. ‘Completed’), the card now properly disappears after being dropped into the column. Previously, the card was only removed after a refresh of the board or column. [#767]

  • [Support Center/Profile] Fixed an issue in the Support Center where profile information couldn’t be updated if the ‘Photo’ field was hidden or read-only.

  • [Developers/Extras] Updated the cerb-package-exporter.php script to include group and bucket names in the output. This script exports ticket data to .json files in package format.

  • [Plugins/LDAP] Fixed an issue with LDAP authentication in the Support Center. Error messages weren’t displaying properly, which resulted in a blank white page.

  • [Setup/Records] Fixed an issue in Setup » Records where the query in default search buttons didn’t open a template editor popup.

  • [Profiles/Workspaces] On workspace and profile ‘Record Fields’ widgets, fixed an issue that prevented the ‘Test’ feature from working properly on templates. This had to do with the dynamic nature of those templates; you can add, remove, and rearrange them, when the tester previously expected a singularized template. [#704]

  • [Localization/Calendars] In calendars, the days of the week (Mon-Sun) are now translatable as both full names (“Monday”) and abbreviations (“Mon”). [#756]

  • [Profiles/UX] In profile widget worklists, the ‘Tab’ column is now clickable and opens a card popup for the widget’s tab. This helps differentiate between widgets with the same name and tab name.

  • [Impex/Extras] Added a new exporter tool to ./install/extras/impex/export-rfc2822/. This script exports tickets from the Cerb database into the standard Internet Message Format (RFC-2822) as files with a .msg extension. Each file contains message headers, body, and attachments. There are X-Cerb headers for ticket metadata (group, bucket, status, etc). These files can be imported into other mail applications, or processed with existing email tools. It’s also a good format for exporting messages for archival or GDPR compliance.

  • [Mail/Relay] The mail relay feature now looks for authorization in the In-Reply-To: and References: headers. Previously, only In-Reply-To: was checked. Clients have reported that some email servers are only quoting the original Message-Id: in References:.

  • [Platform/Developers] The DevblocksPlatform::strStartsWith() and ::strEndsWith() helpers now return the matching prefix/suffix when gives a list. They still return false if nothing matches.

  • [Records/Calendars] Fixed an issue on recurring event records where the placeholders of the parent calendar weren’t displayed in the ‘Insert Placeholders’ menu in bots and snippets.

  • [Bots/Dictionaries/Performance] In bot dictionaries when doing key extension (i.e. lazy-loading), type information for newly loaded keys is now merged into the global _types key. Previously, each expanded record could add new keys like group__types and owner__types, which created inefficiencies when dealing with a large number of dictionaries (e.g. API results, worklist exports).

  • [Worklists/Export/Performance] Significantly reduced the amount of memory used when exporting records from worklists.

  • [Data Queries/Subtotals] In worklist.subtotals data queries, a metric: field can specify an arbitrary mathematical equation to modify the calculated value for each row in the results. For instance, square with x**2 or multiply by 100 with x*100.

  • [Data Queries/Subtotals] In worklist.subtotals data queries, the by: field can now specify an aggregate function on the same line. For instance, by.avg:[worker.responseTime]. This replaces the separate function: field.

  • [Data Queries/Subtotals] In worklist.subtotals, a group: field can “roll up” subtotal samples by any combination of by: keys. For instance, you could gather the weekly number of replies per worker over the past month, then average those samples by worker. This gives you a single average weekly replies total per worker, rather than one per worker per week.