v2.7.20.6658ec2Pre-release
Meshtastic Firmware 2.7.20.6658ec2 Alpha
Added 11
- Define suitable I2C pins for Xiao NRF sub-variants
- Add SFA30 sensor support
- Add Cardputer Kit support
- Allow non-system applets to subscribe to input events in InkHUD
- Add battery curve for T-Beam 1 watt
- Add GPIO_DETECT_PA portduino config and support 13302 detection with it
- Add transmit history persistence for respecting traffic intervals between reboots
- Add JSON file rotation option
- Add LoRa parameter clamping logic to coalesce to defaults and enforce bounds
- Add FEM LNA mode configuration for LoRa
- Add APIPort to native config
Changed 9
- Send first MapReport as soon as possible
- Improve Periodic class
- Skip header items when enabling the InkHUD menu cursor
- ExternalNotification and StatusLED now call AmbientLighting to update
- Improve BaseUI Favorite Screen Signal Quality
- Log rxBad PacketHeaders with more info including id and relay_node
- Convert GPS global and related variables to unique_ptr
- Align telemetry broadcast want_response behavior with traceroute
- Remove late packets from tx queue when full
Fixed 3
- Fix Heltec v4 TFT dependency
- Apply SX1262 register 0x8B5 patch for improved GC1109 RX sensitivity
- Support mini ePaper S3 Kit
🚀 Enhancements
- Xiao NRF - define suitable i2c pins for the sub-variants by @NomDeTom in https://github.com/meshtastic/firmware/pull/8866
- Fix(MQTT): Send first MapReport as soon as possible by @ndoo in https://github.com/meshtastic/firmware/pull/8872
- Feat/add sfa30 by @oscgonfer in https://github.com/meshtastic/firmware/pull/9372
- Improved Periodic class by @harry-iii-lord in https://github.com/meshtastic/firmware/pull/9501
- InkHUD: Allow non-system applets to subscribe to input events by @Vortetty in https://github.com/meshtastic/firmware/pull/9514
- Cardputer Kit by @caveman99 in https://github.com/meshtastic/firmware/pull/9540
- Skip header items when enabling the InkHUD menu cursor by @zeropt in https://github.com/meshtastic/firmware/pull/9552
- ExternalNotification and StatusLED now call AmbientLighting to update… by @jp-bennett in https://github.com/meshtastic/firmware/pull/9554
- BaseUI: Favorite Screen Signal Quality improvement by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9566
- Add battery curve for T-Beam 1 watt by @jp-bennett in https://github.com/meshtastic/firmware/pull/9585
- Add sdl libs for native builds by @jp-bennett in https://github.com/meshtastic/firmware/pull/9595
- Log
rxBadPacketHeaders with more info (id,relay_node) likeprintPacketby @compumike in https://github.com/meshtastic/firmware/pull/9614 - Develop to master by @thebentern in https://github.com/meshtastic/firmware/pull/9618
- Fix a lot of low level cppcheck warnings by @caveman99 in https://github.com/meshtastic/firmware/pull/9623
- Convert
GPS*global and some new in gps.cpp tounique_ptr<GPS>by @Jorropo in https://github.com/meshtastic/firmware/pull/9628 - Replace delete in RedirectablePrint.cpp with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9642
- Replace delete in EInkDynamicDisplay.{cpp,h} with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9643
- Replace delete in RadioInterface.cpp with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9645
- Replace delete in CryptoEngine.{cpp,h} with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9649
- Replace delete in AudioThread.h with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9651
- Scaling tweaks by @NomDeTom in https://github.com/meshtastic/firmware/pull/9653
- InkHUD: Favorite Map Applet by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9654
- Fake IAQ values on Non-BSEC2 platforms like Platformio and the original ESP32 by @caveman99 in https://github.com/meshtastic/firmware/pull/9663
- #9623 resolved a local shadow of next_key by converting it to int. by @caveman99 in https://github.com/meshtastic/firmware/pull/9665
- Zip a few gitrefs down by @caveman99 in https://github.com/meshtastic/firmware/pull/9672
- Limit http connections and add free heap check before allocating for SSL by @thebentern in https://github.com/meshtastic/firmware/pull/9693
- Split module includes for AQ module by @oscgonfer in https://github.com/meshtastic/firmware/pull/9711
- Align telemetry broadcast want_response behavior with traceroute by @thebentern in https://github.com/meshtastic/firmware/pull/9717
- InkHUD: Nodelist cleanup by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9737
- Add GPIO_DETECT_PA portduino config, and support 13302 detection with it by @jp-bennett in https://github.com/meshtastic/firmware/pull/9741
- Remove unused global rIf that shadows locals and fails cppcheck by @weebl2000 in https://github.com/meshtastic/firmware/pull/9743
- Add Transmit history persistence for respecting traffic intervals between reboots by @thebentern in https://github.com/meshtastic/firmware/pull/9748
- Unlock 0x8B5 register macro guard for SX162 by @thebentern in https://github.com/meshtastic/firmware/pull/9777
- Enhancement(mesh): remove late packets from tx queue when full by @m1nl in https://github.com/meshtastic/firmware/pull/9779
- Add json file rotation option by @jp-bennett in https://github.com/meshtastic/firmware/pull/9783
- PPA: Remove Ubuntu 25.04, Add 26.04 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9789
- Deb: Handle offline builds more gracefully by @vidplace7 in https://github.com/meshtastic/firmware/pull/9791
- Remove "x" permission bits from some source files by @ldoolitt in https://github.com/meshtastic/firmware/pull/9794
- Add some lora parameter clamping logic to coalesce to defaults and enforce some bounds by @thebentern in https://github.com/meshtastic/firmware/pull/9808
- Add back FEM LNA mode configuration for LoRa by @thebentern in https://github.com/meshtastic/firmware/pull/9809
- More RAK6421 work by @jp-bennett in https://github.com/meshtastic/firmware/pull/9813
- Add ROUTER_LATE and TAK_TRACKER to congestion scaling exemption by @h3lix1 in https://github.com/meshtastic/firmware/pull/9818
- Add ROUTER_LATE to telemetry impolite role check by @h3lix1 in https://github.com/meshtastic/firmware/pull/9819
- Add ROUTER_LATE to infrastructure init and config preservation by @h3lix1 in https://github.com/meshtastic/firmware/pull/9820
- Update Heltec Tracker v2 to version KCT8103L. by @Quency-D in https://github.com/meshtastic/firmware/pull/9822
- Add APIPort to native config by @pdxlocations in https://github.com/meshtastic/firmware/pull/9840
🐛 Bug fixes and maintenance
- Add agc reset attempt by @jp-bennett in https://github.com/meshtastic/firmware/pull/8163
- Support mini ePaper S3 Kit by @mverch67 in https://github.com/meshtastic/firmware/pull/9335
- Fix heltec v4 tft dependency by @Quency-D in https://github.com/meshtastic/firmware/pull/9507
- Apply SX1262 register 0x8B5 patch for improved GC1109 RX sensitivity by @weebl2000 in https://github.com/meshtastic/firmware/pull/9571
- Hold GC1109 FEM power during deep sleep for LNA RX wake by @weebl2000 in https://github.com/meshtastic/firmware/pull/9572
- Fix some random compiler warnings by @caveman99 in https://github.com/meshtastic/firmware/pull/9596
- Add missing openocd_target to custom nrf52 boards by @Stary2001 in https://github.com/meshtastic/firmware/pull/9603
- Fixes on SCD4X admin comands by @oscgonfer in https://github.com/meshtastic/firmware/pull/9607
- Feat/add scd30 by @oscgonfer in https://github.com/meshtastic/firmware/pull/9609
- Zero entire public key array instead of only first byte by @weebl2000 in https://github.com/meshtastic/firmware/pull/9619
- Respect DontMqttMeBro flag regardless of channel PSK by @weebl2000 in https://github.com/meshtastic/firmware/pull/9626
- Undefine LED_BUILTIN for Heltec v2 variant by @ericbarch in https://github.com/meshtastic/firmware/pull/9647
- Fix typo in PIN_GPS_SWITCH by @Jorropo in https://github.com/meshtastic/firmware/pull/9648
- Workaround NCP5623 and LP5562 I2C builds by @Jorropo in https://github.com/meshtastic/firmware/pull/9652
- RadioLib edge-triggered interrupts robustness by @compumike in https://github.com/meshtastic/firmware/pull/9658
- Add USB_MODE=1 for Station G2 - Solving all my serial issues. by @h3lix1 in https://github.com/meshtastic/firmware/pull/9660
- Fix detection of SCD30 by checking if the size of the return from a 2 byte register read is correct by @caveman99 in https://github.com/meshtastic/firmware/pull/9664
- Fix/rak3401 button by @LN4CY in https://github.com/meshtastic/firmware/pull/9668
- Undefine LED_BUILTIN for 9m2ibr_aprs_lora_tracker by @mrekin in https://github.com/meshtastic/firmware/pull/9685
- BLE Pairing fix by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9701
- Implement 'agc' reset for SX126x & LR11x0 chip families by @weebl2000 in https://github.com/meshtastic/firmware/pull/9705
- Add explicit dependency on mklittlefs. by @cpatulea in https://github.com/meshtastic/firmware/pull/9708
- Platform: nrf52: Fix typo in BLEDfuSecure filename by @KokoSoft in https://github.com/meshtastic/firmware/pull/9709
- Meshtasticd: Add Luckfox Lyra Hat pinmaps by @vidplace7 in https://github.com/meshtastic/firmware/pull/9730
- Fix WisMesh Tap V2 env mess by @thebentern in https://github.com/meshtastic/firmware/pull/9734
- Hopefully fix remaining cppcheck issues by @caveman99 in https://github.com/meshtastic/firmware/pull/9745
- Add heltec-v4.3 board by @Quency-D in https://github.com/meshtastic/firmware/pull/9753
- Fix Bluetooth on RAK Ethernet Gateway by removing MESHTASTIC_EXCLUDE_… by @thebentern in https://github.com/meshtastic/firmware/pull/9755
- Increase PSRAM malloc threshold from 256 bytes to 2048 bytes by @thebentern in https://github.com/meshtastic/firmware/pull/9758
- Don't launch canned message when waking screen or silencing notification by @jp-bennett in https://github.com/meshtastic/firmware/pull/9762
- Fix nRF52 AsyncUDP multicast TX/RX race on W5100S by @PhilipLykov in https://github.com/meshtastic/firmware/pull/9765
- Avoid memory leak when possibly malformed packet is received by @m1nl in https://github.com/meshtastic/firmware/pull/9781
- Add ADS1115 ADC to recognition as used on RAK6421 Hat by @caveman99 in https://github.com/meshtastic/firmware/pull/9790
- Improve resource cleanup on connection close (and make server API a unique pointer) by @thebentern in https://github.com/meshtastic/firmware/pull/9799
- Spelling fixes by @ldoolitt in https://github.com/meshtastic/firmware/pull/9801
- Spelling fixes in .md files by @ldoolitt in https://github.com/meshtastic/firmware/pull/9810
- Treat ROUTER_LATE like ROUTER for power management and defaults by @h3lix1 in https://github.com/meshtastic/firmware/pull/9815
- Add ROUTER_LATE use the same rebroadcast rules as ROUTER by @h3lix1 in https://github.com/meshtastic/firmware/pull/9816
- Prevent router-like roles from auto-favoriting DM peers by @h3lix1 in https://github.com/meshtastic/firmware/pull/9821
- Fix(t1000e): reclassify P0.04 as sensor power enable GPIO by @weebl2000 in https://github.com/meshtastic/firmware/pull/9826
- Don't double-blink Thinknode-M1 Power LED while charging by @jp-bennett in https://github.com/meshtastic/firmware/pull/9829
⚙️ Dependencies
- Update adafruit mpu6050 to v2.2.9 by @app/renovate in https://github.com/meshtastic/firmware/pull/9611
- Update Sensirion Core to v0.7.3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9613
- Update neopixel to v1.15.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9616
- Update actions/stale action to v10.2.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9669
- Update meshtastic-GxEPD2 digest to c7eb4c3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9694
- Update radiolib to v7.6.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9695
- Update sensorlib to v0.3.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9727
- Update meshtastic-st7789 digest to 9ee76d6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9729
- Update adafruit mlx90614 to v2.1.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9756
- Update adafruit_tsl2561 to v1.1.3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9757
- Update platformio/espressif32 to v6.13.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9759
- Update platformio/nordicnrf52 to v10.11.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9760
- Update adafruit dps310 to v1.1.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9763
- Update platformio/ststm32 to v19.5.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9764
- Update adafruit ahtx0 to v2.0.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9766
- Update github artifact actions (major) by @app/renovate in https://github.com/meshtastic/firmware/pull/9767
- Update crazy-max/ghaction-import-gpg action to v7 by @app/renovate in https://github.com/meshtastic/firmware/pull/9787
- Update arduinojson to v6.21.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9788
- Update dorny/test-reporter action to v2.6.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9796
- Update docker/login-action action to v4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9806
- Update docker/setup-qemu-action action to v4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9807
- Update docker/setup-buildx-action action to v4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9824
- Update docker/build-push-action action to v7 by @app/renovate in https://github.com/meshtastic/firmware/pull/9832
- Update docker/metadata-action action to v6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9833
- Update neopixel to v1.15.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9839
Full Changelog: https://github.com/meshtastic/firmware/compare/v2.7.20.6658ec2...v2.7.20.6658ec2