Skip to content

chore(deps): bump compact_str 0.9 -> 0.10 - #6963

Merged
forkwright merged 1 commit into
mainfrom
chore/compact-str-0.10
Aug 24, 2026
Merged

chore(deps): bump compact_str 0.9 -> 0.10#6963
forkwright merged 1 commit into
mainfrom
chore/compact-str-0.10

Conversation

@forkwright

Copy link
Copy Markdown
Owner

What

Bumps compact_str from 0.9 to 0.10 in the root Cargo.toml workspace dependency table. Cargo.lock updates accordingly.

Why

Fleet alignment: harmonia and thumos both already declare compact_str = { version = "0.10", features = ["serde"] }. aletheia was the only fleet repo still on 0.9.

Compatibility check

Read the crate's changelog for the 0.9.x -> 0.10.0 gap: no explicit breaking API changes are listed. The notable items are an MSRV bump (1.60 -> 1.71 — aletheia pins rustc 1.97.1, no issue), new optional integrations with other crates (garde/schemars/valuable/pyo3/defmt/bevy-reflect/utoipa — none enabled here), perf work, and UB fixes in retain(), as_mut_bytes(), and from_utf8_lossy.

Grepped every CompactString/compact_str use site in the repo (crates/energeia, crates/krites — the only two crates that import it directly). All usage is CompactString::from(...), CompactString::new(...), and Into<CompactString> trait bounds. None of the sites use retain(), as_mut_bytes(), or from_utf8_lossy() on a CompactString, so the bugfix-affected surface isn't touched.

Verification

cargo check -p energeia -p krites (scoped CARGO_TARGET_DIR, own worktree) — exit 0, clean, no new warnings.

Cargo.lock now carries two compact_str entries: 0.10.0 for the workspace's own dependency, and 0.9.1 still pinned for tokenizers (a transitive dependency of episteme, which requires compact_str = "^0.9" and wasn't part of this change). Both resolve independently — no conflict, and this is the expected state for a 0.x crate with two independent requirement ranges in the graph.

Not verified

Did not run the crate's own test suite (workspace cargo test is out of scope per worktree constraints) — only cargo check on the two consuming crates. No behavioral/runtime testing beyond compile-time checking.

harmonia and thumos already declare compact_str 0.10 with the same
features = ["serde"]; aletheia was the last fleet repo on 0.9.

No breaking API changes between 0.9.x and 0.10.0 per the crate's
changelog (MSRV moved 1.60 -> 1.71, well below aletheia's pinned
1.97.1 toolchain; the release is mostly perf work and UB fixes in
retain()/as_mut_bytes()/from_utf8_lossy, none of which aletheia's
CompactString::from/new call sites touch). cargo check on the two
crates that use CompactString directly (energeia, krites) passes
clean.

tokenizers (via episteme) still pins compact_str ^0.9 transitively;
Cargo now resolves two independent versions in the lockfile, which
is expected and not a conflict.
@sonarqubecloud

Copy link
Copy Markdown

@forkwright
forkwright merged commit c001ba2 into main Aug 24, 2026
40 checks passed
@forkwright
forkwright deleted the chore/compact-str-0.10 branch August 24, 2026 19:28
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