Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5ff4ed0
Enable publishing to Cargo & JSR
sachaw Oct 6, 2024
81430e9
update create tag workflow
sachaw Oct 6, 2024
14aacc5
add manual dispatch
sachaw Oct 6, 2024
f55ab80
fire on push
sachaw Oct 6, 2024
365a4ad
debug
sachaw Oct 6, 2024
5336d05
manual version
sachaw Oct 6, 2024
57511b9
try fix
sachaw Oct 6, 2024
258675c
try fix
sachaw Oct 6, 2024
9e8b043
try fix
sachaw Oct 6, 2024
72412e7
try fix
sachaw Oct 6, 2024
63ea03f
fix typo
sachaw Oct 6, 2024
31d8b91
fix CI
sachaw Oct 8, 2024
4fd6cb0
add nanopb codegen
sachaw Oct 25, 2024
fbc3d30
Merge remote-tracking branch 'origin/master' into next
thebentern Oct 29, 2024
0291247
Fix import
thebentern Oct 29, 2024
8e3799b
I guess this would be 2.5.9 now?
thebentern Oct 29, 2024
abaab31
merge upstream changes
sachaw Feb 28, 2025
d4593aa
Merge remote-tracking branch 'origin/master' into next
sachaw Feb 28, 2025
99486d9
bump version
sachaw Feb 28, 2025
31a06e1
bump package version
sachaw Feb 28, 2025
28f7c39
Bump to 2.6.2
thebentern Mar 19, 2025
37a57af
Merge remote-tracking branch 'origin/master' into next
thebentern Jun 24, 2025
f1e26d1
2.7.0 bump
thebentern Jun 24, 2025
2a0cbc6
Build and publish NPM module
bergie Sep 6, 2025
8c74af0
Fix package name and add description
bergie Sep 6, 2025
e2ca336
Merge pull request #764 from bergie/npm_packaging
thebentern Sep 6, 2025
bfa8a17
We need the assets before we can publish
bergie Sep 6, 2025
3540675
Mention NPM in the title
bergie Sep 6, 2025
6d8e4e3
package.json inteferes with the Deno build
bergie Sep 6, 2025
ee9c25f
Merge pull request #766 from bergie/fix_build
fifieldt Sep 10, 2025
1a98771
Point to the correct JS file
bergie Sep 11, 2025
eac05c2
Merge pull request #771 from bergie/js_not_mjs
thebentern Sep 11, 2025
4613d7d
Only try npm publish if version doesn't exist
bergie Sep 11, 2025
4aeba00
Merge pull request #772 from bergie/publish_only_if_new
thebentern Sep 11, 2025
42c38e6
Merge remote-tracking branch 'origin/master' into release_2_7_8
bergie Sep 11, 2025
cdd373c
Bump version to 2.7.8
bergie Sep 11, 2025
15fda26
Merge pull request #773 from bergie/release_2_7_8
danditomaso Sep 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,3 @@

- [ ] All top level messages commented
- [ ] All enum members have unique descriptions


### New Hardware Model Acceptance Policy

