proguard
Basic proguard mapping file handling for Rust
5.10.4
4.5M downloads/mo
#4740 most downloaded on crates.io
getsentry/rust-proguard
What this package is like to depend on
Last release 26 days ago
28 Jul 2026
Release timing varies
gaps range from 2 weeks to 13 months
Most releases are documented
notes for 29 of 33 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
33 releases · first in 2017
9 releases in the last 12 months
see the full history below
Release timeline
33 releases · Jun 2017 to Jul 2026Releases
latest 33-
5.10.428 Jul 2026Release notes
Open source →Bug Fixes 🐛
- (mapping) Report a single frame when no line number and no signature are present by @markushi in #95
Internal Changes 🔧
Release notes
Open source →Bug Fixes 🐛
- (mapping) Report a single frame when no line number and no signature are present by @markushi in #95
Internal Changes 🔧
- (cargo) Update stale lock file by @markushi in #96
-
5.10.323 Apr 2026Release notes
Open source →Bug Fixes 🐛
- (mapping) Synthesize filenames for Kotlin classes buried in synthetic wrappers by @romtsn in #94
-
5.10.221 Apr 2026Release notes
Open source →Bug Fixes 🐛
- (mapping) Parse Compose mappings with flexible indentation by @romtsn in #93
- Use git protocol for retrace spec check by @romtsn in #92
Internal Changes 🔧
Release notes
Open source →Bug Fixes 🐛
- (mapping) Parse Compose mappings with flexible indentation by @romtsn in #93
- Use git protocol for retrace spec check by @romtsn in #92
Internal Changes 🔧
-
5.10.110 Mar 2026Release notes
Open source →Release notes
Open source →Bug Fixes 🐛
- Resolve inline groups in no-base-entries fallback by @romtsn in #88
-
5.10.003 Mar 2026Release notes
Open source →New Features ✨
R8 Tests
- Add R8 method overloading tests by @romtsn in #77
- Add R8 exception handling tests by @romtsn in #76
- Add R8 line number tests by @romtsn in #75
- Add R8 source file tests by @romtsn in #74
- Add R8 ambiguous tests by @romtsn in #71
- Add R8 inline tests by @romtsn in #69
Other
Release notes
Open source →New Features ✨
R8 Tests
- Add R8 method overloading tests by @romtsn in #77
- Add R8 exception handling tests by @romtsn in #76
- Add R8 line number tests by @romtsn in #75
- Add R8 source file tests by @romtsn in #74
- Add R8 ambiguous tests by @romtsn in #71
- Add R8 inline tests by @romtsn in #69
Other
- (r8) Propagate class-level synthesized flag to members by @romtsn in #73
-
5.9.018 Dec 2025Release notes
Open source →New Features ✨
R8
- feat(r8): Support
rewriteFramesannotation in ProguardCache by @romtsn in #67 - feat(r8): Support
rewriteFramesannotation in ProguardMapper by @romtsn in #66
Bug Fixes 🐛
Release notes
Open source →New Features ✨
R8
- feat(r8): Support
rewriteFramesannotation in ProguardCache by @romtsn in #67 - feat(r8): Support
rewriteFramesannotation in ProguardMapper by @romtsn in #66
Bug Fixes 🐛
- fix: Correctly remap entries with 0 line info by @romtsn in #68
- feat(r8): Support
-
5.8.101 Dec 2025 -
5.8.027 Nov 2025Release notes
Open source →Release notes
Open source →- feat(outline): Expose is_outline and prepare_frame_for_mapping by @romtsn in #64
-
5.7.010 Nov 2025Release notes
Open source →Various fixes & improvements
- feat(r8): Support outline and outlineCallsite annotations in ProguardCache (#62) by @romtsn
- feat(r8): Support outline and outlineCallsite annotations in ProguardMapping (#60) by @romtsn
- build: Fix new compiler warnings (#61) by @romtsn
- ref: Forbid
unwrapexcept in tests and benches (#58) by @loewenheim
Release notes
Open source →Various fixes & improvements
- feat(r8): Support outline and outlineCallsite annotations in ProguardCache (#62) by @romtsn
- feat(r8): Support outline and outlineCallsite annotations in ProguardMapping (#60) by @romtsn
- build: Fix new compiler warnings (#61) by @romtsn
- ref: Forbid
unwrapexcept in tests and benches (#58) by @loewenheim
-
5.6.217 Jul 2025Release notes
Open source →Release notes
Open source →Various fixes & improvements
- fix(r8): Handle invalid headers gracefully (#57) by @Dav1dde
-
5.6.117 Jul 2025Release notes
Open source →Various fixes & improvements
- feat(cache): Expose current cache version constant (#56) by @loewenheim
-
5.6.014 Jul 2025Release notes
Open source →Various fixes & improvements
- feat: Handle "synthesized" class/member annotations (#52) by @loewenheim
- ref: Parse ProGuard files smarter (#55) by @loewenheim
- chore: Fix 1.88.0 clippy lints (#53) by @loewenheim
- ref: Robustly parse R8 headers (#50) by @loewenheim
- ref: Remove lazy_static dependency (#51) by @loewenheim
- chore: Clippy (#49) by @loewenheim
- chore: Simplify check (#47) by @loewenheim
- chore(lint): Elided lifetimes (#46) by @jjbayer
- cache: Add creation benchmark (#44) by @loewenheim
-
5.5.003 Jul 2024Release notes
Open source →Various fixes & improvements
- Commit Cargo.lock (#43) by @loewenheim
- Update edition to 2021 (#43) by @loewenheim
- Don't rename uuid dep (#43) by @loewenheim
- Remove ClassIndex (#43) by @loewenheim
- Use chars (#43) by @loewenheim
- Add module docs (#42) by @loewenheim
- Write vectors at once (#42) by @loewenheim
- Feedback (#42) by @loewenheim
- Abstract out the binary search and use it in remap_method (#42) by @loewenheim
- cache.rs -> cache/mod.rs (#42) by @loewenheim
- Add parsing + mapping benchmarks (#42) by @loewenheim
- Missed something (#42) by @loewenheim
- Use correct name of cache everywhere (#42) by @loewenheim
- Rename error types (#42) by @loewenheim
- debug: use references (#42) by @loewenheim
- Update src/cache/raw.rs (#42) by @loewenheim
- Add cache to parsing benchmark (#42) by @loewenheim
- Remove unwrap in binary search (#42) by @loewenheim
- Remove test I committed by mistake (#42) by @loewenheim
- Typo (#42) by @loewenheim
- Cleanup (#42) by @loewenheim
- Expand test coverage (#42) by @loewenheim
- Add remapping benchmark (#42) by @loewenheim
- Use binary search more aggressively (#42) by @loewenheim
Plus 10 more
-
5.4.104 Apr 2024Release notes
Open source →Various fixes & improvements
- Update CI definitions (#37) by @Swatinem
- feat: add method signature parsing (#35) by @viglia
- Support symbolicated file names (#36) by @wzieba
-
5.4.030 Nov 2023Release notes
Open source →Various fixes & improvements
- enhance: make mapping by params initialization optional (#34) by @viglia
- Clear
unique_methodsperclass(#33) by @Swatinem
-
5.3.013 Nov 2023Release notes
Open source →Various fixes & improvements
- Add getter method for private parameters struct field (#32) by @viglia
- release: 5.2.0 (8032053d) by @getsentry-bot
-
5.2.010 Nov 2023 -
5.1.023 Oct 2023Release notes
Open source →Various fixes & improvements
- Allow remapping just a method without line numbers (#30) by @Swatinem
-
5.0.223 Jun 2023Release notes
Open source →Various fixes & improvements
- Fix line number mismatch for callbacks (#27) by @adinauer
-
5.0.123 Mar 2023Release notes
Open source →Various fixes & improvements
- perf(proguard): Try to optimize proguard mapping parsing (#26) by @Zylphrex
-
5.0.020 May 2022Release notes
Open source →Breaking Changes:
- Update
uuiddependency to version1.0.0. (#22)
Thank you:
Features, fixes and improvements in this release have been contributed by:
- Update
-
4.1.119 Mar 2021Release notes
Open source →Fixes:
- Removed overly conservative limit in
has_line_info.
Thank you:
Features, fixes and improvements in this release have been contributed by:
- Removed overly conservative limit in
-
4.1.009 Mar 2021Release notes
Open source →Features:
- A new
MappingSummarywas added providing some information about the mapping file. - Added support for remapping a complete Java
StackTrace, including theThrowableand cause chain.
Thank you:
Features, fixes and improvements in this release have been contributed by:
- A new
-
4.0.109 Jun 2020Release notes
Open source →Fixes
- Fix
has_line_infoto not short-circuit when it found lines without line-info.
- Fix
-
4.0.005 Jun 2020Release notes
Open source →This is a complete rewrite of the crate. It focuses on two types,
ProguardMappingandProguardMapper.ProguardMapping
Provides high level metadata about a proguard mapping file, and allows iterating over the contained
ProguardRecords.This is a replacement for the previous
Parser. For example,Parser::has_line_info()becomesProguardMapping::has_line_info().ProguardMapper
Allows re-mapping class names and entire frames, with support for inlined frames.
This is a replacement for the previous
MappingView, and allows easier re-mapping of both class-names and complete frames.MappingView::find_class("obfuscated").map(Class::class_name)becomesProguardMapper::remap_class("obfuscated"), and theProguardMapper::remap_framefunction replaces manually collecting and processing the results ofClass::get_methods. -
3.0.024 Mar 2020 -
2.0.004 Feb 2019 -
1.1.019 Feb 2018 -
1.0.014 Nov 2017 -
0.4.016 Oct 2017Nothing published for this version
-
0.3.013 Jun 2017Nothing published for this version
-
0.2.008 Jun 2017Nothing published for this version
-
0.1.002 Jun 2017Nothing published for this version