Releases: meshtastic/firmware
Meshtastic Firmware 2.6.1.7c3edde Alpha
Caution
Updating from a previous version of firmware to 2.6, will wipe your device. Please remember to backup your keys and important configurations before proceeding!
🚀 Enhancements
Big 2.6 changes!
- Meshtastic UI
- Next-hop Routing Protocol for DMs
- Optimized LoRa Slot-Time Calculation
- InkHUD
- Meshtastic over LAN (ESP32 Wifi UDP experimental support)
- Improved Device State File Management
- Add rain data from ws85 by @tavdog in #6242
- Add some minor additional options to userPrefs.jsonc by @karchf in #6137
- Switch pio_deps to
native-tft
for flatpak by @vidplace7 in #6187 - Only request NodeInfo/Position from everyone on fresh install by @GUVWAF in #6184
- Create lora-starter-edition-sx1262-i2c.yaml and lora-ws-raspberry-pi-pico-to-rpi-adapter.yaml by @markbirss in #6162
- Create lora-raxda-rock2f-starter-edition-hat.yaml by @markbirss in #6192
- Enable external (UART) GPS support on Seeed WM1110 tracker dev board by @thebentern in #6189
- Changes for 2.6 device_install by @gjelsoe in #6206
- Consume device-ui as a pio library by @vidplace7 in #6193
- Add support for seeed_xiao_nrf52840_kit by @Dylanliacc in #6231
- Environment: add DPS310 high-accuracy barometer by @cdanis in #6237
- Update platformio.ini for 4.2 and 2.9 CrowPanel ESP32-S3 epaper and point GxEPD2 to meshtastic branch by @markbirss in #6245
- Ebyte E77 (STM32) DevKit support by @vidplace7 in #6255
- Add detection support for LTR390UV Sensor by @fifieldt in #6009
- NodeInfo request: don't bother if too far away by @cdanis in #6260
- MUI: exFat support for SD by @mverch67 in #6279
🐛 Bug fixes and maintenance
- Fix trunk debt by @vidplace7 in #6149
- Cast user pref strings. by @Mictronics in #6123
- More trunk junk / remove old workflows by @vidplace7 in #6153
- DevContainers: Include meshtasticd dependencies by @rickmark in #5699
- RAK11310: Update to last building platform package and possibly fix for #5361 by @Mictronics in #6202
- RAK11310 support for RAK12002 RTC added. by @Mictronics in #6210
- Only call GPS Probe commands once per family by @fifieldt in #6114
- Enable GPS functionality for RAK4631_eth_gw variant by @mandreko in #6229
- RAK11310 Fix build with latest Arduino framework by @Mictronics in #6227
- EBYTE E22-400Mxx SX126X_DIO3_TCXO_VOLTAGE fix by @Andrik45719 in #6232
- InkHUD refactoring by @todd-herbert in #6216
- Add initial support for CrowPanel ESP32 5.79” E-paper HMI by @markbirss in #6233
- [Task]: 2.6 device-install scripts by @ThatKalle in #6248
- I2C: 0x45 can also be an SHT35, not just an OPT3001 by @cdanis in #6249
- Flag semgrep to not run on self-hosted by @fifieldt in #6256
- PlatformIO: Bump ArduinoThread / device-ui versions by @vidplace7 in #6271
- Fix excluded_modules metadata with InkHUD by @todd-herbert in #6272
- Update device-install scripts by @ThatKalle in #6267
New Contributors
- @karchf made their first contribution in #6137
- @rickmark made their first contribution in #5699
- @mandreko made their first contribution in #6229
- @cdanis made their first contribution in #6237
- @Andrik45719 made their first contribution in #6232
Full Changelog: v2.5.23.bf958ed...v2.6.1.7c3edde
Meshtastic Firmware 2.6.0.f7afa9a Technical Preview
Meshtastic Firmware 2.5.23.bf958ed Alpha
🚀 Enhancements
- Add XIAO nRF52840 + Wio SX1262 DIY Variant by @porkcube in #5976
- Allow NeighborInfo on non-default frequency slot by @GUVWAF in #6061
- Assigning SDA/SCL so it actually works 8| by @porkcube in #6065
- Reject invalid configuration for the default MQTT server by @esev in #6066
- Add support for new NRF52 board, MeshLink by @ponzano in #5736
- Validate MQTT config by testing a connection by @esev in #6076
- Add missing traceroute fields to serialized JSON output by @noahhaon in #6087
- Trunk: Annotate PRs and Auto-Upgrade by @vidplace7 in #6091
- Dependencies: minor version updates by @fifieldt in #6045
- Add Pico2W variant including Wifi support. by @Mictronics in #6062
- Feat: added BMP-390 support to the BMP-3xx sensors by @rostekus in #6103
🐛 Bug fixes and maintenance
- Consider the MQTT TLS remote IP when checking for a private IP by @esev in #6058
- Fix MQTT over TLS crash loop by @esev in #6057
- Expose INA219 measurement as battery voltage for Seeed Xiao ESP32S3 by @syssi in #6070
- Chore: update unishox2.h by @eltociear in #6092
- Fix STM32WL TCXO setting; enable logs and modules by @GUVWAF in #6063
- Update Readme by @rcarteraz in #6088
- PIO: Cleanup dependency naming by @vidplace7 in #6090
- Move variant-specific lines back to variant by @fifieldt in #6044
- Ignore and disallow multi-hop traceroutes destined to broadcast address by @GUVWAF in #6109
- Fix PowerTelemetry initialization by @GUVWAF in #6106
- Perhaps fix TXCO reports on pro-micro by @thebentern in #6110
- meshtasticd deb: Build armv6-compatible binary by @vidplace7 in #6104
- GPS Factory Reset no longer needed. by @fifieldt in #6116
- Reduce some log levels. by @fifieldt in #6127
- Debian: Ensure deps exist for changelog bump by @vidplace7 in #6145
- Trunk: userPrefs trailing commas begone! by @vidplace7 in #6038
- Typo in Bandit button LEDs by @gjelsoe in #6053
New Contributors
- @porkcube made their first contribution in #5976
- @ponzano made their first contribution in #5736
- @noahhaon made their first contribution in #6087
- @eltociear made their first contribution in #6092
- @syssi made their first contribution in #6070
- @rostekus made their first contribution in #6103
Full Changelog: v2.5.22.d1fa27d...v2.5.23.bf958ed
Meshtastic Firmware 2.5.22.d1fa27d Alpha
⚠️ Known issues
- PowerTelemetry reporting is broken in this release. This issue will be resolved in the next release.
🚀 Enhancements
- Change nonce logging to DEBUG instead of Info by @lizTheDeveloper in #6001
- T1000-E hardware updates and GPS positioning accuracy optimization by @Dylanliacc in #6003
- Improve UTF-8 string handling in JSONValue by @ChangYanChu in #6011
- meshtasticd flatpak: Include pio deps with release by @vidplace7 in #6025
- Add support for 12- and 24-hour clock, Minor Settings Frame Adjustment by @Xaositek in #5988
- Added custom OCV array values for T1000-E to improve percentage estimates by @nwilde1590 in #6031
🐛 Bug fixes
- Update protobufs and classes by @github-actions in #6027
- meshtasticd: include
.hidden
(.git) dirs in pio-deps by @vidplace7 in #6028 - Small fix: don't junk the zip for pio-deps by @vidplace7 in #6029
- Fix T-Deck/T-Watch no BT by @mverch67 in #5998
- Corrected some misinformation by @NomDeTom in #5995
- meshtasticd: Fix web download location by @vidplace7 in #5993
New Contributors
- @lizTheDeveloper made their first contribution in #6001
- @ChangYanChu made their first contribution in #6011
- @nwilde1590 made their first contribution in #6031
Full Changelog: v2.5.21.447533a...v2.5.22.d1fa27d
Meshtastic Firmware 2.5.21.447533a Alpha
Important
Linux packages have been migrated from GitHub Releases to distro-specific build services.
For additional information see: Installing meshtasticd
⚠️ Known issues
- For NRF52 devices which have been upgraded through the 2.5.X versions, a full flash erase is recommended to fully remediate any lingering LFS assert issues.
- Bluetooth was inadvertently disabled for T-Deck and T-Watch devices, preventing pairing with client apps. This issue will be resolved in the next alpha release after 2.5.21.
- PowerTelemetry reporting is broken in this release. This issue will be resolved in the next release after 2.5.22.
🚀 Enhancements
- Rate limit position replies to three minutes by @GUVWAF in #5932
- Space out periodic broadcasts of modules automatically by @GUVWAF in #5931
- Oem logo by @caveman99 in #5939
- Portduino: Allow limiting TX Power from yaml by @vidplace7 in #5954
- Portduino: Set Web SSL Cert / Key paths from yaml by @vidplace7 in #5961
- Add bearing to other node on device screen in text by @Woutvstk in #5968
- Don't rate-limit position requests for Lost and Found role by @GUVWAF in #5981
- E80 promicro update by @NomDeTom in #5967
🐛 Bug fixes and maintenance
- Revert "No focus on new messages if auto-carousel is off" by @thebentern in #5936
- Clean up some legacy macro definitions by @caveman99 in #5983
- meshtasticd-debian: Remove existing deb builds by @vidplace7 in #5792
- Fix: TCXO_OPTIONAL featuring SenseCAP Indicator (V1/V2) by @mverch67 in #5948
- Add missing build_unflags by @krant in #5941
- Fix INA226 Sensor Voltage Readings by @fifieldt in #5972
- Fix off-by-one error with log writes by @fifieldt in #5959
- Fixes #5766 Updated MQTT privateCidrRanges to add Tailscale by @Xaositek in #5957
- Remove unused usages of #include to save Flash by @Stary2001 in #5978
- Fix negative decimal value detection in userPrefs by @thebentern in #5963
New Contributors
- @krant made their first contribution in #5941
- @Xaositek made their first contribution in #5957
- @Stary2001 made their first contribution in #5978
Full Changelog: v2.5.20.4c97351...v2.5.21.447533a
Meshtastic Firmware 2.5.20.4c97351 Beta
Important
Linux packages have been migrated from GitHub Releases to distro-specific build services.
For additional information see: Installing meshtasticd
⚠️ Known issues
- We are cautiously optimistic that many of the intrinsic file system (LittleFS) issues on NRF52 based devices and instability should be resolved in this release. A full flash erase may be required if you are experiencing LFS assert issues.
- Bluetooth was inadvertently disabled for T-Deck and T-Watch devices, preventing pairing with client apps. This issue will be resolved in the next alpha release after 2.5.21.
🚀 Enhancements
- Canned messages: allow GPIO0 with "scan and select" input by @todd-herbert in #5838
- COPR: Switch from hook to
copr_cli
by @vidplace7 in #5864 - Initiate magnetometer based compass calibration from button presses by @danwelch3 in #5553
- Slight rework of CH341 HAL by @psiegl in #5848
- Alert app messages should be treated as text by @thebentern in #5878
- COPR: Switch to forked GitHub Action by @vidplace7 in #5871
- Initial commit of a fuzzer for Meshtastic by @esev in #5790
- Build docker images with other linux release channels by @vidplace7 in #5837
- No focus on new messages if auto-carousel is off by @isseysandei in #5881
- Create BananaPi-BPI-R4-sx1262.yaml by @markbirss in #5897
- Update RAK2560 code by @caveman99 in #5844
- Docker: tag intermediate containers by @vidplace7 in #5910
- Debian: Switch OBS repo to
network:Meshtastic
by @vidplace7 in #5912 - Docker: Switch tags to newline-seperated by @vidplace7 in #5919
🐛 Bug fixes and maintenance
- Changed GPS buad rate to 9600 by @SignalMedic in #5786
- Fixed localization on bigger screens by @kyberpunk in #5695
- Small fix: Reference COPR group correctly (with
@
) by @vidplace7 in #5872 - Fix detection of lark weather station and add rain sensor by @caveman99 in #5874
- Reboot before formatting LittleFS by @esev in #5900
- Fix possible memory leak for
ROUTER_LATE
by @GUVWAF in #5901 - Move OpenWRT configs to subdir by @vidplace7 in #5902
- Add quotes around ${platformio.build_dir} to avoid invalid paths by @esev in #5906
- NRF52 - Remove file totally before opening write by @thebentern in #5916
- Peg NRF52 arduino to meshtastic fork with LFS bluetooth fix by @thebentern in #5924
- TFT Cherrypick: WiFi.persistent(false) by @fifieldt in #5925
New Contributors
- @danwelch3 made their first contribution in #5553
- @SignalMedic made their first contribution in #5786
Full Changelog: v2.5.19.f9876cf...v2.5.20.4c97351
Meshtastic Firmware 2.5.19.f9876cf Alpha (Revoked)
⚠️ Known issues
- This is a re-release of 2.5.19, which had previously been revoked due to some file growth issues discovered on NRF52. There is a known issue with Bluetooth disconnect / connection cycles sporadically creating issues on the file system as well, tracked in the #5839 discussion
- The new
ROUTER_LATER
role has some bugs and we recommend avoiding usage in this release.
🚀 Enhancements
- Support indicator sensors through Rp2040 serial by @caveman99 in #5696
- Heltec Wireless Stick Lite V1/V2 support by @DarkZeros in #5808
- Add support for LS20031 GPS module. by @alexmarkley in #5718
- Bump radiolib to 7.1.2 and remove obsolete default_envs by @caveman99 in #5771
- Upgrade to LovyanGFX 1.2 by @fifieldt in #5677
- Add MESHTASTIC_EXCLUDE_SOCKETAPI by @fifieldt in #5729
- Cherrypick "add more locking for shared SPI devices (#5595) " by @fifieldt in #5728
- Increased MQTT buffer size to 1024 by @isseysandei in #5733
- Improved readability of Power Telemetry page by @isseysandei in #5746
- Improved Power Telemetry page readability even more by @isseysandei in #5770
- Increase esp32c3 stability over wifi by @macvenez in #5774
- Add unit tests for MQTT by @esev in #5724
- MQTT unit test can inject WiFiClient by @esev in #5716
- Run tests as part of the main CI by @esev in #5712
- Actually use the MAC address from a ch341 by @jp-bennett in #5704
- Add Ethernet RAK13800 support to RAK11310 by @beegee-tokyo in #5707
- Move DecodedServiceEnvelope into its own file by @esev in #5715
- Run the AddressSanitizer during tests by @esev in #5815
- Support for Polish fonts on E-Ink devices, Polish fonts retouch, fixed Czech/Slovak OLED/E-Ink double space bug by @And137 in #5821
- Add GPS capability to RAK2560 (RAKwireless WisMesh Hub) by @beegee-tokyo in #5797
- Added illuminance sensors to the node's environmental sensor page by @isseysandei in #5832
🐛 Bug fixes and maintenance
- Initialize array to 0s by @jp-bennett in #5688
- Another Valgrind fix by @jp-bennett in #5690
- Minor cppcheck fixes by @fifieldt in #5689
- Cherry pick: reference seeed indicator fix commit arduino-esp32 by @fifieldt in #5692
- Cherry Pick: add spi_host + missing rotation by @fifieldt in #5691
- Remove an \n by @fifieldt in #5703
- Cherry-pick: disable BT when TFT in use by @fifieldt in #5705
- Fix misc cppcheck things and compile time warnings by @caveman99 in #5710
- Minor TFT branch synch by @fifieldt in #5706
- Set ch341 MAD Address via sprintf formatting by @jp-bennett in #5713
- Implement MeshModule destructor by @esev in #5714
- Disable coverage generation by @esev in #5719
- Test_native.yaml checks out code for the PR. by @esev in #5720
- Use relative paths in coverage info files by @esev in #5721
- Evaluate GPS_THREAD_INTERVAL after variant file by @caveman99 in #5722
- Disable BUILD_EPOCH for unit tests by @esev in #5723
- Meshtasticd debian source package by @vidplace7 in #5741
- Move the RFM9x to config.available by @jp-bennett in #5742
- meshtasticd debian: split libs for PPA by @vidplace7 in #5745
- meshtasticd: deps for debian_build_src by @vidplace7 in #5748
- meshtasticd: gpg tomfoolery by @vidplace7 in #5750
- meshtasticd debian: secrets perms by @vidplace7 in #5751
- meshtasticd: debian checkout to subdir by @vidplace7 in #5752
- meshtastic-debian: publish with dput by @vidplace7 in #5753
- meshtasticd-debian: Build multiple series by @vidplace7 in #5756
- meshtastic-debian:
--create requires
missing changelog by @vidplace7 in #5757 - meshtasticd-debian: Cleanup debian versioning by @vidplace7 in #5758
- meshtasticd:debian Use jbennett for gpg email by @vidplace7 in #5759
- meshtasticd-debian: set PLATFORMIO_CORE_DIR by @vidplace7 in #5760
- meshtasticd-debian: Include core_dir in sdeb by @vidplace7 in #5761
- meshtasticd-debian: Include run in version by @vidplace7 in #5762
- Meshtasticd-debian: parameterize target PPA by @vidplace7 in #5776
- GitHub Actions: Trigger PPA release builds upon publish by @vidplace7 in #5777
- meshtasticd-debian: Include web components by @vidplace7 in #5778
- Small fix: debian, curl follow redirs by @vidplace7 in #5780
- Fix build for Pico2 RP2350 platform. by @Mictronics in #5783
- meshtasticd-debian: Fix Beta promotions, deb versioning compliance, add OBS by @vidplace7 in #5785
- GH Actions: Update
Release
action, clarify versioning by @vidplace7 in #5794 - Fix potential memory leak in AtakPluginModule by @esev in #5803
- Don't check for node channels on broadcast address by @thebentern in #5804
- meshtasticd-debian: Auto-Publish to OBS, add source debs to Release by @vidplace7 in #5791
- GitHub Actions: Fix
meshtastic
display issue in logs by @vidplace7 in #5811 - Remove ethernet code from this variant, remove unused radio chip code by @caveman99 in #5810
- Quote filename in device-install.sh by @fifieldt in #5814
- Cherry-pick: Meshtab streamline and rotation fixes by @fifieldt in #5812
- Manage when destructor is called for native webAPI by @esev in #5807
- Enable Tx interrupt immediately after
startTransmit()
by @GUVWAF in #5820 - Save some flash usage on STM32WL by @GUVWAF in #5819
- Cache Python & PlatformIO dependencies by @esev in #5822
- Add lsb-release on the github runner by @esev in #5825
- Avoid a potential NULL pointer reference in nrf52/BluetoothPhoneAPI by @esev in #5830
- Bugfix for low-priority packet replacement when TX queue is full by @erayd in #5827
- Multi gpiochip support for native environment by @psiegl in #5743
- meshtasticd Fedora RPM packaging with rpkg by @vidplace7 in #5735
- GitHub Actions: Fix daily packaging perms by @vidplace7 in #5836
- NRF52 SafeFile should not remove / rename files by @thebentern in #5840
- Fix devicestate protobuf / filesize allocation by @thebentern in #5835
- Small Fix: Release_Channels permissions by @vidplace7 in #5852
- Fix NRF52 default append write mode of files by @thebentern in #5858
- Partial workaround for BLE-related corruption on shutdown / reboot by @todd-herbert in #5859
New Contributors
- @isseysandei made their first contribution in #5733
- @alexmarkley made their first contribution in #5718
- @DarkZeros made their first contribution in #5808
- @psiegl made their first contribution in #5743
**Full Changelo...
Meshtastic Firmware 2.5.19.d5cd6f8 Alpha (Revoked)
⚠️ Known issues
- Revoked due to some file growth issues discovered on NRF52.
Meshtastic Firmware 2.5.18.89ebafc Beta
⚠️ Known issues
- The new
ROUTER_LATE
role has some known issues with delaying rebroadcasts beyond the desired window. It is recommended to avoid this role on this release version. - For NRF52 devices, there are additional fixes for filesystem corruption available in 2.5.20 onwards. If you have an NRF52-based device we recommend you select a later release.
🚀 Enhancements
- Synchronize test workflow packages with native by @esev in #5664
- More accurately determine if MQTT uses the default server by @esev in #5663
- Generate a coverage report for End to end tests by @esev in #5667
- Include log messages in unit tests by @esev in #5666
- Add czech oled localization by @kyberpunk in #5661
- Meshtasticd-docker: simplify, add USB compose by @vidplace7 in #5662
- Alpine Docker image (musl CI target) by @vidplace7 in #5659
- Cherry-pick: device-ui persistency by @fifieldt in #5570
- Add packet length to printPacket() by @jp-bennett in #5672
- Enable the autoconf settings for MPR121 based keyboards by @aussieklutz in #5680
🐛 Bug fixes & maintenance
- Unset received SNR/RSSI values upon receiving packet via MQTT by @GUVWAF in #5668
- Fix for nrf52 lfs assert boot loop by @tavdog in #5670
- Remove remaining \n from log lines. by @fifieldt in #5675
- TFT branch - minor cherry picks by @fifieldt in #5676
- Cherry-pick: Mesh-tab by @fifieldt in #5674
- Fix RP2040 crash issue #5665. by @Mictronics in #5678
- Exclude health telemetry by macro by @thebentern in #5679
- Add new ROUTER_LATE role by @erayd in #5528
- More meshtab cherry-pick by @fifieldt in #5681
- TFT branch synch grab-bag by @fifieldt in #5683
- Minor TFT branch cherry-picks by @fifieldt in #5682
New Contributors
- @kyberpunk made their first contribution in #5661
- @erayd made their first contribution in #5528
Full Changelog: v2.5.17.b4b2fd6...v2.5.18.89ebafc
Meshtastic Firmware 2.5.17.b4b2fd6 Alpha
🚀 Enhancements
- Update OpenWRT_One_mikroBUS_sx1262.yaml by @markbirss in #5544
- Add portduino-buildroot variant by @vidplace7 in #5540
- Portduino-buildroot: Define C++ standard by @vidplace7 in #5547
- DIO3_TCXO_VOLTAGE in config.yaml can now take an exact voltage by @jp-bennett in #5558
- Support TLORA_V3.0 by @caveman99 in #5563
- Create OpenWRT-One-mikroBUS-LR-IOT-CLICK.yaml by @markbirss in #5564
- Add new endpoint to retrieve node info by @andrepcg in #5557
- Add screen detection function by @Heltec-Aaron-Lee in #5533
- Based default Node Names on NodeNum, rather than MAC address by @fifieldt in #5576
- Define BUTTON_PIN as -1 for RP2040-lora by @fifieldt in #5574
- StoreForward: (tapback) reply support by @GUVWAF in #5585
- Added support for the LR1121 radio to the NRF52 Pro-Micro by @Nestpebble in #5515
- Added product url by @WatskeBart in #5594
- [T-Deck] Fixed the issue that some devices may experience low voltage… by @lewisxhe in #5607
- Remove unnecessary memcpy for PKI crypto by @esev in #5608
- Use IPAddress.fromString in MQTT.cpp for parsing private IPs by @esev in #5621
- Use encoded ServiceEnvelope in mqttQueue by @esev in #5619
- Ch341 by @jp-bennett in #5474
- Add detection code for INA226 by @fifieldt in #5605
- Check if MQTT remote IP is private by @esev in #5627
🐛 Bug fixes and maintenance
- Portduino-buildroot: Remove
pkg-config
optional libs by @vidplace7 in #5573 - Portduino: Move meshtasticd/web out of /usr/share/doc/ by @vidplace7 in #5548
- Portduino: fix transitional symlinks for /usr/share/doc/ by @vidplace7 in #5550
- Cherry-pick: Windows Support - Trunk and Platformio (#5397) by @fifieldt in #5518
- Synch minor changes from TFT branch by @fifieldt in #5520
- Refactor MQTT::onReceive to reduce if/else nesting by @esev in #5592
- Let RangeTest Module (RX) use Phone position if there's no GPS by @fifieldt in #5623
- Separate host:port before checking for private IP by @esev in #5630
- Clean up some straggler NRF52 json by @thebentern in #5628
- Fix omission of AQ metrics by @thebentern in #5584
- tlora_v2_1_16: Unset BUTTON_PIN and BUTTON_NEED_PULLUP by @ndoo in #5535
- Fix detection for some RadSens hardware versions by @jake-b in #5542
- Initialize dmac array to nulls by @jp-bennett in #5538
- Portduino: fix setting
hwId
via argument by @GUVWAF in #5565 - Add nugget and nibble boards for 38c3 by @caveman99 in #5609
- Fix: Add libusb to dockerfile for ch341 by @thebentern in #5641
- Portduino: specify C++ standard and link pthread by @GUVWAF in #5642
- Separate host:port before checking for private IP (x2) by @esev in #5643
- Update Femtofox configs by @noon92 in #5646
- Detect charging status by measuring current flow with configured INA219 battery sensor by @nebman in #5271
- Add NXP_SE050 detection by @jp-bennett in #5651
- Check if MQTT remote IP is private by @esev in #5647
- LIS3DH (WisMesh Pocket) - Honor Wake On Tap Or Motion by @fifieldt in #5625
New Contributors
- @andrepcg made their first contribution in #5557
- @WatskeBart made their first contribution in #5594
- @esev made their first contribution in #5592
- @nebman made their first contribution in #5271
Full Changelog: v2.5.16.f81d3b0...v2.5.17.b4b2fd6