safe-read 0.2.0

Panic-free bounded integer readers over untrusted byte slices — the shared front door for offset/length fields parsed from attacker-controllable forensic images.
Documentation
# release-plz owns crates.io publishing + changelog + version bumps for safe-read.
# 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 when Cargo.toml's version is ahead of crates.io, and tags it

[workspace]
# Per-crate git tag, e.g. `safe-read-v0.2.0`.
git_tag_enable = true
git_release_enable = false
changelog_update = true
dependencies_update = false
# Only prepare a release on a real change. release-plz's 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 triggers.
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" },
]