14 KiB
14 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
0.8.9 - 2024-04-01
Fixed
- PR#110 changed it so that
SIGCONTis sent regardless if the process was not able to beSIGSTOPed quickly enough. - PR#113 fixed a segfault(!) on linux if it was compiled with rustc 1.77.0 in release mode.
0.8.8 - 2024-03-21
Fixed
- PR#108 resolved #28 by sending a
SIGSTOPto the process that is about to be dumped to (hopefully) increase the robustness of the dumping process by reducing the chance of errors, particularly with regard to threads. This is done as a best effort, and will perform the old behavior if the process has not stopped within a timeout (by default 100ms), which can be overriden by the user.
0.8.7 - 2024-03-04
Changed
- PR#106 bumped
minidump-common,minidump,minidump-processor, andminidump-unwind-> 0.21.
0.8.6 - 2024-02-26
Changed
- PR#104 slightly tweaked .so version parsing in the case of more "exotic" versions such as
libdbus-1.so.3.34.2rc5. Previously this was parsed as3.34.25but would cause ambiguity if there was ever an actual .25 patch/age in the future. Now, the last version is parsed as 1-2 numbers, ignoring non-digit characters if the last component has them. If 2 numbers are parsed, the last number is now placed in VS_FIXEDFILEINFO::product_version_lo so that it is distinct from the patch/age component placed in VS_FIXEDFILEINFO::product_version_hi.
0.8.5 - 2024-02-23
Added
- PR#103 added
.sofile versions as additional metadata to minidumps, resolving this Mozilla bug. There is no true standard for .so file versions, so this is a best effort to pull what version information we can from the .so filename. The version components aremajor.minor.releasesimilarly to semver, wheremajor-> VS_FIXEDFILEINFO::file_version_hi,major-> VS_FIXEDFILEINFO::file_version_lo, andrelease-> VS_FIXEDFILEINFO::product_version_hilibmozsandbox.so->0.0.0libstdc++.so.6.0.32->6.0.32libcairo-gobject.so.2.11800.0->2.11800.0libm.so.6->6.0.0libabsl_time_zone.so.20220623.0.0->20220623.0.0libdbus-1.so.3.34.2rc5->3.34.25
0.8.4 - 2024-02-15
Changed
0.8.3 - 2023-11-07
Added
- PR#94 added support for writing file information for every file open in the process the dump is being performed for into the
MINIDUMP_HANDLE_DATA_STREAMstream. - PR#90 added support for including the
/proc/<pid>/limitsfile in theMozLinuxLimitsstream. This information can be used together with the file information described above to diagnose situations where the process was killed by the kernel due to file handle limits being hit. Thanks @lissyx!
Changed
- PR#94 updated several dependencies to align with
minidump-common, which was also bumped.
0.8.2 - 2023-09-21
Added
- PR#86 added support for
i686-android-linux.
Fixed
- PR#85 removed the dependency on
chrono. - PR#89 resolved #88 by merging ranges that were mapped, but had 1 or more unmapped ranges in between them.
Changed
- PR#87 updated some dependencies.
0.8.1 - 2023-06-21
Added
- PR#70 resolved #8 by adding support for writing
MemoryInfoListStreamon Linux/Android targets, this allows minidump consumers to process minidumps more easily without needing to parse and understand Linux-specific information. Thanks @afranchuk! - PR#81 stabilized
armandaarch64support forunknown-linuxandlinux-android, as well as adding support forx86_64-linux-android.
Changed
- PR#70 replaced the custom reading of procfs information used when generating a minidump on Linux to use the
procfscrate instead, removing a bunch of code. - PR#80 along with PR#84 replaced
procfswithprocfs-core, removing unneeded dependencies such aswindows-sys.
Fixed
- PR#78 resolved #24 by ignoring guard pages when dumping the stack to the minidump in the event of a stack overflow.
- PR#83 resolved #82 by correctly aligning a structure.
0.8.0 - 2023-04-03
Removed
- PR#77 removed the dependency on
winapi, all bindings are either part ofminidump-writerorcrash-contextnow.
Changed
Fixed
- PR#68 resolved #29 by ignoring the bening
ESRCHerror when detaching pthreads. Thanks @afranchuk! - PR#74 resolved #73 by ensuring the
NT_GNU_BUILD_IDsection had the proper correctGNUname before using it as the build identifier.
0.7.0 - 2022-11-17
Changed
- PR#65 updated
crash-contextto 0.5, which has support for a customcapture_contextto replaceRtlCaptureContexton Windows, due to improper bindings and deficiencies, resolving #63. - PR#65 replaced most of the custom bindings from PR#60 with bindings from either
crash-contextorwinapi.
0.6.0 - 2022-11-15
Changed
- PR#60 removed the dependency on
windows-sysdue the massive version churn, resolving #58. This should allow projects to more easily integrate this crate into their project without introducing multiple versions of transitive dependencies. - PR#62 replaced
MDExceptionCodeLinuxwithminidump_common::ExceptionCodeLinux. - PR#64 updated dependencies.
0.5.0 - 2022-10-21
Changed
- PR#53 made the
mem_writeranddir_sectionmodules public. Thanks @sage-msft! - PR#55 bumped
nix,minidump-common,minidump,minidump-processoranddump_syms. Thanks @sfackler! - PR#57 bumped
windows-systo 0.42.
Removed
- PR#56 removed the writing of the HandleOperationListStream stream, as it was essentially untested and was of dubious usefulness.
0.4.0 - 2022-07-21
Changed
- PR#50 updated
minidump-commonandcrash-context.
Fixed
- PR#50 resolved #33 by encoding the full exception info in the
exception_informationfield of the exception stream. - PR#50 resolved #34 by unwrapping
EXC_CRASHexceptions to retrieve the wrapped exception.
0.3.1 - 2022-07-18
Fixed
0.3.0 - 2022-07-15
Fixed
- PR#42 resolved #41 by capping the VM read of task memory to avoid a syscall failure, as well as made it so that if an error does occur when reading the module's file path, the module is still written to the minidump, as the file path is less important than the UUID in terms of module identification.
- PR#44 resolved #43 by correctly calculating the base address of each loaded module. The bug was inherited from Breakpad.
- PR#44 and PR#45 resolved #37 by making the
crash_context::CrashContextoptional on MacOS and Windows, to make creating a minidump without necessarily having an actual crash more convenient for users.
0.2.1 - 2022-05-25
Added
0.2.0 - 2022-05-23
Added
- PR#21 added an initial implementation for
x86_64-apple-darwinandaarch64-apple-darwin
0.1.0 - 2022-04-26
Added
- Initial release, including basic support for
x86_64-unknown-linux-gnu/muslandx86_64-pc-windows-msvc