forensic-mount 0.6.2

Mount forensic disk images, archives, and memory dumps as a filesystem on Linux, macOS, and Windows — ext4/NTFS/exFAT/HFS+/APFS/ISO, EWF/VMDK containers, zip/7z/tar, LiME/AVML/crash dumps
Documentation
# release-plz owns crates.io publishing + changelog + version bumps for the
# forensic-mount crate. It runs on pushes to main (see
# .github/workflows/release-plz.yml):
#   - `release-pr`  opens a human-reviewed version-bump PR (conventional commits)
#   - `release`     publishes the crate when its Cargo.toml version is ahead of
#                   crates.io and creates its git tag

[workspace]
# Package-prefixed tag, e.g. `forensic-mount-v0.5.1`. A single-crate repo's default
# tag would be a bare `v{{ version }}`, which collides with the fleet's binary
# `v[0-9]*` release trigger; the `{{ package }}-v` prefix has a letter (not a digit)
# after the first `v`, so it never matches that glob.
git_tag_name = "{{ package }}-v{{ version }}"
git_tag_enable = true
# Library crate gets a git tag + CHANGELOG entry, not a GitHub Release with assets.
git_release_enable = false
changelog_update = true
# Only prepare a release when a real change exists since the last one. release-plz's
# release detection is file-based, so a changelog-only "chore: release" commit
# otherwise re-triggers a release (the churn loop). This allowlist makes
# feat/fix/perf/refactor/doc/revert the only release triggers; chore/ci/test/style/
# build (incl. release-plz's own release commits) never prepare a release.
release_commits = "^(feat|fix|perf|refactor|doc|revert)"

[changelog]
commit_parsers = [
    { message = "^chore\\(release\\):", skip = true },
    { message = "^chore: release", skip = true },
    { message = "^feat", group = "added" },
    { message = "^fix", group = "fixed" },
    { message = "^perf", group = "performance" },
    { message = "^refactor", group = "other" },
    { message = "^doc", group = "documentation" },
    { message = "^revert", group = "other" },
    { message = "^style", skip = true },
    { message = "^test", skip = true },
    { message = "^ci", skip = true },
    { message = "^build", skip = true },
    { message = "^chore", skip = true },
    { message = "^.*", group = "other" },
]