Releases: meshtastic/firmware
Meshtastic Firmware 2.3.7.30fbcab (Revoked)
Revoked due to BLE regression
Enhancements
- Native: add further display parameters by @mverch67 in #3670
- Refactor smart position to use throttle helper by @thebentern in #3671
- Add board and variant definitions for EBYTE_ESP32-S3 by @S5NC in #2882
- Added more clear RTC handling and quality logging by @thebentern in #3691
- Adjust ADC for rak11310 devices by @quimnut in #3698
- Updates for esp32s2 builds by @titan098 in #3693
- Add ability to turn off heartbeat LED blinking by @ndoo in #3674
- Support for generic 4pin RGB LEDs (both CC and CA) and NeoPixels, also RGB LED and vibration notification support for unPhone by @garethhcoleman in #3647
- Add power limit for TW region by @fifieldt in #3701
- [BOARD] Add new variant: TWC_Mesh by @SCWhite in #3705
- Add better support for the Adafruit PiTFT 2.8 for Native by @jp-bennett in #3704
- Add SX1268 modules support for linux-native by @SannySannyman in #3702
- Move to lovyangfx develop for Native by @jp-bennett in #3715
- Split warning into two messages, so we know which one is the case. by @arekm in #3710
- Add conffiles to .deb packaging by @jp-bennett in #3722
Bug fixes
- INA3221 Mis-Identification Fix by @RicInNewMexico in #3681
- (ESP-32S) Fix "critical error 3" after deep-sleep by @todd-herbert in #3685
- Fix crash on shutdown, if Bluetooth not enabled by @todd-herbert in #3686
- Fix for unPhone hangs during boot without sd card present by @garethhcoleman in #3709
- Fixed bug making t-deck reboot when muted by @nbaddorf in #3694
- (E-Ink) Fix issue drawing module frames by @todd-herbert in #3706
- Fix signedness warnings of NRF52 toolchain by @caveman99 in #3697
- Fixed node and channel selection for t-deck by @nbaddorf in #3695
- Also refresh timestamp for "timeonly" fixed position nodes by @thebentern in #3689
- Use correct format specifier and fixed typo. by @Mictronics in #3696
New Contributors
- @nbaddorf made their first contribution in #3694
- @quimnut made their first contribution in #3698
- @fifieldt made their first contribution in #3701
- @SCWhite made their first contribution in #3705
- @SannySannyman made their first contribution in #3702
- @arekm made their first contribution in #3710
Full Changelog: v2.3.6.7a3570a...v2.3.7.30fbcab
Meshtastic Firmware 2.3.6.7a3570a Beta
Important
This release has known issues with deep-sleep on ESP32 devices that are resolved in 2.3.7.
Enhancements
- More useful default input device for Pi 400 by @jp-bennett in #3639
- No more power-state messages printed to screen by @todd-herbert in #3640
- Add support for CDEBYTE_EoRa-S3 by @S5NC in #3613
- Add configuration option for LoRa Region Code override for region-locked builds/variants by @ndoo in #3540
- Better support for ATGM336H GPS modules by @titan098 in #3610
- Cosmetics: rename remaining plugins → modules and less errors by @GUVWAF in #3645
- Add device metrics uptime to MQTT JSON by @thebentern in #3643
- Add multiple SPI devices for Radio, Display, and Touchscreen by @jp-bennett in #3638
- Added one minute throttling to NodeDB save to disk by @thebentern in #3648
- NeighborInfo: Only keep neighbors in RAM by @GUVWAF in #3660
Bug fixes
- Fix #3641: Always set MAC when picking new NodeNum by @GUVWAF in #3651
- Fix: don't enable the CDC interface already at boot by @oseiler2 in #3652
- (ESP32) Fix bluetooth after light-sleep; de-init for deep-sleep by @todd-herbert in #3655
- Fixed XPT2046 syntax and using unPhone library to clean up support by @garethhcoleman in #3631
- StoreForward: Remove assert when receiving unhandled case by @GUVWAF in #3661
- Uplink to MQTT after potentially altering content by @GUVWAF in #3646
Full Changelog: v2.3.5.2f9b68e...v2.3.6.7a3570a
Meshtastic Firmware 2.3.5.2f9b68e Alpha
Enhancements
- Add unPhone by @rcarteraz in #3584
- Add BME680 IAQ reading by @caveman99 in #3580
- Add more useful error output in radio interfaces by @jp-bennett in #3615
- LSM6DS3TR-C support by @garethhcoleman in #3593
- Pin RadioLib to 6.5.x by @jp-bennett in #3601
- Enable T-Echo touch button by default by @todd-herbert in #3604
- Auto-favorite our node by @thebentern in #3609
- File management changes (Part 1 - LoadFileResult) by @thebentern in #3625
- TFT device powersave (part 3) by @mverch67 in #3600
- Support for alt I2C address for LSM6DS3 sensor, identification of TCA9555 IO Expander, resolve serial hang issue by @garethhcoleman in #3622
- Update to nanopb 0.4.8 and fix proto regen script by @caveman99 in #3578
- Device telemetry uptime in seconds by @thebentern in #3614
Bug fixes
- Only set NodeNum based on MAC if it's still zero by @GUVWAF in #3585
- Fix button interrupt after light sleep by @todd-herbert in #3587
- Fix: device PMU shutdown (part 2) by @mverch67 in #3596
- T-Beam S3 core - enable USB CDC by @oseiler2 in #3597
- Fix: device sleep (part 1) by @mverch67 in #3590
- Fix: TinyGPSAltitude support for negative altitude by @thebentern in #3605
- Drop unishox2 functions from Router by @jp-bennett in #3606
- Fix another LOG_DEBUG message that should be LOG_ERROR by @jp-bennett in #3607
- Update portduino to include SPI and setSetial fixes by @jp-bennett in #3611
- Fix: UpDown CARDKB button press by @mverch67 in #3612
- Make sure settingsStrings get initialized by @jp-bennett in #3621
- Zero hop always for connected node by @thebentern in #3634
- Wireless Paper: Fix BLE after Lightsleep by @todd-herbert in #3629
- File management changes (Part 2 - Reboot instead of reformat NRF52 after two failed file saves) by @thebentern in #3630
New Contributors
Full Changelog: v2.3.4.ea61808...v2.3.5.2f9b68e
Meshtastic Firmware 2.3.4.ea61808 Beta
Enhancements
- Display log and onscreen times in local timezone by @caveman99 in #3570
- Reduce deep-sleep current for Heltec Wireless Paper by @todd-herbert in #3545
- New device unPhone using HX8357D LCD and XPT2046 touchscreen by @garethhcoleman in #3544
- Change to the I2C Scan to distinguish QMI8658 and BQ24295 by @garethhcoleman in #3554
- Add keymappings for several utility functions by @caveman99 in #3536
- Add spiTransfer function to Native to support Linux-managed CS by @jp-bennett in #3524
- Feature parity between Pico and Pico W firmware by @AeroXuk in #3538
- Remap backlight toggle and touch button by @todd-herbert in #3560
- Make instructions clearer in config.yaml comments by @jp-bennett in #3559
- Native Linux Build (ARM support and webserver deps) by @jaredquinn in #3506
Bug fixes
- Make native honor HAS_SCREEN 0 by @jp-bennett in #3509
- Replace arch with uname -m for arch linux by @Jorropo in #3508
- Linux-native: only install linux native deps by @Jorropo in #3510
- Handle edge cases for E-Ink screensaver by @todd-herbert in #3518
- Don't save Neighbors to flash when receiving by @GUVWAF in #3519
- Add Station-G2 to install scripts by @rcarteraz in #3525
- Fix Light-sleep for ESP32 by @todd-herbert in #3521
- Disable holds / isolations on RTC IO pads after deep sleep by @todd-herbert in #3539
- Update platformio.ini by @fuutott in #3557
- Update Dockerfile to remove sticky bit during build by @jp-bennett in #3567
- Fix: use UTC on Phone API by @caveman99 in #3576
New Contributors
- @Jorropo made their first contribution in #3508
- @garethhcoleman made their first contribution in #3544
- @fuutott made their first contribution in #3557
- @jaredquinn made their first contribution in #3506
Full Changelog: v2.3.3.8187fa7...v2.3.4.ea61808
Meshtastic Firmware 2.3.3.8187fa7 Beta
Enhancements
- Add Shutdown and reboot to CardKB and friends by @caveman99 in #3487
- Add multiple configuration options for a minimized build (GPS,WiFi,BT,…,MQTT,Screen) by @jimwhitelaw in #3469
- E-Ink Screensaver by @todd-herbert in #3477
- Fixed position admin messages by @thebentern in #3490
Bug fixes
- Remove unused defines from nrf52 variants by @code8buster in #3482
- Add libulfius2.7 to .deb debendencies by @jp-bennett in #3494
- Native: fail-safes for simulated node without config file by @GUVWAF in #3486
- Don't reboot for non-radio lora config changes by @thebentern in #3505
Full Changelog: v2.3.2.63df972...v2.3.3.8187fa7
Meshtastic Firmware 2.3.2.63df972 Beta
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
Meshtastic Firmware 2.2.24.e6a2c06 Beta
Important
This release splits the Heltec Wireless Tracker target into V1.0 and V1.1 variants. Most boards are version 1.1, but check the silkscreen of your board if you are not sure.
Enhancements
- Fixes [3074] Heltec Tracker Screen issues + minor fixes by @Gabrielerusso in #3213
- [BOARD] Adds Waveshare ESP32-S3-PICO by @markbirss in #3081
- E-Ink: additional conditions for "Dynamic Partial" mode by @todd-herbert in #3256
- Adds position precision support by @jp-bennett in #3263
- Move imprecise locations to grid middle by @jp-bennett in #3271
- Update trunk to latest version by @caveman99 in #3295
- Add UI frame for PaxCounter module by @thoherr in #3285
- Update UNSET Region Screen by @rcarteraz in #3272
- Routers / Repeaters deep sleep default w/ LoRA interrupts by @thebentern in #3251
- Fix default stance in position_precision by @jp-bennett in #3278
- Station G2 by @neilhao in #3282
- More StoreForward updates by @GUVWAF in #3274
Bug Fixes
- Update node db lite log message by @rcarteraz in #3276
- Ignore MQTT by default if region has a duty cycle limit by @GUVWAF in #3277
- Ignore JSON enabled setting on nRF52 platforms by @GUVWAF in #3286
- Only publish MQTT on LoRa Tx if packet is from us and on Rx if not by @GUVWAF in #3245
- Fix wrong-side-of-globe when precision set to 32 by @jp-bennett in #3290
- UINT32_MAX is not the same as INT32_MAX by @jp-bennett in #3292
- Fix compilation for Cyrillic fonts by @caveman99 in #3293
- Various position fixes by @thebentern in #3297
New Contributors
Full Changelog: v2.2.23.5672e68...v2.2.24.e6a2c06
Meshtastic Firmware 2.2.23.5672e68 Beta
Enhancements
- [BOARD]: CanaryOne by @hdngr in #3150
- Added RP2040-LoRA target by @thebentern in #3195
- E-Ink "Dynamic Partial" by @todd-herbert in #3193
- LilyGo T-Echo Bootloader UF2 and ZIP packages by @rcarteraz in #3210
- Phase 3 of the GPS rework by @GPSFan in #3220
- StoreForward updates by @GUVWAF in #3194
- Enable NMEA Messages on USB port for u-blox receivers by @GPSFan in #3227
- Battery level with proportional filter and lookup table by @Gabrielerusso in #3216
- Add TAK Tracker role behavior by @thebentern in #3233
- Implement StoreAndForward
lastRequest
map handling (2) by @GUVWAF in #3246
Bug fixes
- Fixed ESP32 ADC resolution bug introduced by #3184 by @Gabrielerusso in #3217
- Refactored ButtonThread, fix IRQ issues by @mverch67 in #3214
- Fix: Wireless Paper (v1.0 & v1.1) not showing battery percentage by @todd-herbert in #3208
- Fix rotary encoder by @mverch67 in #3242
New Contributors
- @hdngr made their first contribution in #3150
- @Gabrielerusso made their first contribution in #3217
Full Changelog: v2.2.22.404d0dd...v2.2.23.5672e68
Meshtastic Firmware 2.2.22.404d0dd Beta
Enhancements
- GPS rework phase 2 updates for M8 and stub for M10 by @GPSFan in #3166
- Update link to docs from webserver when file not found by @tekstrand in #3175
- Adafruit display by @jp-bennett in #3179
- [BOARD] Heltec Wireless Paper V1.0 by @todd-herbert in #3181
- Add Singapore Region by @ndoo in #3165
- ATAK plugin handling by @thebentern in #3189
Bug fixes
- Fix init resolution for all architectures by @code8buster in #3184
- MQTT JSON downlink fixes by @GUVWAF in #3183
- Improved button-click accuracy by @mverch67 in #3188
- Don't let MQTT ACKs cancel LoRa transmission if it's still in the Tx queue by @GUVWAF in #3191
New Contributors
- @tekstrand made their first contribution in #3175
- @todd-herbert made their first contribution in #3181
- @ndoo made their first contribution in #3165
Full Changelog: v2.2.21.7f7c5cb...v2.2.22.404d0dd
Meshtastic Firmware 2.2.21.7f7c5cb Beta
Important
This release notably fixes a known issue of packets not being sent out via LoRa if it originated at a node with MQTT uplink enabled on the channel.
Enhancements
- Triple GPS state by @thebentern, @mverch67 in #3157
Bug fixes
Full Changelog: v2.2.20.af5ac32...v2.2.21.7f7c5cb