Skip to content

chore: release v0.1.1 - #4

Merged
ferrohd merged 1 commit into
masterfrom
release-plz-2026-10-17T14-26-03Z
Oct 17, 2026
Merged

ferrohd merged 1 commit into
masterfrom
release-plz-2026-10-17T14-26-03Z

Conversation

@ferrohd

@ferrohd ferrohd commented Oct 17, 2026

Copy link
Copy Markdown
Owner

🤖 New release

  • tesmart-proto: 0.1.0 -> 0.1.1
  • tesmart-client: 0.1.0 -> 0.1.1
  • tesmart-serial: 0.1.0 -> 0.1.1 (✓ API compatible changes)
  • tesmart-device: 0.1.0 -> 0.1.1
  • tesmart-sim: 0.1.0 -> 0.1.1
  • tesmart-tcp: 0.1.0 -> 0.1.1
  • tesmart: 0.1.0 -> 0.1.1
  • tesmart-cli: 0.1.0 -> 0.1.1
Changelog

tesmart-proto

0.1.0 - 2026-10-17

Added

  • (proto) classify a decoded chunk without borrowing the decoder
  • (proto) tell an unsolicited report from a pending answer
  • (proto) expose the event queue and count what it dropped
  • (proto) retry a query on a missed deadline and fail loudly after
  • (proto) withhold the bytes until the command gap has passed
  • (proto) refuse a request outside the profile before a byte is sent
  • (proto) add the Engine and its policy accessors
  • (proto) model a pending exchange and what it will accept
  • (proto) add the engine event and error vocabulary
  • (proto) collect the field-tested timings into a Policy
  • (proto) identify an exchange so a reply can be matched to it
  • (proto) register the 8x8, 16x16 and sdi models
  • (proto) register the 4x4 matrices, with and without a LAN port
  • (proto) register the dual-monitor switch
  • (proto) register the Family A models with no published protocol
  • (proto) register the EB23 and P23 series and their field reports
  • (proto) register the single-monitor Family A models
  • (proto) name the capability set of every protocol document
  • (proto) add ModelInfo and let the family have the last word
  • (proto) add Capabilities with the provenance of each claim
  • (proto) grade a capability by how well established it is
  • (proto) dispatch over the families at run time
  • (proto) add the sdi switch, four bytes and no terminator
  • (proto) add the matrix table as the union of all four command sets
  • (proto) add the dual-monitor table and its inverted pass-through
  • (proto) add the single-monitor KVM command table
  • (proto) share the two opcodes every hex family agrees on
  • (proto) explain what a clashing opcode would have done instead
  • (proto) add the four protocol families with no default
  • (proto) seal the Profile trait so families stay exhaustive
  • (proto) add CommandInfo so a table can describe itself
  • (proto) add ResponseKind for matching an in-flight exchange
  • (proto) add Response and the kind an exchange is matched against
  • (proto) add RequestKind as the key profiles are written against
  • (proto) name and classify every request
  • (proto) add the family-independent Request type
  • (proto) resync past garbage without losing the frame behind it
  • (proto) scan for a frame, text, or garbage to discard
  • (proto) buffer a byte stream and hand out one chunk at a time
  • (proto) add the decoder chunk vocabulary and the two directions
  • (proto) dispatch a text command between the two languages
  • (proto) parse the zero-padded network replies
  • (proto) encode network queries and writes in both dialects
  • (proto) add the two ascii dialects and the two scopes
  • (proto) print link ports as 1-9 then A-G
  • (proto) add the LINK routing report in both directions
  • (proto) parse the MT00 matrix commands and the RD trap
  • (proto) add the MT00 matrix command vocabulary
  • (proto) encode hex frames with a derived length byte
  • (proto) document the frame header, terminator and length byte
  • (proto) add the text helpers both ascii languages need
  • (proto) add Transmit so the engine can label and retry bytes
  • (proto) build commands with write! and no allocator
  • (proto) print protocol bytes the way the documents do
  • (proto) add a copyable byte buffer sized for the 16x16 link reply
  • (proto) add the four network settings and a partial config
  • (proto) add the matrix display timeout and preset slots
  • (proto) bound the auto-switch interval at five seconds
  • (proto) add relative Step and the hotkey trigger
  • (proto) add Toggle and the dual-monitor output
  • (proto) add the buzzer and display timeout settings
  • (proto) add a deterministic Tick clock for tests
  • (proto) add a Timestamp trait so the engine never reads a clock
  • (proto) add a drop-oldest ring for the engine event queue
  • (proto) add a fixed-capacity byte fifo for the stream decoder
  • (proto) gate ports on a per-model PortCount
  • (proto) add Port with the write/read byte asymmetry

