NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1090 most downloaded on crates.io
A library to demangle symbols from various languages and compilers.
Last release 2 months ago
23 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 56 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
166 releases · first in 2017
Removed the deprecated BreakpadErrorKind::BadSyntax variant.
Breaking Changes
SourceBundleWriter::finish now returns the underlying writer. (#1016)FormatErrorKind::InvalidBlobFormat is changed from u32 to i32. (#1016)EmbeddedSource::get_contents_bounded now replaces EmbeddedSource::get_contents. (#1016)BreakpadErrorKind::BadSyntax variant. (#1024)Dependencies
pdb-addr2line to 0.12.0. This includes a switch from pdb to pdb2. (#1018)One column per quarter.
Handle XML parsing without recursion.
Fixes
No documented changes.
Add limit on inline nesting depth when parsing Breakpad objects.
Add limit on chained UNWIND_INFO traversal in CFI generation.
Features
UNWIND_INFO traversal in CFI generation. (#1007)Add recursion limit to vendored msvc-demangler.
Features
il2cppLineMapping(object, provider), which extracts a Unity Il2cpp C++→C# line mapping by parsing source_info markers from an object's referenced C++ source files and returns it as a JSON document (or undefined when no mappings are found). Source file contents are supplied by a (path) => Uint8Array | null provider callback, so it works without filesystem access. symbolic-il2cpp also gains ObjectLineMapping::from_object_with_provider, the filesystem-free counterpart of from_object. (#1005)ObjectFile.asPe() to narrow an object to a PeFile, and PeFile.embeddedPpdb() returning the decompressed Portable PDB embedded in a managed Windows PE (a standalone, parseable debug information file), or undefined when there is no embedded PPDB. (#1004)Fixes
Dependencies
memmap2 floor to 0.9.11 to exclude versions affected by RUSTSEC-2026-0186. (#996)Fix function range to addr/line resolution, this fixes a case where WASM binaries compiled with Emscripten failed to have their source code mappings r
Fixes
symbolic-debuginfo : Add a new option max_decompressed_embedded_source_size to ParseObjectOptions . This option limits the sizes of compressed embedde
Features
symbolic-debuginfo: Add a new option max_decompressed_embedded_source_size to ParseObjectOptions. This option limits the sizes of compressed embedded source filessource_by_path. (#999)WASM: expose ObjectFile.debugSession() returning a DebugSession with files() (the source files referenced by the object) and sourceByPath(path) (resol
Features
ObjectFile.debugSession() returning a DebugSession with files() (the source files referenced by the object) and sourceByPath(path) (resolving embedded contents or a source link). symbolic-debuginfo also implements AsSelf for ObjectDebugSession so it can be held in a SelfCell. (#997)symbolic-debuginfo : add SourceBundleWriter::write_object_with_filter_and_provider , which builds a source bundle from caller-supplied source content
Features
symbolic-debuginfo: add SourceBundleWriter::write_object_with_filter_and_provider, which builds a source bundle from caller-supplied source content instead of relying on the local filesystem. (#988)Fixes
Changes
symbolic types. (#992)symbolic-debuginfo: use the C zstd library on wasm32 too (via zstd-sys's wasm-shim), replacing the ruzstd decoder added in #989. One zstd implementation for all targets; ruzstd is no longer a dependency. Building for wasm now requires clang. (#990)symbolic-debuginfo: select the C zstd library (native) vs the pure-Rust ruzstd decoder (wasm32) via cfg(target_arch) instead of the elf-zstd/elf-zstd-
Changes
symbolic-debuginfo: select the C zstd library (native) vs the pure-Rust ruzstd decoder (wasm32) via cfg(target_arch) instead of the elf-zstd/elf-zstd-pure features. features = ["elf"] again includes zstd support on native (the feature split in #986 had silently removed it). ruzstd was bumped to 0.8.3 and now rejects size mismatches instead of truncating. (#989)Add WebAssembly bindings (symbolic-wasm crate) published to npm as @sentry/symbolic, for parsing debug information files from JavaScript.
Features
symbolic-wasm crate) published to npm as @sentry/symbolic, for parsing debug information files from JavaScript. (#986)Changes
symbolic-debuginfo: the zstd dependency moved out of the elf feature into a new elf-zstd feature (kept in default, so default builds are unchanged). Consumers using default-features = false with elf should add elf-zstd to keep decompressing zstd-compressed ELF debug sections, or elf-zstd-pure for a pure-Rust (wasm-compatible) decoder. (#986)Add parsing options for object files.
Features
Add support for win arm64 PE unwind codes
Updated libswift demangle to v6.3.1.
Features
Extract srcsrv data from PDB for file mapping by @mujajica and @loewenheim. This includes a bump of the SymCache format to version 9.
(js) Allow magic comments to appear anywhere by @Dav1dde in #974
Internal Changes 🔧
Downgrade cpp_demangle version to 0.4.1. Symbolicator is currently dependent on this.
cpp_demangle version to 0.4.1. Symbolicator is currently dependent on this. (#972)sourcemapcache: Bump js-source-scopes to 0.7.2. This improves name resolution via https://github.com/getsentry/js-source-scopes/pull/35.
Improvements
js-source-scopes to 0.7.2. This improves name resolution via https://github.com/getsentry/js-source-scopes/pull/35. (#970)symcache: Change internal representation to enable old versions to remain parseable.
Revert "Use goblin permissive PE parse-mode". This change breaks API compatibility and should not have been released in a patch version.
Fixes
Improvements
examples/minidump_stackwalk, and replace their
corresponding flags --symbolize and --cfi with --no-symbolize and --no-cfi respectively. (#963)Use goblin permissive PE parse-mode
symcache: Fixed an unsound implementation of Pod
Fixes
Pod (#958)minidump: Define default .ra rules for PPC and ARM
Fixes
feat(pdb): Extract the srcsrv integration name for metrics
feat(elf): Added support for dynamic symbols when DYNAMIC segment is missing.
sourcemapcache: Tokens are now considered to only extend to the end of the line (as intended). This means that some lookups that would previously (inc
Fixes
symcache: Fixed a bug in symcache generation for functions without line records.
Fixes
python bindings: Expose SourceMapView.get_source_contents function.
demangle: Fixed a crash/abort when providing bad input to the swift demangler.
Fixes
symcache: Fixed a bug introduced in 12.14.0 that resulted in symbols not being inserted.
Fixes
Allow specifying multiple symbol sources in minidump-stackwalk utility.
Features
unreal_engine_crash utility. (#907)Fixes
Improvements
FileKey. (#908)Nothing published for this version
Nothing published for this version
Restore support for older Rust versions and clarify MSRV policy.
Fixes
Expose API to apply access pattern hints to a ByteView.(#899).
Parse debug_str_offs section in Mach-O files
Fixes
debug_str_offs section in Mach-O files (#895)Check UTF-8 validity memory efficiently
Improvements
Fixed GHA-based Windows builds (#891).
Fixes
Fixed a compilation issue with older GCC compilers.
Fixes
Updated libswift demangle to v6.0.3.
Features
symcache: Fixed a bug related to to inlinee resolution during symcache conversion.
Fixes
js: Prefer "debug_id" for sourcemap debug IDs. (#878).
Fixes
"debug_id" for sourcemap debug IDs. (#878).js: Fixed an error when reading debug IDs from sourcemaps with both "debugId" and "debug_id" keys (#877).
Fixes
"debugId" and "debug_id" keys (#877).feat(js): Sourcemap debug IDs can now be read from the "debugId" field in addition to "debug_id" (#870).
Features
"debugId" field in addition to
"debug_id" (#870).Unship "Support for DWARFv5 embedded source code extension (#849)". Unfortunately the check for whether an elf file contains embedded sources is prohi
symbolic-cfi: Skip invalid FDEs when converting DWARF to Breakpad CFI
Add callback to symbolic::sourcebundle::SourceBundleWriter which handles files skipped while writing to the source bundle.
symbolic::debuginfo::sourcebundle::SourceBundleWriter which handles files skipped while writing to the source bundle. (#864)- Skip invalid sources
Support for DWARFv5 embedded source code extension
Downgrade and pin zip to fix SourceBundles with >64k files
zip to fix SourceBundles with >64k files (#846)Add support for reading zstd compressed ELF debug section
Make mapping by params initialization optional
Features
Update crate dependencies, in particular gimli to fix performance/OOM problems related to duplicated abbreviations
Internal
gimli to fix performance/OOM problems related to duplicated abbreviations (#822)Fix empty parameters list issue
Fixes
Nothing published for this version
Add support for parameters param in the remap_frame to allow deobfuscation when line is not available
Features
parameters param in the remap_frame to allow deobfuscation when line is not available (#820)Emit a MODULE record for PE files
sourcebundles: Don't write empty source_links maps
Fixes
source_links maps (#813)discover_sourcemaps_location returns source mapping URLs without query parameters or fragments
Your coding agent can read these notes before it upgrades. Set up the MCP server →