human-panic
Panic messages for humans
2.0.8
13M downloads/mo
#2734 most downloaded on crates.io
rust-cli/human-panic
What this package is like to depend on
Last release 4 months ago
02 Apr 2026
Ships fairly regularly
a new release about every 3 months
Most releases are documented
notes for 20 of 26 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
27 releases · first in 2018
5 releases in the last 12 months
see the full history below
Release timeline
27 releases · Apr 2018 to Apr 2026Releases
latest 27-
2.0.802 Apr 2026 -
2.0.731 Mar 2026Release notes
Open source →Fixes
- Don't write to tmpdir in CI
- Remove "embarrassing" comment
- Skip file write failure message since it is redundant
-
2.0.629 Dec 2025Release notes
Open source →Features
- Added
Metadata::repositoryas a fallback forMetadata::homepage
- Added
-
2.0.526 Dec 2025Release notes
Open source →Performance
- Improve build times on some platforms by changing from
os_infotosysinfo
- Improve build times on some platforms by changing from
-
2.0.428 Oct 2025 -
2.0.308 Jul 2025 -
2.0.210 Oct 2024 -
2.0.125 Jul 2024 -
2.0.017 Apr 2024Release notes
Open source →Compatibility
- Update MSV to 1.73
PanicStyleis now non-exhaustiveMethodis now non-exhaustiveMetadatas fields are now private, requiring setters
Features
- Add
Metadata::supportfor where to send reports
-
1.2.312 Jan 2024 -
1.2.206 Nov 2023Release notes
Open source →Performance
- Improve build times by only pullin in
tomlrendering, not parsing
- Improve build times by only pullin in
-
1.2.128 Sep 2023 -
1.2.024 Aug 2023Release notes
Open source →Compatibility
- Update MSV to 1.70.0
Performance
- Improve build times by dropping
is-terminaldependency
-
1.1.513 Jun 2023 -
1.1.413 Apr 2023 -
1.1.316 Mar 2023 -
1.1.215 Mar 2023Release notes
Open source →Compatibility
- Update MSRV to 1.64.0
Fixes
- Correctly handle
CLICOLOR=1 - Correctly handle
NO_COLOR= - Auto-enable color for CI
- Update a macro to use
$crate
-
1.1.101 Mar 2023 -
1.1.001 Feb 2023Release notes
Open source →Features
- Expose
metadata!constructor - Expose
PanicStyle::default()for knowing which handler to use::
Fixes
- Detect when color can be used
- Make color optional (opt-out)
- Expose
-
1.0.322 Mar 2020Nothing published for this version
-
1.0.220 Mar 2020 withdrawnNothing published for this version
-
1.0.123 Aug 2018Nothing published for this version
-
1.0.028 May 2018Nothing published for this version
-
0.4.019 Apr 2018Nothing published for this version
-
0.3.018 Apr 2018Release notes
Open source →Commits
- [
650df0bf4d] (cargo-release) version 0.3.0 (Yoshua Wuyts) - [
a3ec0ddb97] Fixing wrong data in certain crash dump fields (#15)
Fixing a bug in the log dumps
- Carrying over metadata from first macro call to properly include metadata in crash dumps.
- Making Method derive Copy (Katharina)
- [
ed11055e06] Merge pull request #16 from killercup/docs
Ensure no docs are missing (Pascal Hertleif)
- [
4540d77276] Fix typos (#14)
- Correct typo embarrassing
- Fix typos (Andy Slack)
- [
9e972ef654] Ensure no docs are missing (Pascal Hertleif) - [
b82ac5c35a] Merge pull request #11 from skade/update-readme
Update README with current interface (Pascal Hertleif)
- [
21c5417580] Update README with current interface (Florian Gilcher) - [
d86232967d] Merge pull request #10 from killercup/rollup
Rollup (Pascal Hertleif)
- [
80046e1488] Use more generic way to get a Path (Pascal Hertleif) - [
dc05d332a0] Merge skade-join-properly into rollup (Pascal Hertleif) - [
2e0127c830] Merge yoshuawuyts-fix-example into rollup (Pascal Hertleif) - [
fc16cb8ac2] Update Cargo.lock (Pascal Hertleif) - [
e53059ff3c] rustfmt (Pascal Hertleif) - [
a51285bb10] Properly handle file paths using Path and PathBuf (Florian Gilcher) - [
82ebdccb5a] make clippy pass for real this time (Yoshua Wuyts) - [
2297066f50] please clippy (Yoshua Wuyts) - [
b1ec2b5b7b] fix examples (Yoshua Wuyts) - [
369ca4e526] Bumpding version, adding author (Katharina) - [
31e1d9ada2] Cleaning up warnings for the big rebase (Katharina Sabel) - [
3ffa055d57] Attempting to fix theerrexample using the failures crate (Katharina Sabel) - [
5214754bc0] Adding a bit of padding in the log (Katharina Sabel) - [
031b2b846b] Merging advanced report functionality. (Katharina Sabel) - [
7a2e923075] Merging #4 by yoshuawuyts
This commit adds the ability to generate reports based on an application crash. It hooks into the existing panic handler and also exposes the report generation feature via a
pub fn(Katharina Sabel)- [
7dc354b88e] Preparing for cherrypick (Katharina Sabel) - [
5002578d8f] Cleaning up merge artefact (Katharina Sabel) - [
bd4526a315] Changing the core functionality of the crate
Instead of having to wrap around every panic, this now uses
set_hookonce to register the callback to print a pretty status message. This also has the added benefit of pulling in env! calls because the main setup was made into a macro.Optionally the two core functions (print_help and dump_log) can now also be used without the core macro, because they are
pub fn(Katharina Sabel)- Stable and slim (#1)
- Make it compile on stable
Also adds a nightly feature flag that will automatically be picked up by docs.rs to build nice docs.
- Make clippy a CI-only dependency
You can run
cargo clippylocally to get the same effect. I've also taken the liberty to nail down the rustfmt version to use, so we can update it explicitly. (This is the same CI setup that assert_cli uses.)- Get rid of all dependencies for now
Improves compile times :trollface:
- Use termcolor for colored output
This should make it compatible with windows consoles.
-
Set up some kind of error handling for the hook
-
rustfmt
-
Bump clippy
and choose a nightly that actually exists.
- Make clippy happy (Pascal Hertleif)
- [
c04ae22d1e] update readme output (Yoshua Wuyts) - [
4a35c860fd] upgrade desc (Yoshua Wuyts) - [
ccaf3bce86] init (Yoshua Wuyts) - [
a7135d1e8c] catch (Yoshua Wuyts) - [
0129328ce4] . (Yoshua Wuyts)
Stats
.editorconfig | 25 +-- .gitignore | 3 +- .travis.yml | 8 +- Cargo.lock | 391 +++++++++++++++++++++++++++++++++- Cargo.toml | 11 +- README.md | 51 +---- examples/panic.rs | 9 +- src/lib.rs | 130 ++--------- src/report.rs | 22 +-- tests/custom-panic/Cargo.toml | 10 +- tests/custom-panic/src/main.rs | 14 +- tests/custom-panic/tests/integration.rs | 16 +- tests/single-panic/Cargo.toml | 10 +- tests/single-panic/src/main.rs | 9 +- tests/single-panic/tests/integration.rs | 14 +- 15 files changed, 442 insertions(+), 281 deletions(-)<!-- next-url --> [Unreleased]: https://github.com/rust-cli/human-panic/compare/v2.0.8...HEAD [2.0.8]: https://github.com/rust-cli/human-panic/compare/v2.0.7...v2.0.8 [2.0.7]: https://github.com/rust-cli/human-panic/compare/v2.0.6...v2.0.7 [2.0.6]: https://github.com/rust-cli/human-panic/compare/v2.0.5...v2.0.6 [2.0.5]: https://github.com/rust-cli/human-panic/compare/v2.0.4...v2.0.5 [2.0.4]: https://github.com/rust-cli/human-panic/compare/v2.0.3...v2.0.4 [2.0.3]: https://github.com/rust-cli/human-panic/compare/v2.0.2...v2.0.3 [2.0.2]: https://github.com/rust-cli/human-panic/compare/v2.0.1...v2.0.2 [2.0.1]: https://github.com/rust-cli/human-panic/compare/v2.0.0...v2.0.1 [2.0.0]: https://github.com/rust-cli/human-panic/compare/v1.2.3...v2.0.0 [1.2.3]: https://github.com/rust-cli/human-panic/compare/v1.2.2...v1.2.3 [1.2.2]: https://github.com/rust-cli/human-panic/compare/v1.2.1...v1.2.2 [1.2.1]: https://github.com/rust-cli/human-panic/compare/v1.2.0...v1.2.1 [1.2.0]: https://github.com/rust-cli/human-panic/compare/v1.1.5...v1.2.0 [1.1.5]: https://github.com/rust-cli/human-panic/compare/v1.1.4...v1.1.5 [1.1.4]: https://github.com/rust-cli/human-panic/compare/v1.1.3...v1.1.4 [1.1.3]: https://github.com/rust-cli/human-panic/compare/v1.1.2...v1.1.3 [1.1.2]: https://github.com/rust-cli/human-panic/compare/v1.1.1...v1.1.2 [1.1.1]: https://github.com/rust-cli/human-panic/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/rust-cli/argfile/compare/v1.0.3...v1.1.0 [v1.0.3]: https://github.com/rust-cli/argfile/compare/1.0.1...v1.0.3
- [
-
0.2.017 Apr 2018Nothing published for this version
-
0.1.015 Apr 2018Nothing published for this version