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