1 Commits
Author SHA1 Message Date
glm-5.3-flash 0170897bbb feat: alkcall 0.9.0 adoption — bump to 0.7.0
The stub-sweep release changes no type alktty touches: the four
implemented stubs, the register_openable Pub-typed refusal (alktty's
op is Sub-typed), the register_imported Result return, and the removed
RelayError::PubTypedOpen are all surfaces alktty never exercises.

- alkcall requirement 0.8.1 -> 0.9.0; lockfile follows
- alktty 0.6.0 -> 0.7.0 (minor: raising the minimum alkcall requirement
  is ecosystem-coordination breaking on a 0.x crate)
- one test fix: `establisher_ok_on_valid_params` formatted a
  Result<Establishment, _> with {:?} — Establishment no longer derives
  Debug in alkcall 0.9.0; the assert now branches on Err and formats
  only the error

Verification: 113 default / 156 all-features tests, clippy
--all-targets -D warnings, fmt --check, cargo doc, fuzz corpus replay
(9 tests / 340 seeds), wasm32-unknown-unknown check + clippy,
publish --dry-run — all pass.
2026-10-14 05:15:06 +00:00
6 changed files with 53 additions and 13 deletions

No files matched your search

+7 -4
View File
@@ -320,9 +320,12 @@ release and after touching `src/wire.rs`, `src/negotiation.rs`,
`BiStream`, `BidiStreamSource`, `AuthContext`, `Identity`,
`IdentityProvider`, `AccessControl`, `OwnershipProvider`,
`OwnershipStore`, `InMemoryOwnershipStore`, `HandlerError`,
`StreamError`) come from `alkcall::core`. alkcall is v0.8.x —
`StreamError`) come from `alkcall::core`. alkcall is v0.9.x —
breaking changes are expected at this major-zero stage; this is the
first real consumer, so we find and fix issues upstream rather than
working around them. Pin `alkcall = "0.8.1"` (0.8.1 fixes the
duplicate adopt/open channel-state destruction found by alkcall's
fuzz campaign) and bump deliberately.
working around them. Pin `alkcall = "0.9.0"` (0.9.0 is the stub-sweep
release: the marked-pub open contract, `channel/control`,
`channel/resources/subscribe`, and `op/register` forward-through are
real implementations; `register_openable*` now refuses `Pub`-typed
specs — alktty's op is `Sub`-typed and unaffected) and bump
deliberately.
+35
View File
@@ -4,6 +4,40 @@ 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.7.0] - 2026-10-14
The alkcall 0.9.0 adoption: a dependency bump only — no source change
in alktty. alkcall 0.9.0 is the stub-sweep release (the marked-pub open
contract, `channel/control`, `channel/resources/subscribe`, and
`op/register` forward-through are real implementations). All of
alkcall's semver-relevant changes (`ManagerError::InvalidAdopt`, the
`RelayError::PubTypedOpen` removal, the `register_imported`
`Result` return, `Establishment` losing `Debug`, the new
`register_openable*` refusal of `Pub`-typed specs) touch surfacing
alktty never uses — alktty's open op is `Sub`-typed and it only
constructs `Establishment` (whose `new` is unchanged). The wire format,
the direct-ALPN path, the `TtyBackend` trait, and alktty's public API
surface are unchanged.
### Changed
- **BREAKING (ecosystem-coordination) — `alkcall` bumped to 0.9.0.**
alkcall 0.9.0 changed no type that alktty touches: the open-op
machinery alktty registers through (`ChannelCore`/
`register_openable_with_establisher`/`OpenEstablisher`/`OpenHandler`
/`Establishment`/`ChannelPlan`, `ChannelClient::open_channel`,
`ChannelOpenError::CallFailed`) is shape-identical to 0.8.1 — the
four stub implementations are net-new surfaces on ops alktty does
not exercise, the established-wrapper refusal of `Pub`-typed specs
does not apply to alktty's `Sub`-typed open op, and the removed
`RelayError::PubTypedOpen` was never referenced. alktty's public
signatures reference alkcall types, so downstream crates must now
unify on alkcall 0.9.0. Minor bump per the 0.x
ecosystem-coordination rule (raising the minimum requirement is
breaking — hence 0.7.0, not a patch release).
- **`alkcall` requirement updated to `0.9.0`; lockfile bumped from
0.8.1 to 0.9.0.**
## [0.6.0] - 2026-09-28
The fuzzing adoption: a cargo-fuzz workspace over the four wire-facing
@@ -405,6 +439,7 @@ alknet mono-repo.
the client→backend pump is aborted at session end instead of
lingering until the client disconnects.
[0.7.0]: https://git.alk.dev/alkdev/alktty/releases/tag/v0.7.0
[0.6.0]: https://git.alk.dev/alkdev/alktty/releases/tag/v0.6.0
[0.5.0]: https://git.alk.dev/alkdev/alktty/releases/tag/v0.5.0
[0.4.1]: https://git.alk.dev/alkdev/alktty/releases/tag/v0.4.1
Generated
+3 -3
View File
@@ -27,9 +27,9 @@ dependencies = [
[[package]]
name = "alkcall"
version = "0.8.1"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf6af1e4af1460480849adf959c972d65deeafc36f4101064ced1ce6d1adfd5b"
checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
dependencies = [
"async-trait",
"bytes",
@@ -48,7 +48,7 @@ dependencies = [
[[package]]
name = "alktty"
version = "0.6.0"
version = "0.7.0"
dependencies = [
"alkcall",
"async-trait",
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "alktty"
version = "0.6.0"
version = "0.7.0"
edition = "2021"
rust-version = "1.88"
license = "MIT OR Apache-2.0"
@@ -29,7 +29,7 @@ default = []
local = ["dep:portable-pty", "dep:tokio-util", "tokio/process", "tokio/rt-multi-thread"]
[dependencies]
alkcall = "0.8.1"
alkcall = "0.9.0"
# Minimal, wasm-clean tokio features. `local` adds `process` +
# `rt-multi-thread` (non-wasm). Do NOT use `features = ["full"]` — it
# pulls in `signal`/`fs`/`net` which break `wasm32-unknown-unknown`.
+3 -3
View File
@@ -27,9 +27,9 @@ dependencies = [
[[package]]
name = "alkcall"
version = "0.8.1"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf6af1e4af1460480849adf959c972d65deeafc36f4101064ced1ce6d1adfd5b"
checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
dependencies = [
"async-trait",
"bytes",
@@ -48,7 +48,7 @@ dependencies = [
[[package]]
name = "alktty"
version = "0.5.0"
version = "0.7.0"
dependencies = [
"alkcall",
"async-trait",
+3 -1
View File
@@ -588,7 +588,9 @@ mod tests {
json!({ "carriage": "raw", "backend": "mock", "cmd": ["true"] }),
)
.await;
assert!(result.is_ok(), "valid params establish, got {result:?}");
if let Err(e) = result {
panic!("valid params establish, got {e:?}");
}
}
#[tokio::test]