Skip to content

build(deps): bump freenet-migrate from 0.5.0 to 0.7.0 - #62

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

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

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 28, 2026

Copy link
Copy Markdown

Bumps freenet-migrate from 0.5.0 to 0.7.0.

Changelog

Sourced from freenet-migrate's changelog.

0.7.0 (only doc comments were corrected), so there is no behaviour change. It is still breaking: the public API names stdlib types (DelegateKey, ContractInstanceId, Parameters, OutboundDelegateMsg, the SecretStore impl for DelegateCtx, ...), so an app's call sites compile unchanged only once the app itself is on stdlib 0.12. The full test suite passes unmodified against stdlib 0.12.1. freenet-migrate-build does not depend on stdlib and stays at 0.2.0.

freenet-migrate freenet-stdlib
0.8.x 0.12.x
0.7.x and older 0.8.x

Why a minor bump for a dependency change. An app cannot link two freenet-stdlib versions: stdlib exports __frnt_set_id as an unconditional #[no_mangle] symbol. So this crate's stdlib requirement decides the stdlib of every app that uses it, and rebuilding a contract or delegate against a different stdlib changes its WASM and therefore its key. Taking 0.8.0 is a re-key event for the adopting app; adopt it deliberately, with the outgoing generations recorded in your legacy registries first (see "Upgrading to 0.8.0" in the README). Apps not ready to move stay on 0.7 (stdlib 0.8), which keeps working. There is no 0.7 maintenance branch; a 0.7.x fix would be cut from the commit 0.7.0 was published from (ff45729).

Why not a range covering both. A requirement such as >=0.8.2, <0.13 was considered and rejected. Cargo resolves each requirement to its newest match, so an app pinning stdlib 0.8.5 that takes such a range gets both 0.8.5 and 0.12.1 in its graph (measured with cargo generate-lockfile). What happens next depends on the code, not the manifest: a wasm32 release build that actually uses both copies fails with rust-lld: error: duplicate symbol: __frnt_set_id, while one where the second copy is linked but unused builds cleanly, so the problem can stay hidden until an unrelated change starts using it. 0.8.0 adds nothing an app on stdlib 0.8 needs, so 0.7 is the right pin there. CI now fails if this crate's own graph holds more than one stdlib.

What moving to stdlib 0.12 means for an adopting app (stdlib's own changes, summarised here because this is where an adopter decides). This covers stdlib 0.8.5 to 0.12.1 only. An app on an earlier stdlib (crate 0.7 accepts 0.8.2 and later 0.8.x) should also read stdlib's CHANGELOG back to its own version; an app not yet on this crate is doing a first adoption (see the README's adoption sections) and should do the same.

  • Wire, towards older nodes. The contract interface code is unchanged between stdlib 0.8.5 and 0.12.1; its doc comments now state stricter obligations (merges idempotent as well as commutative, a negligible get_state_delta to an up-to-date peer), so check your contract against them. The delegate message enums only gained appended variants (InboundDelegateMsg tags 8-10, OutboundDelegateMsg tag 8), so an older node's messages still decode. The direction that breaks is the other one: a delegate that emits a new

... (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.7.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.7.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 Oct 28, 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