Releases: meshtastic/firmware
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
Meshtastic Firmware 2.2.20.af5ac32 Alpha
Important
Just like 2.2.19, this release has a known issue of packets not being sent out via LoRa if it originated at a node with MQTT uplink enabled on the channel. This issue is fixed in release 2.2.21.
Note
From this release on, the ability to instruct a node to send a packet to the mesh by publishing a JSON message to the MQTT topic requires the channel to be named "mqtt", and the JSON message requires a "from" field with value equal to the node number of the intended transmitter. A node still uplinks messages on any channel with uplink enabled as before.
Enhancements
- Portduino logging enhancements by @jp-bennett in #3121
- Add CircutMess Chatter 2 by @GPSFan in #3125
- Admin message to delete file by @thebentern in #3144
- GPS updates by @GPSFan in #3142
- Update to
Meshtastic_nRF52_factory_erase_v2
by @andrekir in #3146 - Allow NRF52 ADC overrides; begin simplifying analog battery logic by @code8buster in #3134
- Feat(variants): Add support for TXCO on TLORA_V2_1_6 devices by @Scarg in #3124
- Adds i2c device configuration to native by @jp-bennett in #3143
Bug fixes
- Use correct define for native gos by @jp-bennett in #3133
- Don't ever delete own node from DB by @jp-bennett in #3122
- Fix MQTT crash by @mverch67 in #3127
- Fix: allow MQTT
encryption_enabled
withjson_enabled
by @andrekir in #3126 - Fix: return failure when PhoneAPI times out by @GUVWAF in #3136
- Restrict MQTT JSON downlink messages by @GUVWAF in #3141
- Re-order GPS check to eliminate TOO old message by @jp-bennett in #3152
New Contributors
Full Changelog: v2.2.19.8f6a283...v2.2.20.af5ac32
Meshtastic Firmware 2.2.19.8f6a283 Beta
Important
This release introduces a new default for LoRA regional partitioning of MQTT topics. For instance, If you set a lora.region
from UNSET
to US
, you will now have a default mqtt.root
of msh/US instead of msh previously. This is only a default, however. The MQTT root can be changed at any time, independently.
Important
This release has a known issue of packets not being sent out via LoRa if it originated at a node with MQTT uplink enabled on the channel. This issue is fixed in release 2.2.21.
Note
A new header flag has been added, and along with it a new lora.ignore_mqtt
config, which when set to true, will allow you to ignore MQTT messages that would otherwise be rebroadcasted via LoRa transport as well. This will be useful for preventing unwanted higher bandwidth messaging from monopolizing undue airtime in a mesh.
Enhancements
- Default mqtt root to msh/region from unset by @thebentern in #3111
- Portduino work by @jp-bennett in #3049
- Add necessary libs to Dockerfile for native build by @GUVWAF in #3089
- Drop the Raspbian and Linux targets by @jp-bennett in #3091
- Update Linux binaries to use arch names by @jp-bennett in #3093
- Update Default RTTTL by @rcarteraz in #3114
- Initial Partial Updates on t-echo by @ixt in #3090
Bug fixes
- RadioLib 6.4.0 fixes by @jp-bennett in #3098
- INA3221 library branch to support negative values by @KodinLanewave in #3084
- Fix T-Watch flip screen by @mverch67 in #3113
- Update oled dep to include RP2040 fix by @thebentern in #3112
- Mark packets received via MQTT and add option to ignore them by @GUVWAF in #3117
- Fix:
ipv4_config
byte order already little endian by @andrekir in #3073 - Update channel of node in
updateUser
and write to flash if needed by @GUVWAF in #3094
New Contributors
- @KodinLanewave made their first contribution in #3084
- @ixt made their first contribution in #3090
Full Changelog: v2.2.18.e9bde80...v2.2.19.8f6a283
Meshtastic Firmware 2.2.18.e9bde80 Alpha
Bug fixes
- Fix "watch GPIOs" feature of Remote Hardware module by @GUVWAF in #3047
- Don't reboot after removing node from DB by @thebentern in #3065
- Fix LED pinout for T-Echo board marked v1.0, date 2021-6-28 by @Mictronics in #3051
- Allow button press if CannedMessage
updown1
orrotary1
are not enabled by @GUVWAF in #3067
Enhancements
- Add Malaysia Region by @aminhusni in #3053
- RP2040 Enter uf2 DFU mode by @thebentern in #3062
- Remove gps_attempt_time and use broadcast interval instead by @thebentern in #3064
- Update exception decoder for other platforms by @GUVWAF in #3070
- Heltec paper by @thebentern in #3069
- Add SX1262 to M5Stack CoreInk by @markbirss in #3078
- Cherry-picked TFT fix by @thebentern in #3077
New Contributors
- @aminhusni made their first contribution in #3053
Full Changelog: v2.2.17.dbac2b1...v2.2.18.e9bde80
Meshtastic Firmware 2.2.17.dbac2b1 Beta
Enhancements
- Make implicit ACKs work on MQTT by @GUVWAF in #3028
- Ignore keyboard input while sending CannedMessages packet by @jp-bennett in #3019
- Add Traceroute, DetectionSensor and Paxcounter to MQTT JSON by @GUVWAF in #3043
- Include Libpax by @caveman99 in #3020
- [Add] SX1280 to linux native Portduino by @markbirss in #3023
- Portduino reboot by @wnagele in #3033
- Allow override of HWID using environment variable by @wnagele in #3036
- Implemented enter (Uf2 usb) DFU mode admin message on NRF52 by @thebentern in #3045
Bug fixes
- Local variable and class variable may not be named the same by @caveman99 in #3021
- ESP32: Don't disconnect WiFi when we're actively reconnecting by @GUVWAF in #3026
- Align glibc with Debian builder by @wnagele in #3034
- Fix time updates (#3000) by @wnagele in #3035
- Hash function needs uint32_t for some platforms. by @jp-bennett in #3038
- Fix #3032 by @Mictronics in #3040
- SimRadio: Send queue status to phone by @GUVWAF in #3041
- Remove old SX126x and SX128x boosted gain commented-out code by @S5NC in #2976
New Contributors
- @wnagele made their first contribution in #3034
- @Mictronics made their first contribution in #3040
Full Changelog: v2.2.16.1c6acfd...v2.2.17.dbac2b1