Releases: meshtastic/firmware
Meshtastic Firmware 2.7.19.bb3d6d5 Alpha
🚀 Enhancements
- Feat/add sen5x by @oscgonfer in #7245
- Add initial Nix shell by @agustinmista in #8530
- InkHUD Menu improvements by @HarukiToreda in #8975
- Cut NRF52 bluetooth power usage by @phaseloop in #8992
- Feat(GPS): Support Softsleep with WAKE-UP pin on PA1010D by @ndoo in #9078
- NRF52 - power management improvements by @phaseloop in #9211
- Change canned message recipient's previous page to send page by @scobert969 in #9227
- Make BLE TX power configurable for nRF52 variants by @teizz in #9232
- Add interrupt for external charge detection by @jp-bennett in #9332
- Add a watchdog module to meshsolar. by @Quency-D in #9337
- Add StatusMessage module and config overrides by @jp-bennett in #9351
- Implement graduated scaling for NodeInfo send timeout based on active mesh size by @thebentern in #9364
- BaseUI: Bubbles for messages by @HarukiToreda in #9365
- Enable long interleaving mode for LR11x0 and SX128x by @Jorropo in #9399
- Add portduino_status, assign hardware device IDs... by @jp-bennett in #9441
- Add support for Hackaday Communicator function keys by @jp-bennett in #9444
- Add on-screen keyboard to InkHUD by @scobert969 in #9445
- Move more code out of main-nrf52 into variant.cpp by @jp-bennett in #9450
- BaseUI Message Bubble Improvements by @Xaositek in #9452
- Support fully direct request/responses by @esev in #9455
- Add reply bot module with DM-only responses and rate limiting by @mattatat25 in #9456
- Add model workflows by @thebentern in #9462
- Add custom ringtone definition for RAK4631 and enable buzzer pin by @thebentern in #9481
- Remove unused hmx variable by @EricSesterhennX41 in #9529
- Make LED_POWER blip even in critical battery by @jp-bennett in #9545
- Added toggable config and default for larger screens to enable / hide bubbles on chat messages by @thebentern in #9560
- Add Slash Key to VirtualKeyboard by @Xaositek in #9563
- Add support for CW2015 LiPo battery fuel gauge by @jp-bennett in #9564
🐛 Bug fixes and maintenance
- Add agc reset attempt by @jp-bennett in #8163
- Just set LED_BUILTIN universally to -1, as we don't use it. by @jp-bennett in #8830
- Device-install: Consistently use write-flash by @tyll in #8868
- Added Minimesh variant by @uguraltinsoy in #9289
- Fix uMesh RF POWER configuration error by @linser233 in #9326
- Delete unused code by @EricSesterhennX41 in #9350
- Feat(stm32): Add Milesight GS301 Bathroom Odor Detector by @ndoo in #9359
- To fix the gps power rail issue on RAK 19007 when RAK12023+RAK12035 is installed by @Justin-Mann in #9409
- Consolidate LoRa params / preset logic and fix display of preset values by @thebentern in #9413
- Fix logic for rak12035 sensor default config and improve messaging by @Justin-Mann in #9414
- Add pin sense to wake M6 on Solar Charge by @jp-bennett in #9416
- Move Lora Init code into LoraInit.cpp/h by @jp-bennett in #9435
- Replace strcpy with strncpy and null termination in
MQTT::publishfor JSON payloads by @k3an3 in #9436 - Move device code from main.cpp to earlyInitVariant by @jp-bennett in #9438
- Trackball revamp by @jp-bennett in #9440
- Remove the unused OCV_ARRAYs and move one to a variant.h by @jp-bennett in #9442
- Fix StoreForwardModule retry_delay multiplier always evaluating to 2x by @rcd in #9443
- Add error handling for SPI command failures in LR11x0, RF95, and SX128x interfaces by @thebentern in #9447
- Add Thinknode M4 variant_shutdown() by @jp-bennett in #9449
- External Notification - handleReceived Rewrite by @Xaositek in #9454
- Move input init to an init function in InputBroker by @jp-bennett in #9463
- Initial serialModule cleanup by @jp-bennett in #9465
- Avoid short-circuit evaluation issues in Telemetry by @oscgonfer in #9467
- Add support for the hardware buttons on Retia.io's Bluetooth Nugget device by @treysis in #9468
- Remove stale variant.h defines by @jp-bennett in #9470
- More variant.h cleanup. LED_NOTIFICATION, remove dead code, etc by @jp-bennett in #9477
- Refuse to send legacy DMs simply because the remote public key is unknown by @jp-bennett in #9485
- Fix esp32 ota bin name in scripts by @thebentern in #9488
- You get an RTC, and you get an RTC! (delete HAS_RTC as it wasn't actually doing much) by @jp-bennett in #9493
- Don't ever define PIN_LED or BLE_LED_INVERTED by @jp-bennett in #9494
- Missed in reviews - fixing send bubble by @Xaositek in #9505
- Power off control pin on Thinknode m5 during deepsleep and add RTC by @jp-bennett in #9510
- Prefer EXT_PWR_DETECT pin over chargingVolt to detect power unplugged by @jp-bennett in #9511
- Rename LED_PIN to LED_POWER, move handling out of main to dedicated module by @jp-bennett in #9512
- Inkhud battery icon improvements. by @Vortetty in #9513
- Make sure we always return a value in NodeDB::restorePreferences() by @EricSesterhennX41 in #9516
- Fix config.display.use_long_node_name not saving by @Xaositek in #9522
- Implement UDP multicast handler start/stop to ensure proper lifecycle by @thebentern in #9524
- Undefine LED_BUILTIN for
tlora-v2-1-1_6-tcxoby @mrekin in #9531 - HotFix for ReplyBot (PR #9456) by @Xaositek in #9532
- Fix hop_limit upgrade detection by @rcd in #9550
- Meshtasticd: Fix install on Fedora 43 by @vidplace7 in #9556
- RPM: Include meshtasticd-start.sh by @vidplace7 in #9561
- Fix embedded null byte truncation in ATAK strings by @niccellular in #9570
⚙️ Dependencies
- Update XPowersLib to v0.3.3 by @app/renovate in #9354
- Update meshtastic/device-ui digest to 613c095 by @app/renovate in #9383
- Update meshtastic-esp32_https_server digest to b0f3960 by @app/renovate in #9393
- Update lewisxhe-SensorLib to v0.3.4 by @app/renovate in #9395
- Update SensorLib to v0.3.4 by @app/renovate in #9396
- Update pschatzmann_arduino-audio-driver to v0.2.1 by @app/renovate in #9398
- Update meshtastic/device-ui digest to 37ad715 by @app/renovate in #9403
- Update LovyanGFX to v1.2.19 by @app/renovate in #9405
- Update GxEPD2 to v1.6.6 by @app/renovate in #9412
- Update meshtastic/device-ui digest to 69739b8 by @app/renovate in #9448
- Update libch341-spi-userspace digest to af9bc27 by @app/renovate in #9472
- Update meshtastic/device-ui digest to 63967a4 by @app/renovate in #9475
- Update Adafruit MPU6050 to v2.2.7 by @app/renovate in https://github.com/meshtast...
Meshtastic Firmware 2.7.18.fb3bf78 Alpha
🚀 Enhancements
- Move PMSA003I to separate class and update AQ telemetry by @oscgonfer in #7190
- Multi message storage by @HarukiToreda in #8182
- Add support for setting API port from the config file by @tedwardd in #8435
- PIN_PWR_DELAY_MS --> PERIPHERAL_WARMUP_MS by @fifieldt in #8467
- CLIENT_BASE: Act like ROUTER_LATE for fav'd nodes, instead of like ROUTER by @korbinianbauer in #8567
- Rak3112 support by @ford-jones in #8591
- Add systemd wrapper by @tedwardd in #8676
- Adding support for InkHUD joystick navigation for the Seeed Wio Tracker L1 E-ink by @zeropt in #8678
- Gr language specific font by @apo-mak in #8808
- Detect if NTP is active on native by @jp-bennett in #8962
- Add Rebooting to DFU mode notification as a simple pop-up by @Xaositek in #8970
- PIO: Fix ESP32 sub-variant inheritance by @vidplace7 in #8983
- Prep work for better Store and Forward by @jp-bennett in #8999
- Additional Emoji by @Ixitxachitl in #9020
- Add Russell, an STM32WL balloon-optimized node by @ndoo in #9079
- Add menus for Smart Position, Broadcast Interval and Position Interval by @Xaositek in #9080
- Improve sanitizeString function for Node Names by @Xaositek in #9086
- Add Temporary Mute to Home frame and unbury Notification Options by @Xaositek in #9097
- Add a welcome message for new contributors by @fifieldt in #9119
- Calculate hops correctly even when hop_start==0 by @esev in #9120
- Add STORE_FORWARD_PLUSPLUS_APP to core portnum checks by @jp-bennett in #9127
- Faster rotary encoder events by @brad112358 in #9146
- Add support for LilyGo T-Echo Plus by @thebentern in #9149
- Refactored some of the system menus to the new DRY method (Redux) by @Xaositek in #9152
- Add a .clang-format file by @Jorropo in #9154
- Add custom coding rate configuration for LoRa by @jp-bennett in #9155
- Add list of text message packet IDs, and check for dupes by @jp-bennett in #9180
- Add option to Mute/Unmute Channel to BaseUI by @Xaositek in #9194
- Mute: Nodes by @ford-jones in #9209
- Screenless Devices want to mute too! by @Xaositek in #9210
- Migrate all of the Meshtastic API attributes into the ini as a source of truth by @thebentern in #9214
- Pioarduino preparation by @MartinEmrich in #9223
- Meshtastic unified OTA by @thebentern in #9231
- Fix TFT_MESH settings across setting and recalling by @Xaositek in #9234
- Add release notes generation and publishing workflow by @thebentern in #9255
- Unified ESP32 OTA firmware by @vidplace7 in #9258
- Add support for uMesh Modules by @linser233 in #9259
- Extra pins by @jp-bennett in #9260
- BaseUI: Autosave Messages by @HarukiToreda in #9269
- Node Actions Menu Overhaul by @Xaositek in #9287
- Added I2C scanner a check for the QMC6310N. by @lewisxhe in #9305
- Allow ICM20948 IMU to sleep by @HarukiToreda in #9324
- Meshtastic OTA (moar) by @thebentern in #9327
- Add sqlite depdendency (Cherry-picks from sfpp) by @fifieldt in #9328
- Add interrupt for external charge detection by @jp-bennett in #9332
- Improve BaseUI Preset Change Flow by @Xaositek in #9343
- Implement graduated scaling for NodeInfo send timeout based on active mesh size by @thebentern in #9364
🐛 Bug fixes and maintenance
- RTC: PCF85063 support, port to SensorLib 0.3.1 by @WillyJL in #8061
- Added tcxo definition to mesh-tab by @valzzu in #8604
- Preliminary Thinknode M4 Support by @caveman99 in #8754
- Actions: Compact manifest job output summary by @vidplace7 in #8957
- PlatformIO: Restructure networking_base for re-use by @vidplace7 in #8964
- Add LilyGO T-Beam 1W support by @santosvivos in #8967
- PIO: Remove useless inheritence (references extends env) by @vidplace7 in #8987
- Macro guard heap_caps_malloc_extmem_enable from SENSECAP_INDICATOR by @Xaositek in #9007
- Add Rak 6421 autoconf by @jp-bennett in #9010
- Implement basic github action comment reporting target diffs by @Jorropo in #9022
- In protobuf update, allow develop branch to auto-update by @jp-bennett in #9027
- 🔧 Fix LNA/PA power control for Heltec v4, wireless tracker v2 by @weebl2000 in #9029
- Shame do not complain about missing targets by @Jorropo in #9032
- Action: skip trying to comment binary size change results if it is not a PR by @Jorropo in #9033
- Fix gps pin defs for various NRF variants. by @NomDeTom in #9034
- Fix Rotary enc long press by @brad112358 in #9039
- Add needed support bits for the Meshstick by @jp-bennett in #9042
- In statusLEDModule, also detect isCharging by @jp-bennett in #9050
- PlatformIO: Re-Org ESP32 family shared props by @vidplace7 in #9060
- Cleanup: Remove icarus custom framework-arduinoespressif32 by @vidplace7 in #9064
- M6 shutdown and LEDs work by @jp-bennett in #9065
- Implement HAS_PHYSICAL_KEYBOARD for devices with physical keyboards by @Xaositek in #9071
- KZ_863 is not wide lora by @fifieldt in #9075
- In autoconf, don't probe Wire unless i2c device is set by @jp-bennett in #9081
- Correctly set type for event_mode max() position threshold by @vidplace7 in #9083
- Fix PR#8061 SensorLib nRF ThinkNode M-series by @vidplace7 in #9084
- Pioarduino .gitignore by @vidplace7 in #9085
- Pass GH_TOKEN to shame's gh run download step by @Jorropo in #9087
- GPS Menu Validation Fix - Missed in Reviews by @Xaositek in #9093
- Noop "download" portion of #shame by @vidplace7 in #9114
- Syntax fix for first timer welcome bot. by @fifieldt in #9144
- Fix link formatting in welcome message by @fifieldt in #9163
- Fixed shouldFilterReceived function to check prev relay according to the function definition by @strngr in #9168
- Add EByte EoRa-Hub by @vidplace7 in #9169
- Fix zero in sp02 and Heart Rate on screen by @sergeygalkin in #9174
- RadioInterface::getRetransmissionMsec now handles encrypted packets c… by @rbreesems in #9184
- Added support for the new SSD1306 control panel. by @lewisxhe in #9192
- Fix Function + M in code by @Xaositek in #9200
- Fix TSL2591 detection by adding command bit to register read by @heathdutton in #9215
- Fix screen not sleeping due to power status updates by @heathdutton in #9216
- Fix rotary regression and tighten up playBeep by @thebentern in #9221
- Use correct name...
Meshtastic Firmware 2.7.17.9058cce Alpha
Warning
If you experience immediate boot-loops after updating, this likely indicates that you need perform a full erase and flash. If you installed the previously revoked 2.7.17 release with the NimBLE 2 upgrade and paired the device with bluetooth, this will occur.
🚀 What's Changed
- Support overriding GPS serial pins on all architectures by @Stary2001 in #8486
- Swap GPS pins for GPS TX/RX only for T114/T-Echo by @Xaositek in #8751
- Remove native from the build, and remove the required permissions by @NomDeTom in #8685
- Swap the GPS serial port pins. by @Quency-D in #8756
- More GPS pin flips for devices by @Xaositek in #8760
- Remove screen activation in powerExit function by @jp-bennett in #8779
- Add LOG_POWERFSM and LOG_INPUT debug macros by @jp-bennett in #8791
- Fix ifdef statement after ST7796 merge to resolve screen color issues by @Xaositek in #8796
- Update dorny/test-reporter action to v2.3.0 by @renovate[bot] in #8809
- InkHUD: Replace assert in UTF8 decoder to prevent unexpected reboot by @HarukiToreda in #8807
- Update meshtastic/device-ui digest to 3bf3322 by @renovate[bot] in #8814
- tryfix screen.cpp ifdefs by @jp-bennett in #8816
- Add WiFi Toggle to System frame to re-enable by @Xaositek in #8802
- #if defined conditions for WiFi by @jp-bennett in #8815
- Add initial support for Hackaday Communicator by @jp-bennett in #8771
- M5Stack UnitC6L - Enabled MQTT and WEBSERVER by default by @RikerZhu in #8679
- Initial Chatter 2.0 fix for baseUI by @HarukiToreda in #8615
- Make GPS_TX_PIN the serial TX and GPS_RX_PIN the serial RX for all NRF variants by @Stary2001 in #8772
- Update XPowersLib to v0.3.2 by @renovate[bot] in #8823
- RPM: Fix broken builds (bad backmerge) by @vidplace7 in #8787
- Flags and scripts for size reduction on NRF52 -> Currently targeting … by @thebentern in #8825
- Plain RAK4631 should not compile EInk and TFT display code by @thebentern in #8811
- Fix for high power drain after shutdown on Heltec T114. by @rbomze in #8800
- Bump release version by @github-actions[bot] in #8786
- Move everything from /arch to /variant by @jp-bennett in #8831
- Move device specific OCV curves to their respective device.h by @jp-bennett in #8834
- Add 'cleanup' to required PR labels by @jp-bennett in #8835
- Don't scale up the frequency of telemetry sending by @RCGV1 in #8664
- Update actions/stale action to v10.1.1 by @renovate[bot] in #8848
- Update alpine Docker tag to v3.23 by @renovate[bot] in #8853
- Promicro documentation update by @NomDeTom in #8864
- Optimization flags for all NRF52 targets to reduce code size by @Donix212 in #8854
- Update meshtastic/device-ui digest to 4fb5f24 by @renovate[bot] in #8862
- Update protobufs and classes by @github-actions[bot] in #8871
- promicro doesn't need limiting by @NomDeTom in #8873
- Enable USB_MODE to acknowledge RTS/DTR reset signal from esptool for heltec-v4 by @h3lix1 in #8881
- Fix #8883 (lora-Pager fter playing the notification, voltage does not disappear from the speaker) by @polarikus in #8884
- Resolve #8887 (T-LoRaPager Vibration on New Message Delivery) by @polarikus in #8888
- OnScreenKeyboard Improvement with Joystick and UpDown Encoder by @whywilson in #8379
- [T-LoraPager]Disable vibration if needed by @polarikus in #8895
- Tryfix: T3S3 ePaper eInk updates by @mverch67 in #8898
- Improved R1 Neo & muzi-base buzzer beeps for GPS on/off by @simon-muzi in #8870
- Meshtastic build manifest by @vidplace7 in #8248
- Fix backwards buttons on Thinknode-M1 by @jp-bennett in #8901
- Update protobuf name of FRIED_CHICKEN by @jp-bennett in #8903
- Guard 2M PHY mode for NimBLE by @thebentern in #8890
- Renovate: fix BH1750_WE by @vidplace7 in #8767
- Fixed the issue where T-Echo did not completely shut down peripherals… by @lewisxhe in #8524
- Fix apply device-install permissions by @vidplace7 in #8911
- Update platformio/espressif32 to v6.12.0 by @vidplace7 in #7697
- Fix #8915 [Bug]: Exception Decoder does not recognize the backtrace by @polarikus in #8917
- Actions: Fix release manifest formating by @vidplace7 in #8918
- ARCtastic runners by @vidplace7 in #8904
- Update peter-evans/create-pull-request action to v8 by @renovate[bot] in #8919
- PIO: Fix closedcube lib reference by @vidplace7 in #8920
- Use PSRAM to reduce heap usage percentage on ESP32 with PSRAM by @samm-git in #8891
- Create new screen colors for BaseUI by @Xaositek in #8921
- Enable Muzi-base LED notification by @jp-bennett in #8925
- Update System Frame for improved rendering on devices by @Xaositek in #8923
- Add I2C device check for seesaw device on native by @jp-bennett in #8927
- Use truncated position for smart position by @RCGV1 in #8906
- Properly turn off power pins at shutdown for m3 by @jp-bennett in #8935
- Update meshtastic/device-ui digest to 2746a1c by @renovate[bot] in #8936
- Use 'gh-action-runner' action for "Check" jobs. by @vidplace7 in #8938
- Optimize builds to reduce duplicate dependency checks by @vidplace7 in #8943
- Update actions/cache action to v5 by @renovate[bot] in #8944
- Fix #8899 [Bug]: [TloraPager] RotaryEncoder crash by @polarikus in #8933
- Mark implicit ACK for MQTT as MQTT transport by @GUVWAF in #8939
- Fix GPS Buffer full issue on NRF52480 (Seeed T1000E) by @fifieldt in #8956
- Actions: Compact manifest job output summary by @vidplace7 in #8957
- Add JSON packet recording option to native by @jp-bennett in #8930
- Implement Long Turbo preset by @thebentern in #8985
- Be more judicious about responding to want_response in existing meshes by @thebentern in #9014
- First position send validation by @thebentern in #9023
- Calculate hops correctly even when hop_start==0 by @esev in #9120
- Revert NimBLE 2.X upgrade by @thebentern in #9125
New Contributors
- @RikerZhu made their first contribution in #8679
- @rbomze made their first contribution in #8800
- @Donix212 made their first contribution in #8854
- @polarikus made their first contribution in #8884
- @phaseloop made their first contribution in #8858
- @samm-git made their first contribution in #8891
Full Changelog: v2.7.16.a597230...v2.7.17.9058cce
Meshtastic Firmware 2.7.17.83c6161 Alpha (Revoked)
Caution
This release has been revoked due to reports of pairing issues with ESP32-S3 devices. See #9049. We are working to investigate possible fixes for this issue, believed to be caused by the upgrade to NimBLE 2.X. If you are on NRF52 architecture devices or do not use bluetooth, you can continue using this firmware version without being affected.
Warning
If you experience immediate bluetooth pairing failures after updating, this likely indicates that you need to forget the bluetooth pairing and/or perform a full erase and flash.
🚀 What's Changed
- Support overriding GPS serial pins on all architectures by @Stary2001 in #8486
- Swap GPS pins for GPS TX/RX only for T114/T-Echo by @Xaositek in #8751
- Remove native from the build, and remove the required permissions by @NomDeTom in #8685
- Swap the GPS serial port pins. by @Quency-D in #8756
- More GPS pin flips for devices by @Xaositek in #8760
- Remove screen activation in powerExit function by @jp-bennett in #8779
- Add LOG_POWERFSM and LOG_INPUT debug macros by @jp-bennett in #8791
- Fix ifdef statement after ST7796 merge to resolve screen color issues by @Xaositek in #8796
- Update dorny/test-reporter action to v2.3.0 by @renovate[bot] in #8809
- InkHUD: Replace assert in UTF8 decoder to prevent unexpected reboot by @HarukiToreda in #8807
- Update meshtastic/device-ui digest to 3bf3322 by @renovate[bot] in #8814
- tryfix screen.cpp ifdefs by @jp-bennett in #8816
- Add WiFi Toggle to System frame to re-enable by @Xaositek in #8802
- #if defined conditions for WiFi by @jp-bennett in #8815
- Add initial support for Hackaday Communicator by @jp-bennett in #8771
- M5Stack UnitC6L - Enabled MQTT and WEBSERVER by default by @RikerZhu in #8679
- Initial Chatter 2.0 fix for baseUI by @HarukiToreda in #8615
- Make GPS_TX_PIN the serial TX and GPS_RX_PIN the serial RX for all NRF variants by @Stary2001 in #8772
- Update XPowersLib to v0.3.2 by @renovate[bot] in #8823
- RPM: Fix broken builds (bad backmerge) by @vidplace7 in #8787
- Flags and scripts for size reduction on NRF52 -> Currently targeting … by @thebentern in #8825
- Plain RAK4631 should not compile EInk and TFT display code by @thebentern in #8811
- Fix for high power drain after shutdown on Heltec T114. by @rbomze in #8800
- Bump release version by @github-actions[bot] in #8786
- Move everything from /arch to /variant by @jp-bennett in #8831
- Move device specific OCV curves to their respective device.h by @jp-bennett in #8834
- Add 'cleanup' to required PR labels by @jp-bennett in #8835
- Don't scale up the frequency of telemetry sending by @RCGV1 in #8664
- Update actions/stale action to v10.1.1 by @renovate[bot] in #8848
- Update alpine Docker tag to v3.23 by @renovate[bot] in #8853
- Promicro documentation update by @NomDeTom in #8864
- Optimization flags for all NRF52 targets to reduce code size by @Donix212 in #8854
- Update meshtastic/device-ui digest to 4fb5f24 by @renovate[bot] in #8862
- Update protobufs and classes by @github-actions[bot] in #8871
- promicro doesn't need limiting by @NomDeTom in #8873
- Enable USB_MODE to acknowledge RTS/DTR reset signal from esptool for heltec-v4 by @h3lix1 in #8881
- Fix #8883 (lora-Pager fter playing the notification, voltage does not disappear from the speaker) by @polarikus in #8884
- Resolve #8887 (T-LoRaPager Vibration on New Message Delivery) by @polarikus in #8888
- OnScreenKeyboard Improvement with Joystick and UpDown Encoder by @whywilson in #8379
- [T-LoraPager]Disable vibration if needed by @polarikus in #8895
- Tryfix: T3S3 ePaper eInk updates by @mverch67 in #8898
- Improved R1 Neo & muzi-base buzzer beeps for GPS on/off by @simon-muzi in #8870
- Meshtastic build manifest by @vidplace7 in #8248
- Fix backwards buttons on Thinknode-M1 by @jp-bennett in #8901
- Update protobuf name of FRIED_CHICKEN by @jp-bennett in #8903
- Guard 2M PHY mode for NimBLE by @thebentern in #8890
- Renovate: fix BH1750_WE by @vidplace7 in #8767
- Fixed the issue where T-Echo did not completely shut down peripherals… by @lewisxhe in #8524
- Fix apply device-install permissions by @vidplace7 in #8911
- Update platformio/espressif32 to v6.12.0 by @vidplace7 in #7697
- Fix #8915 [Bug]: Exception Decoder does not recognize the backtrace by @polarikus in #8917
- Actions: Fix release manifest formating by @vidplace7 in #8918
- ARCtastic runners by @vidplace7 in #8904
- Update peter-evans/create-pull-request action to v8 by @renovate[bot] in #8919
- PIO: Fix closedcube lib reference by @vidplace7 in #8920
- Use PSRAM to reduce heap usage percentage on ESP32 with PSRAM by @samm-git in #8891
- Create new screen colors for BaseUI by @Xaositek in #8921
- Enable Muzi-base LED notification by @jp-bennett in #8925
- Update System Frame for improved rendering on devices by @Xaositek in #8923
- Add I2C device check for seesaw device on native by @jp-bennett in #8927
- Use truncated position for smart position by @RCGV1 in #8906
- Properly turn off power pins at shutdown for m3 by @jp-bennett in #8935
- Update meshtastic/device-ui digest to 2746a1c by @renovate[bot] in #8936
- Use 'gh-action-runner' action for "Check" jobs. by @vidplace7 in #8938
- Optimize builds to reduce duplicate dependency checks by @vidplace7 in #8943
- Update actions/cache action to v5 by @renovate[bot] in #8944
- Fix #8899 [Bug]: [TloraPager] RotaryEncoder crash by @polarikus in #8933
- Mark implicit ACK for MQTT as MQTT transport by @GUVWAF in #8939
- Fix GPS Buffer full issue on NRF52480 (Seeed T1000E) by @fifieldt in #8956
- Actions: Compact manifest job output summary by @vidplace7 in #8957
- Add JSON packet recording option to native by @jp-bennett in #8930
- Implement Long Turbo preset by @thebentern in #8985
- Upgrade all esp32 targets to NimBLE 2.X by @thebentern in #9003
- Be more judicious about responding to want_response in existing meshes by @thebentern in #9014
- First position send validation by @thebentern in #9023
New Contributors
- @RikerZhu made their first contribution in #8679
- @rbomze made their first contribution in #8800
- @Donix212 made their first contribution in #8854
- @polarikus made their first contribution in #8884
- @phaseloop made their first contribution in #8858
- @samm-git made their first contribution in #8891
- @zeropt made their first contribution in #8678
Full Changelog: https://github....
Meshtastic Firmware 2.7.16.a597230 Alpha
🚀 What's Changed
- Bugfix: Don't toggle BLE when choosing active state by @jp-bennett in #8579
- chore(deps): update meshtastic/device-ui digest to 28167c6 by @renovate[bot] in #8583
- Only call stopNow if we're nagging by @thebentern in #8601
- Clean up GPS toggle logging by @jp-bennett in #8629
- Reset the calibration data back to 0 when doing a compass calibration by @jp-bennett in #8648
- chore(deps): update dorny/test-reporter action to v2.2.0 by @renovate[bot] in #8637
- Fix RPM builds by @vidplace7 in #8659
- Linux: Fix silly EPEL9 mistake by @vidplace7 in #8660
- Fix ble rssi crash by @thebentern in #8661
- Unify uptime formatting by @jasonbcox in #8677
- chore(deps): update meshtastic-esp8266-oled-ssd1306 digest to 2887bf4 by @renovate[bot] in #8688
- Actually respect wake_on_motion setting by @jp-bennett in #8690
- Add a reset pulse signal to the OLED. by @Quency-D in #8691
- Missed one by @thebentern in #8694
- nrf52 watchdog (attempt #2) by @SebKuzminsky in #8670
- Fix build when MESHTASTIC_EXCLUDE_PKI is defined by @jasonbcox in #8698
- Fix MenuHandler when MESHTASTIC_EXCLUDE_PKI is defined by @jasonbcox in #8701
- Update protobufs and classes by @github-actions[bot] in #8707
- Add Thinknode M6 by @caveman99 in #8705
- Update Kongduino-Adafruit_nRFCrypto digest to 8cde718 by @renovate[bot] in #8708
- Update actions/checkout action to v6 by @renovate[bot] in #8695
- Add WisMesh Tag OCV array by @Avi0n in #8646
- R1 Neo - Added OCV_ARRAY from measured discharge curve testing + update ADC multiplier by @simon-muzi in #8716
- Log error if startReceive fails in LR11x0Interface by @jp-bennett in #8718
- Tweak OCV_ARRAY 100% voltage to take into account charger hysteresis and voltage sag after charge by @simon-muzi in #8720
- Thinknode M3 support against master by @jp-bennett in #8630
- M6 leds by @jp-bennett in #8742
- Further fix compass calibration by @jp-bennett in #8740
- More quickly hide "Shutting Down" to prevent it showing on Eink sleep screen by @Xaositek in #8749
- Prevent double-registering of Rotary Encoder on TLora Pager by @thebentern in #8746
- 3401 fix by @caveman99 in #8755
- Add support for muzi-base by @jp-bennett in #8753
- Add requestFocus() in CannedMessages by @jp-bennett in #8770
- Update Sensirion Core to v0.7.2 by @renovate[bot] in #8551
- Update INA226 to v0.6.5 by @renovate[bot] in #8645
- Update NonBlockingRTTTL to v1.4.0 by @renovate[bot] in #8541
- Update platformio/ststm32 to v19.4.0 by @renovate[bot] in #8433
- adding support for the ST7796 + creating a new variant of the T-beam by @Nasimovy in #6575
- Correct vertical alignment for Muzi_Base on On Screen Keyboard by @Xaositek in #8774
New Contributors
- @Avi0n made their first contribution in #8646
- @simon-muzi made their first contribution in #8716
Full Changelog: v2.7.15.567b8ea...v2.7.16.a597230
Meshtastic Firmware 2.7.15.567b8ea Beta
Warning
If you experience immediate bluetooth pairing failures or failure to fully boot after updating, this likely indicates that you need to perform a full erase and flash. Consider backing up your settings before updating.
Important
This release marks the end of legacy (non-private) DMs. Direct messages will only be allowed using PKI going forward.
This release also disables device telemetry broadcasts over the mesh by default. If you want to opt back in, you will need to re-enable this in the apps.
🚀 What's Changed
- Clean up GPS toggle logging by @jp-bennett in #8629
- Reset the calibration data back to 0 when doing a compass calibration by @jp-bennett in #8648
- Chore(deps): update dorny/test-reporter action to v2.2.0 by @renovate[bot] in #8637
- Fix RPM builds by @vidplace7 in #8659
- Linux: Fix silly EPEL9 mistake by @vidplace7 in #8660
- Fix ble rssi crash by @thebentern in #8661
- Mqtt: do not try to send packets when it disconnected by @omgbebebe in #8658
- Persist favourites on NodeDB reset by @ford-jones in #8292
- Don't ack messages when mqtt client proxy is on but only uplink by @RCGV1 in #8578
- Add API types, state, and log message in Debug screen. Added persistent "Connected" icon by @jp-bennett in #8576
- Drop PKI acks if there is no downlink on MQTTClientProxy by @RCGV1 in #8580
- Add the Heltec v4 expansion box. by @Quency-D in #8539
- Update to Pro-micro variants by @NomDeTom in #8600
- Cleanup unnecessary global dereferencing in CryptoEngine by @jasonbcox in #8611
- Fix null pointer dereference in radio chip region check by @Andrik45719 in #8613
- Feat/6704 neighbor info on demand by @DaneEvans in #8523
- Remove fixed scaling in Digital Clock by @Xaositek in #8620
- Allow Preserving Favorites in BaseUI menus by @Xaositek in #8647
- native: Try to look for a config file based on Raspberry Pi HAT vendor by @Stary2001 in #8608
- Remove gating for Display Options by @Xaositek in #8651
- mqtt: do not try to send packets when it disconnected by @omgbebebe in #8658
New Contributors
- @weebl2000 made their first contribution in #8560
- @omgbebebe made their first contribution in #8658
- @viric made their first contribution in #7882
Full Changelog: v2.7.13.597fa0b...v2.7.15.567b8ea
Meshtastic Firmware 2.7.14.e959000 Alpha
🚀 What's Changed
- Add the identification code for the DA217 triaxial accelerometer. by @Quency-D in #8526
- fix strlcpy compile error in Ubuntu 22.04 by @mverch67 in #8520
- Packaging: Add libbsd where needed by @vidplace7 in #8533
- Add support for RAK_WISMESH_TAP_V2 and RAK3401 hardware models by @DanielCao0 in #8537
- Fix: missing T-Deck Pro key '0' by @mverch67 in #8564
- Store hop/mqtt/transport mechanism info in S&F by @weebl2000 in #8560
- Reject legacy text message DMs by @jp-bennett in #8562
- AddFromContact: Don't auto-favorite when
CLIENT_BASE; don't updatelast_heardunlessCLIENT_BASEby @compumike in #8495 - Persist favourites on NodeDB reset by @ford-jones in #8292
- Don't ack messages when mqtt client proxy is on but only uplink by @RCGV1 in #8578
- Add API types, state, and log message in Debug screen. Added persistent "Connected" icon by @jp-bennett in #8576
- Drop PKI acks if there is no downlink on MQTTClientProxy by @RCGV1 in #8580
- Add the Heltec v4 expansion box. by @Quency-D in #8539
- Update platform-native for WIFi lib fix by @jp-bennett in #8544
- Reject legacy text message DMs by @jp-bennett in #8562
- Bugfix: Don't toggle BLE when choosing active state by @jp-bennett in #8579
- Try-fix traceroute panic by @thebentern in #8568
- chore(deps): update meshtastic/device-ui digest to 28167c6 by @renovate[bot] in #8583
- Only call stopNow if we're nagging by @thebentern in #8601
New Contributors
- @l0g-lab made their first contribution in #7926
- @dirkmueller made their first contribution in #8320
- @steven52880 made their first contribution in #8330
- @miketweaver made their first contribution in #8355
- @Paplewski made their first contribution in #8362
- @igorka48 made their first contribution in #8187
- @korbinianbauer made their first contribution in #8432
Full Changelog: v2.7.12.45f15b8...v2.7.14.e959000
Meshtastic Firmware 2.7.13.597fa0b Alpha
Important
This release disables device telemetry broadcasts over the mesh by default. If you want to opt back in, you will need to re-enable this in the apps.
Warning
If you experience immediate bluetooth pairing failures or failure to boot after updating, this likely indicates that you need to do a full erase and flash. Consider backing up your settings before updating.
🚀 What's Changed
- Update python Docker tag to v3.14 by @renovate[bot] in #8255
- fix: Move
#include "variant.h"to top of file (fixes #8276) by @ndoo in #8278 - Update meshtastic/device-ui digest to 6d8cc22 by @renovate[bot] in #8275
- NimBLE speedup by @thebentern in #8281
- Fix Station G2 Lora Power Settings by @fifieldt in #8273
- chore(deps): update github/codeql-action action to v4 by @renovate[bot] in #8250
- Fix BLE stateful issues by @thebentern in #8287
- Attach an interrupt to EXT_PWR_DETECT if present, and force a screen … by @jp-bennett in #8284
- Update XPowersLib to v0.3.1 by @renovate[bot] in #8303
- Bump release version by @github-actions[bot] in #8304
- Double the number of bluetooth bonds NimBLE will store (from 3 to 6) by @thebentern in #8296
- mDNS: Advertise pio_env (for OTA scripts) by @vidplace7 in #8298
- Master to develop by @jp-bennett in #8306
- Actions: CI docker with a fancy matrix by @vidplace7 in #8253
- GPS_POWER_TOGGLE no longer has a function, so purge by @jp-bennett in #8312
- Update protobufs and classes by @github-actions[bot] in #8305
- Remove T1000E GPS startup delay sequence by @fifieldt in #8236
- Increase bluetooth 5.0 PHY speed and MTU on esp32_s3 by @h3lix1 in #8261
- More BaseUI Frame Visibility Toggles by @Xaositek in #8252
- Device Telemetry opt in by @thebentern in #8059
- Fix muted protobuf compile errors by @thebentern in #8316
- Master backmerge by @thebentern in #8317
- chore(deps): update meshtastic/device-ui digest to 3fb7c0e by @renovate[bot] in #8291
- Nodelist: choice of long or short name by @l0g-lab in #7926
- Ble reconnect prefetch bug fix, plus some speed enhancements by @h3lix1 in #8324
- Avoid exceeding allocated buffers when doing MQTT proxying by @dirkmueller in #8320
- Fix erroneous limiting of power in Ham Mode by @fifieldt in #8322
- Fix bug: can not detect battery status while using INA226 by @steven52880 in #8330
- rework sensor instantiation to saves memory by removing the static allocation by @Links2004 in #8054
- Fix multitude of warnings during builds on MeshTiny by @Xaositek in #8331
- Fix multitude of warnings during builds on MeshTiny by @Xaositek in #8331
- Revert "Fix Station G2 Lora Power Settings" by @thebentern in #8332
- Develop to master merge by @thebentern in #8337
- Update stale_bot.yml by @NomDeTom in #8333
- Update meshtastic/device-ui digest to 19b7855 by @renovate[bot] in #8346
- Add a general-purpose packet cache by @erayd in #8341
- Guarding PhoneAPI node-info staging with mutex to prevent BLE future foot-gun by @h3lix1 in #8354
- Fix portduino native builds by @miketweaver in #8355
- Log the lora frequency error when receiving a packet. by @jp-bennett in #8343
- Bind python version to 3.13 by @Paplewski in #8362
- Update actions/setup-node action to v6 by @renovate[bot] in #8339
- Upgrade trunk by @github-actions[bot] in #8340
- Ignore MQTT Client Proxy messages while not in sendpackets state by @thebentern in #8358
- Force CannedMessages to another node to be a PKI DM by @jp-bennett in #8373
- Update meshtastic/web to v2.6.7 by @renovate[bot] in #8381
- Update DFRobot_RTU to v1.0.6 by @renovate[bot] in #8387
- Update mcr.microsoft.com/devcontainers/cpp Docker tag to v2 by @renovate[bot] in #8375
- Board support: RAK3401+RAK13302 1-watt by @DanielCao0 in #8140
- Fixed battery voltage to show missing decimals by @HarukiToreda in #8386
- Gating off BaseUI code for Screenless nodes and InkHUD by @HarukiToreda in #8384
- Added support for SugarCube device by @igorka48 in #8187
- Fix NimbleBluetooth reliability and performance by @compumike in #8385
- Add a banner on startup when DEBUG_MUTE is enabled by @Stary2001 in #8402
- Remove "Phone GPS" in order to correct GPS reporting by @Xaositek in #8407
- Fix NimbleBluetooth: process fromPhoneQueue (phone->radio) before toPhoneQueue (radio->phone) by @compumike in #8404
- Make packet pool dynamic again on STM32 as a workaround by @Stary2001 in #8400
- InkHUD Map improvements by @HarukiToreda in #8397
- Include RSSI in rangetest csv by @ford-jones in #8395
- Move airtime calculation to when Tx is complete by @GUVWAF in #8427
- Upgrade trunk by @github-actions[bot] in #8369
- Allow vibra or buzzer only notifications to obey cutoff by @Xaositek in #8342
- Don't use unsigned integer type for negative SNR value by @korbinianbauer in #8432
- InkHUD crash fix when nodes get deleted from NodeDB by @HarukiToreda in #8428
- Address longName wrapping by @Xaositek in #8441
- Update node to v24 by @renovate[bot] in #8476
- Turn the e-ink backlight on for any brightness value over 0 by @jp-bennett in #8481
- Add missed debug log line in RF95 Interface by @jp-bennett in #8490
- Thinknode M5 ADC_MULTIPLIER to actually hit 100% charge by @jp-bennett in #8489
- Better implementation of ExternalNotificationModule::stopNow by @Xaositek in #8492
- Skip setting up Lora GPIO lines when using a ch341 radio on native by @jp-bennett in #8506
- Fix boot on RP2040 by excluding new FreeRTOS task by @GUVWAF in #8508
- Fix dismiss of ext. notification by @thebentern in #8512
- Update device-install.sh to support heltec-v4 by @Melonbwead in #8509
New Contributors
- @l0g-lab made their first contribution in #7926
- @dirkmueller made their first contribution in #8320
- @steven52880 made their first contribution in #8330
- @miketweaver made their first contribution in #8355
- @Paplewski made their first contribution in #8362
- @igorka48 made their first contribution in #8187
- @korbinianbauer made their first contribution in #8432
- @Ixitxachitl made their first contribution in #8493
- @mariusfaber98 made their first contribution in #8349
- @shortwavesurfer2009 made their first contribution in #8137
- @pa0lin082 made their first contribution in #8376
- @Xavierhorwood made their first contribution in #6866
- @Melonbwead made their first ...
Meshtastic Firmware 2.7.12.45f15b8 Alpha (Revoked)
⚠️ Revoked
Revoked due to reported regressions with bluetooth connection flow on ESP32 based devices.
🚀 What's Changed
- Bug / Send upgraded (duplicate) packets to phone if the queue removal failed. by @h3lix1 in #8148
- Introduce non-linear TX_GAIN_LORA by @fifieldt in #8107
- Reliable ACKs for DMs by @compumike in #8165
- Add DIRECT_MSG_ONLY buzzer mode by @nexpspace in #8158
- Add support for the manually_verified bool in SharedContact by @jp-bennett in #8180
- Mute: channels by @ford-jones in #7957
- T-Lora Pager: Fully fix rotary encoder and speaker fuzzing/popping by @WillyJL in #7986
- Add FACTORY_INSTALL option to do a filesystem reset on first boot by @jp-bennett in #8185
- Master backmerge by @thebentern in #8192
- Update MQTT root on lora region change by @ford-jones in #8166
- add heltec tracker v2 board. by @Quency-D in #8160
- Don't use IS_ONE_OF when loading Modules by @vidplace7 in #8197
- Update meshtastic/device-ui digest to 505ffad by @renovate[bot] in #8195
- GAT562: Use PRIVATE_HW (fix build) by @vidplace7 in #8198
- Fix: ESP32s2 doesn't implement HWCDC by @vidplace7 in #8199
- Fix build script failure under certain conditions for devices that use UF2 binaries by @Kealper in #8150
- Calculate airtime of transmitted and received packets separately by @GUVWAF in #8205
- Correcting T-Echo Lite GPS PINs by @Szetya in #8087
- Clear out user.id except for sending to phone by @thebentern in #8202
- Add dropped packet count to LocalStats by @GUVWAF in #8207
- Sdl work by @jp-bennett in #7930
- Reprocess repeated packets and deduplicate logic by @GUVWAF in #8216
- Update next-hops based on traceroute result by @GUVWAF in #8219
- Add Adaptive Polling Intervals to WebServer by @capricornusx in #7864
- Centralize getNodeId and fix references to owner.id by @thebentern in #8230
- Update meshtastic-ArduinoThread digest to b841b04 by @renovate[bot] in #8233
- Update meshtastic/device-ui digest to f920b12 by @renovate[bot] in #8234
- Run Integration test in simulator mode by @jp-bennett in #8232
- Actions: Simplify matrices, cleanup build_one_* by @vidplace7 in #8218
- Cherry Pick: Run Integration test in simulator mode by @fifieldt in #8242
- Update meshtastic/web to v2.6.6 by @renovate[bot] in #7583
- Log antispam by @jp-bennett in #8241
- Update meshtastic/device-ui digest to e564d78 by @renovate[bot] in #8235
- Do slightly better at threading the search for GPS hardware by @jp-bennett in #8240
- Fix serial pins for Ebyte E77 MBL board by @Stary2001 in #8246
- Wait until after GPS lock hold before updating position, if we can. by @fifieldt in #8064
- Add SHT4x serial number for detection by @szlifier in #8222
- Force coverage tests to run in simulation mode by @vidplace7 in #8251
- NimBLE speedup by @thebentern in #8281
- Fix Station G2 Lora Power Settings by @fifieldt in #8273
New Contributors
- @nexpspace made their first contribution in #8158
- @szlifier made their first contribution in #8222
New Contributors
- @nexpspace made their first contribution in #8158
- @szlifier made their first contribution in #8222
Full Changelog: v2.7.11.ee68575...v2.7.12.45f15b8
Meshtastic Firmware 2.7.11.ee68575 Alpha
Important
Due to feedback received from users, UDP has been disabled by default and the default PSK decryption bridging logic has been removed for now until channel level controls can be added to a future release.
Warning
Repeater role has been deprecated in this release and going forward.
🚀 What's Changed
- On screen keyboard by @thebentern in #7705
- Update meshtastic/device-ui digest to 0f32b64 by @renovate[bot] in #7723
- Update caveman99-stm32-Crypto digest to 1aa30eb by @renovate[bot] in #7725
- Renovate: Always use
masteras the base. by @vidplace7 in #7726 - Add more text message test cases for meshpacket serializer by @TN666 in #7709
- Reduce power of EU433 to 10dBm by @fifieldt in #7733
- Backmerge to develop by @thebentern in #7744
- Log more information about ignored packet by @notmasteryet in #7718
- Setup ESP32 PM-specific capability flags by @m1nl in #7747
- Add more test case for encrypted packet test by @TN666 in #7745
- Backmerge by @thebentern in #7773
- Bump release version by @github-actions[bot] in #7777
- BaseUI Show/Hide Frame Functionality by @Xaositek in #7382
- We don't gotTime if time is 2019. by @fifieldt in #7772
- Add On-Screen Keyboard for UpDown Encoder and Rotary Encoder. by @whywilson in #7762
- Fix InputEvent variable usage with out initialization (random key events while using rotery encoder) by @Links2004 in #8015
- Allow Left / Right Events for selection and improve encoder responsives by @Links2004 in #8016
- Fix build fail on develop branch by @WillyJL in #8043
- Fix more build failures by @WillyJL in #8044
- Fix build with HAS_TELEMETRY 0 by @Links2004 in #8051
- Move HTTP contentTypes to Flash - saves 768 Bytes of RAM by @Links2004 in #8055
- Fix: use
lora.use_presetconfig to get name by @GUVWAF in #8057 - Resolve many warnings for BaseUI during builds by @Xaositek in #8063
- Fix Rotary Encoder Button by @Links2004 in #8001
- Add another seeed_xiao_nrf52840_kit build environment for I2C pinout by @NomDeTom in #8036
- Add heltec_v4 board. by @Quency-D in #7845
- Fix build errors by @Xaositek in #8067
- Introduce Radio Preset elections through BaseUI by @Xaositek in #8071
- Allow label enforcement job to run on self-hosted runners by @fifieldt in #7909
- Bump release version by @github-actions[bot] in #8100
- Upgrade trunk by @github-actions[bot] in #8094
- Add three expansion screens for heltec mesh solar. by @Quency-D in #7995
- Update Adafruit BusIO to v1.17.4 by @renovate[bot] in #8098
- Fix 2.4GHz reconfiguration on LR11xx by @Stary2001 in #8102
- Feat/0-cost hops for favorite routers by @h3lix1 in #7992
- If a packet is heard multiple times, rebroadcast using the highest hop limit by @erayd in #5534
- Make sure next-hop is only set when they received us directly by @GUVWAF in #8053
- Reduce cpu load by optimizing OSThread runOnce calls by @Links2004 in #8101
- Correct inverted mute icon by @Xaositek in #8111
- BaseUI - Saving GPS Format changes are required by @Xaositek in #8122
- Properly output the TCXO Voltage in yaml by @jp-bennett in #8128
- I2S: Fix silent RTTTL regression by @WillyJL in #8129
- Revert cross-preset default-key bridging with UDP and disable UDP by default by @thebentern in #8130
- Develop --> Master by @fifieldt in #8110
- Range-test: Clean on reboot by @ford-jones in #7703
- UIRenderer: display "No GPS present" only on the first line to avoid duplication by @plashchynski in #8136
- Remove memcpy by @dfsx1 in #8079
- Correct altitudeLine getting clobbered in the great merge by @Xaositek in #8138
- Bug / Send upgraded (duplicate) packets to phone if the queue removal failed. by @h3lix1 in #8148
- Validate CR and SF lora config by @thebentern in #8146
- Finish deprecating the Repeater role behavior by @thebentern in #8144
- Fix Heltec V3 missed button presses by @thebentern in #8167
New Contributors
Full Changelog: v2.7.10.94d4bdf...v2.7.11.ee68575