Releases: meshtastic/firmware
Meshtastic Firmware 2.5.7.f77c87d Beta
Enhancements
- Remove waypoint and text message frames on NodeDB reset as well by @thebentern in #5029
- Fix SH1107 - Set Geometry 128x128 by @markbirss in #5033
- Implement rebroadcast mode NONE by @thebentern in #5040
- Remove newline from logging statements. by @caveman99 in #5022
- [Board]: Support for M5Stack CoreS3 (Part 1: radio) by @lboue in #5049
- Add in RF95 support to Pro-micro DIY by @Nestpebble in #5055
- Drop oem.proto support in favor of userprefs by @caveman99 in #5061
- Ws85 updates : set want_ack, high_priority, add temperature. by @tavdog in #5052
- Add MQTT exception for private IP address server by @JohnathonMohr in #5072
- Ensure the MQTT address is an IPv4 before determining it's private by @JohnathonMohr in #5081
Bug fixes
- Remove waypoint and text message frames on NodeDB reset as well by @thebentern in #5029
- Retain
fixed_position
during reset-nodedb by @andrekir in #5067 - Fix incorrect va_start calls by @jepler in #5076
- Permanently engage !CTRL by @caveman99 in #5036
New Contributors
- @jepler made their first contribution in #5076
- @JohnathonMohr made their first contribution in #5072
Full Changelog: v2.5.6.d55c08d...v2.5.7.f77c87d
Meshtastic Firmware 2.5.6.d55c08d Beta
Warning
This is a re-cut release of 2.5.6. If you performed an erase and install of 2.5.6.ad8747d on an ESP32 based device and experienced boot issues. Performing a fresh install of this release should resolve the issue.
Enhancements
- UserPrefs - Preconfigure up to 3 channels, GPS Mode by @medentem in #4930
- Start of generating json manifest of macros in userPrefs.h by @thebentern in #4946
- Coalesce duplicated method GetTimeSinceMeshPacket by @fifieldt in #4968
- Which Module wants a UI Frame? by @fifieldt in #4967
- Upgrade nanopb by @thebentern in #4973
- Add RAK4631 Ethernet Gateway with working JSON output to MQTT by @beegee-tokyo in #4661
- Preliminary Othernet Dreamcatcher Support by @caveman99 in #4933
- Toggle Bluetooth with Fn+b shortcut by @HarukiToreda in #4977
- Add health telemetry module by @fifieldt @thebentern in #4927
- First version of a DeepSleep state for the RP2040 by @TheMalkavien in #4976
- Add frequencies for Philippines by @fifieldt in #4951
- Set TZ config from string if unset by @jp-bennett in #4979
- Switch Environment Telemetry to use UnitConversions by @fifieldt in #4972
Bug fixes and maintenance
- Remove unused Jlink monitoring files by @fifieldt in #4953
- Retire PPR Boards by @fifieldt in #4956
- Retire lora-relay boards by @fifieldt in #4957
- Remove support for pca10056-rc-clock by @fifieldt in #4955
- Remove unused headers by @fifieldt in #4954
- Remove has_rx * on installDefaultDeviceState by @thebentern in #4982
- Fix storage of admin key when installing default config. by @Mictronics in #4995
- On T114 do no wake into loader instead of application. by @jhps in #4997
- Ignore packets coming from the broadcast address by @GUVWAF in #4998
- Possibly forward PKC DMs over MQTT by @jp-bennett in #5012
- Fixes critical error rendering before screen thread is running by @thebentern in #5024
- Uplink DMs not to us if MQTT encryption enabled by @GUVWAF in #5025
New Contributors
Full Changelog: v2.5.5.e182ae7...v2.5.6.d55c08d
Meshtastic Firmware 2.5.5.e182ae7 Beta
Warning
This release does not come bundled with the web client interface due to a transient issue with the build pipeline. If that is an important feature for your use case, please consider either grabbing a later release or rolling back to 2.5.4.
Enhancements
- Save a couple of bytes by @caveman99 in #4922
- Consolidate and shrink down the re-used strings in logs by @thebentern in #4907
- Userprefs prefix macros for clarity and consistency by @thebentern in #4923
- Add a Userprefs Timezone String, to be replaced in the web flasher by @jp-bennett in #4938
- Add
rxDupe
,txRelay
andtxRelayCanceled
to LocalStats by @GUVWAF in #4936 - Leave the build epoch commented and uncomment when CI runs by @thebentern in #4943
- Add Panel_ILI9342 to TFTDisplay.cpp by @lboue in #4822
Bug fixes
- Enabling Ve pin on T114 by @HarukiToreda in #4940
- CleanupNeighbors() time difference fix by @gitbisector in #4941
- Don't use a static decleration in a header file by @jp-bennett in #4944
- Move ifndef to fix test by @jp-bennett in #4950
- Remove ancient .gitignore lines by @fifieldt in #4952
- Adjust dimensions for Canned Message popup screen by @todd-herbert in #4924
New Contributors
Full Changelog: v2.5.4.8d288d5...v2.5.5.e182ae7
Meshtastic Firmware 2.5.4.8d288d5 Beta
Enhancements
- Comment on PR with build artifacts link by @scruplelesswizard in #4896
- Return queue status on rate limit throttling by @thebentern in #4901
- Get accelerometerThread running from AdminModule. by @gjelsoe in #4886
- Construct StoreForwardModule for Portduino as well by @GUVWAF in #4903
- Update INA3221 to 1.0.1 by @KodinLanewave in #4877
- Update radiolib to 7.0.1 by @caveman99 in #4905
- Allow for better target level Radiolib exclude plumbing by @thebentern in #4906
Bug fixes
- Fix: Not being able to stop Ext. Notification nagging for screenless devices by @thebentern in #4899
- When importing config, keep Bluetooth on and defer rebooting until co… by @dahanc in #4898
- Fix duplicate PR comments by @scruplelesswizard in #4908
- Radiolib 7.0.2 by @caveman99 in #4915
- Regenerate public key on boot, to avoid accidental mismatch. by @jp-bennett in #4916
- Fix #4911 : Partially rework some code to remove warnings about potential non-aligned memory accesses by @TheMalkavien in #4912
Full Changelog: v2.5.3.a70d5ee...v2.5.4.8d288d5
Meshtastic Firmware 2.5.3.a70d5ee Alpha
Warning
With this release, there is a known issue that SX127x radios cannot receive any packets. It will be fixed in the next release.
Enhancements
- Support for Seeed XIAO S3 Board by @Dylanliacc in #4850
- Add a second delay() to get the unit tests running on Rak4631 by @jp-bennett in #4862
- Add MAX17048 lipo fuel gauge by @dhskinner in #4851
- Refactor AccelerometerThread.h by @dhskinner in #4831
- Wrangle module frames with I2C keyboard by @todd-herbert in #4817
- IS_ONE_OF macro to make long chains of conditions more concise and easy to follow by @thebentern in #4860
- Create SECURITY.md by @thebentern in #4868
- Encapsulate RadioLibInterface receive IRQ logic by @thebentern in #4866
- Add pkc test by @jp-bennett in #4878
- Add sx126x_ant_sw for Native by @jp-bennett in #4887
- First stab at enabling store and forward for Native by @jp-bennett in #4891
- Don't process RX when region unset by @caveman99 in #4895
- Support T3S3 LR1121 variant by @caveman99 in #4869
- First stab at ESP32-C6 support for TLora-C6 by @caveman99 in #4692
Bug fixes
- Fix #4844 (Disable onboard buzzer on wakeup for some roles) by @caveman99 in #4859
- Tbeams have no ADC by @caveman99 in #4871
- DetectionSensor: more flexible triggering by @augustozanellato in #4780
- Account for size of Envelope when allocating buffer. by @caveman99 in #4819
- fix a lot of nuisances reported by cppcheck by @caveman99 in #4872
- Update WaypointModule.cpp by @Szetya in #4870
- Fix (some ?) memory alignment issues on the crypto part - resulting in crashes or strange behavior by @TheMalkavien in #4867
- Update radiolib, fixes CRC bug on SX127x and improves LR11xx support by @caveman99 in #4880
- Use delete[] to avoid leaking memory by @jp-bennett in #4883
- Implement GPIO pin allowlist for Remote Hardware module by @Kealper in #4882
- Ignore seen phoneapi packets by @thebentern in #4888
- Only check hardsleep threshold if GPS softsleep is supported by @GUVWAF in #4893
- Remove remote hardware from firmware release by @thebentern in #4890
- Only log "Setting DIO2 as RF switch" when doing so and fix battery level by @dahanc in #4892
- Potential fix for bad Rx performance on T1000-E by @GUVWAF in #4885
New Contributors
- @TheMalkavien made their first contribution in #4867
Full Changelog: v2.5.2.771cb52...v2.5.3.a70d5ee
Meshtastic Firmware 2.5.2.771cb52 Alpha
Enhancements
- Set title for protobufs update PR by @scruplelesswizard in #4792
- Set title for version bump PRs by @scruplelesswizard in #4791
- Enable Dependabot by @scruplelesswizard in #4790
- Actions: Semgrep Images have moved from returntocorp to semgrep by @fifieldt in #4774
- Update protobufs and classes by @github-actions in #4804
- Heltec-wireless-bridge by @caveman99 in #4801
- Update classes on protobufs update by @scruplelesswizard in #4805
- [Board] DIY "t-energy-s3_e22" by @vidplace7 in #4782
- Make Ublox code more readable by @fifieldt in #4727
- I2C for Heltec Mesh Node T114 by @todd-herbert in #4745
- Refactor and consolidate time window logic by @thebentern in #4826
- Consolidate variant build steps by @scruplelesswizard in #4820
Bug fixes
- Minor fix by @fifieldt in #4666
- Update platform-native to pick up portduino crash fix by @jp-bennett in #4807
- Rename message length headers and set payload max to 255 by @jp-bennett in #4827
- Check for null before printing debug by @jp-bennett in #4835
- Teardown bluetooth phoneAPI better and fix client notification issue by @thebentern in #4834
- Fix RAK4631 accelerometer by @thebentern in #4837
- Second Wire is PIN_WIRE1_SDA by @fifieldt in #4840
- Build message in printBytes, to not spam BLE log by @jp-bennett in #4843
- Syntax fix for github action by @fifieldt in #4846
- Sed doesn't like newlines by @scruplelesswizard in #4847
- Chomp trailing newline by @scruplelesswizard in #4848
- Fix Ublox M10 Setup by @fifieldt in #4842
- Remove old comments from main by @fifieldt in #4849
- Fix deep-sleep for T-Beam by @todd-herbert in #4802
New Contributors
- @scruplelesswizard made their first contribution in #4792
- @dependabot made their first contribution in #4797
- @vidplace7 made their first contribution in #4782
Full Changelog: v2.5.1.c13b44b...v2.5.2.771cb52
Meshtastic Firmware 2.5.1.c13b44b Alpha
Enhancements
- Radiomaster Bandit Accelerometer support by @gjelsoe in #4667
- Beautify GPS_DEBUG getACK logging code by @fifieldt in #4672
- OLED_ can be configured via userPrefs.h by @panaceya in #4624
- Support Seeed SenseCAP Indicator by @mverch67 in #4279
- Initial PhoneAPI rate-limiting of messages on certain ports by @thebentern in #4756
- Improved compass arrow by @Szetya in #4689
- Feat: enable remote admin to set/clear fixed positions by @andrekir in #4713
- Update RadioLib to 7.0.0 by @fifieldt in #4771
- Honor flip & color for Heltec T114 and T190 by @todd-herbert in #4786
Bug fixes
- Define SX126X_ANT_SW for the RAK11200 on the RAK19007 base by @RealityAnomaly in #4690
- Exclude meshtasticd binaries from firmware.zip by @thebentern in #4698
- Add Missing Hardware by @rcarteraz in #4702
- Add "Cross-Platform" to feature.yml by @rcarteraz in #4700
- Stop past timestamps from setting our system time RTC by @thebentern in #4704
- Use the time.age() value to correct stale GPS times by @jp-bennett in #4705
- Make local stats number of Rx packets sum of good and bad by @GUVWAF in #4709
- Actually restrict remote hardware to gpio channel by @jp-bennett in #4717
- Don't use PKC on a non-primary channel unless specifically requested by @jp-bennett in #4715
- Expand buffer to MqttClientProxyMessage_size by @thebentern in #4726
- Add Heltec T1114 hardware model to build by @thebentern in #4719
- [BUG-FIX] ME25LS01-4Y10TD_e-ink e-paper init fix by @markbirss in #4729
- Fix Heltec T114 vendor definition by @fifieldt in #4728
- Remove lora_isp4520 by @fifieldt in #4735
- Update T114 LED definitions to include only one simple controllable LED and two NEOPIXELs. by @jhps in #4710
- Fix I2C address for QMC5883L. by @fifieldt in #4740
- Rak11200 pin name correction by @S5NC in #4691
- Separate GPS and NTP RTCQuality logic and allow GPS time to always set us by @thebentern in #4721
- More useful PKC logging by @jp-bennett in #4742
- Increase Pico GPS FIFO Buffer size by @fifieldt in #4741
- Implement CoT detail support in TAKPacket by @thebentern in #4748
- Change evaluation order to silence warning about "found" by @caveman99 in #4749
- Implement optional hops_away on NodeInfo/Lite by @thebentern in #4747
- Add hasPKC to deviceMetadata by @jp-bennett in #4755
- Add new admin error types by @jp-bennett in #4750
- Update package_raspbian.yml to build on self-hosted by @jp-bennett in #4761
- Fix Chatter 2 blank screen on boot by @fifieldt in #4759
- PMSA0031 sensors require ~3secs before coming up on I2C by @fifieldt in #4743
- Another missed define for the T114 by @dahanc in #4772
- Update HW_VENDOR by @markbirss in #4773
New Contributors
- @panaceya made their first contribution in #4624
- @RealityAnomaly made their first contribution in #4690
- @jhps made their first contribution in #4710
- @Szetya made their first contribution in #4689
- @augustozanellato made their first contribution in #4767
- @dahanc made their first contribution in #4772
Full Changelog: v2.5.0.9ac0e26...v2.5.1.c13b44b
Meshtastic Firmware 2.5.0.9ac0e26 Alpha
Important
This release adds Public Key encryption to direct messages and enhanced session key based security to remote admin messages. It's recommended to back up your private keys.
Remote administration of 2.5 nodes will require client updates to all of the platforms.
Warning
There is a known-issue with LR111X based radios (Seeed Tracker / T1000-E) in communicating with older SX1276 based devices. The issue pre-dates this release.
Enhancements
- 2.5 Changes by @thebentern in #4431
- Re-implement PKI from #1509 by @jp-bennett in #4379
- User to UserLite in NodeDB by @thebentern in #4438
- Add logic to nodeDB to prefer evicting boring nodes by @jp-bennett in #4441
- Shorter nodeinfo timeout redux by @jp-bennett in #4458
- Add PKI channel for MQTT by @jp-bennett in #4464
- Short turdbo by @thebentern in #4465
- Re-compute correct timeslot on applyModemConfig by @thebentern in #4469
- Master downstream to 2.5 by @thebentern in #4474
- Send local stats telemetry to phone every 15 minutes by @thebentern in #4475
- Set time-only admin command by @thebentern in #4479
- AdminModule session_passkey by @jp-bennett in #4478
- Add two-way traceroute result with SNR per hop by @GUVWAF in #4485
- Add 4 bytes of random nonce to PKI by @jp-bennett in #4493
- Feature: default to fuzzy GPS location on the Default Channel by @mrfyda in #4467
- Add admin getter for
SECURITY_CONFIG
by @andrekir in #4499 - Only accept PKI messages for MQTT downlink for known nodes by @GUVWAF in #4498
- Fix deprecated macros. by @Mictronics in #4505
- Set RP2040 in dormant mode when deep sleep is triggered. by @Mictronics in #4510
- Make it possible to define TCXO and XTAL radio modules within one variant by @Nestpebble in #4492
- Add a .yml to setup a Gitpod instance quickly by @Nestpebble in #4551
- Add devcontainer by @jhollowe in #4491
- Add support for Adafruit Feather RP2040 with RFM95. by @miltieIV2 in #4451
- Deal with admin_key being repeated by @jp-bennett in #4558
- Don't compare nodeDB macaddr to owner.macaddr, because in rare cases … by @jp-bennett in #4562
- Set current time to system time in portduino build by @pccr10001 in #4556
- Set high priority for text messages by @GUVWAF in #4592
- Add button secondary and enable scan-select on T190 by @thebentern in #4577
- Move Time set from system to main by @jp-bennett in #4583
- Support for Polish OLED characters by @And137 in #4572* Key regen and MQTT fix by @jp-bennett in #4585
- Add bluetooth capability marker to some ESP32S3 boards by @S5NC in #4587
- Lilygo T3S3 E-Paper support by @mverch67 in #4569
- More priorities for different types of MeshPackets by @GUVWAF in #4606
- Hello world for MeshTestic by @thebentern in #4607
- Add option to preserve private key for factory reset (config) by @thebentern in #4679
Bug fixes and Maintenace
- Remove heltec-specific gps code from main.cpp by @fifieldt in #4508
- Add heartbeat LED for HT-VME290 and HT-VME213 by @todd-herbert in #4511
- JP frequency - 20mW limit, change freqs to avoid duty cycle by @fifieldt in #4446
- Bin: remove unused imports from readprops.py by @Jorropo in #3907
- Fall back to default modem preset if requested bandwidth is too large by @GUVWAF in #4497
- Fix array out of bounds read. by @Mictronics in #4514
- Add handling for sessionkey config by @jp-bennett in #4513
- Fix #4448 (by seeing there is actually no problem) by @geeksville in #4517
- Add Fix for SHT4X detection on Wio Tracker wm1110 by @markbirss in #4520
- Fixes for ME25LS01_4Y10TD and ESP32-PICO by @markbirss in #4522
- Enable RED Power LED for WIO-E5 Mini and WIO-E5 DEV Kit by @markbirss in #4534
- Save nodedb after favoriting (or removing) by @thebentern in #4537
- Adds has_x bools to position packet. by @jp-bennett in #4540
- Initial support for RadioMaster Bandit. by @gjelsoe in #4523
- Use the '+' wildcard for MQTT rather than '#' by @ianmcorvidae in #4528
- Found more places to set explicit has_optional on position by @thebentern in #4542
- Remove deprecated serial/bt logging options (fix #4375) by @geeksville in #4516
Mask out random bits when doing queue ordering by @jp-bennett in #4561 - Consider an admin timestamp to be higher quality than from mesh by @jp-bennett in #4589
- Ignore (from)Net time on positions with an unknown or fixed location source by @thebentern in #4593
- Fix #4390 by @caveman99 in #4571
- Fix devcontainer Dockerfile build by @mrfyda in #4568
- Fix super tiny T1114 TFT font size and fork repo to fix compiler warnings by @thebentern in #4573
- Fix T1000-E default to turn on buzzer for Ext. Notification by @thebentern in #4575
- Fix display of certain Unicode symbols by @Coloradohusky in #4610
- Add BMP388 as a new pressure and temp sensor by @dhskinner in #4482
- For #4154 Only enable Vext regulator when needed for either Screen or GPS by @geeksville in #4527
- Nuke proxy variable by @S5NC in #4588
- Own node should be favorited and have zero hops away by @thebentern in #4618
- Remove unused define by @fifieldt in #4620
- several small changes for Tracker 1000E by @caveman99 in #4612
- Fix RF switch for Tracker E by @caveman99 in #4621
- Same priority packets processed in enqueue order by @gitbisector in #4608
- Minor GPS fixes by @fifieldt in #4630
- Bring 2.4G back in line with preset bandwidth by @caveman99 in #4634
- Add LR11x0 firmware version to init. by @caveman99 in #4641
- Update E-Ink GPS icon immediately when triple-pressing user button by @todd-herbert in #4637
- Add missing linefeeds to gps code by @fifieldt in #4638
- Gather canned message magic numbers into header defines. by @robertfisk in #4623
- Tryfix #4384 by @caveman99 in #4642
- RAK13800 Ethernet improvements by @zerolint in #4639
- Draft contributing.md file by @rcarteraz in #4507
- Simplify GNSS Probe code by @fifieldt in #4647
- Report PWD when no battery present. by @gitbisector in #4646
- Adds the ok_to_mqtt bit by @jp-bennett in #4643
- Remove undefined declaration by @fifieldt in #4652
- If GPS sleepTime is Zero, don't sleep. by @fifieldt in #4658
- Fix for MESHTASTIC_MINIMIZE_BUILD by @dhskinner in #4660
- Fix out-of-bound array access in T1000X Sensor by @fifieldt in #4663
- Add explicit to JSONValue constructors by @fifieldt in https...
Meshtastic Firmware 2.4.3.91d6612 Alpha (Hotfix)
Tip
This version contains a hotfix for the original 2.4.3 release regression in setting node time from the network.
Enhancements
- Update architecture.h add Minewsemi ME25LS01 LR1110 breakout ME25LE01_V1.0 and fix buzzer by @markbirss in #4472
- Radio Master Joystick by @todd-herbert in #4476
- Move NeighborInfo interval default to 6 hours (double NodeInfo) by @thebentern in #4483
Bug fixes
- Router and sensor are impolite by @thebentern in #4468
- Adds ASCII log option needed by portudino by @charlieh0tel in #4443
- Don't reject network time updates unintentionally by @jp-bennett in #4489
- Define PERIPHERAL_WARMUP_MS for heltec_capsule_sensor_v3 by @mranostay in #4473
- Fix RF switching logic on rp2040-lora board. by @Mictronics in #4486
New Contributors
- @mranostay made their first contribution in #4473
Full Changelog: v2.4.3.efc27f2...v2.4.3.91d6612
Meshtastic Firmware 2.4.3.efc27f2 Alpha (Revoked)
Important
This version was revoked due to a regression in setting node time from the network. Please install the follow-up hotfix release
Enhancements
- Adds MESHTASTIC_EXCLUDE_TZ option by @jp-bennett in #4423
- Move printBytes to meshUtils by @jp-bennett in #4424
- Split factory reset into config and device variants by @thebentern in #4427
- Detect UM600 as UC6580 by @brloomis in #4444
- STM32WL improvements by @GUVWAF in #4449
- Heltec boards sensor and low power features update by @Heltec-Aaron-Lee in #4418
Bug fixes and maintenance
- Fixes for #4395: nrf52 flash filesystem reliability by @geeksville in #4406
- NimbleBluetooth.h is not required in MeshService. by @fifieldt in #4419
- Fix for "has default channel" with empty channel name by @GUVWAF in #4430
- Fix warning: extra tokens at end of #endif directive. by @Mictronics in #4432
- Address some FIXME comments by @fifieldt in #4435
- More explicit guards for attempting to set RTC by @thebentern in #4452
- Always attempt to set NTP or GPS time on a fresh position packet by @thebentern in #4460
- Initial telemetry with time and variant tags by @thebentern in #4463
- Improves ignore messages in Router.cpp by @charlieh0tel in #4442
New Contributors
- @brloomis made their first contribution in #4444
- @charlieh0tel made their first contribution in #4442
Full Changelog: v2.4.2.5b45303...v2.4.3.efc27f2