chore: bump to 0.3.1, changelog for the UP-03 list-peers fix

Verification: 590 default / 607 all-features tests, clippy
(all-targets, all-features, wasm32) clean, fmt clean, publish
dry-run OK.
This commit is contained in:
glm-5.3-flash committed 2026-09-04 16:01:56 +00:00
1 parent fd212307e2
commit 6821cf5701
3 files changed
+34 -2

No files matched your search

+32
View File
@@ -4,6 +4,37 @@ All notable changes to this crate are documented here. The format is
based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
this crate adheres to [Semantic Versioning](https://semver.org/).
## [0.3.1] - 2026-09-04
Bug-fix release: `services/list-peers` can now list peer-announced
ops. No API breaks — `OperationEnv` gains one defaulted trait method
(non-breaking for all implementors; `cargo semver-checks` 196 checks
pass against the 0.3.0 baseline).
### Fixed
- **`services/list-peers` shows each peer's operations**
(UP-03, surfaced by alkhttp's review 006). `PeerCompositeEnv`
overrode `peer_ids` only, so `peer_operations` fell to the trait
default (`Vec::new()`) and every peer listed with an empty
operations array — the ADR-022 amendment's "announced op is
discoverable via `services/list-peers`" promise never resolved on
the wire. ADR-030 prescribed the fix but it had never been ported
into alkcall; the existing `list-peers` unit tests passed because
they mock `peer_operations` with hand-rolled envs. Implemented per
ADR-030: `OperationEnv::list_operation_names` (default `Vec::new()`)
+ overrides on `OverlayOperationEnv` (overlay map keys),
`PeerCompositeEnv` (`peer_operations` delegates to the peer's
overlay; its own aggregate mirrors `contains()`: session +
connections + base), `LocalOperationEnv` (registry names), and
`ChannelsSessionEnv` (delegates to base). Gate:
`announced_op_is_discoverable_via_services_list_peers` exercises the
exact `compose_root_env` shape (announce via `op/register`, then
assert both the `peer_operations` probe and the `services/list-peers`
wire shape attribute the op to the peer) — verified load-bearing
(reverting the override fails the gate). ADR-030 status is now
Accepted with the UP-03 provenance note.
## [0.3.0] - 2026-09-04
The connect side can serve (two-way ops over one channels connection),
@@ -233,6 +264,7 @@ Vendored core types (`Connection`, `ProtocolHandler`, `BiStream`,
(ADR-046), the channels protocol with openable-ALPNs-as-operations
(ADR-047), and the `ChannelClient` transport-agnostic client.
[0.3.1]: https://git.alk.dev/alkdev/alkcall/releases/tag/v0.3.1
[0.3.0]: https://git.alk.dev/alkdev/alkcall/releases/tag/v0.3.0
[0.2.0]: https://git.alk.dev/alkdev/alkcall/releases/tag/v0.2.0
[0.1.1]: https://git.alk.dev/alkdev/alkcall/releases/tag/v0.1.1
Generated
+1 -1
View File
@@ -27,7 +27,7 @@ dependencies = [
[[package]]
name = "alkcall"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"async-trait",
"bytes",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "alkcall"
version = "0.3.0"
version = "0.3.1"
edition = "2021"
rust-version = "1.85"
license = "MIT OR Apache-2.0"