chore(deps): bump snafu from 0.8.9 to 0.9.2 - #35
Conversation
Bumps [snafu](https://github.com/shepmaster/snafu) from 0.8.9 to 0.9.2. - [Changelog](https://github.com/shepmaster/snafu/blob/main/CHANGELOG.md) - [Commits](shepmaster/snafu@0.8.9...0.9.2) --- updated-dependencies: - dependency-name: snafu dependency-version: 0.9.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
## Finding Two dependabot bumps that needed real migrations, landed together so the lockfile moves once. **snafu 0.8.9 → 0.9.2.** `snafu::Location` is now a type alias for `&'static core::panic::Location<'static>`, and std's `Location` has no public constructor. Eight manual `Location::default()` sites stop compiling with `E0599`. Note the existing `snafu-location-migrate.py` tool found **zero** matches here — it targets `Location::new(file!(), line!(), column!())`, a different shape. The fix was applied by hand. `Location::caller()` records the identical site: 0.8's `default()` was itself `#[track_caller]`, and these helper functions are not annotated, so the chain terminated at the same place either way. **Zero behaviour change** — verified by reading both crate sources, not assumed. **fjall 2.11.2 → 3.1.9.** fjall 3 swapped its vocabulary: the whole store is now `Database`, and what was `PartitionHandle` is now `Keyspace`. `persist` moved from the partition handle to the store. The data API (`insert`/`get`/`remove`) is byte-identical either side — only type names and the open/persist entry points moved. All API shapes were read from the vendored 3.1.9 source, not inferred from error text. ## The on-disk question, answered fjall 3 **does** change the on-disk format (`FormatVersion::V3`), and it **fails closed**. `Database::recover()` calls `check_version()` *before* any journal or segment-manifest recovery runs. Against a 2.x store it logs an error naming the official migration tool (`fjall-rs/migrate-v2-v3`) and returns `Err(Error::InvalidVersion(...))`. The destructive recovery path — the one that deletes segments absent from the levels manifest — is gated behind that check succeeding, so it **never runs against a 2.x-written store**. Verified at `db.rs:538-554`. Practically moot here: `thesauros`'s fjall-backed persistence dates to 2026-08-16, so a live 2.x keyspace is unlikely to exist. But if one does, it errors loudly rather than eating data. ## One correction A WHY comment claimed this pin matched "the same major version kanon's own archeion crate already uses fleet-wide". Checked against kanon `origin/main`: **archeion still pins `fjall = "2"`**. That claim is now false, so it is replaced with a NOTE flagging the divergence rather than left as stale prose. **Decision worth making separately:** either archeion takes the same bump, or the two diverge deliberately. Supersedes #35 and #34. Co-authored-by: forkwright <cody@forkwright.com>
|
Superseded and merged. The bump needed a real migration rather than a version change alone, and where several bumps touched one repo they landed together so the lockfile moved once rather than several times. CI is green on the combined branch. |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Bumps snafu from 0.8.9 to 0.9.2.
Changelog
Sourced from snafu's changelog.
... (truncated)
Commits
d6b22beRelease 0.9.2fd520a8Update the changelogdb84e7eMerge pull request #560 from shepmaster/whatever-semicolon-expression86c5365Do not trigger thesemicolon_in_expressions_from_macroslint4fb4b5fMerge pull request #562 from shepmaster/v0-mangling666dbedUpdate backtrace test for symbol mangling v0e9ef616Merge pull request #561 from shepmaster/migrate-from-cirrusdac8b7aMigrate from CirrusCI to GitHub Actionsff50133Release 0.9.1c425b0aUpdate the changelogDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)