8000 minidump-writer/CHANGELOG.md at 0.8.5 · rust-minidump/minidump-writer · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
136 lines (109 loc) · 11.7 KB

CHANGELOG.md

File metadata and controls

136 lines (109 loc) · 11.7 KB

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.5 - 2024-02-23

Added

  • PR#103 added .so file 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 are major.minor.release similarly to semver, where major -> VS_FIXEDFILEINFO::file_version_hi, major -> VS_FIXEDFILEINFO::file_version_lo, and release -> VS_FIXEDFILEINFO::product_version_hi
    • libmozsandbox.so -> 0.0.0
    • libstdc++.so.6.0.32 -> 6.0.32
    • libcairo-gobject.so.2.11800.0 -> 2.11800.0
    • libm.so.6 -> 6.0.0
    • libabsl_time_zone.so.20220623.0.0 -> 20220623.0.0
    • libdbus-1.so.3.34.2rc5 -> 3.34.25

0.8.4 - 2024-02-15

Changed

  • PR#97 bumped goblin -> 0.8.
  • PR#99 bumped minidump-common -> 0.20, scroll -> 0.12, memmap2 -> 0.9.

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_STREAM stream.
  • PR#90 added support for including the /proc/<pid>/limits file in the MozLinuxLimits stream. 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 MemoryInfoListStream on 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 arm and aarch64 support for unknown-linux and linux-android, as well as adding support for x86_64-linux-android.

Changed

  • PR#70 replaced the custom reading of procfs information used when generating a minidump on Linux to use the procfs crate instead, removing a bunch of code.
  • PR#80 along with PR#84 replaced procfs with procfs-core, removing unneeded dependencies such as windows-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 of minidump-writer or crash-context now.

Changed

  • PR#77 closed #67 by allowing the user to specify the MinidumpType flags when creating a minidump.

Fixed

  • PR#68 resolved #29 by ignoring the bening ESRCH error when detaching pthreads. Thanks @afranchuk!
  • PR#74 resolved #73 by ensuring the NT_GNU_BUILD_ID section had the proper correct GNU name before using it as the build identifier.

0.7.0 - 2022-11-17

Changed

  • PR#65 updated crash-context to 0.5, which has support for a custom capture_context to replace RtlCaptureContext on 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-context or winapi.

0.6.0 - 2022-11-15

Changed

  • PR#60 removed the dependency on windows-sys due 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 MDExceptionCodeLinux with minidump_common::ExceptionCodeLinux.
  • PR#64 updated dependencies.

0.5.0 - 2022-10-21

Changed

  • PR#53 made the mem_writer and dir_section modules public. Thanks @sage-msft!
  • PR#55 bumped nix, minidump-common, minidump, minidump-processor and dump_syms. Thanks @sfackler!
  • PR#57 bumped windows-sys to 0.42.

Removed

0.4.0 - 2022-07-21

Changed

  • PR#50 updated minidump-common and crash-context.

Fixed

  • PR#50 resolved #33 by encoding the full exception info in the exception_information field of the exception stream.
  • PR#50 resolved #34 by unwrapping EXC_CRASH exceptions to retrieve the wrapped exception.

0.3.1 - 2022-07-18

Fixed

  • PR#47 resolved #46 by handling the special case of dyld.

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::CrashContext optional 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

  • PR#32 resolved #23 by adding support for the thread names stream on MacOS.

0.2.0 - 2022-05-23

Added

  • PR#21 added an initial implementation for x86_64-apple-darwin and aarch64-apple-darwin

0.1.0 - 2022-04-26

Added

  • Initial release, including basic support for x86_64-unknown-linux-gnu/musl and x86_64-pc-windows-msvc
0