Skip to content

chore(deps): bump sysinfo 0.31 -> 0.38#20

Open
nedseb wants to merge 1 commit into
mainfrom
feat/sysinfo-0.38
Open

chore(deps): bump sysinfo 0.31 -> 0.38#20
nedseb wants to merge 1 commit into
mainfrom
feat/sysinfo-0.38

Conversation

@nedseb
Copy link
Copy Markdown
Contributor

@nedseb nedseb commented Apr 28, 2026

Summary

Last of the held-back majors from #16. After auditing our usage in src/disk_tool.rs, the bump is API-compatible across 0.31 -> 0.38:

for disk in Disks::new_with_refreshed_list().list() {
    disk.name()             // &OsStr — unchanged
    disk.mount_point()      // &Path — unchanged
}

No code changes needed.

Relationship with #18 and #19

This PR is branched from main (not stacked on top of #18 / #19), so its diff intentionally only touches sysinfo — the iced 0.14 and directories 6 lines you'd expect from the held-back-majors list are coming via their own PRs and aren't in this manifest yet. Each can land in any order; conflicts (if any) will be Cargo.lock churn that GitHub auto-resolves.

Test plan

  • cargo build --release --locked green locally.
  • cargo test --release --locked green (4 tests still pass).
  • Disk-listing path itself isn't exercised by tests or smoke (it requires a mounted MAINTENANCE drive). Would be validated end-to-end by the next DapLink flash run after merge.
  • CI matrix on this PR.

Major-version follow-ups

With this PR + #18 + #19 landed, all the held-back majors from #16 are covered:

The only API surface we touch is `Disks::new_with_refreshed_list().list()`
followed by `disk.name()` / `disk.mount_point().file_name()` (in
src/disk_tool.rs). All four are unchanged across the 0.31 -> 0.38
range, so this is a clean drop-in.

Smoke test: cargo build --release --locked / cargo test green.
The disk-listing path itself wasn't exercised in CI (it requires a
mounted MAINTENANCE drive), but the call signatures compile and there
are no API rename warnings on disk_tool.rs.
Copilot AI review requested due to automatic review settings April 28, 2026 14:08
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the sysinfo dependency from the 0.31 line to the 0.38 line, refreshing the lockfile accordingly.

Changes:

  • Bump sysinfo dependency requirement in Cargo.toml.
  • Regenerate Cargo.lock to resolve sysinfo 0.38.4 and updated transitive dependencies (notably windows and objc2-* crates).

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
Cargo.toml Updates the sysinfo dependency version requirement.
Cargo.lock Updates resolved sysinfo version and transitive dependency graph.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Cargo.toml
iced_fonts = { version = "0.1.1", features = [] }
rfd = { version = "0.15.0", default-features = false, features = ["gtk3"] }
sysinfo = "0.31.4"
sysinfo = "0.38"
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes the sysinfo requirement from a fully pinned patch version (0.31.4) to an unpinned minor (0.38), which will allow future 0.38.x upgrades without a manifest change. If you want to keep dependency versioning consistent/predictable, consider pinning to the specific patch you validated (e.g. 0.38.4).

Suggested change
sysinfo = "0.38"
sysinfo = "0.38.4"

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Declining — staying with the caret-style minor pin ("0.38">=0.38.0, <0.39.0) keeps this consistent with the rest of Cargo.toml (e.g. iced = "0.14", directories = "6", async-io = "2"). Reproducibility is enforced via Cargo.lock, which CI uses with --locked. Pinning to a specific patch in Cargo.toml would be stricter than our current convention without giving us anything Cargo.lock doesn't already.

Comment thread Cargo.toml
Comment on lines 9 to +13
iced = "0.13.1"
iced_aw = { version = "0.11.0", default-features = false, features = ["grid", "number_input", "tab_bar"] }
iced_fonts = { version = "0.1.1", features = [] }
rfd = { version = "0.15.0", default-features = false, features = ["gtk3"] }
sysinfo = "0.31.4"
sysinfo = "0.38"
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description/checklist says earlier major bumps (e.g. iced 0.14, directories 6) are already landed, but this manifest still has iced = "0.13.1" (and directories is still on 5.x just above this hunk). Please either update the PR description to match the current dependency state, or include the corresponding version bumps in this PR if that was the intent.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — the original PR description was misleading. Updated the body to clarify: this PR is branched from main, not stacked on #18 (iced 0.14) or #19 (directories 6). Each is independent; the held-back-majors list in the description tracks what's landed across all three PRs, with this one being the sysinfo piece.

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.

2 participants