Skip to content

release: prepare dshell v0.3.0#1

Merged
eareimu merged 39 commits into
mainfrom
endpoint
Jun 15, 2026
Merged

release: prepare dshell v0.3.0#1
eareimu merged 39 commits into
mainfrom
endpoint

Conversation

@eareimu

@eareimu eareimu commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • prepare the dshell v0.3.0 release from the current endpoint branch
  • rename the published crate/package identity from dssh to dshell because the dssh crates.io name is already occupied
  • converge the release branch onto crates.io dependencies, including h3x v0.3.1, with no final git = ... dependency edges in Cargo.toml
  • capture the planned tag / release notes in the PR so the merge gate can confirm the exact text before tagging

Planned tag

  • v0.3.0

Draft release / tag notes

DShell v0.3.0

This release establishes DShell as the published crate identity for the former DSSH protocol-core repository. The repository history and release tag sequence continue from v0.2.0, while the crates.io package for this release is dshell because the dssh package name is unavailable.

The notes below describe the end-state delivered by the v0.2.0...v0.3.0 cycle. Some bullets include later refinement of capabilities that were first introduced during this same cycle, rather than implying that all of those surfaces already existed in v0.2.0.

Published crate identity

  • renamed the published package and library crate to dshell
  • updated public DShell naming across code identifiers, module documentation, error variants, tests, and release workflow copy
  • changed the protocol version token to dshell-00
  • changed the well-known WebTransport CONNECT path to /.well-known/dshell/connect
  • kept the repository URL on the existing genmeta/dssh repository, which remains the release PR and tag home for this cycle

WebTransport-first public surface

  • moved the released DShell transport surface to a WebTransport-first model
  • added DShell Extended CONNECT helpers plus conversation open / accept helpers over h3x::webtransport::Session
  • switched channel and conversation handling to typed conversation streams as part of that transition
  • removed the legacy raw stream transport path from the released surface

Session, forwarding, and shutdown semantics

  • made Conversation<S> own the WebTransport session directly
  • aligned session close handling so remote close, late stdout / stderr delivery, and exit-status ordering compose correctly
  • aligned forwarding semantics and canonical remote bind-host handling across client and server paths
  • gated shared forwarding helpers for client, server, and test builds so publish / packaging builds do not fail on dead-code warnings

IPC and FD-transfer alignment

  • moved session bootstrap to receiver-chosen FD delivery matching the h3x IPC model
  • prepared IPC sockets before FD delivery and removed obsolete cancellation / wait layers from the older handshake path
  • updated stream reset and WebTransport glue to the current h3x APIs while retaining owned bridge-task lifetimes

Packaging, release, and repository hygiene

  • added PR CI, publish readiness checks, tag-driven crates.io workflow wiring, and PAM runner prerequisites so DShell can participate in the shared release runbook
  • adjusted crates.io workflow gating so the initial dshell package publication remains manual, while future existing-package versions can dry-run and publish through CI
  • removed legacy example binaries and the older Docker integration test harness
  • aligned dependency policy and converged the release branch to h3x 0.3.1

Upgrade notes

  • downstream Rust dependencies should switch from the old dssh crate identity to dshell
  • the released DShell transport surface is WebTransport-only
  • Conversation<S> is the public session carrier and owns the WebTransport session
  • downstream release builds should align on h3x 0.3.1
  • packaging and server-only builds compile forwarding code without client; shared helpers must remain correctly feature-gated

Full changelog: v0.2.0...v0.3.0

Release surface

  • crates.io package dshell v0.3.0
  • initial crates.io package publication remains manual; tag workflow skips a missing crate and handles future existing-package version updates

CI gate

  • PR CI and release readiness checks must stay green before merge
  • WIP/draft state remains the non-release gate until explicitly cleared

Known wait conditions

  • final merge / tag remains part of the coordinated multi-repo release wave
  • downstream repositories must update their dependency package/crate names to dshell before their own release gates can pass

eareimu added 30 commits May 19, 2026 23:00
@eareimu eareimu changed the title [codex] merge endpoint into main release: prepare v0.3.0 Jun 15, 2026
@eareimu eareimu changed the title release: prepare v0.3.0 release: prepare dshell v0.3.0 Jun 15, 2026
@eareimu eareimu marked this pull request as ready for review June 15, 2026 09:39
@eareimu eareimu merged commit 8cbc1d3 into main Jun 15, 2026
5 checks passed
@eareimu eareimu deleted the endpoint branch June 17, 2026 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant