Skip to content

MeshCadet v0.5.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 22:26
e0e294b

Added

  • firmware-core: room-client session state machine + ui_sim proofs (fa5f44c)
  • firmware-core: room-session logic for post/keep-alive/notification phases (209bc44)
  • firmware: rename Messages/Channels tabs to Contacts/Groups (8417a73)
  • firmware: rename Messages/Channels tabs to Contacts/Groups (504782f)
  • firmware: rename Messages/Channels tabs to Contacts/Groups (4d982dc)
  • firmware: room post, permission-gated compose, keep-alive, notification suppression (75ff5f8)
  • firmware: wire device-side handlers for room provisioning frames (be228fa)
  • firmware: wire device-side handlers for room provisioning frames (1611a78)
  • firmware: wire post/keep-alive/notification-phase logic into runtime (9a74d4f)
  • firmware: wire the room-client login/read session state machine (f9796fa)
  • firmware: wire the room-client session state machine into main.rs (a0ee754)
  • host: add room URI builder and round-trip parser (6f130f4)
  • host: add room-server provisioning verbs (8ea4fc5)
  • host: add room-server provisioning verbs to admin CLI (82223ce)
  • protocol,firmware,host,site: room provisioning storage+wire+URI contract (78b3a2b)
  • protocol: add room provisioning frames (d37e20d)
  • protocol: add room-server client codec (c08a45a)
  • protocol: add room-server client codec (25916d0)
  • room: adopt room server's clock as a trusted wall clock (1d89529)
  • room: adopt room server's clock as a trusted wall clock (cd5d462)
  • site: mirror room provisioning frames in the JS codec (857b604)
  • site: mirror room provisioning into the browser provisioner + admin-PIN hygiene backfill (12cd99f)
  • site: mirror room-server provisioning into the browser provisioner (57d31e7)

Fixed

  • ci: mirror dispatched releases onto the Pages site (99827b7)
  • ci: mirror dispatched releases onto the Pages site (8dc2fe1)
  • ci: scrub internal-ops doc-path references from public code comments (9fd4d7b)
  • firmware: add persisted per-contact inbound replay guard for handle_dm (b04e53b)
  • firmware: add persisted per-contact inbound replay guard for handle_dm (7a27918)
  • firmware: add room-UI glyphs to bundled font coverage (1649368)
  • firmware: bound room drain window with a stall timeout (ebde9d9)
  • firmware: bound room drain window with a stall timeout (9d847ba)
  • firmware: close zero-channel GRP_TXT RX/TX hole (e1f900a)
  • firmware: close zero-channel GRP_TXT RX/TX hole (3fd28e3)
  • firmware: decode keep-alive ACK through the validated decoder (9e883ba)
  • firmware: decouple room re-flood-login cadence from the drain cadence (0b48392)
  • firmware: decouple room re-flood-login cadence from the drain cadence (8d02c5b)
  • firmware: durably erase the room session store on DEL_ROOM/ADD_ROOM (6fb39ec)
  • firmware: durably erase the room session store on DEL_ROOM/ADD_ROOM (82acdc5)
  • firmware: erase room session store on ADD/DEL_ROOM, document DEL_ROOM's reboot-required posture (0755231)
  • firmware: erase the room session store on ADD/DEL_ROOM, document DEL_ROOM's reboot-required posture (55940f5)
  • firmware: heap-allocate ProvisionedConfig off the admin_server/prov_server thread stacks (36f26e9)
  • firmware: heap-allocate ProvisionedConfig off the admin_server/prov_server thread stacks (b459e87)
  • firmware: keep decode_path_return's PathExtra match exhaustive (763f6a4)
  • firmware: log TX-queue eviction, keep sync_since monotonic, and fix room-push DM fallthrough (73fcde0)
  • firmware: persist room TX watermark on every advancing send (350cc6f)
  • firmware: persist room TX watermark on every advancing send (a56c7b7)
  • firmware: propagate runtime-learned room session state to the UI and keep-alive scheduler (b2ecc9b)
  • firmware: propagate runtime-learned room session state to the UI and keep-alive scheduler (89d4deb)
  • firmware: re-stamp room posts with the server's own clock, not the sender's (1f47f6b)
  • firmware: re-stamp room posts with the server's own clock, not the sender's (46f103f)
  • firmware: reconnect-stall detector zeroes out_path to relearn a changed route (33c048b)
  • firmware: relearn room out_path after keep-alive stall so reconnect recovers without reboot (3bbf63d)
  • firmware: render room-post bubble only on confirmed send; surface refusals (d6abd3e)
  • firmware: render room-post bubble only on confirmed send; surface refusals (cdde8cf)
  • firmware: render room-post senders like channels, and stop clock-sync poisoning from bricking room posts (e1edc10)
  • firmware: render room-post senders like channels, stop clock-sync poisoning (390af99)
  • firmware: room-scoped monotonic TX timestamp, never random (b3eda3c)
  • firmware: room-scoped monotonic TX timestamp, never random (db5a579)
  • firmware: room-session observability and watermark robustness fixes (994d59e)
  • firmware: surface RoomPostRefused when the read-only recheck blocks a send (e9a7536)
  • firmware: surface RoomPostRefused when the read-only recheck blocks a send (b9096ea)
  • firmware: update handle_ack test call site for new room_runtime param (68264b1)
  • history: port TIMESTAMP_UNKNOWN sentinel to the JS transcript renderer (1e62b2c)
  • history: port TIMESTAMP_UNKNOWN sentinel to the JS transcript renderer (a773d6b)
  • host: add gen-channel-secret CSPRNG generator + weak-pattern warning (096da43)
  • host: gen-channel-secret CSPRNG generator + stdin-only composition (9af8e70)
  • host: move channel-secret and admin-PIN CLI args off argv (a8a55cf)
  • host: move channel-secret and admin-PIN CLI args off argv (35fca60)
  • host: repoint gen-channel-secret composition at --secret-stdin, not argv (50c7d69)
  • room: bound room-clock plausibility at adoption, not repair-at-load (0674b55)
  • room: bound room-clock plausibility at adoption, not repair-at-load (79fe3d0)
  • room: don't overwrite a still-outstanding keep-alive ack before its reply window closes (25dae32)
  • room: don't overwrite a still-outstanding keep-alive ack before its reply window closes (174a2d8)
  • room: flush a stalled drain window on the scheduler's own periodic tick (f2963e1)
  • room: flush a stalled drain window on the scheduler's own periodic tick (a5ef478)
  • room: flush an already-absorbed drain backlog immediately on closer failure (8ae4675)
  • room: flush an already-absorbed drain backlog on closer failure (7059ec7)
  • room: gate reflood backoff reset on an actually-learned route (6c92c5c)
  • room: gate reflood backoff reset on an actually-learned route (2c1a4d2)
  • room: gate reflood-backoff reset on has_route(), not out_path_len (648b2c8)
  • room: gate the reflood-backoff reset on has_route(), not out_path_len (5fb62ce)
  • room: match a room post's ACK when bundled in a PATH-return (cdbb443)
  • room: match a room post's ACK when it arrives bundled in a PATH-return (b05007a)
  • room: notify for a post whose drain window has no working closer (82f03fb)
  • room: notify for a post whose drain window has no working closer (0c2652c)
  • room: notify on a post-triggered drain-window close, and short-circuit the blind stall bound (debeb0d)
  • room: notify on a post-triggered drain-window close, and short-circuit the blind stall bound (57e5677)
  • room: persist the room-post watermark advance, add a shape-based guard (9d0866f)
  • room: persist the room-post watermark advance, add a shape-based guard (1d141b2)
  • room: pre-filter room push/login-reply frames on dest_hash (3464718)
  • room: pre-filter room push/login-reply frames on dest_hash (58ad169)
  • room: reopen drain window on relogin; rewind a starved sync_since (477a129)
  • room: reopen the drain window on relogin; rewind a starved sync_since (f37f74a)
  • room: separate the room-post wire nonce from display time (599f294)
  • room: separate the room-post wire nonce from display time (183fb8e)
  • security: stop echoing channel-secret bytes in host/firmware logs (9b30310)
  • security: stop echoing channel-secret bytes in host/firmware logs (64cb1f1)
  • site: bring channel-secret fields up to the PIN/guest-password hygiene contract (c0760d7)
  • site: bring channel-secret fields up to the PIN/guest-password hygiene contract (9661c25)
  • site: make the whole provisioner test suite runnable in one command (cab3f64)
  • site: vendor esptool-js instead of CDN-importing it into the flasher (116e947)
  • site: vendor esptool-js instead of CDN-importing it into the flasher (ae77aa9)
  • site: vendor the QR library and add a Content-Security-Policy to every page (4afa843)
  • site: vendor the QR library and add a Content-Security-Policy to every page (22036a4)
  • ui_sim: move Channels-tab badge probe pixel off the unread-count glyph (f9f3dbb)
  • ui_sim: move Channels-tab badge sample off the unread-glyph column (1aefa70)
  • ui: make room-post ACKs carry is_channel so the live view redraws (515c285)
  • ui: room-post ACKs carry is_channel so the live view redraws (f12cab1)

Changed

  • firmware-core: extract config_store codec (f119f41)
  • firmware: thin config_store.rs to a firmware-core shim (171f7bb)
  • host: extract password-truncation warning into a testable helper (14cc174)
  • xtask: surface the parity check in the xtask binary, drop a dead wrapper (61532ec)

Documentation

  • adr: bump ADR-0001 protocol target to v1.16, admit room-server role (6119d31)
  • adr: bump ADR-0001 protocol target to v1.16, admit room-server role (15d7f18)
  • adr: strip internal ops-vocabulary leaks, add CI regression guard (ab43cd8)
  • adr: strip internal ops-vocabulary leaks, add CI regression guard (ecc1ca0)
  • correct room-discoverability and truncated-HMAC claims; fix MAC compare (eea17c9)
  • firmware: update FINDING G doc to name the new save_room_session call sites (bf46f27)
  • qualify room-discoverability and truncated-HMAC claims (4afa3e0)
  • record room-provisioning wire format decision in ADR-0002/0005 (d27eb0d)
  • site: document the renamed Contacts/Groups UI and the room-server client flow (0b0d997)
  • site: rename Contacts/Groups + document room-server client flow (2232227)