chore: release 1.0.0

This commit is contained in:
swaits committed 2026-04-22 09:32:06 -06:00
1 parent 2a3c2be060
commit b0ce0a7aca
3 files changed
+50 -6

No files matched your search

+37
View File
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
## [Unreleased] ## [Unreleased]
## [1.0.0] - 2026-04-22
The 1.0 release. Firmware now speaks DongLoRa Protocol v2 end to end,
depends on the freshly-published `donglora-protocol` 1.0.0 and `hsmc`
0.1.0 from crates.io, and ships GitHub Release binaries for every
supported board.
### Breaking
- **DongLoRa Protocol v2 wire format** (wire-incompatible with 0.x
clients and firmware). Every `type_id`, tag-correlation rule, and
field layout follows `PROTOCOL.md` v1.0.
- **Host framing replaced.** `src/host/framing.rs` now drives a
streaming `FrameDecoder` from `donglora-protocol` and emits
`(type_id, tag, payload)` frames; the 0.x COBS-per-response shim is
gone.
- **Radio task reshape.** `src/radio.rs` emits v2 `TX_DONE` /
`SetConfigResult` / `RxPayload` / `RxOrigin` shapes directly; no 0.x
translation layer remains.
### Changed
- `hsmc` switched from path-dep on the local workspace to
`version = "0.1.0"` from crates.io.
- `donglora-protocol` switched from path-dep on `../protocol` to
`version = "1.0.0"` from crates.io; firmware builds are now
reproducible from a clean checkout with no sibling repo required.
- `PROTOCOL.md` updated to the DongLoRa Protocol v2 normative spec,
kept byte-for-byte in sync with the `donglora-protocol` crate's
copy.
### Infrastructure
- Cargo.toml `repository` + `homepage` now point at the canonical
`https://github.com/donglora/firmware` (the `swaits/donglora`
repo is archived).
## [0.5.0] - 2026-04-16 ## [0.5.0] - 2026-04-16
### Added ### Added
Generated
+8 -2
View File
@@ -486,7 +486,7 @@ dependencies = [
[[package]] [[package]]
name = "donglora" name = "donglora"
version = "0.5.0" version = "1.0.0"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cortex-m", "cortex-m",
@@ -527,7 +527,9 @@ dependencies = [
[[package]] [[package]]
name = "donglora-protocol" name = "donglora-protocol"
version = "0.1.0" version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8f2743ac7668845500e3686890917cdf5b0a09d17ec099bde2db4d3fae2a4a4"
dependencies = [ dependencies = [
"defmt 1.0.1", "defmt 1.0.1",
"heapless 0.9.2", "heapless 0.9.2",
@@ -1403,6 +1405,8 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]] [[package]]
name = "hsmc" name = "hsmc"
version = "0.1.0" version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d8cb8820e7ff5fa4fa4b5dbb78b9f59d26ccc8e3bcf69d8f4c4ce29ee01b93a"
dependencies = [ dependencies = [
"embassy-futures", "embassy-futures",
"embassy-sync 0.8.0", "embassy-sync 0.8.0",
@@ -1414,6 +1418,8 @@ dependencies = [
[[package]] [[package]]
name = "hsmc-macros" name = "hsmc-macros"
version = "0.1.0" version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4fa4dad2c05309fae4f6d15b74d9b37c1fd7325a96701972fdad89637635160"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
+5 -4
View File
@@ -3,13 +3,14 @@ members = ["."]
[package] [package]
name = "donglora" name = "donglora"
version = "0.5.0" version = "1.0.0"
edition = "2021" edition = "2021"
build = "build.rs" build = "build.rs"
authors = ["Stephen Waits <steve@waits.net>"] authors = ["Stephen Waits <steve@waits.net>"]
license = "MIT" license = "MIT"
description = "Transparent LoRa radio over USB — plug in a board, talk LoRa from your host" description = "Transparent LoRa radio over USB — plug in a board, talk LoRa from your host"
repository = "https://github.com/swaits/donglora" repository = "https://github.com/donglora/firmware"
homepage = "https://github.com/donglora/firmware"
keywords = ["lora", "radio", "embedded", "usb", "firmware"] keywords = ["lora", "radio", "embedded", "usb", "firmware"]
categories = ["embedded", "hardware-support", "no-std"] categories = ["embedded", "hardware-support", "no-std"]
@@ -29,8 +30,8 @@ embassy-usb = { version = "0.6", features = ["defmt"] }
embassy-usb-driver = "0.2" embassy-usb-driver = "0.2"
ucobs = { version = "0.3", features = ["legacy-msrv"] } ucobs = { version = "0.3", features = ["legacy-msrv"] }
heapless = "0.9" heapless = "0.9"
donglora-protocol = { path = "../protocol" } donglora-protocol = "1.0.0"
hsmc = { path = "../../hsmc/hsmc", default-features = false, features = ["embassy"] } hsmc = { version = "0.1.0", default-features = false, features = ["embassy"] }
lora-phy = "3.0" lora-phy = "3.0"
portable-atomic = { version = "1", optional = true, default-features = false, features = ["critical-section"] } portable-atomic = { version = "1", optional = true, default-features = false, features = ["critical-section"] }
static_cell = "2.1" static_cell = "2.1"