backtrace-coronerd 1.60.91

This release is recommended for all users.

Features

  • A new scheme is used to store passwords, with bcrypt replacing the legacy scheme. Users are automatically migrated on first relogin after an upgrade. It is advisable to make a copy of /etc/coronerd/coronerd.db before the upgrading to this version to ease potential downgrades, because previous versions of coronerd, which don’t know about the new scheme, will refuse to start. Should a rollback be necessary, coronerd.db can be restored from the backup. Further assistance is available from Backtrace Technical Support.

  • When sending emails for signup or password recovery, the generated link will now only use the hostname provided in the “Origin” or “Host” header if it matches the regex defined in the new coronerd.conf setting “httpd.valid_hostname”. If it doesn’t match, then the DNS name defined for the “httpd/console” listener will be used.

  • A new built-in attribute, “device.model”, has been added for SDK use.

  • New endpoints for symbol-processor support have been added. This release is required for pending improvements to symbold.

  • Custom deduplication rules now support escapes such as \d and \w.

  • Custom deduplication rules now support groups. A rule such as s#whatever(\d+)#$1#G will capture and replace. The suffix G enables this functionality, which gives $ special meaning in the replacement. To write a $ with groups enabled, use $$.

  • The api/delete endpoint now supports a query argument which will delete any object that is matched by the query. It can delete physical data from disk, and optionally the additional metadata from the database.

  • Requests to the api/login endpoint are now rate limited. By default it’s configured to ignore requests from 127.0.0.1, and any ip addresses you specifically whitelist. Requests are limited at a rate of 10 requests per minute per ip address.

  • Re-enables el8 support via rockylinux8 instead of the now EOL centos8

  • Added support for Ubuntu 22LTS

Improvements

  • It is now possible to have up to 256 submission actions per project.

  • /api/config can now handle projects which contain more than UINT32_MAX errors.

  • Fix reliability of symbol importing in certain cases.

  • JSON error objects will now use the provided function name if symbolication fails.

  • Fixed a problem where symbols files that are removed from disk were not evicted from an in-memory cache.

  • Added support for PDBs generated when compiling with /Z7.

  • Improved handling of minidumps containing large numbers of threads.

  • Improved indexing of attributes. On the first start of coronerd 1.60 there may be some extra disk activity in the background while coronerd is reindexing attributes. This will also happen on downgrades to 1.59 from 1.60. Subsequent starts after reindexing has completed will be faster.

  • Added support for large, 4+ GiB PDBs.

  • Improved symbol import of dSYM and executable pairs.

  • Conversion of dSYM symbols now includes inline function information.

  • Improved handling of minidumps containing a large number of memory regions.

  • Improved processing of truncated minidumps.

  • Fixed handling of PE files generated by LLVM’s linker in symbol conversion.

  • Improved call stack unwinding for crashes involving an invalid program counter in the exception context.

  • Added support for compressed .debug_info sections when importing symbols from an ELF executable file.

  • Fixed crash in PDB conversion when input filename did not contain a file extension.

  • Fixed extraction of debug identifier when processing a minidump containing trailing data in a code view information record.

  • Fixed processing of SYM files containing absolute paths to the source binary.

  • Updated coronerd resource scripts to run under later versions of dash.