Skip to content

chore(deps): bump freenet-migrate from 0.5.0 to 0.6.0 - #647

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/freenet-migrate-0.6.0
Open

chore(deps): bump freenet-migrate from 0.5.0 to 0.6.0#647
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/freenet-migrate-0.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown

Bumps freenet-migrate from 0.5.0 to 0.6.0.

Changelog

Sourced from freenet-migrate's changelog.

freenet-migrate 0.6.0

Breaking, contract half only. Silence is no longer absence (#19). The delegate-half surface is untouched.

The mechanism

A backward probe classified a candidate that never answered exactly as it classified one that answered "I have nothing". Both were on_timeout → a miss → the walk advanced. Two consequences, both silent:

  • A lineage whose candidates were merely unreachable produced Outcome::SeedLocal — the outcome an app reads as "the predecessors were reached and had nothing", at which point it seeds its local snapshot forward and stops asking. A predecessor that was slow, or on a node that had not yet answered, was recorded as permanently empty. No error, no crash: the migration reported success and the data stayed under the old key.
  • One timeout on the newest generation let an older one be adopted — the "generation-blind selection" rollback the driver's own module docs claim is inexpressible. The pre-0.6.0 test suite pinned that as correct behaviour.

Absence now requires a positive answer.

Changes

  • New: ProbeAnswer (State / Absent / Unknown), the return type of ProbeIo::get in place of Option<Vec<u8>>. An adapter cannot express "I never heard back" as "the predecessor has nothing" without typing Absent and being wrong on purpose. Map stdlib's ContractResponse::NotFound to Absent and everything else non-answering to Unknown.
  • New: ProbeDriver::on_absent (answered "nothing here") and ProbeDriver::on_unknown (timeout, send failure, dropped transport).
  • Deprecated: ProbeDriver::on_timeout, now forwarding to on_unknown. It can never seal a predecessor as empty, but it is not a drop-in for a call site that also routed positive not-founds through it. Because an unknown halts the walk under NewestFirstWins, an app whose only failure path is a watchdog — one that never handles NotFound, so an absent generation arrives as a timeout — will stop at its first empty generation and never ask the older ones. If the data lives further down the lineage it is never probed. That is a recovery outage, not a conservative degradation: recovering becomes never recovering. River is this shape today, so upgrading its call site is mandatory, not advisory.
  • New: Outcome::Indeterminate { local, unresolved } — nothing was recovered and at least one candidate's state was not established. Adopt nothing, seal nothing, retry. unresolved covers candidates that were asked and never answered and candidates the walk never reached, because the hop cap fired or the policy halted earlier. Its local is passed through prepare_forward like every other outgoing snapshot, since the docs explicitly allow an app to seed it after enough failed attempts and

... (truncated)

Commits

Dependabot compatibility score

Dependabot 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [freenet-migrate](https://github.com/freenet/freenet-migrate) from 0.5.0 to 0.6.0.
- [Changelog](https://github.com/freenet/freenet-migrate/blob/main/CHANGELOG.md)
- [Commits](https://github.com/freenet/freenet-migrate/commits)

---
updated-dependencies:
- dependency-name: freenet-migrate
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added contract-rekey-risk Bump may change compiled contract/delegate WASM, which moves the contract address dependencies Pull requests that update a dependency file labels Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contract-rekey-risk Bump may change compiled contract/delegate WASM, which moves the contract address dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants