Skip to content

Releases: rust-lang/backtrace-rs

0.3.74

31 Aug 04:34
38d49aa
Compare
Choose a tag to compare

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
  • 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

Full Changelog: 0.3.73...0.3.74

0.3.73

12 Jun 03:51
72265be
Compare
Choose a tag to compare

This basically just is bugfixes so that backtrace works on Windows 7 again.

What's Changed

New Contributors

Full Changelog: 0.3.72...0.3.73

0.3.72

28 May 02:49
5e05efa
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 0.3.71...0.3.72

0.3.71

22 Mar 22:16
7be8953
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 0.3.70...0.3.71

0.3.70

10 Mar 19:44
ddf1b89
Compare
Choose a tag to compare

New API

  • A BacktraceFrame can now have resolve(&mut self) called on it thanks to @fraillt in #526

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

SGX

Thanks to

  • Adjust frame IP in SGX relative to image base by @mzohreva in #566

Internals

We did a bunch more work on our CI and internal cleanups

New Contributors

Full Changelog: 0.3.69...0.3.70

0.3.69

22 Aug 19:31
99faef8
Compare
Choose a tag to compare

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

Full Changelog: 0.3.68...0.3.69

0.3.68

30 Jun 00:25
e1c49fb
Compare
Choose a tag to compare

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.

New Contributors

Full Changelog: 0.3.67...0.3.68

0.3.67

14 Dec 23:19
8ad84ca
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.3.66...0.3.67