Important
This release offers a preview of the upcoming 2.5 changes to add Public Key encryption to direct messages and enhanced session key based security to remote admin messages.
Messages should deliver on other platforms without any indication that they are now encrypted. Remote administration under the new scheme will require client updates to all of the platforms.
Warning
We recommend holding off on installation of this version for any LR111X based radios (Seeed Tracker / T1000-E) as there are some outstanding issues in communicating with older SX1276 based devices
Enhancements
- 2.5 Changes by @thebentern in #4431
- Re-implement PKI from #1509 by @jp-bennett in #4379
- User to UserLite in NodeDB by @thebentern in #4438
- Add logic to nodeDB to prefer evicting boring nodes by @jp-bennett in #4441
- Shorter nodeinfo timeout redux by @jp-bennett in #4458
- Add PKI channel for MQTT by @jp-bennett in #4464
- Short turdbo by @thebentern in #4465
- Re-compute correct timeslot on applyModemConfig by @thebentern in #4469
- Master downstream to 2.5 by @thebentern in #4474
- Send local stats telemetry to phone every 15 minutes by @thebentern in #4475
- Set time-only admin command by @thebentern in #4479
- AdminModule session_passkey by @jp-bennett in #4478
- Add two-way traceroute result with SNR per hop by @GUVWAF in #4485
- Add 4 bytes of random nonce to PKI by @jp-bennett in #4493
- Feature: default to fuzzy GPS location on the Default Channel by @mrfyda in #4467
- Add admin getter for
SECURITY_CONFIG
by @andrekir in #4499 - Only accept PKI messages for MQTT downlink for known nodes by @GUVWAF in #4498
- Fix deprecated macros. by @Mictronics in #4505
- Set RP2040 in dormant mode when deep sleep is triggered. by @Mictronics in #4510
- Make it possible to define TCXO and XTAL radio modules within one variant by @Nestpebble in #4492
- Add a .yml to setup a Gitpod instance quickly by @Nestpebble in #4551
- Add devcontainer by @jhollowe in #4491
- Add support for Adafruit Feather RP2040 with RFM95. by @miltieIV2 in #4451
- Deal with admin_key being repeated by @jp-bennett in #4558
- Don't compare nodeDB macaddr to owner.macaddr, because in rare cases … by @jp-bennett in #4562
- Set current time to system time in portduino build by @pccr10001 in #4556
- Set high priority for text messages by @GUVWAF in #4592
- Add button secondary and enable scan-select on T190 by @thebentern in #4577
- Move Time set from system to main by @jp-bennett in #4583
- Support for Polish OLED characters by @And137 in #4572* Key regen and MQTT fix by @jp-bennett in #4585
- Add bluetooth capability marker to some ESP32S3 boards by @S5NC in #4587
- Lilygo T3S3 E-Paper support by @mverch67 in #4569
- More priorities for different types of MeshPackets by @GUVWAF in #4606
- Hello world for MeshTestic by @thebentern in #4607
Bug fixes and Maintenace
- Remove heltec-specific gps code from main.cpp by @fifieldt in #4508
- Add heartbeat LED for HT-VME290 and HT-VME213 by @todd-herbert in #4511
- JP frequency - 20mW limit, change freqs to avoid duty cycle by @fifieldt in #4446
- Bin: remove unused imports from readprops.py by @Jorropo in #3907
- Fall back to default modem preset if requested bandwidth is too large by @GUVWAF in #4497
- Fix array out of bounds read. by @Mictronics in #4514
- Add handling for sessionkey config by @jp-bennett in #4513
- Fix #4448 (by seeing there is actually no problem) by @geeksville in #4517
- Add Fix for SHT4X detection on Wio Tracker wm1110 by @markbirss in #4520
- Fixes for ME25LS01_4Y10TD and ESP32-PICO by @markbirss in #4522
- Enable RED Power LED for WIO-E5 Mini and WIO-E5 DEV Kit by @markbirss in #4534
- Save nodedb after favoriting (or removing) by @thebentern in #4537
- Adds has_x bools to position packet. by @jp-bennett in #4540
- Initial support for RadioMaster Bandit. by @gjelsoe in #4523
- Use the '+' wildcard for MQTT rather than '#' by @ianmcorvidae in #4528
- Found more places to set explicit has_optional on position by @thebentern in #4542
- Remove deprecated serial/bt logging options (fix #4375) by @geeksville in #4516
Mask out random bits when doing queue ordering by @jp-bennett in #4561 - Consider an admin timestamp to be higher quality than from mesh by @jp-bennett in #4589
- Ignore (from)Net time on positions with an unknown or fixed location source by @thebentern in #4593
- Fix #4390 by @caveman99 in #4571
- Fix devcontainer Dockerfile build by @mrfyda in #4568
- Fix super tiny T1114 TFT font size and fork repo to fix compiler warnings by @thebentern in #4573
- Fix T1000-E default to turn on buzzer for Ext. Notification by @thebentern in #4575
- Fix display of certain Unicode symbols by @Coloradohusky in #4610
- Add BMP388 as a new pressure and temp sensor by @dhskinner in #4482
- For #4154 Only enable Vext regulator when needed for either Screen or GPS by @geeksville in #4527
- Nuke proxy variable by @S5NC in #4588
- Own node should be favorited and have zero hops away by @thebentern in #4618
- Remove unused define by @fifieldt in #4620
- several small changes for Tracker 1000E by @caveman99 in #4612
- Fix RF switch for Tracker E by @caveman99 in #4621
- Same priority packets processed in enqueue order by @gitbisector in #4608
- Minor GPS fixes by @fifieldt in #4630
- Bring 2.4G back in line with preset bandwidth by @caveman99 in #4634
- Add LR11x0 firmware version to init. by @caveman99 in #4641
- Update E-Ink GPS icon immediately when triple-pressing user button by @todd-herbert in #4637
- Add missing linefeeds to gps code by @fifieldt in #4638
- Gather canned message magic numbers into header defines. by @robertfisk in #4623
- Tryfix #4384 by @caveman99 in #4642
- RAK13800 Ethernet improvements by @zerolint in #4639
- Draft contributing.md file by @rcarteraz in #4507
- Simplify GNSS Probe code by @fifieldt in #4647
- Report PWD when no battery present. by @gitbisector in #4646
- Adds the ok_to_mqtt bit by @jp-bennett in #4643
- Remove undefined declaration by @fifieldt in #4652
New Contributors
- @ianmcorvidae made their first contribution in #4528
- @jhollowe made their first contribution in #4491
- @mrfyda made their first contribution in #4467
- @miltieIV2 made their first contribution in #4451
- @pccr10001 made their first contribution in #4556
- @And137 made their first contribution in #4572
- @Coloradohusky made their first contribution in #4610
- @dhskinner made their first contribution in #4482
- @gitbisector made their first contribution in #4608
- @RCGV1 made their first contribution in #4635
- @robertfisk made their first contribution in #4623
- @zerolint made their first contribution in #4639
New Contributors
- @ianmcorvidae made their first contribution in #4528
- @jhollowe made their first contribution in #4491
- @mrfyda made their first contribution in #4467
- @miltieIV2 made their first contribution in #4451
- @pccr10001 made their first contribution in #4556
- @And137 made their first contribution in #4572
- @Coloradohusky made their first contribution in #4610
- @dhskinner made their first contribution in #4482
- @gitbisector made their first contribution in #4608
- @RCGV1 made their first contribution in #4635
- @robertfisk made their first contribution in #4623
- @zerolint made their first contribution in #4639
Full Changelog: v2.5.0.9e55e6b...v2.5.0.e470619