Skip to content

build(deps): bump freenet-stdlib from 0.8.5 to 0.12.1 - #61

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

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/freenet-stdlib-0.12.1

Conversation

@dependabot

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

Copy link
Copy Markdown

Bumps freenet-stdlib from 0.8.5 to 0.12.1.

Changelog

Sourced from freenet-stdlib's changelog.

[0.12.1]

Added — periodic wake-ups, declared in the manifest

#[delegate(manifest(
    lifecycle = [NodeStarted],
    capabilities = [Background],
    wakeups = [heartbeat = 300],
))]
impl DelegateInterface for MyDelegate { /* ... */ }
  • DelegateManifest::wakeups (WakeupSchedule { tag, every_secs }), written by #[delegate(manifest(wakeups = [tag = seconds, ...]))]. A node that implements it (a freenet-core release after this one) delivers InboundDelegateMsg::WakeupFired { tag } (wire tag 9, unchanged since 0.10.0) on that schedule with no app open, under the same conditions as lifecycle events: the manifest lists it and the delegate's app holds the user's Background grant.
  • DelegateManifest::effective_wakeups is the node's reading: intervals clamped to [MIN_WAKEUP_INTERVAL_SECS, MAX_WAKEUP_INTERVAL_SECS] (60 s to 7 days), tags of 1 to MAX_WAKEUP_TAG_BYTES (64) bytes, a repeated tag keeps its first entry, at most MAX_WAKEUPS (4). The macro refuses out-of-range entries at compile time instead, and asserts them against the stdlib's own constants, so a macros crate looser than its stdlib fails to compile (and a stdlib without wake-ups has no such constants, so it fails too).
  • DelegateManifest::with_wakeup and wants_wakeups.

Why a manifest entry, not a call. The 0.10.0 request half (DelegateCtx::schedule_wakeup, host import __frnt__delegate__schedule_wakeup) was removed in 0.11.0 because a delegate importing a function the node does not provide fails to instantiate. It stays removed. A manifest field is ignored by nodes that do not know it (the 0.12.0 reader skips unknown JSON fields), so one delegate build works on nodes with and without wake-ups: it loads and gets its lifecycle events everywhere, and receives WakeupFired only where the node supports it.

Compatibility. Patch release. No new host import and no wire-format change. A manifest without wake-ups serializes byte-identically to 0.12.0 (the field is omitted when empty), so upgrading changes nothing about the manifest SECTION. Rebuilding a delegate against a different stdlib still changes its WASM, and so its key, as any rebuild does (stdlib version strings end up in the module); plan the usual migration. Requires freenet-macros 0.3.1 for the wakeups argument.

Two things for authors targeting nodes that predate wake-ups (freenet-core v0.2.138 and earlier): such a node asks for Background only when a lifecycle kind is listed, so declare one (e.g. NodeStarted) alongside wakeups; and it stores the manifest re-serialized without wakeups, so the node that adds

... (truncated)

Commits
  • 77fcf65 feat: periodic delegate wake-ups declared in the manifest (#137)
  • c1efb08 feat: delegate manifests and lifecycle events (#136)
  • 29f5086 fix(host_imports): guard parser stuck open on a trailing line comment (#135)
  • 07f39ed test
  • 7f2a677 docs: move the silent-loss claim down a level, to where it is true (#130)
  • 4fcd66b docs: record what is actually safe to change on the delegate wire (#129)
  • bdcd02c feat: scheduled wakeup primitive for delegates (ScheduleWakeup / WakeupFired)...
  • 9612daf feat(delegate): report whether a subscribe actually pinned the contract (#128)
  • bbc31fb feat(delegate): unsubscribe, subscription introspection, and pin every wire t...
  • 029a31a build: fail CI when the flatbuffers runtime drifts from the pinned compiler (...
  • Additional commits viewable in compare view

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-stdlib](https://github.com/freenet/freenet-stdlib) from 0.8.5 to 0.12.1.
- [Release notes](https://github.com/freenet/freenet-stdlib/releases)
- [Changelog](https://github.com/freenet/freenet-stdlib/blob/main/CHANGELOG.md)
- [Commits](freenet/freenet-stdlib@rust-v0.8.5...rust-v0.12.1)

---
updated-dependencies:
- dependency-name: freenet-stdlib
  dependency-version: 0.12.1
  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