Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c14cd
Add local-only uf2reset CLI command
mikecarper Apr 17, 2026
0ce1a55
Refactor build.sh menu and build flow
mikecarper Apr 20, 2026
166f804
Remove unrelated CLI changes from PR branch
mikecarper Apr 20, 2026
4c39334
Add new line at the end of the file.
mikecarper Apr 20, 2026
d8552e3
Better json arg passing in build.sh
mikecarper Apr 20, 2026
8525b4e
For packets with a path set; auto try again if no echo was heard
mikecarper Apr 21, 2026
fae6dd8
Merge branch 'main' into halo-direct-path-retries
mikecarper Apr 21, 2026
6a53f6d
Merge branch 'pr/buildsh-refactor-menu' into halo-direct-path-retries
mikecarper Apr 21, 2026
577433c
Retry 3 times with a 200ms,300ms,400ms backoff.
mikecarper Apr 23, 2026
9c2ac5a
Max retries is now a var that can be set between 1 to 15
mikecarper Apr 24, 2026
c5d8ada
Added features from PowerSaving 14.1.1
IoTThinks Apr 24, 2026
0702065
Delay sleep when BLE is active writing.
IoTThinks Apr 24, 2026
756268e
Fix issue with packet prefixes getting added to the table.
mikecarper Apr 24, 2026
0243ec4
Round up the SNR vs replacement to get a weighted average.
mikecarper Apr 24, 2026
a441376
Added TimeTrim and Kept RTC 8M during sleep
IoTThinks Apr 25, 2026
aa400da
Clear stale wakeup sources to avoid ghost wakeup
IoTThinks Apr 25, 2026
5a45d54
Added LilyGo_TBeam_1W_companion_radio_ble_ps
IoTThinks Apr 26, 2026
8fadd31
Merge branch 'main' of https://github.com/IoTThinks/MeshCore into hal…
mikecarper Apr 27, 2026
181ddb2
Added Heltec_WSL3_companion_radio_ble_ps
IoTThinks Apr 27, 2026
fa9f3bd
Added Heltec_Wireless_Tracker_companion_radio_ble_ps
IoTThinks Apr 27, 2026
e608503
Merged latest changes from "Add CLI control to LoRa's fem LNA" https:…
IoTThinks Apr 27, 2026
6c20a10
Refine direct retry SNR handling and recent repeater controls
mikecarper Apr 27, 2026
7f02cbe
Delayed sleep for BLE companions if BLE read is busy. Reduced sleep p…
IoTThinks May 4, 2026
eac4f72
Commented NRF52_POWER_MANAGEMENT and added PowerSaving BLE companions
IoTThinks May 6, 2026
517d3ed
Added isReadBusy for NRF52 BLE
IoTThinks May 6, 2026
3281ea2
To drift forward less than 7s/day (3.5 minutes/month) for ESP32-based…
IoTThinks May 6, 2026
ea3f7ac
Merge remote-tracking branch 'iotthinks/PowerSaving-v15' into halo-di…
mikecarper May 6, 2026
674beb0
Improve repeater direct retry handling
mikecarper May 7, 2026
d4febe7
Add flood retry controls
mikecarper May 7, 2026
93bd0f0
Fix flood retry diagnostics
mikecarper May 7, 2026
e0b19a1
Fix direct retry diagnostics
mikecarper May 7, 2026
8dcd497
Delay direct retry final failure
mikecarper May 7, 2026
4e10020
Merge branch 'meshcore-dev:main' into keymind
mikecarper May 8, 2026
9f81ffc
Merge branch 'meshcore-dev:main' into halo-direct-path-retries
mikecarper May 8, 2026
3a6766b
Improve flood retry bridge buckets
mikecarper May 8, 2026
ae67293
Honor flood retry ignore for echoes
mikecarper May 8, 2026
b475bde
Unify retry preset settings
mikecarper May 8, 2026
c244eff
Revise Halo and Keymind settings documentation
mikecarper May 8, 2026
bb8e714
Add adaptive CR for direct retries
mikecarper May 8, 2026
ca0679e
Merge adaptive CR direct retries into keymind
mikecarper May 8, 2026
7d237f8
Update keymind retry controls
mikecarper May 8, 2026
9ef5310
Merge branch 'meshcore-dev:main' into keymind
mikecarper May 13, 2026
f32f12c
Merge upstream main into keymind
mikecarper May 18, 2026
b59966b
Add direct path override support
mikecarper May 22, 2026
c0e3860
Add repeater flood text command
mikecarper May 22, 2026
f693bdb
Add opt-in battery alert flood text
mikecarper May 22, 2026
c93d907
Make battery alert thresholds configurable
mikecarper May 22, 2026
484287e
Merge remote-tracking branch 'upstream/main' into HEAD
mikecarper Jun 15, 2026
6fd7b8a
Merge remote-tracking branch 'upstream/dev' into HEAD
mikecarper Jun 15, 2026
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
32 changes: 32 additions & 0 deletions .github/workflows/stale-bot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: 'Run Stale Bot'
on:
schedule:
- cron: '30 1 * * *' # daily at 1:30am
workflow_dispatch: {}

permissions:
actions: write
issues: write
pull-requests: write

jobs:
close-issues:
# only run on main repo, not forks
if: github.repository == 'meshcore-dev/MeshCore'
runs-on: ubuntu-latest
steps:
- name: Close Stale Issues
uses: actions/stale@v10
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# auto close issues
days-before-issue-stale: 60
days-before-issue-close: 7
exempt-issue-labels: "keep-open"
stale-issue-label: "stale"
stale-issue-message: "This issue is stale because it has been open for 60 days with no activity. Remove the stale label or add a comment if this issue is still relevant, otherwise this issue will automatically close in 7 days."
close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale."
# don't auto close prs
days-before-pr-stale: -1
days-before-pr-close: -1

57 changes: 57 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Security Policy

## Supported Versions

Security fixes are applied to the latest release only. We do not backport
fixes to older versions.

| Version | Supported |
|---------|-----------|
| 1.15+ | ✅ |
| <1.15 | ❌ |

## Reporting a Vulnerability

**Please do not report security vulnerabilities through public GitHub issues.**

Use GitHub's private vulnerability reporting instead:
1. Go to the **Security** tab of this repository
2. Click **Report a vulnerability**
3. Fill in the details and submit

### What to include

A useful report tells us:
- Which component or file is affected
- What an attacker can do (impact) and under what conditions
- A minimal reproduction case or proof-of-concept if you have one
- Whether you believe it is remotely exploitable

You do not need a working exploit to report. An incomplete report is better
than no report.

## What to expect

This is a volunteer-maintained open-source project. We will do our best to
respond in a reasonable timeframe, but cannot commit to specific deadlines.

We ask that you give us a fair opportunity to investigate and address the
issue before any public disclosure. If you have not heard back after
**90 days**, feel free to follow up or proceed with disclosure at your
discretion.

## Scope

In scope:
- Remote code execution, memory corruption, or denial-of-service via crafted
radio packets
- Authentication or encryption bypasses
- Vulnerabilities in the packet routing or path handling logic

Out of scope:
- Physical access attacks (e.g., JTAG, UART extraction of keys)
- Regulatory compliance (duty cycle, frequency restrictions)
- Jamming or other physical-layer radio interference
- Issues in third-party libraries (RadioLib, Crypto, etc.) — report those
upstream
- "Best practice" suggestions without a demonstrated attack path
97 changes: 97 additions & 0 deletions build-iotthinks.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#!/usr/bin/env bash
# ./build-iotthinks.sh
export FIRMWARE_VERSION="PowerSaving15"

############# Repeaters #############
# Commonly-used boards
## ESP32 - 12 boards
./build.sh build-firmware \
Heltec_v3_repeater \
Heltec_WSL3_repeater \
heltec_v4_repeater \
Station_G2_repeater \
T_Beam_S3_Supreme_SX1262_repeater \
Tbeam_SX1262_repeater \
LilyGo_T3S3_sx1262_repeater \
Xiao_S3_WIO_repeater \
Xiao_C3_repeater \
Xiao_C6_repeater_ \
Heltec_E290_repeater \
Heltec_Wireless_Tracker_repeater

## NRF52 - 13 boards
./build.sh build-firmware \
RAK_4631_repeater \
Heltec_t114_repeater \
Xiao_nrf52_repeater \
Heltec_mesh_solar_repeater \
ProMicro_repeater \
SenseCap_Solar_repeater \
t1000e_repeater \
LilyGo_T-Echo_repeater \
WioTrackerL1_repeater \
RAK_3401_repeater \
RAK_WisMesh_Tag_repeater \
GAT562_30S_Mesh_Kit_repeater \
GAT562_Mesh_Tracker_Pro_repeater

## ESP32, SX1276 - 3 boards
./build.sh build-firmware \
Heltec_v2_repeater \
LilyGo_TLora_V2_1_1_6_repeater \
Tbeam_SX1276_repeater

## Ikoka - 3 boards
./build.sh build-firmware \
ikoka_nano_nrf_22dbm_repeater \
ikoka_nano_nrf_30dbm_repeater \
ikoka_nano_nrf_33dbm_repeater

############# Room Server #############
# ESP32
./build.sh build-firmware \
Heltec_v3_room_server \
heltec_v4_room_server

# NRF52
./build.sh build-firmware \
RAK_4631_room_server \
Heltec_t114_room_server \
Xiao_nrf52_room_server \
t1000e_room_server \
WioTrackerL1_room_server \
RAK_3401_room_server

############# Companions BLE #############
# ESP32
./build.sh build-firmware \
Heltec_v3_companion_radio_ble_ps \
heltec_v4_companion_radio_ble_ps \
heltec_v4_companion_radio_ble_ps_femoff \
Xiao_S3_WIO_companion_radio_ble \
Heltec_Wireless_Paper_companion_radio_ble

# NRF52
./build.sh build-firmware \
RAK_4631_companion_radio_ble \
Heltec_t114_companion_radio_ble \
Xiao_nrf52_companion_radio_ble \
t1000e_companion_radio_ble \
LilyGo_T-Echo_companion_radio_ble \
WioTrackerL1_companion_radio_ble \
RAK_3401_companion_radio_ble \
RAK_WisMesh_Tag_companion_radio_ble

############# Companions USB #############
./build.sh build-firmware \
Heltec_v3_companion_radio_usb

############# Companions BLE PS #############
./build.sh build-firmware \
Heltec_v3_companion_radio_ble_ps \
heltec_v4_companion_radio_ble_ps \
heltec_v4_3_companion_radio_ble_ps_femoff \
Xiao_C3_companion_radio_ble_ps \
Xiao_S3_companion_radio_ble_ps \
Xiao_S3_WIO_companion_radio_ble_ps \
Heltec_v2_companion_radio_ble_ps
Loading