Releases: rust-lang/backtrace-rs
0.3.74
What's Changed
- QNX Neutrino 7.0 support, thanks to @nyurik in #648
- Cleaned up our Android support. This should massively improve backtraces for ones with the API level sufficient to ship with libunwind, etc. Unfortunately, it comes at the cost of dropping support for older ones! Thanks to @fengys in #656
- Made PrintFmt, which was using the
Enum::__NonExhaustiveVariant
pattern, use#[non_exhaustive]
for real. Don't @ me if you were matching on that! Thanks to @nyurik in #651 - Massively cleaned up the windows code! We moved from winapi to windows-sys with windows-targets thanks to @CraftSpider and @ChrisDenton in
- Don't cast HANDLE to usize and back by @CraftSpider in #635
- Switch from
winapi
towindows-sys
by @CraftSpider in #641 - Update windows bindings and use windows-targets by @ChrisDenton in #653
- A bunch of updated dependencies. Thanks @djc and @khuey!
- Sorry if you were testing this code in miri! It started yelling about sussy casts. A lot. We did a bunch of internal cleanups that should make it quiet down, thanks to @workingjubilee in #641
- Uhhh we had to tweak
dl_iterate_phdr
in #660 after Android revealed it was... kind of unsound actually and not doing things like checking for null pointers before making slices! WHOOPS! Thanks to @saethlin for implementing detection for precisely that in rustc! It's really hard to find soundness issues in inherited codebases like this one...
New Contributors
- @CraftSpider made their first contribution in #635
- @fengys1996 made their first contribution in #656
- @djc made their first contribution in #657
Full Changelog: 0.3.73...0.3.74
0.3.73
This basically just is bugfixes so that backtrace works on Windows 7 again.
What's Changed
- Fix signature of resolve_legacy for Windows 7 target by @aapanfilovv in #631
- Update some comments by @ChrisDenton in #630
- Update object to 0.36.0. by @afranchuk in #633
New Contributors
- @aapanfilovv made their first contribution in #631
- @afranchuk made their first contribution in #633
Full Changelog: 0.3.72...0.3.73
0.3.72
This release removes a lot of dead code. Some feature flags that haven't done anything in a long time are gone. If you depend on those features, Cargo's resolver will not update you to 0.3.72.
If your code runs on Windows, or you want it to run on visionOS, however, you should probably update to this version. It contains a number of fixes for both OS. It also uses the latest version of a number of dependencies.
What's Changed
- Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba… by @Nilstrieb in #603
- Remove dead code by @ChrisDenton in #605
- Fix CI and remove rustc-serialize by @ChrisDenton in #596
- Use correct base address and update comment by @ChrisDenton in #604
- Windows AArch64: Break out of tracing when no longer making progress by @dpaoliello in #610
- Remove obsolete rustc-serialize references by @atouchet in #614
- Update
object
andaddr2line
dependencies by @a1phyr in #612 - Fix tests for rust 1.79 by @workingjubilee in #621
- Remove unused
libbacktrace
andgimli-symbolize
features by @Enselic in #615 - remove some instances of dead_code by @klensy in #619
- Reduce panics in dbghelp by @ChrisDenton in #608
- Add Apple visionOS support by @QuentinPerez in #613
- Update cc crate to v1.0.97 by @jfgoog in #623
- chore: add docs for the global re-entrant lock by @Gankra in #609
- Test with lld-compatible args by @workingjubilee in #627
- Bump rustc-demangle version by @michaelwoerister in #624
- cleanup dead_code around cpp_demangle feature by @klensy in #622
- Cut backtrace 0.3.72 by @workingjubilee in #628
New Contributors
- @Enselic made their first contribution in #615
- @QuentinPerez made their first contribution in #613
- @Gankra made their first contribution in #609
Full Changelog: 0.3.71...0.3.72
0.3.71
This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly.
What's Changed
- Make sgx functions exist with cfg(miri) by @saethlin in #591
- Update version of cc crate by @jfgoog in #592
- Pull back MSRV on Windows by @workingjubilee in #598
- Force frame pointers on all i686 tests by @workingjubilee in #601
- Use rustc from stage0 instead of stage0-sysroot by @Nilstrieb in #602
- Cut backtrace 0.3.71 by @workingjubilee in #599
New Contributors
- @jfgoog made their first contribution in #592
- @Nilstrieb made their first contribution in #602
Full Changelog: 0.3.70...0.3.71
0.3.70
New API
Platform Support
We added support for new platforms in this release!
- Thanks to @bzEq in #508 we now have AIX support!
- Thanks to @sthibaul in #567 we now have GNU/Hurd support!
- Thanks to @dpaoliello in #587 we now support "emulation-compatible" AArch64 Windows (aka arm64ec)
Windows
- Rewrite msvc backtrace support to be much faster on 64-bit platforms by @wesleywiser in #569
- Fix i686-pc-windows-gnu missing dbghelp module by @wesleywiser in #571
- Fix build errors on
thumbv7a-*-windows-msvc
targets by @kleisauke in #573 - Fix panic in backtrace symbolication on win7 by @roblabla in #578
- remove few unused windows ffi fn by @klensy in #576
- Make dbghelp look for PDBs next to their exe/dll. by @michaelwoerister in #584
- Revert 32-bit dbghelp to a version WINE (presumably) likes by @ChrisDenton in #588
- Update for Win10+ by @ChrisDenton in #589
SGX
Thanks to
Internals
We did a bunch more work on our CI and internal cleanups
- Modularise CI workflow and validate outputs for binary size checks. by @detly in #549
- Commit Cargo.lock by @bjorn3 in #562
- Enable calling build.rs externally v2 by @pitaj in #568
- Upgrade to 2021 ed and inline panics by @nyurik in #538
- Fix deny(unused) of an unused import with SGX + Miri by @saethlin in #581
- Fix unused_imports warning on latest nightly by @ChrisDenton in #575
- Fix CI by @saethlin in #582
- Use
addr_of!
by @GrigorenkoPV in #585 - Write down MSRV policy by @workingjubilee in #561
- Apply clippy::uninlined_format_args fixes by @nyurik in #486
- ignore clippy lints in
symbolize/gimli/stash.rs
by @onur-ozkan in #586
New Contributors
- @nyurik made their first contribution in #538
- @bzEq made their first contribution in #508
- @bjorn3 made their first contribution in #562
- @sthibaul made their first contribution in #567
- @mzohreva made their first contribution in #566
- @wesleywiser made their first contribution in #569
- @kleisauke made their first contribution in #573
- @roblabla made their first contribution in #578
- @michaelwoerister made their first contribution in #584
- @dpaoliello made their first contribution in #587
- @GrigorenkoPV made their first contribution in #585
- @fraillt made their first contribution in #526
- @onur-ozkan made their first contribution in #586
Full Changelog: 0.3.69...0.3.70
0.3.69
Thank you everyone for contributing to a very nice release!
Tracking Binary Size
As backtrace-rs is compiled into every single Rust program, we have begun tracking its binary size in order to find ways to reduce its impact on programs that only minimally use backtraces over time. This change is mostly relevant to this crate's CI, and has been implemented by @Kobzol and @detly over PRs #542, #544, #546, and #550!
Platform-Specific Fixes
As usual, the majority of PRs for this release only affect 1 or 2 platforms. Technically, even the binary-size tracking is only implemented to track binary size on x86_64-unknown-linux-gnu
.
fuchsia
Backtraces for Fuchsia will now uses extended symbolization thanks to @liudangyi in #559
unix (with procfs
)
Many Unix-y platforms support /proc
, including Linux and FreeBSD, but not OpenBSD. For those which do, backtrace uses /proc/self/maps
to assist in recovering the trace. We did not parse the output of /proc/self/maps
in a way that accounted for the fact that it may have spaces in path names, but this was fixed thanks to @MasonRemaley in #553
windows-msvc
Some changes that should help binary size specifically on Windows MSVC targets, or at least compile times, have already been implemented, thanks to @klensy in #543 omitting compiling-in ELF backtrace capabilities. We don't have full binary size tracking for all major supported operating systems yet, so we believe this is worth 30KiB but that's more of an estimate than hard stats.
Dependency Management
- Update addr2line and object dependencies by @philipc in #557
- Exclude ci directory from packaged crate by @mulkieran in #555
- Enable calling build.rs directly from std/build.rs by @pitaj in #556
New Contributors
- @Kobzol made their first contribution in #542
- @detly made their first contribution in #550
- @liudangyi made their first contribution in #559
- @MasonRemaley made their first contribution in #553
- @mulkieran made their first contribution in #555
- @pitaj made their first contribution in #556
- @klensy made their first contribution in #543
Full Changelog: 0.3.68...0.3.69
0.3.68
A bunch of behind-the-scenes work on upgrading CI has finally got things to a place where we can do confident releases again, so hopefully the next backtrace version will not take 6 months! Thanks to everyone who contributed to that! Most of the user-facing changes are about dependency updates and consequent improved platform compatibility, including with split DWARF. A few new functions on BacktraceFmt should also make it easier to inject additional text into backtrace's output.
- Adapt to new Fuchsia target name by @flba-eb in #509
- armv7 PSVita OS support by @nikarh in #523
- Upgrade addr2line and properly handle split DWARF on Linux by @khuey in #513
- deps: update miniz_oxide to 0.7 by @poliorcetics in #521
- Add print in BacktraceFmt by @chenyukang in #527
- Bump object to 0.31 by @lnicola in #522
- Add an exception for QNX Neutrino 7.0 as a 'no-op' platform by @samkearney in #529
- Use mmap64 on Linux. by @mikebenfield in #501
- dbghlp: Make mutex name unique to the process by @ChrisDenton in #518
- gimli add netbsd to handle dl_iterate_phdr as well. by @devnexen in #512
- Add other apple targets to libunwind workaround by @thomcc in #516
- Add fmt method for BacktraceFmt by @chenyukang in #532
New Contributors
- @bwmf2 made their first contribution in #515
- @flba-eb made their first contribution in #509
- @nikarh made their first contribution in #523
- @poliorcetics made their first contribution in #521
- @GuillaumeGomez made their first contribution in #524
- @chenyukang made their first contribution in #527
- @lnicola made their first contribution in #522
- @samkearney made their first contribution in #529
- @mikebenfield made their first contribution in #501
- @devnexen made their first contribution in #512
- @thomcc made their first contribution in #516
- @workingjubilee made their first contribution in #533
- @chriswailes made their first contribution in #534
Full Changelog: 0.3.67...0.3.68
0.3.67
What's Changed
- make a private function private by @RalfJung in #478
- Remove windows-i686-gnu CI by @alexcrichton in #480
- Obey the return value from the trace visitor under Miri by @saethlin in #476
- Be compatible with -Zmiri-strict-provenance by @saethlin in #477
- Explicitly link kernel32.lib by @ChrisDenton in #482
- Bump miniz_oxide to 0.6 by @paolobarbolini in #483
- Use /proc/self/maps when available instead of std::env::current_exe by @pnkfelix in #488
- Fix dupe word typos by @Rageking8 in #490
- C/C++ module file and line number are not looked up: addr2line 0.18.0 fixes it by @bsekura in #492
- Update/remove outdated comments by @glandium in #496
- Update dependencies by @a1phyr in #495
- Change "OSX" to "macOS" by @atouchet in #491
- Use SPDX license format by @atouchet in #464
- Prepare 0.3.67 releaase by @JohnTitor in #498
New Contributors
- @saethlin made their first contribution in #476
- @ChrisDenton made their first contribution in #482
- @paolobarbolini made their first contribution in #483
- @pnkfelix made their first contribution in #488
- @Rageking8 made their first contribution in #490
- @bsekura made their first contribution in #492
- @glandium made their first contribution in #496
Full Changelog: 0.3.66...0.3.67