Important
This release changes the MQTT root prefix to msh/2/e
to bring it in line with the QR code version. So if you are connected to an MQTT broker, you will not be able to communicate with your peers that have not yet made the upgrade.
Note
With this release, the hop limit setting of the original transmitter is added to the unencrypted header such that for each received packet we can derive how many hops it used (providing all nodes in the route updated their firmware).
Enhancements
- Adds configuration option to exclude the webserver on esp32. by @jimwhitelaw in #3369
- Add MaxNodes to Native config by @jp-bennett in #3427
- Move nodeDB::init code into nodeDB constructor by @jp-bennett in #3455
- Set default position precision of MQTT map report to 14 by @GUVWAF in #3456
- Let NeighborInfo Module ignore packets coming from MQTT by @GUVWAF in #3457
- Make MAX_NUM_NODES configurable in variant.h by @jp-bennett in #3453
- Skip favorite nodes when clearing out oldest in NodeDB by @thebentern in #3464
- Add set and remove favorite nodes admin commands by @thebentern in #3471
- Use priority background for low priority messages by @thoherr in #3381
- Check AQ_SET_PIN instead of EINK dependency by @wnagele in #3387
- Update nrf52 platform and consolidate Adafruit Bus IO by @thebentern in #3393
- New Accelerometer lib by @caveman99 in #3413
- (1/3) Support L76B GNSS chip found on pico waveshare shield. by @caveman99 in #3410
- (2/3) Add Slow Clock Support for RP2040 platform. by @caveman99 in #3411
- (3/3) Add variant for pico with waveshare and GPS hat by @caveman99 in #3412
- Handle for heartbeat toradio packets by @thebentern in #3420
- Factory reset GNSS_MODEL_MTK GPS modules with PCAS10,3 by @titan098 in #3388
- Bump absolute minimum NodeInfo send to 5 minutes by @thebentern in #3423
- Set NodeInfo 1 hour regular broadcast minimum by @thebentern in #3415
- Support external charge detection by @wnagele in #3386
- Async full-refresh for EInkDynamicDisplay by @todd-herbert in #3339
- Add Heltec Wireless Paper V1.0 to the build matrix by @todd-herbert in #3306
- Refactor EInkDisplay by @todd-herbert in #3299
- Reimplement "Dynamic E-Ink" as a derived class by @todd-herbert in #3316
- Filter out neighborinfo if we don't have the module enabled by @thebentern in #3314
- Remove rangetest file on factory reset by @thebentern in #3322
- E-Ink: fast refresh for Wireless Paper V1.1 by @todd-herbert in #3320
- Native Webserver by @marelab and @jp-bennett in #3343
- Add webroot to .deb by @jp-bennett in #3344
- Add BMP085 (and BMP180) sensor (temperature and air pressure) by @thoherr in #3347
- Add original hop limit to header to determine hops used by @GUVWAF in #3321
Bug fixes
- Fixed double and missing Default class. by @Mictronics in #3448
- Clear local position on nodedb-reset by @thebentern in #3451
- Add sanity check for map report interval and position precision by @GUVWAF in #3459
- Log warning cleanup and truth by @thebentern in #3466
- Enforce consistent polite channel utilization limits in telemetry except for Sensor roles by @thebentern in #3467
- Fix #3452: only alter received packet if port number matches by @GUVWAF in #3474
- Crash fix and remove hard-coded path from PiWebServer by @jp-bennett in #3478
- Set unused header bytes to zero for future use by @GUVWAF in #3479
- Don't spam logs if no position with map reporting by @GUVWAF in #3480
- Fix for incorrect mapTopic mqtt path by @AeroXuk in #3383
- Fix LTO discharge curve by @wnagele in #3385
- Fix T-LoRa V2.1-1.6 with TCXO init by @GUVWAF in #3392
- Fix off by one error by @tavdog in #3395
- Use decoded packets in public MQTT range test/detection sensor filter by @andrekir in #3404
- Only allow phone to set time for fixed positions by @thebentern in #3403
- Try-fix router missed messages by @thebentern in #3405
- We don't use Lorawan by @caveman99 in #3417
- Fix for I2C scan getting stuck by @andrekir in #3375
- More comprehensive client proxy queue guards by @thebentern in #3414
- Remove devicestate no_save by @thebentern in #3424
- Extract default intervals and coalesce methods into their own file / static class methods by @thebentern in #3425
- Remove confusing channel suffix by @thebentern in #3432
- Fix WLAN crash by @mverch67 in #3435
- Add delay so GPS and Radio have time to power up by @lolsborn in #3334
- Fix known_only panic by short circuiting for NULL before checking has… by @thebentern in #3352
- Update MQTT topic by @thebentern in #3353
- Just off the coast of NULL Island isn't OK either. by @jp-bennett in #3325
- Fix for issue #3310 by @GPSFan in #3327
- NRF52 bluetooth cleanup and fix by @thebentern in #3328
- Turn off certain modules not wanted in custom builds by @caveman99 in #3337
- Stop Fiddling with Newlines! by @jp-bennett in #3341
- Don't send anybody to null island ever by @thebentern in #3308
- Fix: turn off T-Echo peripherals on deep sleep by @andrekir in #3162
- Update variant.h enable OLED Screen for HT-CT62 by @markbirss in #3354
- Move duplicate #define for screen to unified header file by @thoherr in #3302
- Remove problematic IO2 3V3 toggling (again) as GPS EN pin by @thebentern in #3317
- Remove ACKs in range tests so zero hops is honored by @andrekir in #3374
- Sanitizer: heap use after delete by @mverch67 in #3373
- Handle "special-frames" with EInkDynamicDisplay by @todd-herbert in #3356
New Contributors
- @AeroXuk made their first contribution in #3383
- @lolsborn made their first contribution in #3334
- @djkazic made their first contribution in #3368
- @titan098 made their first contribution in #3349
- @jimwhitelaw made their first contribution in #3369
Full Changelog: v2.2.24.e6a2c06...v2.3.2.63df972