Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3d7f6f3f2 | ||
|
|
56d0556240 |
No files matched your search
@@ -320,12 +320,11 @@ 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.9.x —
|
||||
`StreamError`) come from `alkcall::core`. alkcall is v0.10.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.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
|
||||
working around them. Pin `alkcall = "0.10.1"` (0.10.1 is the
|
||||
adoption-window ordering fix: the `adopt_channel` install→drain
|
||||
window is atomic, so a routed chunk can no longer jump ahead of
|
||||
parked early arrivals or get parked forever past the drain — and bump
|
||||
deliberately.
|
||||
@@ -4,6 +4,65 @@ 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.8.1] - 2026-10-22
|
||||
|
||||
The alkcall 0.10.1 adoption: a dependency bump only — no source change
|
||||
in alktty. alkcall 0.10.1 is the adoption-window ordering fix (review
|
||||
013, routed from alkgit's wave-2 gate): a chunk routed by the demux
|
||||
inside the `adopt_channel` install→drain window could be delivered
|
||||
ahead of earlier-parked early arrivals (inverting the channel's
|
||||
byte-stream order) and a related chunk could sit parked forever past
|
||||
the drain. alktty adopts channels only as a consumer-side client
|
||||
(`TtySession::open_via_channels`, which opens and then adopts the
|
||||
session channel), so the fix applies to every channels-path session
|
||||
under multi-process load — the reassembled chunk stream now preserves
|
||||
wire-arrival order through the adoption window. The surface of the fix
|
||||
is private to alkcall (`ChannelState` and the `install_locked` path):
|
||||
no API, wire-format, or documented-cap change; the behavior only
|
||||
strengthens. The direct-ALPN path does not touch the adopt machinery
|
||||
at all.
|
||||
|
||||
### Changed
|
||||
|
||||
- **`alkcall` requirement updated to `0.10.1`; lockfile bumped from
|
||||
0.10.0 to 0.10.1.** Version-requirement-only (0.10.1 is inside the
|
||||
`0.10` caret family; alkcall 0.10.1 changed no type alktty touches
|
||||
— the fix surface is private). alktty's public signatures reference
|
||||
alkcall types, so downstream crates composing alktty with the fixed
|
||||
alkcall pick this patch bump up on their next `cargo update`.
|
||||
|
||||
## [0.8.0] - 2026-10-19
|
||||
|
||||
The alkcall 0.10.0 adoption: a dependency bump only — no source change
|
||||
in alktty. alkcall 0.10.0 is the gateway ownership seam release
|
||||
(`GatewayDispatch::with_ownership_provider`, the declared
|
||||
static-fallback opt-in, and the loud unwired-spine default). All of it
|
||||
touches surfacing alktty never uses: alktty consults the
|
||||
`OwnershipProvider` seam directly on its own paths (the direct-ALPN
|
||||
scope gate and the channels establisher), not through the gateway
|
||||
dispatch spine, and the wire surface and `OperationContext` shape are
|
||||
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.10.0.**
|
||||
alkcall 0.10.0 changed no type that alktty touches: the seam alktty
|
||||
exercises (`ChannelCore`/`register_openable_with_establisher`/
|
||||
`OpenEstablisher`/`OpenHandler`/`Establishment`, `ChannelClient`,
|
||||
`OwnershipProvider`/`OwnershipStore`/`InMemoryOwnershipStore`) is
|
||||
shape-identical to 0.9.0 — the loud unwired-spine default applies
|
||||
only to `resource_type`-gated ops served through `GatewayDispatch`,
|
||||
which alktty never registers against. alktty's public signatures
|
||||
reference alkcall types, so downstream crates must now unify on
|
||||
alkcall 0.10.0. Minor bump per the 0.x ecosystem-coordination rule
|
||||
(raising the minimum requirement is breaking — hence 0.8.0, not a
|
||||
patch release).
|
||||
- **`alkcall` requirement updated to `0.10.0`; lockfile bumped from
|
||||
0.9.0 to 0.10.0.** Verification counts are unchanged from the 0.7.0
|
||||
baseline (113 default / 137 all-features) — the adoption required no
|
||||
source change in alktty.
|
||||
|
||||
## [0.7.0] - 2026-10-14
|
||||
|
||||
The alkcall 0.9.0 adoption: a dependency bump only — no source change
|
||||
@@ -439,6 +498,8 @@ alknet mono-repo.
|
||||
the client→backend pump is aborted at session end instead of
|
||||
lingering until the client disconnects.
|
||||
|
||||
[0.8.1]: https://git.alk.dev/alkdev/alktty/releases/tag/v0.8.1
|
||||
[0.8.0]: https://git.alk.dev/alkdev/alktty/releases/tag/v0.8.0
|
||||
[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
|
||||
|
||||
Generated
+3
-3
@@ -27,9 +27,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alkcall"
|
||||
version = "0.9.0"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
|
||||
checksum = "690d747f42baf385dc22cd120f79d43cf1ea239bc426675e0e1e225b57fc031a"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
@@ -48,7 +48,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alktty"
|
||||
version = "0.7.0"
|
||||
version = "0.8.1"
|
||||
dependencies = [
|
||||
"alkcall",
|
||||
"async-trait",
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "alktty"
|
||||
version = "0.7.0"
|
||||
version = "0.8.1"
|
||||
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.9.0"
|
||||
alkcall = "0.10.1"
|
||||
# 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`.
|
||||
|
||||
Generated
+3
-3
@@ -27,9 +27,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alkcall"
|
||||
version = "0.9.0"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
|
||||
checksum = "690d747f42baf385dc22cd120f79d43cf1ea239bc426675e0e1e225b57fc031a"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
@@ -48,7 +48,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alktty"
|
||||
version = "0.7.0"
|
||||
version = "0.8.1"
|
||||
dependencies = [
|
||||
"alkcall",
|
||||
"async-trait",
|
||||
|
||||
Reference in new issue
Block a user