Documentation

  • (proto) document the engine loop and what it protects you from

tesmart-client

0.1.0 - 2026-10-17

Added

  • (client) report a change once, whichever way it was noticed
  • (client) hold the connection open for as long as a watch lives
  • (client) follow the active port by both report and poll
  • (client) build a matrix without pretending it is a KVM
  • (client) read the routing back and check it against what was asked
  • (client) load and save presets, gated on the matrix series
  • (client) route, mirror and confirm it from the reported table
  • (client) add the Matrix handle with inputs and outputs apart
  • (client) add the route options and the matrix verify switch
  • (client) refuse to guess a family or a port count
  • (client) probe how many inputs a switch really has
  • (client) read and write network settings over the side-channel
  • (client) add the write-only settings and the dual-monitor commands
  • (client) read the port back after a switch, loudly if it disagrees
  • (client) add the Kvm handle over a borrowed session
  • (client) add the switch options and the three verify modes
  • (client) resolve family and port count the same way for both builders
  • (client) refuse a cross-family model and say which it was
  • (client) share the network side-channel between both families
  • (client) reconnect per command and clear a stale exchange
  • (client) log every event and queue the unsolicited ones
  • (client) select on the read, the engine deadline and the budget
  • (client) turn the engine's poll interface into async functions
  • (client) put the engine in the session, not in the connection
  • (client) count what happened on the wire
  • (client) add the warnings that are true but are not errors
  • (client) confirm a matrix route from the reported routing table
  • (client) report which network values answered and which read back
  • (client) report a write-only command as sent, and a probed count
  • (client) say whether a switch was verified, assumed or already set
  • (client) describe the attached switch, catalogued or not
  • (client) fold the broken-pipe family into a closed link
  • (client) let the transport decide the ascii scope
  • (client) choose a connection per command or a persistent one
  • (client) define the Connector transport boundary
  • (client) classify a failure so a caller can map it to an exit code
  • (client) add OpError carrying what was attempted
  • (client) separate a failed exchange from a failed operation

Documentation

  • (client) tabulate what each operation can and cannot promise
  • (client) document the loop order and the three tracing targets

tesmart-serial

0.1.1 - 2026-10-17

Added

  • ship an arm64 linux binary (#3)

tesmart-device

0.1.0 - 2026-10-17

Added

  • (device) handle the Family A and A' frames in one place
  • (device) handle the matrix commands the model admits to having
  • (device) route a matrix input to an output and report it back
  • (device) answer network queries padded and split across segments
  • (device) honour a command only if the model supports it
  • (device) add the emulated switch and its front panel
  • (device) hold the switch state with the factory defaults
  • (device) configure an emulated switch from a registry model
  • (device) add deliberate faults to reproduce what hardware does

Documentation

  • (device) document both of its uses and the module layout

tesmart-sim

0.1.0 - 2026-10-17

Added

  • (sim) press buttons and inject faults from outside the loop
  • (sim) connect to an emulated switch over an in-process pipe
  • (sim) serve a device without holding its lock across an await

tesmart-tcp

0.1.0 - 2026-10-17

Added

  • (tcp) try every resolved address within one connect timeout

tesmart

0.1.0 - 2026-10-17

Added

  • (tesmart) name every way a target string can fail
  • (tesmart) open a switch from a target string and a model name
  • (tesmart) erase the transport behind one connector and one stream

Changed

  • (tesmart) reduce the facade to re-exports

Documentation

  • the library re-exports, the tool resolves target strings

tesmart-cli

0.1.0 - 2026-10-17

Added

  • (cli) print results to stdout and everything else to stderr
  • (cli) define the json output contract separately from the library
  • (cli) dispatch every command over one resolved target
  • (cli) turn the global flags into a Kvm or a Matrix
  • (cli) pin the exit code contract
  • (cli) add the command surface and the global options

Changed

  • (cli) own target resolution, with every transport always built

Documentation

  • the library re-exports, the tool resolves target strings


This PR was generated with release-plz.

@ferrohd
ferrohd force-pushed the release-plz-2026-10-17T14-26-03Z branch from 7f6bc95 to 1557d8a Compare October 17, 2026 14:28
@ferrohd
ferrohd merged commit c873d61 into master Oct 17, 2026
27 checks passed
@ferrohd
ferrohd deleted the release-plz-2026-10-17T14-26-03Z branch October 17, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant