Releases: FreeTAKTeam/LXMF-rs
LXMF-rs v0.4.0
LXMF-rs v0.4.0 Release Notes
Date: 2026-06-14
Release ref: v0.4.0
This is the ZeroMQ SDK integration release for REM 1.1.1 and RCH pre-3.0
Rust consumers. It promotes the typed lxmf-sdk ZeroMQ path through
ZmqPipelineBackendClient so clients can rely on SDK methods instead of raw
RPC/HTTP calls for the release scope below.
This release is not a claim of complete drop-in Python Reticulum/LXMF
replacement parity. The maintained parity source of truth remains
docs/status/current-roadmap.md.
Scope
- Typed ZeroMQ SDK foundation for REM/RCH client integration.
- Basic LXMF wire field preservation through the SDK send and batch-send paths.
- Peer discovery, saved-peer lifecycle, capability announce metadata, display
names, callsigns, stale-peer filtering, and reconnect-oriented peer state. - Durable direct-chat SDK flows for one-to-one messages, conversation summaries,
receipt visibility, retry/cancel status metadata, restart-recovered history,
link-bearing message bodies, and burst-send result stability. - Propagation-first SDK coverage for peer sync, remote fetch/download/sync,
unpeer, node selection, local propagation status/config, delivery policy,
payload ingest/fetch, sync acknowledgement, recovery state, retry/timeout,
denial, queue cleanup, and persistent queue visibility.
Highlights Since v0.3.0
- Added typed ZeroMQ SDK peer identity, directory, stale-filter, saved-contact,
peer lifecycle, and capability announce surfaces. - Preserved documented LXMF custom field keys and
_lxmf_fields_msgpack_b64
through the typed SDK send path for REM/RCH payload compatibility. - Treated payload
bodyas direct-chat message content whencontentis
absent while still preserving the originalbodyfield for client renderers. - Added typed batch-send, cancel, status retry metadata, receipt terminality,
local delivery-destination lookup, durable history, and conversation summary
flows over the SDK envelope path. - Added typed propagation SDK methods and result projections for peer sync,
remote transfer lifecycle, propagation node lifecycle, local propagation
lifecycle, payload store access, recovery state, policy metadata, transfer
accounting, queue snapshots, retry/postponement, denial, timeout, and
restart-recovery diagnostics. - Updated roadmap and parity status to describe the ZeroMQ SDK release path
while keeping application-level REM/RCH schemas out of scope.
Current Version Train
GitHub release version: v0.4.0
Crate/package versions intentionally remain per the publish plan rather than one
blanket workspace version:
lxmf:0.3.0reticulum-rs-rpc:0.3.0lxmf-sdk:0.2.1lxmf-wire:0.2.0reticulum-rs-core:0.2.0reticulum-rs-transport:0.2.0- app/tool crates remain unpublished and are distributed through GitHub bundles
Validation Record
- Main integration PR for the ZeroMQ SDK stack:
#340 - PR #340 required checks passed:
quality,correctness,
build-matrix (stable),test-nextest-unit, andcontracts. - Focused local checks before integration included:
cargo test -p lxmf-sdk --features zmq-pipeline-backend zmq_pipeline -- --nocapture --test-threads=1cargo test -p reticulum-rs-rpc sdk_propagation -- --nocapturecargo fmt --all -- --checkcargo check -p lxmf-sdk --features zmq-pipeline-backendcargo clippy -p lxmf-sdk -p reticulum-rs-rpc --lib --all-features --no-deps -- -D clippy::manual_assert -D clippy::redundant_clone -D clippy::iter_cloned_collectC:\Program Files\Git\bin\bash.exe tools/scripts/check-module-size.sh
Known Limits
- Propagation interoperability and operational substitutability are still marked
partial indocs/status/current-roadmap.md. - Full Python surface parity is not achieved.
- Application-level REM/RCH schemas are out of scope for this release; LXMF-rs
provides the basic LXMF fields and typed SDK transport behavior those clients
need. - External-client compatibility claims for Sideband, MeshChatX, and Columba
require separate external-client interop gate evidence. - Hardware and prepared-host evidence for all interface paths remains broader
than the automated CI evidence.
What's Changed
- [codex] Refactor lxmf-sdk app modules by @CoteTommy in #140
- [codex] Refactor rns-rpc daemon modules by @CoteTommy in #141
- [codex] Extract rns-rpc daemon helper modules by @CoteTommy in #142
- Refactor rnx command modules by @CoteTommy in #143
- Extract rnx harness helpers by @CoteTommy in #144
- [codex] Refactor lxmd command modules by @CoteTommy in #145
- [codex] Refactor reticulumd bridge modules by @CoteTommy in #146
- [codex] Refactor reticulumd inbound worker modules by @CoteTommy in #147
- Refactor reticulumd bootstrap transport startup by @CoteTommy in #148
- Bump rusqlite to 0.37.0 by @zippy in #149
- udp multicast by @zippy in #151
- Fix CI cleanup after UDP multicast merge by @brothercorvo in #152
- Fix daemon LXMF and RNS runtime findings by @brothercorvo in #150
- Install BLE deps in nightly workflows by @CoteTommy in #153
- Add external client interop release gate by @CoteTommy in #154
- Record external interop gate evidence metadata by @CoteTommy in #155
- complete python lxmf reticulum compatibility by @CoteTommy in #158
- [codex] Refactor transport routing and daemon bridge modules by @CoteTommy in #159
- [codex] split inbound worker handlers by @CoteTommy in #160
- [codex] narrow transport internals by @CoteTommy in #162
- [codex] model receipt delivery states by @CoteTommy in #163
- [codex] move propagation control tests by @CoteTommy in #164
- [codex] move send outcome tests by @CoteTommy in #165
- rename reticulum path store module by @CoteTommy in #166
- extract peer control commands by @CoteTommy in #167
- extract announce ingest handler by @CoteTommy in #168
- extract bootstrap destination setup by @CoteTommy in #169
- make resource status predicates explicit by @CoteTommy in #170
- make link status predicates explicit by @CoteTommy in #172
- move propagation link cache state by @CoteTommy in #173
- extract python compat matrix support by @CoteTommy in #174
- extract lxmf cli compat harness by @CoteTommy in #175
- add transport path facade by @CoteTommy in #176
- extract outbound resource tracking by @CoteTommy in #177
- extract lxmd three node harness by @CoteTommy in #178
- extract python channel interop paths by @CoteTommy in #179
- extract python paper helper adapter by @CoteTommy in #180
- [codex] Rename TCP interface hot apply bridge by @CoteTommy in #181
- [codex] Extract lxmd Python compatibility surface by @CoteTommy in #182
- [codex] Extract Reticulum announce cache adapter by @CoteTommy in #183
- [codex] Extract RPC access logging by @CoteTommy in #184
- [codex] fix announce burst collapse by @CoteTommy in #185
- [codex] make sdk event driven async by @CoteTommy in #186
- [codex] bundle async SDK and LXMF parity work by @CoteTommy in #189
- Add announce slot parser and LXMF interop fixtures/tests by @brothercorvo in #192
- [codex] add parallel ZeroMQ SDK transport by @brothercorvo in #199
- [codex] Add Reticulum spec Rust fixtures by @brothercorvo in #198
- Add ZeroMQ announce SDK APIs by @brothercorvo in #200
- Add propagation download support by @CoteTommy in #190
- [codex] Add LXMF resource repro and routed transfer fixes by @brothercorvo in #205
- Improve propagation runtime by @brothercorvo in #195
- [Follow-up] Fix CI warnings in experimental transport runtime changes by @brothercorvo in #201
- Silence dead-code warnings, add link/channel retry helpers, and minor signature cleanup by @brothercorvo in #202
- Add no-...
LXMF-rs v0.3.0
LXMF-rs v0.3.0 Release Notes
Date: 2026-06-12
Release commit: b86482412846c4f39f091c1d0c3e2718226881b4
This is a usable sub-1.0 LXMF-rs product and daemon bundle release. It promotes
the v0.3.0-rc1 line after additional propagation reliability, interop, and
operator-observability fixes landed on main.
This release is not a claim of complete drop-in Python Reticulum/LXMF
replacement parity. The maintained parity source of truth remains
docs/status/current-roadmap.md.
Scope
- Usable Rust implementation of core Reticulum and LXMF behavior with repeatable
compatibility evidence against pinned Python Reticulum and LXMF references. - GitHub binary bundle release for
lxmdandreticulumd. - Focused propagation-node, peer-sync, remote transfer, retained payload, and
operator-status improvements overv0.2.0andv0.3.0-rc1. - Known partial parity for broader Python router lifecycle, external clients,
and hardware/interface breadth.
Highlights Since v0.2.0
- Expanded propagation peer and router behavior, including restored queue
replay, unpeer cleanup, duplicate receive accounting, peer cost restoration,
admission gates, throttling, transfer limits, retained haves, and
payload-backed peer queue snapshots. - Broader remote propagation sync, fetch, download, unpeer, lifecycle,
failure-kind, cancellation, close-signal, and source-peer backoff handling. - Stronger Python compatibility coverage for peer sync, paper URI ingest,
unknown handle behavior, remote status/control, Python-origin/offer, and
propagation/gethaves acknowledgement. - Added and stabilized production interface work for AutoInterface, KISS, LoRa,
RNode BLE, and VR-N76 KISS-over-BLE paths. - Added
rnstatus-rsdaemon status coverage, including interface runtime state
and propagation peer state. - Added SDK and wrapper improvements, including contract/schema updates, Kotlin
wrapper conformance, easier SDK examples, and ZeroMQ pipeline hardening. - Added embedded mini-node and embedded interface support surfaces.
- Expanded CI, scheduled mesh/soak/HIL workflows, release readiness docs, and
release bundle automation.
Changes Since v0.3.0-rc1
- Added live propagation interop cases for Python-origin
/offerand/get
haves acknowledgement. - Preserved propagation lifecycle and queue state across no-access, ignored,
malformed, failed, cancelled, and terminal remote transfer paths. - Added source-peer backoff and recovery handling for failed or malformed remote
fetch/download/import paths. - Improved peer-sync visibility and retry behavior, including structured failure
kinds, hidden-peer control lookup, failed local offer state, and payload-backed
queue snapshot preservation. - Improved retained propagation haves filtering, storage-pruning priority, and
propagation ingest rejection semantics. - Surfaced remote resource terminal events and remote link close signals for
operator-visible diagnostics. - Added BLE MTU readiness diagnostics.
- Added the Codex PR review workflow.
Current Version Train
GitHub release version: v0.3.0
Crate/package versions intentionally remain per the publish plan rather than one
blanket workspace version:
lxmf:0.3.0reticulum-rs-rpc:0.3.0lxmf-sdk:0.2.1lxmf-wire:0.2.0reticulum-rs-core:0.2.0reticulum-rs-transport:0.2.0- app/tool crates remain unpublished and are distributed through GitHub bundles
Validation Record
- Latest
mainCI before final release prep:
https://github.com/FreeTAKTeam/LXMF-rs/actions/runs/27434941083 - Latest Python reference interop before final release prep:
https://github.com/FreeTAKTeam/LXMF-rs/actions/runs/27431799116 v0.3.0-rc1published Linux, macOS, and Windows daemon bundles with matching
.sha256files.
Local RC gates for the release candidate branch included:
cargo xtask ci: passed withLXMF_RS_BASHpointing to Git Bash.cargo xtask ci --stage sdk-soak-check: passed.cargo xtask ci --stage schema-client-check: passed.cargo xtask schema-client-generate --check: passed.cargo xtask publish-crates --wave all --dry-run --allow-dirty: passed
through the release-tool fallback for unpublished local publish-wave
dependencies.cargo run -p rns-tools --bin rnx -- e2e --timeout-secs 20: passed.cargo fmt --all -- --check: passed.
Known Limits
- Propagation interoperability and operational substitutability are still marked
partial indocs/status/current-roadmap.md. - Full Python surface parity is not achieved.
- External-client compatibility claims for Sideband, MeshChatX, and Columba
require separate external-client interop gate evidence. - Hardware and prepared-host evidence for all interface paths remains broader
than the automated CI evidence.
Release branch merge source: origin/main commit d4e4520.
LXMF-rs v0.3.0-rc1
LXMF-rs v0.3.0-rc1 Release Notes
Date: 2026-06-10
Base commit: 5c08f4d87becce96e48b4ae2a15058d16e236f9c
This is a release candidate for the next LXMF-rs product and daemon bundle
release. It is intended for integration testing, operator validation, and
feedback before the final v0.3.0 release.
Scope
- Usable Rust implementation of core Reticulum and LXMF behavior with repeatable
compatibility evidence against pinned Python Reticulum and LXMF references. - GitHub binary bundle release for
lxmdandreticulumd. - Not a claim of complete drop-in Python replacement parity. The maintained
parity source of truth remainsdocs/status/current-roadmap.md.
Highlights Since v0.2.0
- Expanded propagation peer and router behavior, including restored queue replay,
unpeer cleanup, duplicate receive accounting, peer cost restoration, admission
gates, and payload-backed peer queue snapshots. - Broader remote propagation sync, fetch, download, unpeer, and lifecycle
accounting coverage. - Stronger Python compatibility coverage for peer sync, paper URI ingest, unknown
handle behavior, and pinned reference interop. - Added and stabilized production interface work for AutoInterface, KISS, LoRa,
RNode BLE, and VR-N76 KISS-over-BLE paths. - Added SDK and wrapper improvements, including contract/schema updates, Kotlin
wrapper conformance, easier SDK examples, and ZeroMQ pipeline hardening. - Added embedded mini-node and embedded interface support surfaces.
- Expanded CI, scheduled mesh/soak/HIL workflows, release readiness docs, and
release bundle automation.
Current Version Train
GitHub release version: v0.3.0-rc1
Crate/package versions intentionally remain per the publish plan rather than one
blanket workspace version:
lxmf:0.3.0reticulum-rs-rpc:0.3.0lxmf-sdk:0.2.1lxmf-wire:0.2.0reticulum-rs-core:0.2.0reticulum-rs-transport:0.2.0- app/tool crates remain unpublished and are distributed through GitHub bundles
Validation Record
- Latest
mainCI before release prep:
https://github.com/FreeTAKTeam/LXMF-rs/actions/runs/27271895183 - Latest Python reference interop before release prep:
https://github.com/FreeTAKTeam/LXMF-rs/actions/runs/27231818697 - June 10 scheduled Nightly Mesh Simulation, Nightly Soak Chaos, and Nightly
Embedded HIL runs were green on the pre-RC base.
Local RC gates for this release-prep branch:
cargo xtask ci: passed withLXMF_RS_BASHpointing to Git Bash.cargo xtask ci --stage sdk-soak-check: passed.cargo xtask ci --stage schema-client-check: passed.cargo xtask schema-client-generate --check: passed.cargo xtask publish-crates --wave all --dry-run --allow-dirty: passed
through the release-tool fallback for unpublished local publish-wave
dependencies.cargo run -p rns-tools --bin rnx -- e2e --timeout-secs 20: passed.cargo fmt --all -- --check: passed.cargo xtask release-check: attempted after fixing the failing sub-gates, but
the local Windows run exceeded the one-hour command timeout during the soak
portion. The soak gate passed when rerun directly.
Known Limits
- Propagation and operational substitutability are still marked partial in
docs/status/current-roadmap.md. - Full Python surface parity is not achieved.
- External-client compatibility claims for Sideband, MeshChatX, and Columba
require separate external-client interop gate evidence. - Hardware and prepared-host evidence for all interface paths remains broader
than the automated CI evidence.
LXMF-rs 0.2.0
What's Changed
- [codex] Refactor lxmf-sdk app modules by @CoteTommy in #140
- [codex] Refactor rns-rpc daemon modules by @CoteTommy in #141
- [codex] Extract rns-rpc daemon helper modules by @CoteTommy in #142
- Refactor rnx command modules by @CoteTommy in #143
- Extract rnx harness helpers by @CoteTommy in #144
- [codex] Refactor lxmd command modules by @CoteTommy in #145
- [codex] Refactor reticulumd bridge modules by @CoteTommy in #146
- [codex] Refactor reticulumd inbound worker modules by @CoteTommy in #147
- Refactor reticulumd bootstrap transport startup by @CoteTommy in #148
- Bump rusqlite to 0.37.0 by @zippy in #149
- udp multicast by @zippy in #151
- Fix CI cleanup after UDP multicast merge by @brothercorvo in #152
- Fix daemon LXMF and RNS runtime findings by @brothercorvo in #150
- Install BLE deps in nightly workflows by @CoteTommy in #153
- Add external client interop release gate by @CoteTommy in #154
- Record external interop gate evidence metadata by @CoteTommy in #155
- complete python lxmf reticulum compatibility by @CoteTommy in #158
- [codex] Refactor transport routing and daemon bridge modules by @CoteTommy in #159
- [codex] split inbound worker handlers by @CoteTommy in #160
- [codex] narrow transport internals by @CoteTommy in #162
- [codex] model receipt delivery states by @CoteTommy in #163
- [codex] move propagation control tests by @CoteTommy in #164
- [codex] move send outcome tests by @CoteTommy in #165
- rename reticulum path store module by @CoteTommy in #166
- extract peer control commands by @CoteTommy in #167
- extract announce ingest handler by @CoteTommy in #168
- extract bootstrap destination setup by @CoteTommy in #169
- make resource status predicates explicit by @CoteTommy in #170
- make link status predicates explicit by @CoteTommy in #172
- move propagation link cache state by @CoteTommy in #173
- extract python compat matrix support by @CoteTommy in #174
- extract lxmf cli compat harness by @CoteTommy in #175
- add transport path facade by @CoteTommy in #176
- extract outbound resource tracking by @CoteTommy in #177
- extract lxmd three node harness by @CoteTommy in #178
- extract python channel interop paths by @CoteTommy in #179
- extract python paper helper adapter by @CoteTommy in #180
- [codex] Rename TCP interface hot apply bridge by @CoteTommy in #181
- [codex] Extract lxmd Python compatibility surface by @CoteTommy in #182
- [codex] Extract Reticulum announce cache adapter by @CoteTommy in #183
- [codex] Extract RPC access logging by @CoteTommy in #184
- [codex] fix announce burst collapse by @CoteTommy in #185
- [codex] make sdk event driven async by @CoteTommy in #186
- [codex] bundle async SDK and LXMF parity work by @CoteTommy in #189
- Add announce slot parser and LXMF interop fixtures/tests by @brothercorvo in #192
- [codex] add parallel ZeroMQ SDK transport by @brothercorvo in #199
New Contributors
Full Changelog: v0.1.3...v0.2.0
What's Changed
- [codex] Refactor lxmf-sdk app modules by @CoteTommy in #140
- [codex] Refactor rns-rpc daemon modules by @CoteTommy in #141
- [codex] Extract rns-rpc daemon helper modules by @CoteTommy in #142
- Refactor rnx command modules by @CoteTommy in #143
- Extract rnx harness helpers by @CoteTommy in #144
- [codex] Refactor lxmd command modules by @CoteTommy in #145
- [codex] Refactor reticulumd bridge modules by @CoteTommy in #146
- [codex] Refactor reticulumd inbound worker modules by @CoteTommy in #147
- Refactor reticulumd bootstrap transport startup by @CoteTommy in #148
- Bump rusqlite to 0.37.0 by @zippy in #149
- udp multicast by @zippy in #151
- Fix CI cleanup after UDP multicast merge by @brothercorvo in #152
- Fix daemon LXMF and RNS runtime findings by @brothercorvo in #150
- Install BLE deps in nightly workflows by @CoteTommy in #153
- Add external client interop release gate by @CoteTommy in #154
- Record external interop gate evidence metadata by @CoteTommy in #155
- complete python lxmf reticulum compatibility by @CoteTommy in #158
- [codex] Refactor transport routing and daemon bridge modules by @CoteTommy in #159
- [codex] split inbound worker handlers by @CoteTommy in #160
- [codex] narrow transport internals by @CoteTommy in #162
- [codex] model receipt delivery states by @CoteTommy in #163
- [codex] move propagation control tests by @CoteTommy in #164
- [codex] move send outcome tests by @CoteTommy in #165
- rename reticulum path store module by @CoteTommy in #166
- extract peer control commands by @CoteTommy in #167
- extract announce ingest handler by @CoteTommy in #168
- extract bootstrap destination setup by @CoteTommy in #169
- make resource status predicates explicit by @CoteTommy in #170
- make link status predicates explicit by @CoteTommy in #172
- move propagation link cache state by @CoteTommy in #173
- extract python compat matrix support by @CoteTommy in #174
- extract lxmf cli compat harness by @CoteTommy in #175
- add transport path facade by @CoteTommy in #176
- extract outbound resource tracking by @CoteTommy in #177
- extract lxmd three node harness by @CoteTommy in #178
- extract python channel interop paths by @CoteTommy in #179
- extract python paper helper adapter by @CoteTommy in #180
- [codex] Rename TCP interface hot apply bridge by @CoteTommy in #181
- [codex] Extract lxmd Python compatibility surface by @CoteTommy in #182
- [codex] Extract Reticulum announce cache adapter by @CoteTommy in #183
- [codex] Extract RPC access logging by @CoteTommy in #184
- [codex] fix announce burst collapse by @CoteTommy in #185
- [codex] make sdk event driven async by @CoteTommy in #186
- [codex] bundle async SDK and LXMF parity work by @CoteTommy in #189
- Add announce slot parser and LXMF interop fixtures/tests by @brothercorvo in #192
- [codex] add parallel ZeroMQ SDK transport by @brothercorvo in #199
New Contributors
- @zippy made their first co...
v0.1.3
Highlights
- promotes the
v0.1.3-rc2release train to a stablev0.1.3product release - removes the Bruno / protobuf / gRPC surface from
mainin favor of the maintained JSON-RPC/MessagePack daemon API - aligns the repository, docs, and crates.io naming around the published crate family
Included crates.io releases
reticulum-rs-core 0.2.0lxmf-wire 0.2.0reticulum-rs-transport 0.2.0reticulum-rs-rpc 0.3.0lxmf-sdk 0.2.1reticulum-rs 0.2.0lxmf 0.3.0
Validation
cargo run -p rns-tools --bin rnx -- e2e --timeout-secs 20cargo xtask package-daemon-bundle --version v0.1.3cargo xtask ci --stage interop-artifacts- full
cargo xtask release-checkcleared all substantive test, soak, dry-run publish, boundary, doc, and Miri stages; the only observed blocker was a transient interop-artifacts drift, which was refreshed and revalidated directly before the release cut
Release assets
The Release Bundles workflow for tag v0.1.3 publishes the daemon bundles for Linux, macOS, and Windows to this release.
What's Changed
- Add gRPC API surface, Bruno collections, and peer diagnostics by @CoteTommy in #93
- Assess LXMF vs Reticulum parity by @CoteTommy in #100
- Add DeepWiki badge to README by @CoteTommy in #101
- Codex-generated pull request by @brothercorvo in #102
- docs: add Rust/Python compatibility issue list by @CoteTommy in #104
- [codex] simplify pr ci by @CoteTommy in #105
- [codex] announce proof gates by @CoteTommy in #106
- [codex] link handshake interface parity by @CoteTommy in #107
- [codex] Rework docs cleanup and contributor guidance by @CoteTommy in #108
- [codex] live channel parity by @CoteTommy in #109
- Promote buffer writer parity on top of live channel transport to main by @CoteTommy in #123
- Add buffer callback parity on top of channel buffer layer by @CoteTommy in #111
- Add resource admission, startup, and sender timeout parity by @CoteTommy in #112
- Add resource receipt status parity by @CoteTommy in #124
- Honor LXMF delivery modes in reticulumd bridge by @CoteTommy in #114
- Preserve path tags and bound duplicate lifetime by @CoteTommy in #115
- Add Python compatibility harness scaffold by @CoteTommy in #116
- Add interface-scoped announce ingress control by @CoteTommy in #117
- Align propagated link lifecycle with Python LXMF router by @CoteTommy in #118
- Retain announced LXMF stamp cost by @CoteTommy in #119
- Align peer lifecycle with Python LXMF router by @CoteTommy in #120
- Make recursive path request throttling interface-aware by @CoteTommy in #121
- Align announce retry timing and completion with Python Reticulum by @CoteTommy in #122
- Fix announce retry parity after merge review by @CoteTommy in #125
- Wire LXMF stamp and ticket baseline into daemon send path by @CoteTommy in #126
- Add live mixed Rust/Python harness slice by @CoteTommy in #127
- Make announce ratchet parsing strict by context flag by @CoteTommy in #128
- Validate propagation stamps on ingest by @CoteTommy in #129
- Canonicalize propagation transient ids by @CoteTommy in #130
- Model propagated payload identity in wire helper by @CoteTommy in #131
- Bridge inbound propagation envelopes into daemon ingest by @CoteTommy in #132
- Add propagated Python-to-Rust harness case by @CoteTommy in #133
- Add mixed Python LXMF relay interop coverage by @CoteTommy in #134
- Fix remaining path-response and harness review follow-ups by @CoteTommy in #135
- Implement Reticulum link liveness parity by @brothercorvo in #137
- Add rns-embedded-mininode crate by @brothercorvo in #138
Full Changelog: 0.1.2...v0.1.3
v0.1.3-rc2
What's Changed
- Add gRPC API surface, Bruno collections, and peer diagnostics by @CoteTommy in #93
- Assess LXMF vs Reticulum parity by @CoteTommy in #100
- Add DeepWiki badge to README by @CoteTommy in #101
- Codex-generated pull request by @brothercorvo in #102
- docs: add Rust/Python compatibility issue list by @CoteTommy in #104
- [codex] simplify pr ci by @CoteTommy in #105
- [codex] announce proof gates by @CoteTommy in #106
- [codex] link handshake interface parity by @CoteTommy in #107
- [codex] Rework docs cleanup and contributor guidance by @CoteTommy in #108
- [codex] live channel parity by @CoteTommy in #109
- Promote buffer writer parity on top of live channel transport to main by @CoteTommy in #123
- Add buffer callback parity on top of channel buffer layer by @CoteTommy in #111
- Add resource admission, startup, and sender timeout parity by @CoteTommy in #112
- Add resource receipt status parity by @CoteTommy in #124
- Honor LXMF delivery modes in reticulumd bridge by @CoteTommy in #114
- Preserve path tags and bound duplicate lifetime by @CoteTommy in #115
- Add Python compatibility harness scaffold by @CoteTommy in #116
- Add interface-scoped announce ingress control by @CoteTommy in #117
- Align propagated link lifecycle with Python LXMF router by @CoteTommy in #118
- Retain announced LXMF stamp cost by @CoteTommy in #119
- Align peer lifecycle with Python LXMF router by @CoteTommy in #120
- Make recursive path request throttling interface-aware by @CoteTommy in #121
- Align announce retry timing and completion with Python Reticulum by @CoteTommy in #122
- Fix announce retry parity after merge review by @CoteTommy in #125
- Wire LXMF stamp and ticket baseline into daemon send path by @CoteTommy in #126
- Add live mixed Rust/Python harness slice by @CoteTommy in #127
- Make announce ratchet parsing strict by context flag by @CoteTommy in #128
- Validate propagation stamps on ingest by @CoteTommy in #129
- Canonicalize propagation transient ids by @CoteTommy in #130
- Model propagated payload identity in wire helper by @CoteTommy in #131
- Bridge inbound propagation envelopes into daemon ingest by @CoteTommy in #132
- Add propagated Python-to-Rust harness case by @CoteTommy in #133
- Add mixed Python LXMF relay interop coverage by @CoteTommy in #134
- Fix remaining path-response and harness review follow-ups by @CoteTommy in #135
- Implement Reticulum link liveness parity by @brothercorvo in #137
- Add rns-embedded-mininode crate by @brothercorvo in #138
Full Changelog: 0.1.2...v0.1.3-rc2
crates.io release waves
Initial Wave 1 publish from the packaging pass on main:
reticulum-rs-core 0.2.0lxmf-wire 0.2.0reticulum-rs-transport 0.2.0reticulum-rs-rpc 0.2.1
Follow-up publish wave after removing the Bruno / protobuf / gRPC surface from main:
reticulum-rs-rpc 0.3.0lxmf-sdk 0.2.1reticulum-rs 0.2.0lxmf 0.3.0
Release hygiene note:
reticulum-rs-rpc 0.2.0was yanked because its published tarball omitted required package assets.reticulum-rs-rpc 0.2.1replaced it for the pre-removal line.reticulum-rs-rpc 0.3.0is the current line frommain, after the gRPC removal.
Repository follow-up:
mainnow includes the facade crateslxmfandreticulum-rs.mainremoves the Bruno / protobuf / gRPC surface in favor of the maintained JSON-RPC/MessagePack daemon API and library crates.
0.1.3-rc1
What's Changed
- Add gRPC API surface, Bruno collections, and peer diagnostics by @CoteTommy in #93
- Assess LXMF vs Reticulum parity by @CoteTommy in #100
- Add DeepWiki badge to README by @CoteTommy in #101
- Codex-generated pull request by @brothercorvo in #102
- docs: add Rust/Python compatibility issue list by @CoteTommy in #104
- [codex] simplify pr ci by @CoteTommy in #105
- [codex] announce proof gates by @CoteTommy in #106
- [codex] link handshake interface parity by @CoteTommy in #107
- [codex] Rework docs cleanup and contributor guidance by @CoteTommy in #108
- [codex] live channel parity by @CoteTommy in #109
- Promote buffer writer parity on top of live channel transport to main by @CoteTommy in #123
- Add buffer callback parity on top of channel buffer layer by @CoteTommy in #111
- Add resource admission, startup, and sender timeout parity by @CoteTommy in #112
- Add resource receipt status parity by @CoteTommy in #124
- Honor LXMF delivery modes in reticulumd bridge by @CoteTommy in #114
- Preserve path tags and bound duplicate lifetime by @CoteTommy in #115
- Add Python compatibility harness scaffold by @CoteTommy in #116
- Add interface-scoped announce ingress control by @CoteTommy in #117
- Align propagated link lifecycle with Python LXMF router by @CoteTommy in #118
- Retain announced LXMF stamp cost by @CoteTommy in #119
- Align peer lifecycle with Python LXMF router by @CoteTommy in #120
- Make recursive path request throttling interface-aware by @CoteTommy in #121
- Align announce retry timing and completion with Python Reticulum by @CoteTommy in #122
- Fix announce retry parity after merge review by @CoteTommy in #125
- Wire LXMF stamp and ticket baseline into daemon send path by @CoteTommy in #126
- Add live mixed Rust/Python harness slice by @CoteTommy in #127
- Make announce ratchet parsing strict by context flag by @CoteTommy in #128
- Validate propagation stamps on ingest by @CoteTommy in #129
- Canonicalize propagation transient ids by @CoteTommy in #130
- Model propagated payload identity in wire helper by @CoteTommy in #131
Full Changelog: 0.1.2...0.1.3-rc1
What's Changed
- Add gRPC API surface, Bruno collections, and peer diagnostics by @CoteTommy in #93
- Assess LXMF vs Reticulum parity by @CoteTommy in #100
- Add DeepWiki badge to README by @CoteTommy in #101
- Codex-generated pull request by @brothercorvo in #102
- docs: add Rust/Python compatibility issue list by @CoteTommy in #104
- [codex] simplify pr ci by @CoteTommy in #105
- [codex] announce proof gates by @CoteTommy in #106
- [codex] link handshake interface parity by @CoteTommy in #107
- [codex] Rework docs cleanup and contributor guidance by @CoteTommy in #108
- [codex] live channel parity by @CoteTommy in #109
- Promote buffer writer parity on top of live channel transport to main by @CoteTommy in #123
- Add buffer callback parity on top of channel buffer layer by @CoteTommy in #111
- Add resource admission, startup, and sender timeout parity by @CoteTommy in #112
- Add resource receipt status parity by @CoteTommy in #124
- Honor LXMF delivery modes in reticulumd bridge by @CoteTommy in #114
- Preserve path tags and bound duplicate lifetime by @CoteTommy in #115
- Add Python compatibility harness scaffold by @CoteTommy in #116
- Add interface-scoped announce ingress control by @CoteTommy in #117
- Align propagated link lifecycle with Python LXMF router by @CoteTommy in #118
- Retain announced LXMF stamp cost by @CoteTommy in #119
- Align peer lifecycle with Python LXMF router by @CoteTommy in #120
- Make recursive path request throttling interface-aware by @CoteTommy in #121
- Align announce retry timing and completion with Python Reticulum by @CoteTommy in #122
- Fix announce retry parity after merge review by @CoteTommy in #125
- Wire LXMF stamp and ticket baseline into daemon send path by @CoteTommy in #126
Full Changelog: 0.1.2...0.1.3-rc1
0.1.2
What's Changed
- ci: use native shell for windows release bundle build by @CoteTommy in #94
- build: remove unix-only cargo wrapper by @CoteTommy in #95
- build: bundle sqlite for cross-platform builds by @CoteTommy in #96
- build: fix windows daemon bundle archiving by @CoteTommy in #97
Full Changelog: 0.1.1...0.1.2
LXMF-rs 0.1 (superseded by 0.1.1)
Release 0.1
Superseded by 0.1.1. Use 0.1.1 for current release bundles and cross-platform packaging.
This was the initial Windows daemon-focused release for LXMF-rs.
What's Included
lxmd.exe-- compatibility launcher and CLI control surface.reticulumd.exe-- daemon process actually started bylxmd.lxmd.example.config-- starter config generated fromlxmd --exampleconfig.README.md-- quick runtime usage reference.
Running
- Extract these files into one directory.
- Place a config file next to
lxmd.exe(default name:config), or pass a directory with--config. - Start daemon:
./lxmd.exe --config .\lxmd --rpc 127.0.0.1:4243- Check health:
./lxmd.exe --config .\lxmd --status --rpc 127.0.0.1:4243If needed, copy the binaries and the config together to another machine that can run this package.
Notes
lxmd.exewill search forreticulumd.exenext to itself, one directory up, or the path inRETICULUMD_BIN.- If using the generated sample config, default addresses are
rpc.listen=127.0.0.1:4243andtransport.listen=0.0.0.0:37428.