Skip to content

chore(release): 0.7.5 - #14

Merged
krassx merged 1 commit into
mainfrom
chore/release-0.7.5
Aug 24, 2026
Merged

chore(release): 0.7.5#14
krassx merged 1 commit into
mainfrom
chore/release-0.7.5

Conversation

@krassx

@krassx krassx commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Release PR for v0.7.5 — dependency and security maintenance.

No functional changes. git diff v0.7.4..main -- src/ is empty; not one line
of shipped source changed since 0.7.4. The CLI surface, exit codes, stdout JSON
shapes, and upload wire format are identical, so no integrator needs to move its
version floor.

Why release at all

Two security fixes that actually reach the shipped binary:

Fix Advisory Reachable?
quick-xml 0.39.4 → 0.41.0 (via plist) RUSTSEC-2026-0194, RUSTSEC-2026-0195 — XML parsing DoS Yesbuild-env read-plist parses XML Info.plist through plist
time 0.3.48 → 0.3.55 (via plist) 0.3.48 yanked upstream; shipped since before 0.7.4 Yes

cargo audit also flags quinn-proto (RUSTSEC-2026-0185) and h2
(RUSTSEC-2026-0258). Neither applies: both are absent from the release build —
reqwest is configured without http2, and h2 is pulled in only by the
wiremock dev-dependency. Verified by counting compiled artifacts in
target/release/deps rather than trusting the lockfile. h2 will keep showing
up in cargo audit output; it is not in the binary.

Also carries the accumulated dependabot batch (PRs #1#12) and the fixes from
#10/#13.

Notable non-security changes

  • zip 2.4.2 → 8.6.0, across two majors. Archive output diffed against a
    binary built from e7de272 (pre-dependabot): byte-identical — same entry
    names, STORED artefacts, method 93 (Z_STANDARD) mappings, fixed 1980-01-01
    timestamps, same extract-version and flag bits.
  • sha1/sha2/md-5 0.10 → 0.11. Content fingerprints, chunk identities,
    and md5-derived Java-compatible BUILD_UUIDs all unchanged.
  • MSRV declared 1.88, correcting a stale 1.79. This documents reality rather
    than dropping support — the locked tree already required 1.88 via gimli,
    globset, plist, time, and had for several releases. No toolchain that
    could build 0.7.4 loses the ability to build 0.7.5. Source builds only;
    released binaries unaffected.
  • indicatif removed — declared but referenced nowhere. Also prunes the
    unmaintained number_prefix (RUSTSEC-2025-0119).

Validation

Full local CI replication, matching the workflows exactly (RUSTFLAGS="-D warnings",
cargo test --all-targets):

check result
rustfmt pass
clippy pass
test pass — 455 passed, 0 failed
e2e (17 flows) pass
dist plan pass
cargo +1.88 check --all-targets pass
cargo audit clean except dev-only h2
wire format vs v0.7.4 byte-identical
--version bugsee-cli 0.7.5

After merge

Tag v0.7.5 and push it to trigger release.yml (cargo-dist builds the five
target triples + GitHub Release + installers), then mirror-to-s3.yml for
download.bugsee.com/cli/0.7.5/.

🤖 Generated with Claude Code

Dependency and security maintenance. No functional changes — the CLI surface,
exit codes, stdout JSON shapes, and upload wire format are byte-for-byte
identical to 0.7.4, so no integrator needs to move its version floor.

Security fixes that reach the shipped binary:

- `quick-xml` 0.39.4 -> 0.41.0 (via `plist`) — RUSTSEC-2026-0194 (quadratic run
  time checking a start tag for duplicate attribute names) and RUSTSEC-2026-0195
  (unbounded namespace-declaration allocation in `NsReader`). Reachable:
  `build-env read-plist` parses XML Info.plist files through `plist`.
- `time` 0.3.48 -> 0.3.55 — 0.3.48 was yanked upstream and had shipped since
  before 0.7.4.

The `quinn-proto` and `h2` advisories flagged by `cargo audit` do NOT apply: both
are absent from the release build (`reqwest` is configured without `http2`; `h2`
comes only from the `wiremock` dev-dependency). Verified by inspecting compiled
artifacts rather than trusting the lockfile.

Also carries the accumulated dependabot batch — `zip` 2.4.2 -> 8.6.0 across two
majors, `sha1`/`sha2`/`md-5` 0.10 -> 0.11, tokio 1.52 -> 1.53 and friends — plus
the removal of the unused `indicatif`, the MSRV correction to the real 1.88
floor, and the `allow-dirty = ["ci"]` fix that unbroke tag releases.

Archive output was diffed against a v0.7.4-built binary and is byte-identical:
same entry names, STORED artefacts, method 93 mappings, fixed 1980-01-01 stamps.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@krassx
krassx merged commit d561b4d into main Aug 24, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant