Skip to content

0.4.0

Compare
Choose a tag to compare
@getsentry-bot getsentry-bot released this 20 Oct 10:16
· 817 commits to master since this release

Features

symbolic

  • Bump symbolic to support versioning of CFI Caches. (#467)
  • Update symbolic to write versioned CFI Caches, and fix SymCache conversion related to inline-parent offset. (#470)
  • Update symbolic to allow processing PDB files with broken inlinee records. (#477)
  • Update symbolic to correctly apply bcsymbolmaps to symbol and filenames coming from DWARF. (#479)
  • Update symbolic to correctly restore registers when using compact unwinding. (#487)

New Config Settings

  • Introduced max_download_timeout for source downloads, which defaults to 315s. (#482, #489, #503)
  • Introduced streaming_timeout for source downloads, which defaults to 250s. (#489, #503)
  • Introduced connect_timeout for source downloads, which has a default of 15s. (#491, #496)
  • Introduced max_concurrent_requests config setting, which limits the number of requests that will be processed concurrently. It defaults to Some(120). (#521, #537)
  • Introduced hostname_tag (#513)
  • Introduced max_lazy_redownloads and max_lazy_recomputations for downloaded and derived caches respectively. These limit the number of downloads and cache computations that can be performed in the background. (#535)
  • Introduced custom_tags for metrics (#569)

Everything else

  • S3 sources: add support for custom regions. (#448)
  • GCS, S3, HTTP, and local filesystem sources: Attempt to retry failed downloads at least once. (#485)
  • Refresh symcaches when a new BcSymbolMap becomes available. (#493)
  • Cache download failures and do not retry the download for a while (#484, #501)
  • Introduced a new cache status to represent failures specific to the cache: Download failures that aren't related to the file being missing in download caches and conversion errors in derived caches. Download failure entries expire after 1 hour, and conversion errors expire after 1 day, or after symbolicator is restarted. (#509)
  • Malformed and Cache-specific Error cache entries now contain some diagnostic info. (#510)
  • Source candidates which symbolicator has failed to download due to non-400 errors are now being returned in symbolication payloads. These candidates include additional diagnostic info which briefly describes the download error. (#512)
  • If a DIF object candidate could not be downloaded due to a lack of permissions, their respective entry in a symbolication response will now mention something about permissions instead of marking the candidate as just Missing. (#512, #518)
  • Symbolication tasks are being spawned on a tokio 1 Runtime now. (#531)
  • Symbolicator now allows explicitly versioning its caches. It will fall back to supported outdated cache versions immediately instead of eagerly waiting for updated cache files. Recomputations of newer cache versions are being done lazily in the background, bounded by new settings max_lazy_redownloads and max_lazy_recomputations for downloaded and derived caches respectively. (#524, #533, #535)
  • Remove actix-web in favor of axum. This changes the web framework and also completely switches to the tokio 1 Runtime. (#544)
  • Search for all known types of debug companion files during symbolication, in case there exists for example an ELF debug companion for a PE. (#555)

Fixes

  • Skip trailing garbage frames after _start. (#514)
  • Respect the build_id provided on the commandline of wasm-split. (#554)
  • Update symbolic to a version with more lenient ELF parsing which is able to process invalid flutter 2.5 debug files. (#562)

Tools

  • symsorter no longer emits files with empty debug identifiers. (#469)
  • MacOS universal builds (x86_64 + ARM in one fat binary) of symbolicator, symsorter and wasm-split can be downloaded from GitHub releases now. (#565, #568)

Internal

  • Measure how long it takes to download sources from external servers. (#483)
  • Avoid serialization overhead when processing large minidumps out-of-process. (#508)