chore(fcast): follow felis to the v0.1.0 release #6

Merged
natsukium merged 2 commits from follow-felis-v0.1.0 into main 2026-09-26 20:53:18 +09:00
Owner

Pins every felis crate to the v0.1.0 release tag on https://github.com/felis-terminal/felis (felis is not on crates.io) and follows the API changes between the old pin 6da5620d and v0.1.0.

What broke

  • felis split each two-way message family into a wrapper per direction: ConnMsg → ConnToDaemonMsg / ConnToClientMsg, and the same for SessionMsg and OpsMsg. serve now decodes client requests with the ToDaemon half and answers with the ToClient half. The wire bytes are unchanged.
  • DaemonPreface::select / DaemonPreface::refuse() became DaemonAccept::select / DaemonRefuse::CURRENT.

Format

The .fcast format did not change. The envelope stays at version: 3, the felis_json version stays at 1, and felis-json's grid and image shapes are identical between the old pin and v0.1.0. The only schema diff is the schema's $id URL. Existing recordings still replay.

Docs

The felis links now point to GitHub, the pin prose names v0.1.0, the preface type names are updated, and the attach example is felis --socket <path> attach <id>, because v0.1.0 has no sessions attach.

Verification

  • cargo fmt --all --check, cargo clippy --all-targets --all-features -- -D warnings, cargo test --all-features (21 passed), cargo deny check: all pass.
  • Live check against an isolated v0.1.0 daemon (felis-daemon serve --socket <scratch>): record connected (protocol 1.0) and wrote a 9-frame v3 recording. serve replayed it: v0.1.0 felis sessions list listed the session, felis version completed the handshake, and the v0.1.0 GUI felis attach attached (session attached id="0x1" rows=10 cols=64) with no errors in its log.
Pins every felis crate to the `v0.1.0` release tag on https://github.com/felis-terminal/felis (felis is not on crates.io) and follows the API changes between the old pin `6da5620d` and v0.1.0. ## What broke - felis split each two-way message family into a wrapper per direction: `ConnMsg` → `ConnToDaemonMsg` / `ConnToClientMsg`, and the same for `SessionMsg` and `OpsMsg`. `serve` now decodes client requests with the `ToDaemon` half and answers with the `ToClient` half. The wire bytes are unchanged. - `DaemonPreface::select` / `DaemonPreface::refuse()` became `DaemonAccept::select` / `DaemonRefuse::CURRENT`. ## Format **The `.fcast` format did not change.** The envelope stays at `version: 3`, the `felis_json` version stays at 1, and felis-json's grid and image shapes are identical between the old pin and v0.1.0. The only schema diff is the schema's `$id` URL. Existing recordings still replay. ## Docs The felis links now point to GitHub, the pin prose names v0.1.0, the preface type names are updated, and the attach example is `felis --socket <path> attach <id>`, because v0.1.0 has no `sessions attach`. ## Verification - `cargo fmt --all --check`, `cargo clippy --all-targets --all-features -- -D warnings`, `cargo test --all-features` (21 passed), `cargo deny check`: all pass. - Live check against an isolated v0.1.0 daemon (`felis-daemon serve --socket <scratch>`): `record` connected (protocol 1.0) and wrote a 9-frame v3 recording. `serve` replayed it: v0.1.0 `felis sessions list` listed the session, `felis version` completed the handshake, and the v0.1.0 GUI `felis attach` attached (`session attached id="0x1" rows=10 cols=64`) with no errors in its log.
chore(fcast): follow felis to the v0.1.0 release
Some checks failed
ci / cargo fmt / clippy / test / deny (pull_request) Has been cancelled
6d8367d80b
felis is now published as a tagged release on GitHub rather than as
revisions of the private repository, and its crates are not on
crates.io, so every felis dependency is pinned to the v0.1.0 tag of
https://github.com/felis-terminal/felis. A tag names a release a reader
can look up; the old rev named a commit in history that no longer
exists publicly.

Between the old pin and v0.1.0 felis split each two-way message family
into a wrapper per direction (ConnToDaemonMsg / ConnToClientMsg and the
same for Session and Ops) and gave the preface replies their own types
(DaemonAccept::select, DaemonRefuse::CURRENT). serve follows both: it
decodes what a client sends with the ToDaemon half and answers with the
ToClient half. The bytes on the wire are unchanged, so serve still
interoperates with the same clients.

The .fcast format is untouched: the envelope stays at version 3 and
felis-json stays at v1, whose grid and image shapes did not change, so
existing recordings still replay.

The docs follow the rename, point felis links at the public repository,
and use the v0.1.0 attach verb (`felis attach <id>`); `sessions attach`
does not exist there.
ci(fcast): run on the x86_64-linux runner label
All checks were successful
ci / cargo fmt / clippy / test / deny (pull_request) Successful in 25s
c102283394
The Forgejo runners were re-registered with labels named after Nix
systems (nix -> x86_64-linux, macos -> aarch64-darwin), so jobs asking
for the old labels sit in the queue with no runner to pick them up.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
natsukium/felis-fcast!6
No description provided.