9.0.7

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 areX-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:
andReferences:
headers. Previously, onlyIn-Reply-To:
was checked. Clients have reported that some email servers are only quoting the originalMessage-Id:
inReferences:
. -
[Platform/Developers] The
DevblocksPlatform::strStartsWith()
and::strEndsWith()
helpers now return the matching prefix/suffix when gives a list. They still returnfalse
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 likegroup__types
andowner__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, ametric:
field can specify an arbitrary mathematical equation to modify the calculated value for each row in the results. For instance, square withx**2
or multiply by 100 withx*100
. -
[Data Queries/Subtotals] In
worklist.subtotals
data queries, theby:
field can now specify an aggregate function on the same line. For instance,by.avg:[worker.responseTime]
. This replaces the separatefunction:
field. -
[Data Queries/Subtotals] In
worklist.subtotals
, agroup:
field can “roll up” subtotal samples by any combination ofby:
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.