Due to limited availability and ongoing support, new Hardware Models will only be accepted from [Meshtastic Backers and Partners](https://meshtastic.com/). The Meshtastic team reserves the right to make exceptions to this policy.

#### Alternative for Community Contributors

You are welcome to use one of the existing DIY hardware models in your PlatformIO environment and create a pull request in the firmware project. Please note the following conditions:

- The device will **not** be officially supported by the core Meshtastic team.
- The device will **not** appear in the [Web Flasher](https://flasher.meshtastic.org/) or Github release assets.
- You will be responsible for ongoing maintenance and support.
- Community-contributed / DIY hardware models are considered experimental and will likely have limited or no testing.

#### Getting Official Support

To have your hardware model officially supported and included in the Meshtastic ecosystem, consider becoming a Meshtastic Backer or Partner. Visit [meshtastic.com](https://meshtastic.com/) for more information about partnership opportunities.
24 changes: 0 additions & 24 deletions .github/workflows/ci.yml

This file was deleted.

13 changes: 0 additions & 13 deletions .github/workflows/create_tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,3 @@ jobs:
tag: ${{ steps.version.outputs.NEW_VERSION }}
generateReleaseNotes: true
token: ${{ github.token }}

- name: Setup Buf
uses: bufbuild/[email protected]
with:
github_token: ${{ github.token }}
token: ${{ secrets.BUF_TOKEN }}
setup_only: true

- name: Push to schema registry
env:
BUF_TOKEN: ${{ secrets.BUF_TOKEN }}
run: |
buf push --tag ${{ steps.version.outputs.NEW_VERSION }}
121 changes: 103 additions & 18 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,115 @@
name: Push new version to schema registry

permissions:
contents: read
name: Publish to Cargo, JSR, & NPM

on:
push:
tags:
- "**"
# tags:
# - "**"

jobs:
push_to_registry:
runs-on: ubuntu-latest
permissions: write-all

jobs:
codegen:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: debug
run: cat packages/ts/deno.json && cat packages/rust/Cargo.toml && cat packages/ts/package.json
- name: Set Package Versions to current tag
# run: sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/ts/deno.json \
# && sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/ts/package.json \
# && sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/rust/Cargo.toml
run: |
sed -i "s/__PACKAGE_VERSION__/2.7.8/g" packages/ts/deno.json
sed -i "s/__PACKAGE_VERSION__/2.7.8/g" packages/ts/package.json
sed -i "s/__PACKAGE_VERSION__/2.7.8/g" packages/rust/Cargo.toml
- name: Setup Buf
uses: bufbuild/buf-action@v1.2.0
uses: bufbuild/buf-setup-action@main
with:
github_token: ${{ github.token }}
token: ${{ secrets.BUF_TOKEN }}
setup_only: true

- name: Push to schema registry
env:
BUF_TOKEN: ${{ secrets.BUF_TOKEN }}
- name: Generate code
run: buf generate
- name: Copy license & README
run: |
buf push --tag ${{ github.ref_name }}
cp LICENSE packages/ts
cp LICENSE packages/rust
cp README.md packages/ts
cp README.md packages/rust
- name: Upload Rust code
uses: actions/upload-artifact@v4
with:
name: rust_code
path: packages/rust
- name: Upload TypeScript code
uses: actions/upload-artifact@v4
with:
name: ts_code
path: packages/ts
- name: Upload C code
uses: actions/upload-artifact@v4
with:
name: c_code
path: packages/c

publish-jsr:
runs-on: ubuntu-24.04
needs: codegen
permissions:
contents: read
id-token: write
steps:
- name: Download TypeScript code
uses: actions/download-artifact@v4
with:
name: ts_code
- name: Remove package.json
run: rm package.json
- name: Set up Deno
uses: denoland/setup-deno@main
with:
deno-version: rc
- name: Publish to JSR
run: deno publish --unstable-sloppy-imports

publish-npm:
runs-on: ubuntu-24.04
needs: codegen
permissions:
contents: read
id-token: write
steps:
- name: Download TypeScript code
uses: actions/download-artifact@v4
with:
name: ts_code
- name: Install Node.js
uses: actions/setup-node@v5
with:
node-version: lts/*
registry-url: https://registry.npmjs.org/
- name: Install NPM dependencies
run: npm install
- name: Build JavaScript module
run: npm run build
- name: Publish NPM package
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}

publish-cargo:
runs-on: ubuntu-24.04
needs: codegen
steps:
- name: Download Rust code
uses: actions/download-artifact@v4
with:
name: rust_code
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Check Library
run: cargo check
- name: Publish to crates.io
uses: katyo/publish-crates@v2
with:
registry-token: ${{ secrets.CARGO_TOKEN }}
ignore-unpublished-changes: true
23 changes: 0 additions & 23 deletions .github/workflows/pull_request.yml

This file was deleted.

7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
packages/ts/lib/*
packages/ts/node_modules/
packages/ts/package-lock.json
packages/rust/src/generated/*
packages/rust/target
packages/c/*
!.gitkeep
.DS_Store
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ The [Protobuf](https://developers.google.com/protocol-buffers) message definitio
## Stats

![Alt](https://repobeats.axiom.co/api/embed/47e9ee1d81d9c0fdd2b4b5b4c673adb1756f6db5.svg "Repobeats analytics image")

12 changes: 12 additions & 0 deletions buf.gen.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: v2
plugins:
- remote: buf.build/bufbuild/es:v2.1.0
out: packages/ts/lib
opt: target=ts
- remote: buf.build/community/neoeinstein-prost:v0.4.0
out: packages/rust/src/generated
- remote: buf.build/community/neoeinstein-prost-crate:v0.4.1
out: packages/rust/src/generated
opt: no_features
- remote: buf.build/community/nanopb:v0.4.9
out: packages/c
32 changes: 18 additions & 14 deletions buf.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
version: v1
name: buf.build/meshtastic/protobufs
deps: []
build:
excludes: []
breaking:
use:
- FILE
lint:
ignore_only:
PACKAGE_DEFINED:
- nanopb.proto
use:
- MINIMAL
version: v2
modules:
- path: meshtastic
name: buf.build/meshtastic/protobufs
excludes:
- meshtastic/device_only/
lint:
use:
- MINIMAL
except:
- PACKAGE_NO_IMPORT_CYCLE
disallow_comment_ignores: true
breaking:
use:
- FILE
except:
- EXTENSION_NO_DELETE
- FIELD_SAME_DEFAULT
57 changes: 30 additions & 27 deletions meshtastic/admin.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ syntax = "proto3";

package meshtastic;

import "meshtastic/channel.proto";
import "meshtastic/config.proto";
import "meshtastic/connection_status.proto";
import "meshtastic/device_ui.proto";
import "meshtastic/mesh.proto";
import "meshtastic/module_config.proto";
import "channel.proto";
import "config.proto";
import "connection_status.proto";
import "mesh.proto";
import "module_config.proto";
import "device_ui.proto";

option csharp_namespace = "Meshtastic.Protobufs";
option go_package = "github.com/meshtastic/go/generated";
Expand All @@ -21,6 +21,7 @@ option swift_prefix = "";
* (Prior to 1.2 these operations were done via special ToRadio operations)
*/
message AdminMessage {

/*
* The node generates this key and sends it with any get_x_response packets.
* The client MUST include the same key with any set_x commands. Key expires after 300 seconds.
Expand Down Expand Up @@ -528,50 +529,52 @@ message SharedContact {
bool should_ignore = 3;
}

/*
* This message is used by a client to initiate or complete a key verification
*/
/*
* This message is used by a client to initiate or complete a key verification
*/
message KeyVerificationAdmin {
/*
* Three stages of this request.
*/
enum MessageType {

/*
* This is the first stage, where a client initiates
*/
* This is the first stage, where a client initiates
*/
INITIATE_VERIFICATION = 0;

/*
* After the nonce has been returned over the mesh, the client prompts for the security number
* And uses this message to provide it to the node.
*/
PROVIDE_SECURITY_NUMBER = 1;

/*
* Once the user has compared the verification message, this message notifies the node.
*/
/*
* Once the user has compared the verification message, this message notifies the node.
*/
DO_VERIFY = 2;

/*
* This is the cancel path, can be taken at any point
*/
/*
* This is the cancel path, can be taken at any point
*/
DO_NOT_VERIFY = 3;

}

MessageType message_type = 1;

/*
* The nodenum we're requesting
*/
/*
* The nodenum we're requesting
*/
uint32 remote_nodenum = 2;

/*
* The nonce is used to track the connection
*/
/*
* The nonce is used to track the connection
*/
uint64 nonce = 3;

/*
* The 4 digit code generated by the remote node, and communicated outside the mesh
*/
/*
* The 4 digit code generated by the remote node, and communicated outside the mesh
*/
optional uint32 security_number = 4;
}
4 changes: 2 additions & 2 deletions meshtastic/apponly.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ syntax = "proto3";

package meshtastic;

import "meshtastic/channel.proto";
import "meshtastic/config.proto";
import "channel.proto";
import "config.proto";

option csharp_namespace = "Meshtastic.Protobufs";
option go_package = "github.com/meshtastic/go/generated";
Expand Down
Loading