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:
1 parent
fd212307e2
commit
6821cf5701
3 files changed
+34
-2
No files matched your search
@@ -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
@@ -27,7 +27,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alkcall"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
|
||||
+1
-1
@@ -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"
|
||||
|
||||
Reference in new issue
Block a user