Skip to content

Comments

Bump kameo from 0.16.0 to 0.18.0#1479

Merged
naps62 merged 3 commits intomainfrom
dependabot/cargo/kameo-0.18.0
Oct 29, 2025
Merged

Bump kameo from 0.16.0 to 0.18.0#1479
naps62 merged 3 commits intomainfrom
dependabot/cargo/kameo-0.18.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 20, 2025

Bumps kameo from 0.16.0 to 0.18.0.

Release notes

Sourced from kameo's releases.

v0.18.0

A huge thank you to Huly Labs, Caido Community, vanhouc, cawfeecoder, and JaniM for supporting Kameo's development! 💖

And thanks to our new contributors:

Highlighted Changes

Add lookup_all method for actors registered on multiple peers (#190)

Previously in kameo, registering actors under the same name on different peers caused inconsistent behaviour within the kademlia DHT. Now when actors are registered on multiple nodes, lookup_all can be used to get a reference to them all.

It is still discouraged to register actors under the same name across peers however.

Add Context::stop method (#231)

Previously, the only way to gracefully stop an actor is with ActorRef::stop_gracefully, which stops the actor after all queued messages are processed.

This change allows message handlers to stop the actor immediately after processing the current message via the new Context::stop method.

impl Message<ImmediatelyStop> for MyActor {
    type Reply = ();
async fn handle(&amp;mut self, _msg: ImmediatelyStop, ctx: Context&lt;'_, Self, Self::Reply&gt;) {
    ctx.stop(); // The actor will stop normally after this message is handled.
}

}

Refactor remote system to use composable NetworkBehaviour pattern (#198)

This change completely redesigns Kameo's remote actor system to follow libp2p's idiomatic NetworkBehaviour pattern, replacing the previous monolithic wrapper approach with composable behaviors that integrate seamlessly into user-controlled swarms.

What Changed

Before: Kameo provided an ActorSwarm wrapper that internally managed its own libp2p swarm, limiting user customization and making integration with other libp2p protocols difficult.

... (truncated)

Changelog

Sourced from kameo's changelog.

[0.18.0] - 2025-09-11

Added

  • BREAKING: Add a lookup_all method to the actor registry using providers (#190)
  • BREAKING: Add fire-and-forget option for remote tell requests (#205)
  • BREAKING: Add Context::stop method for stopping the actor within a message handler (#231)
  • BREAKING: Add wait_for_startup/shudown_with_result methods for non Clone errors (#235)
  • Implement Reply for most of kameo's types (#200)
  • Add ActorRef::into_remote_ref method and impl Seralize/Deserialize for RemoteActorRef (#211)
  • Use debug printing for panic error logs (#214)
  • Improve RemoteActorRef Deserialize impl (#215)
  • Remove Debug constraint on A for Context (#216)
  • Add RemoteAskRequest::enqueue and try_enquque methods (#217)
  • Implement Serialize and Deserialize for SendError </>
  • Add Context::spawn method (#218)
  • Add ForwardedReply Direct results (#223)
  • Hash remote_message impls to auto generate ids (#228)

Changed

  • BREAKING: Refactor remote system to use composable NetworkBehaviour pattern (#198)
  • BREAKING: Use DeliveryMethod for PubSub actor (#206)
  • BREAKING: Implement PartialOrd and Ord for actor id and ref types (#219)
  • BREAKING: Return reference in Context::actor_ref (#222)
  • Improve test and lint coverage for all workspace crates (#191)
  • Rename ActorID to ActorId (#202)
  • Consolidate remote feature conditional compilation blocks (#204)

Removed

  • BREAKING: Remove dependency on once_cell (#209)
  • BREAKING: Remove PendingReply lifetime (#212)

Fixed

  • Resolve test and lint issues uncovered by improved CI (#192)
  • Stop_gracefully panicking when actor is already stopped (#201)
  • Prevent deadlock in ActorRef link/unlink methods (#221)
  • Drop mailbox immediately when actor is stopped (#233)

Documentation

  • Fix version 0.17.2 link in CHANGELOG.md </>
  • Update outdated Actor example and FAQ </>
  • Remove prerequisites from README.md </>

Misc

... (truncated)

Commits
  • e03a79c chore: bump kameo to version 0.18.0
  • 43a168f chore: bump kameo_macros to version 0.18.0
  • dfb92a0 feat!: add wait_for_startup/shudown_with_result methods for non Clone err...
  • 0dcc5e9 chore(deps): update const-str requirement from 0.6.4 to 0.7.0 (#234)
  • 2792af8 chore: add JaniM to README.md sponsors <3
  • 62bf410 fix: drop mailbox immediately when actor is stopped (#233)
  • dc61c71 feat!: add Context::stop method for stopping the actor within a message han...
  • 8272652 feat(macros): hash remote_message impls to auto generate ids (#228)
  • 4a3a6c4 chore(deps): update criterion requirement from 0.6 to 0.7 (#225)
  • fbab43c feat: add ForwardedReply Direct results (#223)
  • 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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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 [kameo](https://github.com/tqwewe/kameo) from 0.16.0 to 0.18.0.
- [Release notes](https://github.com/tqwewe/kameo/releases)
- [Changelog](https://github.com/tqwewe/kameo/blob/main/CHANGELOG.md)
- [Commits](tqwewe/kameo@v0.16.0...v0.18.0)

---
updated-dependencies:
- dependency-name: kameo
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Oct 20, 2025
@dependabot dependabot bot requested a review from naps62 as a code owner October 20, 2025 18:17
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Oct 20, 2025
@naps62 naps62 merged commit d5622ba into main Oct 29, 2025
8 checks passed
@naps62 naps62 deleted the dependabot/cargo/kameo-0.18.0 branch October 29, 2025 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant