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 55 additions and 15 deletions

No files matched your search

+9 -6
View File
@@ -320,9 +320,12 @@ release and after touching `src/wire.rs`, `src/negotiation.rs`,
`BiStream`, `BidiStreamSource`, `AuthContext`, `Identity`, `BiStream`, `BidiStreamSource`, `AuthContext`, `Identity`,
`IdentityProvider`, `AccessControl`, `OwnershipProvider`, `IdentityProvider`, `AccessControl`, `OwnershipProvider`,
`OwnershipStore`, `InMemoryOwnershipStore`, `HandlerError`, `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 breaking changes are expected at this major-zero stage; this is the
first real consumer, so we find and fix issues upstream rather than 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 working around them. Pin `alkcall = "0.9.0"` (0.9.0 is the stub-sweep
duplicate adopt/open channel-state destruction found by alkcall's release: the marked-pub open contract, `channel/control`,
fuzz campaign) and bump deliberately. `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 based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
this crate adheres to [Semantic Versioning](https://semver.org/). 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 ## [0.6.0] - 2026-09-28
The fuzzing adoption: a cargo-fuzz workspace over the four wire-facing 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 the client→backend pump is aborted at session end instead of
lingering until the client disconnects. 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.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.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 [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]] [[package]]
name = "alkcall" name = "alkcall"
version = "0.8.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf6af1e4af1460480849adf959c972d65deeafc36f4101064ced1ce6d1adfd5b" checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",
@@ -48,7 +48,7 @@ dependencies = [
[[package]] [[package]]
name = "alktty" name = "alktty"
version = "0.6.0" version = "0.7.0"
dependencies = [ dependencies = [
"alkcall", "alkcall",
"async-trait", "async-trait",
+2 -2
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "alktty" name = "alktty"
version = "0.6.0" version = "0.7.0"
edition = "2021" edition = "2021"
rust-version = "1.88" rust-version = "1.88"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@@ -29,7 +29,7 @@ default = []
local = ["dep:portable-pty", "dep:tokio-util", "tokio/process", "tokio/rt-multi-thread"] local = ["dep:portable-pty", "dep:tokio-util", "tokio/process", "tokio/rt-multi-thread"]
[dependencies] [dependencies]
alkcall = "0.8.1" alkcall = "0.9.0"
# Minimal, wasm-clean tokio features. `local` adds `process` + # Minimal, wasm-clean tokio features. `local` adds `process` +
# `rt-multi-thread` (non-wasm). Do NOT use `features = ["full"]` — it # `rt-multi-thread` (non-wasm). Do NOT use `features = ["full"]` — it
# pulls in `signal`/`fs`/`net` which break `wasm32-unknown-unknown`. # pulls in `signal`/`fs`/`net` which break `wasm32-unknown-unknown`.
+3 -3
View File
@@ -27,9 +27,9 @@ dependencies = [
[[package]] [[package]]
name = "alkcall" name = "alkcall"
version = "0.8.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf6af1e4af1460480849adf959c972d65deeafc36f4101064ced1ce6d1adfd5b" checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",
@@ -48,7 +48,7 @@ dependencies = [
[[package]] [[package]]
name = "alktty" name = "alktty"
version = "0.5.0" version = "0.7.0"
dependencies = [ dependencies = [
"alkcall", "alkcall",
"async-trait", "async-trait",
+3 -1
View File
@@ -588,7 +588,9 @@ mod tests {
json!({ "carriage": "raw", "backend": "mock", "cmd": ["true"] }), json!({ "carriage": "raw", "backend": "mock", "cmd": ["true"] }),
) )
.await; .await;
assert!(result.is_ok(), "valid params establish, got {result:?}"); if let Err(e) = result {
panic!("valid params establish, got {e:?}");
}
} }
#[tokio::test] #[tokio::test]