{
  "releases": {
    "stable": [
      {
        "id": "v2.7.26.54e0d8d",
        "title": "Meshtastic Firmware 2.7.26.54e0d8d Beta",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.26.54e0d8d",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.26.54e0d8d/firmware-2.7.26.54e0d8d.json",
        "release_notes": "> [!WARNING]\r\n> If you encounter touch screen accuracy issues on a T-Deck, please run the screen calibration in MUI tools.\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- Lora led rx by @jp-bennett in https://github.com/meshtastic/firmware/pull/10674\r\n- Additional *RAK* missing values for 6421 / 13300 13302 modules + Zebra/Nebra Hat Configs by @Littleaton in https://github.com/meshtastic/firmware/pull/10644\r\n- Use standard GPS enable pin, for smarter power control on M3 by @jp-bennett in https://github.com/meshtastic/firmware/pull/10671\r\n- Meshtasticd: Add configs for B&Q Station G3 by @vidplace7 in https://github.com/meshtastic/firmware/pull/10673\r\n- Beta fixes by @jp-bennett in https://github.com/meshtastic/firmware/pull/10728\r\n- Set the time from GPS every 30 minutes by @jp-bennett in https://github.com/meshtastic/firmware/pull/10737\r\n- Fix(esp32): skip RTC timer wake on user shutdown; TAP V2 OCV and partition by @Ethan-chen1234-zy in https://github.com/meshtastic/firmware/pull/10739\r\n- T-Deck (Plus) touch driver fix by @mverch67 in https://github.com/meshtastic/firmware/pull/10740\r\n- Enable Adafruit SHTC3 library on native by @jp-bennett in https://github.com/meshtastic/firmware/pull/10747\r\n- Fix(phone-api): skip manifest scan for node-info-only config requests by @jeremiah-k in https://github.com/meshtastic/firmware/pull/10754\r\n- Fix(FSCommon): add nRF52 LittleFS empty-name guard to getFiles() by @app/copilot-swe-agent in https://github.com/meshtastic/firmware/pull/10757\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update Sensirion I2C SCD30 to v1.1.1 by @app/renovate in https://github.com/meshtastic/firmware/pull/10294\r\n- Update alpine Docker tag to v3.24 by @app/renovate in https://github.com/meshtastic/firmware/pull/10668\r\n- Update actions/github-script action to v9 by @app/renovate in https://github.com/meshtastic/firmware/pull/10691\r\n- Update meshtastic/device-ui digest to 4ec010c by @app/renovate in https://github.com/meshtastic/firmware/pull/10732\r\n- Update meshtastic/device-ui digest to 6cadf54 by @app/renovate in https://github.com/meshtastic/firmware/pull/10743\r\n- Update actions/checkout action to v7 by @app/renovate in https://github.com/meshtastic/firmware/pull/10744\r\n- Update meshtastic/device-ui digest to 1c45ebc by @app/renovate in https://github.com/meshtastic/firmware/pull/10749\r\n- Update platform-native digest to 61067ac by @app/renovate in https://github.com/meshtastic/firmware/pull/10750\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.25.104df5f...v2.7.26.54e0d8d"
      },
      {
        "id": "v2.7.15.567b8ea",
        "title": "Meshtastic Firmware 2.7.15.567b8ea Beta",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.15.567b8ea",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.15.567b8ea/firmware-esp32-2.7.15.567b8ea.zip",
        "release_notes": "> [!WARNING]\r\n> 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.\r\n\r\n> [!IMPORTANT]\r\n> This release marks the end of legacy (non-private) DMs. Direct messages will only be allowed using PKI going forward.\r\n> 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. \r\n\r\n## 🚀  What's Changed\r\n* Clean up GPS toggle logging by @jp-bennett in https://github.com/meshtastic/firmware/pull/8629\r\n* Reset the calibration data back to 0 when doing a compass calibration by @jp-bennett in https://github.com/meshtastic/firmware/pull/8648\r\n* Chore(deps): update dorny/test-reporter action to v2.2.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8637\r\n* Fix RPM builds by @vidplace7 in https://github.com/meshtastic/firmware/pull/8659\r\n* Linux: Fix silly EPEL9 mistake by @vidplace7 in https://github.com/meshtastic/firmware/pull/8660\r\n* Fix ble rssi crash by @thebentern in https://github.com/meshtastic/firmware/pull/8661\r\n* Mqtt: do not try to send packets when it disconnected by @omgbebebe in https://github.com/meshtastic/firmware/pull/8658\r\n* Persist favourites on NodeDB reset by @ford-jones in https://github.com/meshtastic/firmware/pull/8292\r\n* Don't ack messages when mqtt client proxy is on but only uplink by @RCGV1 in https://github.com/meshtastic/firmware/pull/8578\r\n* Add API types, state, and log message in Debug screen. Added persistent \"Connected\" icon by @jp-bennett in https://github.com/meshtastic/firmware/pull/8576\r\n* Drop PKI acks if there is no downlink on MQTTClientProxy by @RCGV1 in https://github.com/meshtastic/firmware/pull/8580\r\n* Add the Heltec v4 expansion box. by @Quency-D in https://github.com/meshtastic/firmware/pull/8539\r\n* Update to Pro-micro variants by @NomDeTom in https://github.com/meshtastic/firmware/pull/8600\r\n* Cleanup unnecessary global dereferencing in CryptoEngine by @jasonbcox in https://github.com/meshtastic/firmware/pull/8611\r\n* Fix null pointer dereference in radio chip region check by @Andrik45719 in https://github.com/meshtastic/firmware/pull/8613\r\n* Feat/6704 neighbor info on demand by @DaneEvans in https://github.com/meshtastic/firmware/pull/8523\r\n* Remove fixed scaling in Digital Clock by @Xaositek in https://github.com/meshtastic/firmware/pull/8620\r\n* Allow Preserving Favorites in BaseUI menus by @Xaositek in https://github.com/meshtastic/firmware/pull/8647\r\n* native: Try to look for a config file based on Raspberry Pi HAT vendor by @Stary2001 in https://github.com/meshtastic/firmware/pull/8608\r\n* Remove gating for Display Options by @Xaositek in https://github.com/meshtastic/firmware/pull/8651\r\n* mqtt: do not try to send packets when it disconnected by @omgbebebe in https://github.com/meshtastic/firmware/pull/8658\r\n\r\n## New Contributors\r\n* @weebl2000 made their first contribution in https://github.com/meshtastic/firmware/pull/8560\r\n* @omgbebebe made their first contribution in https://github.com/meshtastic/firmware/pull/8658\r\n* @viric made their first contribution in https://github.com/meshtastic/firmware/pull/7882\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.13.597fa0b...v2.7.15.567b8ea"
      }
    ],
    "alpha": [
      {
        "id": "v2.7.25.104df5f",
        "title": "Meshtastic Firmware 2.7.25.104df5f Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.25.104df5f",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.25.104df5f/firmware-2.7.25.104df5f.json",
        "release_notes": "## 🚀 Enhancements\r\n\r\n- Noise floor by @RCGV1 in https://github.com/meshtastic/firmware/pull/9347\r\n- Compass improvements/refactoring by @HarukiToreda in https://github.com/meshtastic/firmware/pull/10166\r\n- Update Thinknode m7 pins by @jp-bennett in https://github.com/meshtastic/firmware/pull/10635\r\n- Enhance RTC handling with unit test support for system time fallback by @thebentern in https://github.com/meshtastic/firmware/pull/10642\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- Add Heltec mesh node t1 by @Quency-D in https://github.com/meshtastic/firmware/pull/10416\r\n- Fix SHT2x detection for INA219 addresses by @balya in https://github.com/meshtastic/firmware/pull/10482\r\n- Missing module config in rak6421 / 13300 + 13302 module config files. by @Littleaton in https://github.com/meshtastic/firmware/pull/10496\r\n- Add Lilygo T-Impulse-Plus by @vidplace7 in https://github.com/meshtastic/firmware/pull/10497\r\n- Preserve forwarded position payload precision by @h3lix1 in https://github.com/meshtastic/firmware/pull/10554\r\n- Fix mini-epaper-s3 build: resolve SensorLib `isBitSet` macro conflict with SparkFun MMC5983MA by @app/copilot-swe-agent in https://github.com/meshtastic/firmware/pull/10584\r\n- Debian: Correctly build without signing (for forks) by @vidplace7 in https://github.com/meshtastic/firmware/pull/10605\r\n- Add Module configuration for RAK6421 Slot 2 yamls by @pdxlocations in https://github.com/meshtastic/firmware/pull/10632\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update platformio/ststm32 to v19.6.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/10329\r\n- Update libpax digest to 1730234 by @app/renovate in https://github.com/meshtastic/firmware/pull/10507\r\n- Update ESP32-CH390 to v1.1.0 by @vidplace7 in https://github.com/meshtastic/firmware/pull/10528\r\n- Update actions/stale action to v10.3.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/10532\r\n- Update meshtastic/device-ui digest to 34e96d2 by @app/renovate in https://github.com/meshtastic/firmware/pull/10537\r\n- Update meshtastic-esp8266-oled-ssd1306 digest to 2e26010 by @app/renovate in https://github.com/meshtastic/firmware/pull/10562\r\n- Update Adafruit SSD1306 to v2.5.17 by @app/renovate in https://github.com/meshtastic/firmware/pull/10581\r\n- Update SparkFun MMC5983MA Magnetometer to v1.1.5 by @app/renovate in https://github.com/meshtastic/firmware/pull/10599\r\n- Update meshtastic/device-ui digest to 502ba30 by @app/renovate in https://github.com/meshtastic/firmware/pull/10629\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.24.472b14c...v2.7.25.104df5f"
      },
      {
        "id": "v2.7.24.472b14c",
        "title": "Meshtastic Firmware 2.7.24.472b14c Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.24.472b14c",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.24.472b14c/firmware-2.7.24.472b14c.json",
        "release_notes": "## 🚀 Enhancements\r\n\r\n- ThinkNode M7 by @caveman99 in https://github.com/meshtastic/firmware/pull/8077\r\n- Implement rotating JSONL recorder for persistent logging by @thebentern in https://github.com/meshtastic/firmware/pull/10428\r\n- Make power status logging less chatty and track battery presence transitions by @thebentern in https://github.com/meshtastic/firmware/pull/10453\r\n- Add variantDefaultConfig and set eth_enabled to default true by @jp-bennett in https://github.com/meshtastic/firmware/pull/10454\r\n- VSCode: Prepare for pioarduino transition by @vidplace7 in https://github.com/meshtastic/firmware/pull/10471\r\n- Refactor virtual keyboard cell height for layout consistency by @Bjk8kds in https://github.com/meshtastic/firmware/pull/10501\r\n- Refactor position precision handling to honor explicit channel settings and prevent location leaks by @thebentern in https://github.com/meshtastic/firmware/pull/10513\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- T-Echo-Card support by @caveman99 in https://github.com/meshtastic/firmware/pull/10267\r\n- Clamp direct position packets to channel precision (fixes #8640) by @Jord-JD in https://github.com/meshtastic/firmware/pull/10383\r\n- Give ThinkNode-m4 a heartbeat by @jp-bennett in https://github.com/meshtastic/firmware/pull/10408\r\n- Make heartbeat LED play nice with other LEDs by @jp-bennett in https://github.com/meshtastic/firmware/pull/10423\r\n- Fix screen geometry update for SH1107 display by @Bjk8kds in https://github.com/meshtastic/firmware/pull/10444\r\n- Add initial support for Station G3 variant by @thebentern in https://github.com/meshtastic/firmware/pull/10457\r\n- Fix WiFi TCP/HTTP services not starting without USB serial connected by @tanrax in https://github.com/meshtastic/firmware/pull/10460\r\n- Enabled SX_LNA_EN by default by @RikerZhu in https://github.com/meshtastic/firmware/pull/10469\r\n- Add more support for small fonts in screen resolution determination by @thebentern in https://github.com/meshtastic/firmware/pull/10480\r\n- Update Clock Scaling for Display_Force_Small_Fonts by @Xaositek in https://github.com/meshtastic/firmware/pull/10516\r\n- First set pinMode, then write to pin by @kpmy in https://github.com/meshtastic/firmware/pull/10520\r\n- Actions: Fix tagging upon release. by @vidplace7 in https://github.com/meshtastic/firmware/pull/10521\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update NeoPixel to v1.15.5 by @app/renovate in https://github.com/meshtastic/firmware/pull/10466\r\n- Update libch341-spi-userspace digest to 2e5ff75 by @app/renovate in https://github.com/meshtastic/firmware/pull/10485\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.23.b246bcd...v2.7.24.472b14c"
      },
      {
        "id": "v2.7.23.b246bcd",
        "title": "Meshtastic Firmware 2.7.23.b246bcd Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.23.b246bcd",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.23.b246bcd/firmware-2.7.23.b246bcd.json",
        "release_notes": "## 🚀 Enhancements\r\n\r\n- Reduce key duplication by enabling hardware RNG by @Komzpa in https://github.com/meshtastic/firmware/pull/8803\r\n- Test PR to remove LED_BUILTIN by @jp-bennett in https://github.com/meshtastic/firmware/pull/10179\r\n- No longer need undefines, thanks to #10179 by @jp-bennett in https://github.com/meshtastic/firmware/pull/10180\r\n- Add MCP server for interacting with meshtastic devices and testing framework / TUI by @thebentern in https://github.com/meshtastic/firmware/pull/10194\r\n- Add authoring guide for native unit tests in README.md by @NomDeTom in https://github.com/meshtastic/firmware/pull/10201\r\n- Add USB camera and uhubctl support for new test suite. Also included some bug fixes by @thebentern in https://github.com/meshtastic/firmware/pull/10204\r\n- Add encryption overview to agent instructions in AGENTS.md by @thebentern in https://github.com/meshtastic/firmware/pull/10207\r\n- Improve options to align to names of UI options by @Xaositek in https://github.com/meshtastic/firmware/pull/10240\r\n- Finish evil merge cleanup by @jp-bennett in https://github.com/meshtastic/firmware/pull/10253\r\n- We have HardwareRNG, let's use it! by @jp-bennett in https://github.com/meshtastic/firmware/pull/10274\r\n- Add search duration check for exceeding 15 minutes by @jp-bennett in https://github.com/meshtastic/firmware/pull/10293\r\n- Native MacOS hello world by @thebentern in https://github.com/meshtastic/firmware/pull/10309\r\n- MacOS: enable CH341 LoRa-hardware path (fix serial truncation, document setup) by @thebentern in https://github.com/meshtastic/firmware/pull/10320\r\n- Add clamping logic for milliseconds conversion and unit tests by @thebentern in https://github.com/meshtastic/firmware/pull/10326\r\n- Add TCP support for Meshtastic MCP interface / tests and update docs by @thebentern in https://github.com/meshtastic/firmware/pull/10355\r\n- Docker: Install grpcio-tools from distro by @vidplace7 in https://github.com/meshtastic/firmware/pull/10358\r\n- MacOS: Correct pkg-config name `openssl` for ulfius. by @vidplace7 in https://github.com/meshtastic/firmware/pull/10369\r\n- Smart pointers and memory management cleanup by @thebentern in https://github.com/meshtastic/firmware/pull/10400\r\n- Enhance GPS search failure handling backoff logic by @thebentern in https://github.com/meshtastic/firmware/pull/10404\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- Fix(native): implement BinarySemaphorePosix with proper pthread synchronization by @iannucci in https://github.com/meshtastic/firmware/pull/9895\r\n- Meshtasticd: Add configs for ebyte-ecb41-pge (mPWRD-OS) by @vidplace7 in https://github.com/meshtastic/firmware/pull/10086\r\n- Meshtasticd: Add configs for forlinx-ok3506-s12 (mPWRD-OS) by @vidplace7 in https://github.com/meshtastic/firmware/pull/10087\r\n- Fix Linux Input enable logic by @jp-bennett in https://github.com/meshtastic/firmware/pull/10093\r\n- PPA: Use SFTP method for uploads by @vidplace7 in https://github.com/meshtastic/firmware/pull/10138\r\n- Switch PlatformIO deps from PIO Registry to tagged GitHub zips by @vidplace7 in https://github.com/meshtastic/firmware/pull/10142\r\n- Fix display method to use const qualifier for previousBuffer pointer by @vidplace7 in https://github.com/meshtastic/firmware/pull/10146\r\n- Fix last cppcheck issue by @caveman99 in https://github.com/meshtastic/firmware/pull/10154\r\n- Fix heap blowout on TBeams by @thebentern in https://github.com/meshtastic/firmware/pull/10155\r\n- Add PortduinoSetOptions to overwrite the realhardware bool by @jp-bennett in https://github.com/meshtastic/firmware/pull/10157\r\n- Support for Spreading Factors 5 and 6 on compatible radios by @derpyspike in https://github.com/meshtastic/firmware/pull/10160\r\n- Add meshtasticd config for Luckfox Pico Max Waveshare Pico LoRa HAT by @Ruledo in https://github.com/meshtastic/firmware/pull/10175\r\n- Prompt markdownlint md040 fix for new prompts. by @h3lix1 in https://github.com/meshtastic/firmware/pull/10199\r\n- Feat(t5s3-epaper): add InkHUD port for LilyGo T5 E-Paper S3 Pro by @giannoug in https://github.com/meshtastic/firmware/pull/10211\r\n- SX126x: re-apply 0x8B5 register in resetAGC() to preserve RX sensitivity by @nightjoker7 in https://github.com/meshtastic/firmware/pull/10219\r\n- Detach power interrupts for sleep by @jp-bennett in https://github.com/meshtastic/firmware/pull/10230\r\n- T watch pinfix by @jp-bennett in https://github.com/meshtastic/firmware/pull/10231\r\n- Add heltec-v4-r8 board by @Quency-D in https://github.com/meshtastic/firmware/pull/10268\r\n- Remove incorrect LED_STATE_ON definition for t-beam-s3 by @jp-bennett in https://github.com/meshtastic/firmware/pull/10280\r\n- Fix(Router): localize p_encrypted to prevent recursive-overwrite leak by @nightjoker7 in https://github.com/meshtastic/firmware/pull/10311\r\n- Actions: Build MacOS binary by @vidplace7 in https://github.com/meshtastic/firmware/pull/10319\r\n- Debian: Correctly fail upon failure by @vidplace7 in https://github.com/meshtastic/firmware/pull/10341\r\n- Do not FACTORY_INSTALL on ARCH_PORTDUINO by @vidplace7 in https://github.com/meshtastic/firmware/pull/10343\r\n- Docker: Build for riscv64 by @vidplace7 in https://github.com/meshtastic/firmware/pull/10345\r\n- Docker-Alpine: Align version between build/main stages by @vidplace7 in https://github.com/meshtastic/firmware/pull/10347\r\n- Fix MAC_from_string to use input parameter instead of global config for MAC address parsing by @thebentern in https://github.com/meshtastic/firmware/pull/10356\r\n- Add ulfius webserver support to macos native target by @thebentern in https://github.com/meshtastic/firmware/pull/10366\r\n- Update PhoneAPI.cpp to reduce chattiness by @Xaositek in https://github.com/meshtastic/firmware/pull/10367\r\n- Use OBS instead of flaky launchpad by @thebentern in https://github.com/meshtastic/firmware/pull/10375\r\n- Add informSearchFailed method to update GPS power state handling by @thebentern in https://github.com/meshtastic/firmware/pull/10394\r\n- Fix GPS initialization logic for Portduino configuration by @jessm33 in https://github.com/meshtastic/firmware/pull/10395\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update meshtastic-esp32_https_server digest to 0c71f38 by @app/renovate in https://github.com/meshtastic/firmware/pull/10081\r\n- Update meshtastic-st7789 digest to 222554e by @app/renovate in https://github.com/meshtastic/firmware/pull/10121\r\n- Update actions/github-script action to v9 by @app/renovate in https://github.com/meshtastic/firmware/pull/10122\r\n- Update meshtastic-st7789 digest to 7228c49 by @app/renovate in https://github.com/meshtastic/firmware/pull/10131\r\n- Update pnpm/action-setup action to v6 by @app/renovate in https://github.com/meshtastic/firmware/pull/10132\r\n- Update meshtastic-st7789 digest to 4d957e7 by @app/renovate in https://github.com/meshtastic/firmware/pull/10134\r\n- Update meshtastic-st7789 digest to a787bee by @app/renovate in https://github.com/meshtastic/firmware/pull/10147\r\n- Update softprops/action-gh-release action to v3 by @app/renovate in https://github.com/meshtastic/firmware/pull/10150\r\n- Update platform-native digest to 71ed55b by @app/renovate in https://github.com/meshtastic/firmware/pull/10165\r\n- Update meshtastic-st7789 digest to 92bae2e by @app/renovate in https://github.com/meshtastic/firmware/pull/10182\r\n- Update meshtastic/device-ui digest to 5305670 by @app/renovate in https://github.com/meshtastic/firmware/pull/10183\r\n- Update meshtastic/device-ui digest to 56e1da4 by @app/renovate in https://github.com/meshtastic/firmware/pull/10195\r\n- Update GxEPD2 to v1.6.9 by @app/renovate in https://github.com/meshtastic/firmware/pull/10212\r\n- Update LovyanGFX to v1.2.20 by @app/renovate in https://github.com/meshtastic/firmware/pull/10232\r\n- Update meshtastic-esp8266-oled-ssd1306 digest to 6bfd1f1 by @app/renovate in https://github.com/meshtastic/firmware/pull/10277\r\n- Update platform-native digest to 135b91e by @app/renovate in https://github.com/meshtastic/firmware/pull/10300\r\n- Update meshtastic/device-ui digest to 7289329 by @app/renovate in https://github.com/meshtastic/firmware/pull/10313\r\n- Update platform-native digest to 4ea5e09 by @app/renovate in https://github.com/meshtastic/firmware/pull/10314\r\n- Update meshtastic/device-ui digest to 1ddcc9d by @app/renovate in https://github.com/meshtastic/firmware/pull/10328\r\n- Update meshtastic/device-ui digest to 4bf593a by @app/renovate in https://github.com/meshtastic/firmware/pull/10346\r\n- Update platform-native digest to cab4b21 by @app/renovate in https://github.com/meshtastic/firmware/pull/10372\r\n- Update LovyanGFX to v1.2.21 by @app/renovate in https://github.com/meshtastic/firmware/pull/10373\r\n- Update libpax digest to df42474 by @app/renovate in https://github.com/meshtastic/firmware/pull/10406\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.21.1370b23...v2.7.23.b246bcd"
      },
      {
        "id": "v2.7.22.96dd647",
        "title": "Meshtastic Firmware 2.7.22.96dd647 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.22.96dd647",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.22.96dd647/firmware-2.7.22.96dd647.json",
        "release_notes": "## 🐛 Bug fixes and maintenance\r\n\r\n- Fix(native): implement BinarySemaphorePosix with proper pthread synchronization by @iannucci in https://github.com/meshtastic/firmware/pull/9895\r\n- Meshtasticd: Add configs for ebyte-ecb41-pge (mPWRD-OS) by @vidplace7 in https://github.com/meshtastic/firmware/pull/10086\r\n- Meshtasticd: Add configs for forlinx-ok3506-s12 (mPWRD-OS) by @vidplace7 in https://github.com/meshtastic/firmware/pull/10087\r\n- Fix Linux Input enable logic by @jp-bennett in https://github.com/meshtastic/firmware/pull/10093\r\n- PPA: Use SFTP method for uploads by @vidplace7 in https://github.com/meshtastic/firmware/pull/10138\r\n- Switch PlatformIO deps from PIO Registry to tagged GitHub zips by @vidplace7 in https://github.com/meshtastic/firmware/pull/10142\r\n- Fix display method to use const qualifier for previousBuffer pointer by @vidplace7 in https://github.com/meshtastic/firmware/pull/10146\r\n- Fix last cppcheck issue by @caveman99 in https://github.com/meshtastic/firmware/pull/10154\r\n- Fix heap blowout on TBeams by @thebentern in https://github.com/meshtastic/firmware/pull/10155\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update meshtastic-esp32_https_server digest to 0c71f38 by @app/renovate in https://github.com/meshtastic/firmware/pull/10081\r\n- Update meshtastic-st7789 digest to 222554e by @app/renovate in https://github.com/meshtastic/firmware/pull/10121\r\n- Update actions/github-script action to v9 by @app/renovate in https://github.com/meshtastic/firmware/pull/10122\r\n- Update meshtastic-st7789 digest to 7228c49 by @app/renovate in https://github.com/meshtastic/firmware/pull/10131\r\n- Update pnpm/action-setup action to v6 by @app/renovate in https://github.com/meshtastic/firmware/pull/10132\r\n- Update meshtastic-st7789 digest to 4d957e7 by @app/renovate in https://github.com/meshtastic/firmware/pull/10134\r\n- Update meshtastic-st7789 digest to a787bee by @app/renovate in https://github.com/meshtastic/firmware/pull/10147\r\n- Update softprops/action-gh-release action to v3 by @app/renovate in https://github.com/meshtastic/firmware/pull/10150\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.21.1370b23...v2.7.22.96dd647"
      },
      {
        "id": "v2.7.21.1370b23",
        "title": "Meshtastic Firmware 2.7.21.1370b23 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.21.1370b23",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.21.1370b23/firmware-2.7.21.1370b23.json",
        "release_notes": "> [!WARNING]\r\n> Due to resource constraints, the HTTP server is deprecated on original-generation ESP32 devices and should not be relied on going forward.  \r\n> Support continues on ESP32-S3 and other newer ESP32 generations.\r\n\r\n## 🚀 Enhancements\r\n\r\n- Add T5-4.7-S3 Epaper Pro support. #6625\r\n- Apply Thailand NBTC 920-925 MHz limits (27 dBm, 10% duty cycle). #9827\r\n- Switch nRF52840 builds to C++17. #9874\r\n- Clean up SEN5X warnings. #9884\r\n- Refactor BaseUI emotes. #9896\r\n- Add spoof detection in `UdpMulticastHandler`. #9905\r\n- Enable LNA by default on Heltec v4.3. #9906\r\n- Rotate MUI for the Heltec V4 + TFT expansion kit. #9938\r\n- Make `hexDump()` take a `const` buffer. #9944\r\n- Add `meshtasticd` config metadata. #10001\r\n- Add `MESHTASTIC_EXCLUDE_ACCELEROMETER`. #10004\r\n- Adapt MUI WiFi map tile downloads for Heltec V4. #10011\r\n- Fix Mesh-tab WiFi map and exclude-screen behavior. #10038\r\n- Include Thinknode M5 minor fixes. #10049\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- Remove GPS baudrate locking on the Seeed Xiao S3 kit. #9374\r\n- Fix RAK4631 Ethernet gateway API connection loss after W5100S brownouts. #9754\r\n- Fix W5100S socket exhaustion blocking MQTT and additional TCP clients. #9770\r\n- Fix traceroute over MQTT when the uplink node is encrypted. #9798\r\n- Extend Debian sourcedeb cache expiration. #9858\r\n- Fix T-LoRA Pager SPI bus sharing between SX1262 and the SD card. #9870\r\n- Update `ESP8266Audio` to the Meshtastic fork for compatibility. #9872\r\n- Fix `rak_wismeshtag` low-voltage reboot hangs after app configuration. #9897\r\n- Preserve `pki_encrypted` and `public_key` when relaying UDP multicast packets to radio. #9916\r\n- Add the new RAK 13302 power curve. #9929\r\n- Fix MQTT settings not persisting when the broker is unreachable. #9934\r\n- Fix BMP detection by not returning early during BME address scans. #9935\r\n- Enforce infrastructure-role minimums even when scaling is disabled. #9937\r\n- Fix traceroute hop rendering for `ffff` / unknown-dB hops. #9945\r\n- Fix NodeInfo suppression so it only applies to external requests. #9947\r\n- Enable touch-to-backlight on T-Echo, not just T-Echo Plus. #9953\r\n- Prevent licensed users from rebroadcasting packets to or from unlicensed users. #9958\r\n- Add the `heltec_mesh_node_t096` board. #9960\r\n- Add Cardputer-Adv I2S audio support. #9963\r\n- Fix the Cyrillic OLED double-space issue. #9971\r\n- Add `LED_BUILTIN` for `tlora_v1`. #9973\r\n- Add a timeout for PPA uploads. #9989\r\n- Exclude the web server, Paxcounter, and a few other components on original ESP32 boards to avoid IRAM overflow. #10005\r\n- Rework External Notifications logic. #10006\r\n- Improve STM32WL support. #10015\r\n- Configure NFC pins as GPIO for older bootloaders. #10016\r\n- Fix `TransmitHistory` epoch handling. #10017\r\n- Inherit `build_unflags` for `wio-sdk-wm1110`. #10034\r\n- Remove PSRAM from `tbeam` boards to reclaim IRAM. #10036\r\n- Move `t5s3_epaper_inkhud` to `extra`. #10037\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update `meshtastic-esp32_https_server` to digest `b78f12c`. #9851\r\n- Update `meshtastic/device-ui` through digests `622b034`, `f36d2a9`, `7b1485b`, and `1897dd1`. #9864 #9940 #10023 #10044 #10050\r\n- Update `GxEPD2` to `v1.6.8`. #9918\r\n- Update `pnpm/action-setup` to `v5`. #9926\r\n- Update `dorny/test-reporter` to `v3`. #9981\r\n- Clean up LewisHe library references and dependency matching, and tighten Renovate scheduling. #10007 #10008 #10039\r\n- Update `Adafruit_BME680` to `v2.0.6`. #10009\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.20.6658ec2...v2.7.21.1370b23\r\n"
      },
      {
        "id": "v2.7.20.6658ec2",
        "title": "Meshtastic Firmware 2.7.20.6658ec2 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.20.6658ec2",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.20.6658ec2/firmware-2.7.20.6658ec2.json",
        "release_notes": "## 🚀 Enhancements\r\n\r\n- Xiao NRF - define suitable i2c pins for the sub-variants by @NomDeTom in https://github.com/meshtastic/firmware/pull/8866\r\n- Fix(MQTT): Send first MapReport as soon as possible by @ndoo in https://github.com/meshtastic/firmware/pull/8872\r\n- Feat/add sfa30 by @oscgonfer in https://github.com/meshtastic/firmware/pull/9372\r\n- Improved Periodic class by @harry-iii-lord in https://github.com/meshtastic/firmware/pull/9501\r\n- InkHUD: Allow non-system applets to subscribe to input events by @Vortetty in https://github.com/meshtastic/firmware/pull/9514\r\n- Cardputer Kit by @caveman99 in https://github.com/meshtastic/firmware/pull/9540\r\n- Skip header items when enabling the InkHUD menu cursor by @zeropt in https://github.com/meshtastic/firmware/pull/9552\r\n- ExternalNotification and StatusLED now call AmbientLighting to update… by @jp-bennett in https://github.com/meshtastic/firmware/pull/9554\r\n- BaseUI: Favorite Screen Signal Quality improvement by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9566\r\n- Add battery curve for T-Beam 1 watt by @jp-bennett in https://github.com/meshtastic/firmware/pull/9585\r\n- Add sdl libs for native builds by @jp-bennett in https://github.com/meshtastic/firmware/pull/9595\r\n- Log `rxBad` PacketHeaders with more info (`id`, `relay_node`) like `printPacket` by @compumike in https://github.com/meshtastic/firmware/pull/9614\r\n- Develop to master by @thebentern in https://github.com/meshtastic/firmware/pull/9618\r\n- Fix a lot of low level cppcheck warnings by @caveman99 in https://github.com/meshtastic/firmware/pull/9623\r\n- Convert `GPS*` global and some new in gps.cpp to `unique_ptr<GPS>` by @Jorropo in https://github.com/meshtastic/firmware/pull/9628\r\n- Replace delete in RedirectablePrint.cpp with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9642\r\n- Replace delete in EInkDynamicDisplay.{cpp,h} with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9643\r\n- Replace delete in RadioInterface.cpp with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9645\r\n- Replace delete in CryptoEngine.{cpp,h} with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9649\r\n- Replace delete in AudioThread.h with std::unique_ptr by @Jorropo in https://github.com/meshtastic/firmware/pull/9651\r\n- Scaling tweaks by @NomDeTom in https://github.com/meshtastic/firmware/pull/9653\r\n- InkHUD: Favorite Map Applet by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9654\r\n- Fake IAQ values on Non-BSEC2 platforms like Platformio and the original ESP32 by @caveman99 in https://github.com/meshtastic/firmware/pull/9663\r\n- #9623 resolved a local shadow of next_key by converting it to int. by @caveman99 in https://github.com/meshtastic/firmware/pull/9665\r\n- Zip a few gitrefs down by @caveman99 in https://github.com/meshtastic/firmware/pull/9672\r\n- Limit http connections and add free heap check before allocating for SSL by @thebentern in https://github.com/meshtastic/firmware/pull/9693\r\n- Split module includes for AQ module by @oscgonfer in https://github.com/meshtastic/firmware/pull/9711\r\n- Align telemetry broadcast want_response behavior with traceroute by @thebentern in https://github.com/meshtastic/firmware/pull/9717\r\n- InkHUD: Nodelist cleanup by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9737\r\n- Add GPIO_DETECT_PA portduino config, and support 13302 detection with it by @jp-bennett in https://github.com/meshtastic/firmware/pull/9741\r\n- Remove unused global rIf that shadows locals and fails cppcheck by @weebl2000 in https://github.com/meshtastic/firmware/pull/9743\r\n- Add Transmit history persistence for respecting traffic intervals between reboots by @thebentern in https://github.com/meshtastic/firmware/pull/9748\r\n- Unlock 0x8B5 register macro guard for SX162 by @thebentern in https://github.com/meshtastic/firmware/pull/9777\r\n- Enhancement(mesh): remove late packets from tx queue when full by @m1nl in https://github.com/meshtastic/firmware/pull/9779\r\n- Add json file rotation option by @jp-bennett in https://github.com/meshtastic/firmware/pull/9783\r\n- PPA: Remove Ubuntu 25.04, Add 26.04 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9789\r\n- Deb: Handle offline builds more gracefully by @vidplace7 in https://github.com/meshtastic/firmware/pull/9791\r\n- Remove \"x\" permission bits from some source files by @ldoolitt in https://github.com/meshtastic/firmware/pull/9794\r\n- Add some lora parameter clamping logic to coalesce to defaults and enforce some bounds by @thebentern in https://github.com/meshtastic/firmware/pull/9808\r\n- Add back FEM LNA mode configuration for LoRa by @thebentern in https://github.com/meshtastic/firmware/pull/9809\r\n- More RAK6421 work by @jp-bennett in https://github.com/meshtastic/firmware/pull/9813\r\n- Add ROUTER_LATE and TAK_TRACKER to congestion scaling exemption by @h3lix1 in https://github.com/meshtastic/firmware/pull/9818\r\n- Add ROUTER_LATE to telemetry impolite role check by @h3lix1 in https://github.com/meshtastic/firmware/pull/9819\r\n- Add ROUTER_LATE to infrastructure init and config preservation by @h3lix1 in https://github.com/meshtastic/firmware/pull/9820\r\n- Update Heltec Tracker v2 to version KCT8103L. by @Quency-D in https://github.com/meshtastic/firmware/pull/9822\r\n- Add APIPort to native config by @pdxlocations in https://github.com/meshtastic/firmware/pull/9840\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- Add agc reset attempt by @jp-bennett in https://github.com/meshtastic/firmware/pull/8163\r\n- Support mini ePaper S3 Kit by @mverch67 in https://github.com/meshtastic/firmware/pull/9335\r\n- Fix heltec v4 tft dependency by @Quency-D in https://github.com/meshtastic/firmware/pull/9507\r\n- Apply SX1262 register 0x8B5 patch for improved GC1109 RX sensitivity by @weebl2000 in https://github.com/meshtastic/firmware/pull/9571\r\n- Hold GC1109 FEM power during deep sleep for LNA RX wake by @weebl2000 in https://github.com/meshtastic/firmware/pull/9572\r\n- Fix some random compiler warnings by @caveman99 in https://github.com/meshtastic/firmware/pull/9596\r\n- Add missing openocd_target to custom nrf52 boards by @Stary2001 in https://github.com/meshtastic/firmware/pull/9603\r\n- Fixes on SCD4X admin comands by @oscgonfer in https://github.com/meshtastic/firmware/pull/9607\r\n- Feat/add scd30 by @oscgonfer in https://github.com/meshtastic/firmware/pull/9609\r\n- Zero entire public key array instead of only first byte by @weebl2000 in https://github.com/meshtastic/firmware/pull/9619\r\n- Respect DontMqttMeBro flag regardless of channel PSK by @weebl2000 in https://github.com/meshtastic/firmware/pull/9626\r\n- Undefine LED_BUILTIN for Heltec v2 variant by @ericbarch in https://github.com/meshtastic/firmware/pull/9647\r\n- Fix typo in PIN_GPS_SWITCH by @Jorropo in https://github.com/meshtastic/firmware/pull/9648\r\n- Workaround NCP5623 and LP5562 I2C builds by @Jorropo in https://github.com/meshtastic/firmware/pull/9652\r\n- RadioLib edge-triggered interrupts robustness by @compumike in https://github.com/meshtastic/firmware/pull/9658\r\n- Add USB_MODE=1 for Station G2 - Solving all my serial issues. by @h3lix1 in https://github.com/meshtastic/firmware/pull/9660\r\n- Fix detection of SCD30 by checking if the size of the return from a 2 byte register read is correct by @caveman99 in https://github.com/meshtastic/firmware/pull/9664\r\n- Fix/rak3401 button by @LN4CY in https://github.com/meshtastic/firmware/pull/9668\r\n- Undefine LED_BUILTIN for 9m2ibr_aprs_lora_tracker by @mrekin in https://github.com/meshtastic/firmware/pull/9685\r\n- BLE Pairing fix by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9701\r\n- Implement 'agc' reset for SX126x & LR11x0 chip families by @weebl2000 in https://github.com/meshtastic/firmware/pull/9705\r\n- Add explicit dependency on mklittlefs. by @cpatulea in https://github.com/meshtastic/firmware/pull/9708\r\n- Platform: nrf52: Fix typo in BLEDfuSecure filename by @KokoSoft in https://github.com/meshtastic/firmware/pull/9709\r\n- Meshtasticd: Add Luckfox Lyra Hat pinmaps by @vidplace7 in https://github.com/meshtastic/firmware/pull/9730\r\n- Fix WisMesh Tap V2 env mess by @thebentern in https://github.com/meshtastic/firmware/pull/9734\r\n- Hopefully fix remaining cppcheck issues by @caveman99 in https://github.com/meshtastic/firmware/pull/9745\r\n- Add heltec-v4.3 board by @Quency-D in https://github.com/meshtastic/firmware/pull/9753\r\n- Fix Bluetooth on RAK Ethernet Gateway by removing MESHTASTIC_EXCLUDE_… by @thebentern in https://github.com/meshtastic/firmware/pull/9755\r\n- Increase PSRAM malloc threshold from 256 bytes to 2048 bytes by @thebentern in https://github.com/meshtastic/firmware/pull/9758\r\n- Don't launch canned message when waking screen or silencing notification by @jp-bennett in https://github.com/meshtastic/firmware/pull/9762\r\n- Fix nRF52 AsyncUDP multicast TX/RX race on W5100S by @PhilipLykov in https://github.com/meshtastic/firmware/pull/9765\r\n- Avoid memory leak when possibly malformed packet is received by @m1nl in https://github.com/meshtastic/firmware/pull/9781\r\n- Add ADS1115 ADC to recognition as used on RAK6421 Hat by @caveman99 in https://github.com/meshtastic/firmware/pull/9790\r\n- Improve resource cleanup on connection close (and make server API a unique pointer) by @thebentern in https://github.com/meshtastic/firmware/pull/9799\r\n- Spelling fixes by @ldoolitt in https://github.com/meshtastic/firmware/pull/9801\r\n- Spelling fixes in .md files by @ldoolitt in https://github.com/meshtastic/firmware/pull/9810\r\n- Treat ROUTER_LATE like ROUTER for power management and defaults by @h3lix1 in https://github.com/meshtastic/firmware/pull/9815\r\n- Add ROUTER_LATE  use the same rebroadcast rules as ROUTER by @h3lix1 in https://github.com/meshtastic/firmware/pull/9816\r\n- Prevent router-like roles from auto-favoriting DM peers by @h3lix1 in https://github.com/meshtastic/firmware/pull/9821\r\n- Fix(t1000e): reclassify P0.04 as sensor power enable GPIO by @weebl2000 in https://github.com/meshtastic/firmware/pull/9826\r\n- Don't double-blink Thinknode-M1 Power LED while charging by @jp-bennett in https://github.com/meshtastic/firmware/pull/9829\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update adafruit mpu6050 to v2.2.9 by @app/renovate in https://github.com/meshtastic/firmware/pull/9611\r\n- Update Sensirion Core to v0.7.3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9613\r\n- Update neopixel to v1.15.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9616\r\n- Update actions/stale action to v10.2.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9669\r\n- Update meshtastic-GxEPD2 digest to c7eb4c3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9694\r\n- Update radiolib to v7.6.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9695\r\n- Update sensorlib to v0.3.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9727\r\n- Update meshtastic-st7789 digest to 9ee76d6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9729\r\n- Update adafruit mlx90614 to v2.1.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9756\r\n- Update adafruit_tsl2561 to v1.1.3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9757\r\n- Update platformio/espressif32 to v6.13.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9759\r\n- Update platformio/nordicnrf52 to v10.11.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9760\r\n- Update adafruit dps310 to v1.1.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9763\r\n- Update platformio/ststm32 to v19.5.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9764\r\n- Update adafruit ahtx0 to v2.0.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9766\r\n- Update github artifact actions (major) by @app/renovate in https://github.com/meshtastic/firmware/pull/9767\r\n- Update crazy-max/ghaction-import-gpg action to v7 by @app/renovate in https://github.com/meshtastic/firmware/pull/9787\r\n- Update arduinojson to v6.21.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9788\r\n- Update dorny/test-reporter action to v2.6.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9796\r\n- Update docker/login-action action to v4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9806\r\n- Update docker/setup-qemu-action action to v4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9807\r\n- Update docker/setup-buildx-action action to v4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9824\r\n- Update docker/build-push-action action to v7 by @app/renovate in https://github.com/meshtastic/firmware/pull/9832\r\n- Update docker/metadata-action action to v6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9833\r\n- Update neopixel to v1.15.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9839\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.20.6658ec2...v2.7.20.6658ec2"
      },
      {
        "id": "v2.7.19.bb3d6d5",
        "title": "Meshtastic Firmware 2.7.19.bb3d6d5 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.19.bb3d6d5",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.19.bb3d6d5/firmware-2.7.19.bb3d6d5.json",
        "release_notes": "## 🚀 Enhancements\r\n\r\n- Feat/add sen5x by @oscgonfer in https://github.com/meshtastic/firmware/pull/7245\r\n- Add initial Nix shell by @agustinmista in https://github.com/meshtastic/firmware/pull/8530\r\n- InkHUD Menu improvements by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8975\r\n- Cut NRF52 bluetooth power usage by @phaseloop in https://github.com/meshtastic/firmware/pull/8992\r\n- Feat(GPS): Support Softsleep with WAKE-UP pin on PA1010D by @ndoo in https://github.com/meshtastic/firmware/pull/9078\r\n- NRF52 - power management improvements by @phaseloop in https://github.com/meshtastic/firmware/pull/9211\r\n- Change canned message recipient's previous page to send page by @scobert969 in https://github.com/meshtastic/firmware/pull/9227\r\n- Make BLE TX power configurable for nRF52 variants by @teizz in https://github.com/meshtastic/firmware/pull/9232\r\n- Add interrupt for external charge detection by @jp-bennett in https://github.com/meshtastic/firmware/pull/9332\r\n- Add a watchdog module to meshsolar. by @Quency-D in https://github.com/meshtastic/firmware/pull/9337\r\n- Add StatusMessage module and config overrides by @jp-bennett in https://github.com/meshtastic/firmware/pull/9351\r\n- Implement graduated scaling for NodeInfo send timeout based on active mesh size by @thebentern in https://github.com/meshtastic/firmware/pull/9364\r\n- BaseUI: Bubbles for messages by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9365\r\n- Enable long interleaving mode for LR11x0 and SX128x by @Jorropo in https://github.com/meshtastic/firmware/pull/9399\r\n- Add portduino_status, assign hardware device IDs... by @jp-bennett in https://github.com/meshtastic/firmware/pull/9441\r\n- Add support for Hackaday Communicator function keys by @jp-bennett in https://github.com/meshtastic/firmware/pull/9444\r\n- Add on-screen keyboard to InkHUD by @scobert969 in https://github.com/meshtastic/firmware/pull/9445\r\n- Move more code out of main-nrf52 into variant.cpp by @jp-bennett in https://github.com/meshtastic/firmware/pull/9450\r\n- BaseUI Message Bubble Improvements by @Xaositek in https://github.com/meshtastic/firmware/pull/9452\r\n- Support fully direct request/responses by @esev in https://github.com/meshtastic/firmware/pull/9455\r\n- Add reply bot module with DM-only responses and rate limiting by @mattatat25 in https://github.com/meshtastic/firmware/pull/9456\r\n- Add model workflows by @thebentern in https://github.com/meshtastic/firmware/pull/9462\r\n- Add custom ringtone definition for RAK4631 and enable buzzer pin by @thebentern in https://github.com/meshtastic/firmware/pull/9481\r\n- Remove unused hmx variable by @EricSesterhennX41 in https://github.com/meshtastic/firmware/pull/9529\r\n- Make LED_POWER blip even in critical battery by @jp-bennett in https://github.com/meshtastic/firmware/pull/9545\r\n- Added toggable config and default for larger screens to enable / hide bubbles on chat messages by @thebentern in https://github.com/meshtastic/firmware/pull/9560\r\n- Add Slash Key to VirtualKeyboard by @Xaositek in https://github.com/meshtastic/firmware/pull/9563\r\n- Add support for CW2015 LiPo battery fuel gauge by @jp-bennett in https://github.com/meshtastic/firmware/pull/9564\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- Add agc reset attempt by @jp-bennett in https://github.com/meshtastic/firmware/pull/8163\r\n- Just set LED_BUILTIN universally to -1, as we don't use it. by @jp-bennett in https://github.com/meshtastic/firmware/pull/8830\r\n- Device-install: Consistently use write-flash by @tyll in https://github.com/meshtastic/firmware/pull/8868\r\n- Added Minimesh variant by @uguraltinsoy in https://github.com/meshtastic/firmware/pull/9289\r\n- Fix uMesh RF POWER configuration error by @linser233 in https://github.com/meshtastic/firmware/pull/9326\r\n- Delete unused code by @EricSesterhennX41 in https://github.com/meshtastic/firmware/pull/9350\r\n- Feat(stm32): Add Milesight GS301 Bathroom Odor Detector by @ndoo in https://github.com/meshtastic/firmware/pull/9359\r\n- To fix the gps power rail issue on RAK 19007 when RAK12023+RAK12035 is installed by @Justin-Mann in https://github.com/meshtastic/firmware/pull/9409\r\n- Consolidate LoRa params / preset logic and fix display of preset values by @thebentern in https://github.com/meshtastic/firmware/pull/9413\r\n- Fix logic for rak12035 sensor default config and improve messaging by @Justin-Mann in https://github.com/meshtastic/firmware/pull/9414\r\n- Add pin sense to wake M6 on Solar Charge by @jp-bennett in https://github.com/meshtastic/firmware/pull/9416\r\n- Move Lora Init code into LoraInit.cpp/h by @jp-bennett in https://github.com/meshtastic/firmware/pull/9435\r\n- Replace strcpy with strncpy and null termination in `MQTT::publish` for JSON payloads by @k3an3 in https://github.com/meshtastic/firmware/pull/9436\r\n- Move device code from main.cpp to earlyInitVariant by @jp-bennett in https://github.com/meshtastic/firmware/pull/9438\r\n- Trackball revamp by @jp-bennett in https://github.com/meshtastic/firmware/pull/9440\r\n- Remove the unused OCV_ARRAYs and move one to a variant.h by @jp-bennett in https://github.com/meshtastic/firmware/pull/9442\r\n- Fix StoreForwardModule retry_delay multiplier always evaluating to 2x by @rcd in https://github.com/meshtastic/firmware/pull/9443\r\n- Add error handling for SPI command failures in LR11x0, RF95, and SX128x interfaces by @thebentern in https://github.com/meshtastic/firmware/pull/9447\r\n- Add Thinknode M4 variant_shutdown() by @jp-bennett in https://github.com/meshtastic/firmware/pull/9449\r\n- External Notification - handleReceived Rewrite by @Xaositek in https://github.com/meshtastic/firmware/pull/9454\r\n- Move input init to an init function in InputBroker by @jp-bennett in https://github.com/meshtastic/firmware/pull/9463\r\n- Initial serialModule cleanup by @jp-bennett in https://github.com/meshtastic/firmware/pull/9465\r\n- Avoid short-circuit evaluation issues in Telemetry by @oscgonfer in https://github.com/meshtastic/firmware/pull/9467\r\n- Add support for the hardware buttons on Retia.io's Bluetooth Nugget device by @treysis in https://github.com/meshtastic/firmware/pull/9468\r\n- Remove stale variant.h defines by @jp-bennett in https://github.com/meshtastic/firmware/pull/9470\r\n- More variant.h cleanup. LED_NOTIFICATION, remove dead code, etc by @jp-bennett in https://github.com/meshtastic/firmware/pull/9477\r\n- Refuse to send legacy DMs simply because the remote public key is unknown by @jp-bennett in https://github.com/meshtastic/firmware/pull/9485\r\n- Fix esp32 ota bin name in scripts by @thebentern in https://github.com/meshtastic/firmware/pull/9488\r\n- You get an RTC, and you get an RTC! (delete HAS_RTC as it wasn't actually doing much) by @jp-bennett in https://github.com/meshtastic/firmware/pull/9493\r\n- Don't ever define PIN_LED or BLE_LED_INVERTED by @jp-bennett in https://github.com/meshtastic/firmware/pull/9494\r\n- Missed in reviews - fixing send bubble by @Xaositek in https://github.com/meshtastic/firmware/pull/9505\r\n- Power off control pin on Thinknode m5 during deepsleep and add RTC by @jp-bennett in https://github.com/meshtastic/firmware/pull/9510\r\n- Prefer EXT_PWR_DETECT pin over chargingVolt to detect power unplugged by @jp-bennett in https://github.com/meshtastic/firmware/pull/9511\r\n- Rename LED_PIN to LED_POWER, move handling out of main to dedicated module by @jp-bennett in https://github.com/meshtastic/firmware/pull/9512\r\n- Inkhud battery icon improvements. by @Vortetty in https://github.com/meshtastic/firmware/pull/9513\r\n- Make sure we always return a value in NodeDB::restorePreferences() by @EricSesterhennX41 in https://github.com/meshtastic/firmware/pull/9516\r\n- Fix config.display.use_long_node_name not saving by @Xaositek in https://github.com/meshtastic/firmware/pull/9522\r\n- Implement UDP multicast handler start/stop to ensure proper lifecycle by @thebentern in https://github.com/meshtastic/firmware/pull/9524\r\n- Undefine LED_BUILTIN for `tlora-v2-1-1_6-tcxo` by @mrekin in https://github.com/meshtastic/firmware/pull/9531\r\n- HotFix for ReplyBot (PR #9456) by @Xaositek in https://github.com/meshtastic/firmware/pull/9532\r\n- Fix hop_limit upgrade detection by @rcd in https://github.com/meshtastic/firmware/pull/9550\r\n- Meshtasticd: Fix install on Fedora 43 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9556\r\n- RPM: Include meshtasticd-start.sh by @vidplace7 in https://github.com/meshtastic/firmware/pull/9561\r\n- Fix embedded null byte truncation in ATAK strings by @niccellular in https://github.com/meshtastic/firmware/pull/9570\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Update XPowersLib to v0.3.3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9354\r\n- Update meshtastic/device-ui digest to 613c095 by @app/renovate in https://github.com/meshtastic/firmware/pull/9383\r\n- Update meshtastic-esp32_https_server digest to b0f3960 by @app/renovate in https://github.com/meshtastic/firmware/pull/9393\r\n- Update lewisxhe-SensorLib to v0.3.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9395\r\n- Update SensorLib to v0.3.4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9396\r\n- Update pschatzmann_arduino-audio-driver to v0.2.1 by @app/renovate in https://github.com/meshtastic/firmware/pull/9398\r\n- Update meshtastic/device-ui digest to 37ad715 by @app/renovate in https://github.com/meshtastic/firmware/pull/9403\r\n- Update LovyanGFX to v1.2.19 by @app/renovate in https://github.com/meshtastic/firmware/pull/9405\r\n- Update GxEPD2 to v1.6.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9412\r\n- Update meshtastic/device-ui digest to 69739b8 by @app/renovate in https://github.com/meshtastic/firmware/pull/9448\r\n- Update libch341-spi-userspace digest to af9bc27 by @app/renovate in https://github.com/meshtastic/firmware/pull/9472\r\n- Update meshtastic/device-ui digest to 63967a4 by @app/renovate in https://github.com/meshtastic/firmware/pull/9475\r\n- Update Adafruit MPU6050 to v2.2.7 by @app/renovate in https://github.com/meshtastic/firmware/pull/9525\r\n- Update NeoPixel to v1.15.3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9530\r\n- Update meshtastic-esp8266-oled-ssd1306 digest to 21e484f by @app/renovate in https://github.com/meshtastic/firmware/pull/9533\r\n- Update Adafruit MPU6050 to v2.2.8 by @app/renovate in https://github.com/meshtastic/firmware/pull/9534\r\n- Update meshtastic/device-ui digest to 6c75195 by @app/renovate in https://github.com/meshtastic/firmware/pull/9553\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.18.fb3bf78...v2.7.19.bb3d6d5"
      },
      {
        "id": "v2.7.18.fb3bf78",
        "title": "Meshtastic Firmware 2.7.18.fb3bf78 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.18.fb3bf78",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.18.fb3bf78/firmware-2.7.18.fb3bf78.json",
        "release_notes": "## 🚀 Enhancements\r\n\r\n- Move PMSA003I to separate class and update AQ telemetry by @oscgonfer in https://github.com/meshtastic/firmware/pull/7190\r\n- Multi message storage by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8182\r\n- Add support for setting API port from the config file by @tedwardd in https://github.com/meshtastic/firmware/pull/8435\r\n- PIN_PWR_DELAY_MS --> PERIPHERAL_WARMUP_MS by @fifieldt in https://github.com/meshtastic/firmware/pull/8467\r\n- CLIENT_BASE: Act like ROUTER_LATE for fav'd nodes, instead of like ROUTER by @korbinianbauer in https://github.com/meshtastic/firmware/pull/8567\r\n- Rak3112 support by @ford-jones in https://github.com/meshtastic/firmware/pull/8591\r\n- Add systemd wrapper by @tedwardd in https://github.com/meshtastic/firmware/pull/8676\r\n- Adding support for InkHUD joystick navigation for the Seeed Wio Tracker L1 E-ink by @zeropt in https://github.com/meshtastic/firmware/pull/8678\r\n- Gr language specific font by @apo-mak in https://github.com/meshtastic/firmware/pull/8808\r\n- Detect if NTP is active on native by @jp-bennett in https://github.com/meshtastic/firmware/pull/8962\r\n- Add Rebooting to DFU mode notification as a simple pop-up by @Xaositek in https://github.com/meshtastic/firmware/pull/8970\r\n- PIO: Fix ESP32 sub-variant inheritance by @vidplace7 in https://github.com/meshtastic/firmware/pull/8983\r\n- Prep work for better Store and Forward by @jp-bennett in https://github.com/meshtastic/firmware/pull/8999\r\n- Additional Emoji by @Ixitxachitl in https://github.com/meshtastic/firmware/pull/9020\r\n- Add Russell, an STM32WL balloon-optimized node by @ndoo in https://github.com/meshtastic/firmware/pull/9079\r\n- Add menus for Smart Position, Broadcast Interval and Position Interval by @Xaositek in https://github.com/meshtastic/firmware/pull/9080\r\n- Improve sanitizeString function for Node Names by @Xaositek in https://github.com/meshtastic/firmware/pull/9086\r\n- Add Temporary Mute to Home frame and unbury Notification Options by @Xaositek in https://github.com/meshtastic/firmware/pull/9097\r\n- Add a welcome message for new contributors by @fifieldt in https://github.com/meshtastic/firmware/pull/9119\r\n- Calculate hops correctly even when hop_start==0 by @esev in https://github.com/meshtastic/firmware/pull/9120\r\n- Add STORE_FORWARD_PLUSPLUS_APP to core portnum checks by @jp-bennett in https://github.com/meshtastic/firmware/pull/9127\r\n- Faster rotary encoder events by @brad112358 in https://github.com/meshtastic/firmware/pull/9146\r\n- Add support for LilyGo T-Echo Plus by @thebentern in https://github.com/meshtastic/firmware/pull/9149\r\n- Refactored some of the system menus to the new DRY method (Redux) by @Xaositek in https://github.com/meshtastic/firmware/pull/9152\r\n- Add a .clang-format file by @Jorropo in https://github.com/meshtastic/firmware/pull/9154\r\n- Add custom coding rate configuration for LoRa by @jp-bennett in https://github.com/meshtastic/firmware/pull/9155\r\n- Add list of text message packet IDs, and check for dupes by @jp-bennett in https://github.com/meshtastic/firmware/pull/9180\r\n- Add option to Mute/Unmute Channel to BaseUI by @Xaositek in https://github.com/meshtastic/firmware/pull/9194\r\n- Mute: Nodes by @ford-jones in https://github.com/meshtastic/firmware/pull/9209\r\n- Screenless Devices want to mute too! by @Xaositek in https://github.com/meshtastic/firmware/pull/9210\r\n- Migrate all of the Meshtastic API attributes into the ini as a source of truth by @thebentern in https://github.com/meshtastic/firmware/pull/9214\r\n- Pioarduino preparation by @MartinEmrich in https://github.com/meshtastic/firmware/pull/9223\r\n- Meshtastic unified OTA by @thebentern in https://github.com/meshtastic/firmware/pull/9231\r\n- Fix TFT_MESH settings across setting and recalling by @Xaositek in https://github.com/meshtastic/firmware/pull/9234\r\n- Add release notes generation and publishing workflow by @thebentern in https://github.com/meshtastic/firmware/pull/9255\r\n- Unified ESP32 OTA firmware by @vidplace7 in https://github.com/meshtastic/firmware/pull/9258\r\n- Add support for uMesh Modules by @linser233 in https://github.com/meshtastic/firmware/pull/9259\r\n- Extra pins by @jp-bennett in https://github.com/meshtastic/firmware/pull/9260\r\n- BaseUI: Autosave Messages by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9269\r\n- Node Actions Menu Overhaul by @Xaositek in https://github.com/meshtastic/firmware/pull/9287\r\n- Added I2C scanner a check for the QMC6310N. by @lewisxhe in https://github.com/meshtastic/firmware/pull/9305\r\n- Allow ICM20948 IMU to sleep by @HarukiToreda in https://github.com/meshtastic/firmware/pull/9324\r\n- Meshtastic OTA (moar) by @thebentern in https://github.com/meshtastic/firmware/pull/9327\r\n- Add sqlite depdendency (Cherry-picks from sfpp) by @fifieldt in https://github.com/meshtastic/firmware/pull/9328\r\n- Add interrupt for external charge detection by @jp-bennett in https://github.com/meshtastic/firmware/pull/9332\r\n- Improve BaseUI Preset Change Flow by @Xaositek in https://github.com/meshtastic/firmware/pull/9343\r\n- Implement graduated scaling for NodeInfo send timeout based on active mesh size by @thebentern in https://github.com/meshtastic/firmware/pull/9364\r\n\r\n## 🐛 Bug fixes and maintenance\r\n\r\n- RTC: PCF85063 support, port to SensorLib 0.3.1 by @WillyJL in https://github.com/meshtastic/firmware/pull/8061\r\n- Added tcxo definition to mesh-tab by @valzzu in https://github.com/meshtastic/firmware/pull/8604\r\n- Preliminary Thinknode M4 Support by @caveman99 in https://github.com/meshtastic/firmware/pull/8754\r\n- Actions: Compact manifest job output summary by @vidplace7 in https://github.com/meshtastic/firmware/pull/8957\r\n- PlatformIO: Restructure networking_base for re-use by @vidplace7 in https://github.com/meshtastic/firmware/pull/8964\r\n- Add LilyGO T-Beam 1W support by @santosvivos in https://github.com/meshtastic/firmware/pull/8967\r\n- PIO: Remove useless inheritence (references extends env) by @vidplace7 in https://github.com/meshtastic/firmware/pull/8987\r\n- Macro guard heap_caps_malloc_extmem_enable from SENSECAP_INDICATOR by @Xaositek in https://github.com/meshtastic/firmware/pull/9007\r\n- Add Rak 6421 autoconf by @jp-bennett in https://github.com/meshtastic/firmware/pull/9010\r\n- Implement basic github action comment reporting target diffs by @Jorropo in https://github.com/meshtastic/firmware/pull/9022\r\n- In protobuf update, allow develop branch to auto-update by @jp-bennett in https://github.com/meshtastic/firmware/pull/9027\r\n- 🔧 Fix LNA/PA power control for Heltec v4, wireless tracker v2 by @weebl2000 in https://github.com/meshtastic/firmware/pull/9029\r\n- Shame do not complain about missing targets by @Jorropo in https://github.com/meshtastic/firmware/pull/9032\r\n- Action: skip trying to comment binary size change results if it is not a PR by @Jorropo in https://github.com/meshtastic/firmware/pull/9033\r\n- Fix gps pin defs for various NRF variants. by @NomDeTom in https://github.com/meshtastic/firmware/pull/9034\r\n- Fix Rotary enc long press by @brad112358 in https://github.com/meshtastic/firmware/pull/9039\r\n- Add needed support bits for the Meshstick by @jp-bennett in https://github.com/meshtastic/firmware/pull/9042\r\n- In statusLEDModule, also detect isCharging by @jp-bennett in https://github.com/meshtastic/firmware/pull/9050\r\n- PlatformIO: Re-Org ESP32 family shared props by @vidplace7 in https://github.com/meshtastic/firmware/pull/9060\r\n- Cleanup: Remove icarus custom framework-arduinoespressif32 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9064\r\n- M6 shutdown and LEDs work by @jp-bennett in https://github.com/meshtastic/firmware/pull/9065\r\n- Implement HAS_PHYSICAL_KEYBOARD for devices with physical keyboards by @Xaositek in https://github.com/meshtastic/firmware/pull/9071\r\n- KZ_863 is not wide lora by @fifieldt in https://github.com/meshtastic/firmware/pull/9075\r\n- In autoconf, don't probe Wire unless i2c device is set by @jp-bennett in https://github.com/meshtastic/firmware/pull/9081\r\n- Correctly set type for event_mode max() position threshold by @vidplace7 in https://github.com/meshtastic/firmware/pull/9083\r\n- Fix PR#8061 SensorLib nRF ThinkNode M-series by @vidplace7 in https://github.com/meshtastic/firmware/pull/9084\r\n- Pioarduino .gitignore by @vidplace7 in https://github.com/meshtastic/firmware/pull/9085\r\n- Pass GH_TOKEN to shame's gh run download step by @Jorropo in https://github.com/meshtastic/firmware/pull/9087\r\n- GPS Menu Validation Fix - Missed in Reviews by @Xaositek in https://github.com/meshtastic/firmware/pull/9093\r\n- Noop \"download\" portion of #shame by @vidplace7 in https://github.com/meshtastic/firmware/pull/9114\r\n- Syntax fix for first timer welcome bot. by @fifieldt in https://github.com/meshtastic/firmware/pull/9144\r\n- Fix link formatting in welcome message by @fifieldt in https://github.com/meshtastic/firmware/pull/9163\r\n- Fixed shouldFilterReceived function to check prev relay according to the function definition by @strngr in https://github.com/meshtastic/firmware/pull/9168\r\n- Add EByte EoRa-Hub by @vidplace7 in https://github.com/meshtastic/firmware/pull/9169\r\n- Fix zero in sp02 and Heart Rate on screen by @sergeygalkin in https://github.com/meshtastic/firmware/pull/9174\r\n- RadioInterface::getRetransmissionMsec now handles encrypted packets c… by @rbreesems in https://github.com/meshtastic/firmware/pull/9184\r\n- Added support for the new SSD1306 control panel. by @lewisxhe in https://github.com/meshtastic/firmware/pull/9192\r\n- Fix Function + M in code by @Xaositek in https://github.com/meshtastic/firmware/pull/9200\r\n- Fix TSL2591 detection by adding command bit to register read by @heathdutton in https://github.com/meshtastic/firmware/pull/9215\r\n- Fix screen not sleeping due to power status updates by @heathdutton in https://github.com/meshtastic/firmware/pull/9216\r\n- Fix rotary regression and tighten up playBeep by @thebentern in https://github.com/meshtastic/firmware/pull/9221\r\n- Use correct name for ALT_BUTTON_PIN by @jp-bennett in https://github.com/meshtastic/firmware/pull/9225\r\n- CH341 MAC address derivation from serial and product string by @jp-bennett in https://github.com/meshtastic/firmware/pull/9226\r\n- T-Watch S3 Plus GPS support by @mverch67 in https://github.com/meshtastic/firmware/pull/9235\r\n- Update diy_promicro platformio.ini by @mrekin in https://github.com/meshtastic/firmware/pull/9245\r\n- Recover `long_name`, `short_name` from our own NodeDB entry if device.proto is unreadable by @compumike in https://github.com/meshtastic/firmware/pull/9248\r\n- Remove a strlcpy reference by @jp-bennett in https://github.com/meshtastic/firmware/pull/9249\r\n- Add unified OTA to manifest by @thebentern in https://github.com/meshtastic/firmware/pull/9261\r\n- Tiny - include mt-ota in firmware zips by @vidplace7 in https://github.com/meshtastic/firmware/pull/9275\r\n- EXCLUDE_AUDIO on (original) ESP32 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9276\r\n- Partition name in manifest script by @thebentern in https://github.com/meshtastic/firmware/pull/9294\r\n- SafeFile: use atomic rename-with-overwrite, rather than non-atomic delete-then-rename by @compumike in https://github.com/meshtastic/firmware/pull/9296\r\n- Fix OTA partition name matching by @thebentern in https://github.com/meshtastic/firmware/pull/9302\r\n- T-Deck Pro: speed up eink force refresh by @vicliu624 in https://github.com/meshtastic/firmware/pull/9303\r\n- Small fix in register size for SHT4X by @oscgonfer in https://github.com/meshtastic/firmware/pull/9309\r\n- Fix GPS for T-Watch S3 plus by @mverch67 in https://github.com/meshtastic/firmware/pull/9312\r\n- Adds Custom battery curve for thinknode m6 by @jp-bennett in https://github.com/meshtastic/firmware/pull/9313\r\n- /api/v1/fromradio OPTIONS handler: fix sending proper HTTP response. by @cpatulea in https://github.com/meshtastic/firmware/pull/9322\r\n- Heltec V4 TFT metadata by @thebentern in https://github.com/meshtastic/firmware/pull/9325\r\n- Filter BLE updates that don't change pairing status by @jp-bennett in https://github.com/meshtastic/firmware/pull/9333\r\n- Don't Mute DMs just because we mute a channel by @Xaositek in https://github.com/meshtastic/firmware/pull/9348\r\n\r\n## ⚙️ Dependencies\r\n\r\n- Rp2xx0: Update to arduino-pico 5.4.4 by @vidplace7 in https://github.com/meshtastic/firmware/pull/8979\r\n- Replace PIO fuzzy version matches (reproducible builds) by @vidplace7 in https://github.com/meshtastic/firmware/pull/8984\r\n- PIO: Renovate all the things by @vidplace7 in https://github.com/meshtastic/firmware/pull/8994\r\n- Update lewisxhe/SensorLib to 0.3.3 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9061\r\n- Update meshtastic-esp8266-oled-ssd1306 digest to b34c681 by @app/renovate in https://github.com/meshtastic/firmware/pull/9062\r\n- Update meshtastic/device-ui digest to 272defc by @app/renovate in https://github.com/meshtastic/firmware/pull/9166\r\n- Update dorny/test-reporter action to v2.5.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9167\r\n- Update INA226 to v0.6.6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9247\r\n- Update meshtastic/device-ui digest to 12f8cdd by @app/renovate in https://github.com/meshtastic/firmware/pull/9263\r\n- Update meshtastic-gxepd2 digest to a05c11c by @app/renovate in https://github.com/meshtastic/firmware/pull/9264\r\n- Update ArduinoJson to v6.21.5 by @app/renovate in https://github.com/meshtastic/firmware/pull/9265\r\n- Update GxEPD2 to v1.6.5 by @app/renovate in https://github.com/meshtastic/firmware/pull/9266\r\n- Update ESP8266SAM to v1.1.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9271\r\n- Update pschatzmann_arduino-audio-driver to v0.2.0 by @app/renovate in https://github.com/meshtastic/firmware/pull/9272\r\n- Renovate: Ignore lovyangfx for elecrow-panel by @vidplace7 in https://github.com/meshtastic/firmware/pull/9279\r\n- Update RadioLib to v7.5.0 by @vidplace7 in https://github.com/meshtastic/firmware/pull/9281\r\n- Update meshtastic/device-ui digest to 5a870c6 by @app/renovate in https://github.com/meshtastic/firmware/pull/9301\r\n- Update Adafruit BMP280 to v3 by @app/renovate in https://github.com/meshtastic/firmware/pull/9307\r\n- Update meshtastic/device-ui digest to 3480b73 by @app/renovate in https://github.com/meshtastic/firmware/pull/9353\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.17.9058cce...v2.7.18.fb3bf78"
      },
      {
        "id": "v2.7.17.9058cce",
        "title": "Meshtastic Firmware 2.7.17.9058cce Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.17.9058cce",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.17.9058cce/firmware-2.7.17.9058cce.json",
        "release_notes": "> [!WARNING]\r\n> 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.\r\n\r\n## 🚀 What's Changed\r\n* Support overriding GPS serial pins on all architectures by @Stary2001 in https://github.com/meshtastic/firmware/pull/8486\r\n* Swap GPS pins for GPS TX/RX only for T114/T-Echo by @Xaositek in https://github.com/meshtastic/firmware/pull/8751\r\n* Remove native from the build, and remove the required permissions by @NomDeTom in https://github.com/meshtastic/firmware/pull/8685\r\n* Swap the GPS serial port pins. by @Quency-D in https://github.com/meshtastic/firmware/pull/8756\r\n* More GPS pin flips for devices by @Xaositek in https://github.com/meshtastic/firmware/pull/8760\r\n* Remove screen activation in powerExit function by @jp-bennett in https://github.com/meshtastic/firmware/pull/8779\r\n* Add LOG_POWERFSM and LOG_INPUT debug macros by @jp-bennett in https://github.com/meshtastic/firmware/pull/8791\r\n* Fix ifdef statement after ST7796 merge to resolve screen color issues by @Xaositek in https://github.com/meshtastic/firmware/pull/8796\r\n* Update dorny/test-reporter action to v2.3.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8809\r\n* InkHUD: Replace assert in UTF8 decoder to prevent unexpected reboot by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8807\r\n* Update meshtastic/device-ui digest to 3bf3322 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8814\r\n* tryfix screen.cpp ifdefs by @jp-bennett in https://github.com/meshtastic/firmware/pull/8816\r\n* Add WiFi Toggle to System frame to re-enable by @Xaositek in https://github.com/meshtastic/firmware/pull/8802\r\n* #if defined conditions for WiFi by @jp-bennett in https://github.com/meshtastic/firmware/pull/8815\r\n* Add initial support for Hackaday Communicator by @jp-bennett in https://github.com/meshtastic/firmware/pull/8771\r\n* M5Stack UnitC6L - Enabled MQTT and WEBSERVER by default by @RikerZhu in https://github.com/meshtastic/firmware/pull/8679\r\n* Initial Chatter 2.0 fix for baseUI by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8615\r\n* Make GPS_TX_PIN the serial TX and GPS_RX_PIN the serial RX for all NRF variants by @Stary2001 in https://github.com/meshtastic/firmware/pull/8772\r\n* Update XPowersLib to v0.3.2 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8823\r\n* RPM: Fix broken builds (bad backmerge) by @vidplace7 in https://github.com/meshtastic/firmware/pull/8787\r\n* Flags and scripts for size reduction on NRF52 -> Currently targeting … by @thebentern in https://github.com/meshtastic/firmware/pull/8825\r\n* Plain RAK4631 should not compile EInk and TFT display code by @thebentern in https://github.com/meshtastic/firmware/pull/8811\r\n* Fix for high power drain after shutdown on Heltec T114.  by @rbomze in https://github.com/meshtastic/firmware/pull/8800\r\n* Bump release version by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8786\r\n* Move everything from /arch to /variant by @jp-bennett in https://github.com/meshtastic/firmware/pull/8831\r\n* Move device specific OCV curves to their respective device.h by @jp-bennett in https://github.com/meshtastic/firmware/pull/8834\r\n* Add 'cleanup' to required PR labels by @jp-bennett in https://github.com/meshtastic/firmware/pull/8835\r\n* Don't scale up the frequency of telemetry sending by @RCGV1 in https://github.com/meshtastic/firmware/pull/8664\r\n* Update actions/stale action to v10.1.1 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8848\r\n* Update alpine Docker tag to v3.23 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8853\r\n* Promicro documentation update by @NomDeTom in https://github.com/meshtastic/firmware/pull/8864\r\n* Optimization flags for all NRF52 targets to reduce code size by @Donix212 in https://github.com/meshtastic/firmware/pull/8854\r\n* Update meshtastic/device-ui digest to 4fb5f24 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8862\r\n* Update protobufs and classes by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8871\r\n* promicro doesn't need limiting by @NomDeTom in https://github.com/meshtastic/firmware/pull/8873\r\n* Enable USB_MODE to acknowledge RTS/DTR reset signal from esptool for heltec-v4 by @h3lix1 in https://github.com/meshtastic/firmware/pull/8881\r\n* Fix #8883 (lora-Pager fter playing the notification, voltage does not disappear from the speaker) by @polarikus in https://github.com/meshtastic/firmware/pull/8884\r\n* Resolve #8887 (T-LoRaPager Vibration on New Message Delivery) by @polarikus in https://github.com/meshtastic/firmware/pull/8888\r\n* OnScreenKeyboard Improvement with Joystick and UpDown Encoder by @whywilson in https://github.com/meshtastic/firmware/pull/8379\r\n* [T-LoraPager]Disable vibration if needed by @polarikus in https://github.com/meshtastic/firmware/pull/8895\r\n* Tryfix: T3S3 ePaper eInk updates by @mverch67 in https://github.com/meshtastic/firmware/pull/8898\r\n* Improved R1 Neo & muzi-base buzzer beeps for GPS on/off by @simon-muzi in https://github.com/meshtastic/firmware/pull/8870\r\n* Meshtastic build manifest by @vidplace7 in https://github.com/meshtastic/firmware/pull/8248\r\n* Fix backwards buttons on Thinknode-M1 by @jp-bennett in https://github.com/meshtastic/firmware/pull/8901\r\n* Update protobuf name of FRIED_CHICKEN by @jp-bennett in https://github.com/meshtastic/firmware/pull/8903\r\n* Guard 2M PHY mode for NimBLE by @thebentern in https://github.com/meshtastic/firmware/pull/8890\r\n* Renovate: fix BH1750_WE by @vidplace7 in https://github.com/meshtastic/firmware/pull/8767\r\n* Fixed the issue where T-Echo did not completely shut down peripherals… by @lewisxhe in https://github.com/meshtastic/firmware/pull/8524\r\n* Fix apply device-install permissions by @vidplace7 in https://github.com/meshtastic/firmware/pull/8911\r\n* Update platformio/espressif32 to v6.12.0 by @vidplace7 in https://github.com/meshtastic/firmware/pull/7697\r\n* Fix #8915 [Bug]: Exception Decoder does not recognize the backtrace by @polarikus in https://github.com/meshtastic/firmware/pull/8917\r\n* Actions: Fix release manifest formating by @vidplace7 in https://github.com/meshtastic/firmware/pull/8918\r\n* ARCtastic runners by @vidplace7 in https://github.com/meshtastic/firmware/pull/8904\r\n* Update peter-evans/create-pull-request action to v8 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8919\r\n* PIO: Fix closedcube lib reference by @vidplace7 in https://github.com/meshtastic/firmware/pull/8920\r\n* Use PSRAM to reduce heap usage percentage on ESP32 with PSRAM by @samm-git in https://github.com/meshtastic/firmware/pull/8891\r\n* Create new screen colors for BaseUI by @Xaositek in https://github.com/meshtastic/firmware/pull/8921\r\n* Enable Muzi-base LED notification by @jp-bennett in https://github.com/meshtastic/firmware/pull/8925\r\n* Update System Frame for improved rendering on devices by @Xaositek in https://github.com/meshtastic/firmware/pull/8923\r\n* Add I2C device check for seesaw device on native by @jp-bennett in https://github.com/meshtastic/firmware/pull/8927\r\n* Use truncated position for smart position by @RCGV1 in https://github.com/meshtastic/firmware/pull/8906\r\n* Properly turn off power pins at shutdown for m3 by @jp-bennett in https://github.com/meshtastic/firmware/pull/8935\r\n* Update meshtastic/device-ui digest to 2746a1c by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8936\r\n* Use 'gh-action-runner' action for \"Check\" jobs. by @vidplace7 in https://github.com/meshtastic/firmware/pull/8938\r\n* Optimize builds to reduce duplicate dependency checks by @vidplace7 in https://github.com/meshtastic/firmware/pull/8943\r\n* Update actions/cache action to v5 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8944\r\n* Fix #8899 [Bug]: [TloraPager] RotaryEncoder crash by @polarikus in https://github.com/meshtastic/firmware/pull/8933\r\n* Mark implicit ACK for MQTT as MQTT transport by @GUVWAF in https://github.com/meshtastic/firmware/pull/8939\r\n* Fix GPS Buffer full issue on NRF52480 (Seeed T1000E) by @fifieldt in https://github.com/meshtastic/firmware/pull/8956\r\n* Actions: Compact manifest job output summary by @vidplace7 in https://github.com/meshtastic/firmware/pull/8957\r\n* Add JSON packet recording option to native by @jp-bennett in https://github.com/meshtastic/firmware/pull/8930\r\n* Implement Long Turbo preset by @thebentern in https://github.com/meshtastic/firmware/pull/8985\r\n* Be more judicious about responding to want_response in existing meshes by @thebentern in https://github.com/meshtastic/firmware/pull/9014\r\n* First position send validation by @thebentern in https://github.com/meshtastic/firmware/pull/9023\r\n* Calculate hops correctly even when hop_start==0 by @esev in https://github.com/meshtastic/firmware/pull/9120\r\n* Revert NimBLE 2.X upgrade by @thebentern in https://github.com/meshtastic/firmware/pull/9125\r\n\r\n## New Contributors\r\n* @RikerZhu made their first contribution in https://github.com/meshtastic/firmware/pull/8679\r\n* @rbomze made their first contribution in https://github.com/meshtastic/firmware/pull/8800\r\n* @Donix212 made their first contribution in https://github.com/meshtastic/firmware/pull/8854\r\n* @polarikus made their first contribution in https://github.com/meshtastic/firmware/pull/8884\r\n* @phaseloop made their first contribution in https://github.com/meshtastic/firmware/pull/8858\r\n* @samm-git made their first contribution in https://github.com/meshtastic/firmware/pull/8891\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.16.a597230...v2.7.17.9058cce"
      },
      {
        "id": "v2.7.16.a597230",
        "title": "Meshtastic Firmware 2.7.16.a597230 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.16.a597230",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.16.a597230/firmware-esp32-2.7.16.a597230.zip",
        "release_notes": "## 🚀 What's Changed\r\n* Bugfix: Don't toggle BLE when choosing active state by @jp-bennett in https://github.com/meshtastic/firmware/pull/8579\r\n* chore(deps): update meshtastic/device-ui digest to 28167c6 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8583\r\n* Only call stopNow if we're nagging by @thebentern in https://github.com/meshtastic/firmware/pull/8601\r\n* Clean up GPS toggle logging by @jp-bennett in https://github.com/meshtastic/firmware/pull/8629\r\n* Reset the calibration data back to 0 when doing a compass calibration by @jp-bennett in https://github.com/meshtastic/firmware/pull/8648\r\n* chore(deps): update dorny/test-reporter action to v2.2.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8637\r\n* Fix RPM builds by @vidplace7 in https://github.com/meshtastic/firmware/pull/8659\r\n* Linux: Fix silly EPEL9 mistake by @vidplace7 in https://github.com/meshtastic/firmware/pull/8660\r\n* Fix ble rssi crash by @thebentern in https://github.com/meshtastic/firmware/pull/8661\r\n* Unify uptime formatting by @jasonbcox in https://github.com/meshtastic/firmware/pull/8677\r\n* chore(deps): update meshtastic-esp8266-oled-ssd1306 digest to 2887bf4 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8688\r\n* Actually respect wake_on_motion setting by @jp-bennett in https://github.com/meshtastic/firmware/pull/8690\r\n* Add a reset pulse signal to the OLED. by @Quency-D in https://github.com/meshtastic/firmware/pull/8691\r\n* Missed one by @thebentern in https://github.com/meshtastic/firmware/pull/8694\r\n* nrf52 watchdog (attempt #2) by @SebKuzminsky in https://github.com/meshtastic/firmware/pull/8670\r\n* Fix build when MESHTASTIC_EXCLUDE_PKI is defined by @jasonbcox in https://github.com/meshtastic/firmware/pull/8698\r\n* Fix MenuHandler when MESHTASTIC_EXCLUDE_PKI is defined by @jasonbcox in https://github.com/meshtastic/firmware/pull/8701\r\n* Update protobufs and classes by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8707\r\n* Add Thinknode M6 by @caveman99 in https://github.com/meshtastic/firmware/pull/8705\r\n* Update Kongduino-Adafruit_nRFCrypto digest to 8cde718 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8708\r\n* Update actions/checkout action to v6 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8695\r\n* Add WisMesh Tag OCV array by @Avi0n in https://github.com/meshtastic/firmware/pull/8646\r\n* R1 Neo - Added OCV_ARRAY from measured discharge curve testing + update ADC multiplier by @simon-muzi in https://github.com/meshtastic/firmware/pull/8716\r\n* Log error if startReceive fails in LR11x0Interface by @jp-bennett in https://github.com/meshtastic/firmware/pull/8718\r\n* Tweak OCV_ARRAY 100% voltage to take into account charger hysteresis and voltage sag after charge by @simon-muzi in https://github.com/meshtastic/firmware/pull/8720\r\n* Thinknode M3 support against master by @jp-bennett in https://github.com/meshtastic/firmware/pull/8630\r\n* M6 leds by @jp-bennett in https://github.com/meshtastic/firmware/pull/8742\r\n* Further fix compass calibration by @jp-bennett in https://github.com/meshtastic/firmware/pull/8740\r\n* More quickly hide \"Shutting Down\" to prevent it showing on Eink sleep screen by @Xaositek in https://github.com/meshtastic/firmware/pull/8749\r\n* Prevent double-registering of Rotary Encoder on TLora Pager by @thebentern in https://github.com/meshtastic/firmware/pull/8746\r\n* 3401 fix by @caveman99 in https://github.com/meshtastic/firmware/pull/8755\r\n* Add support for muzi-base by @jp-bennett in https://github.com/meshtastic/firmware/pull/8753\r\n* Add requestFocus() in CannedMessages by @jp-bennett in https://github.com/meshtastic/firmware/pull/8770\r\n* Update Sensirion Core to v0.7.2 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8551\r\n* Update INA226 to v0.6.5 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8645\r\n* Update NonBlockingRTTTL to v1.4.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8541\r\n* Update platformio/ststm32 to v19.4.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8433\r\n* adding support for the ST7796 + creating a new variant of the T-beam by @Nasimovy in https://github.com/meshtastic/firmware/pull/6575\r\n* Correct vertical alignment for Muzi_Base on On Screen Keyboard by @Xaositek in https://github.com/meshtastic/firmware/pull/8774\r\n\r\n## New Contributors\r\n* @Avi0n made their first contribution in https://github.com/meshtastic/firmware/pull/8646\r\n* @simon-muzi made their first contribution in https://github.com/meshtastic/firmware/pull/8716\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.15.567b8ea...v2.7.16.a597230"
      },
      {
        "id": "v2.7.14.e959000",
        "title": "Meshtastic Firmware 2.7.14.e959000 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.14.e959000",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.14.e959000/firmware-esp32-2.7.14.e959000.zip",
        "release_notes": "## 🚀 What's Changed\r\n* Add the identification code for the DA217 triaxial accelerometer. by @Quency-D in https://github.com/meshtastic/firmware/pull/8526\r\n* fix strlcpy compile error in Ubuntu 22.04 by @mverch67 in https://github.com/meshtastic/firmware/pull/8520\r\n* Packaging: Add libbsd where needed by @vidplace7 in https://github.com/meshtastic/firmware/pull/8533\r\n* Add support for RAK_WISMESH_TAP_V2 and RAK3401 hardware models by @DanielCao0 in https://github.com/meshtastic/firmware/pull/8537\r\n* Fix: missing T-Deck Pro key '0' by @mverch67 in https://github.com/meshtastic/firmware/pull/8564\r\n* Store hop/mqtt/transport mechanism info in S&F by @weebl2000 in https://github.com/meshtastic/firmware/pull/8560\r\n* Reject legacy text message DMs by @jp-bennett in https://github.com/meshtastic/firmware/pull/8562\r\n* AddFromContact: Don't auto-favorite when `CLIENT_BASE`; don't update `last_heard` unless `CLIENT_BASE` by @compumike in https://github.com/meshtastic/firmware/pull/8495\r\n* Persist favourites on NodeDB reset by @ford-jones in https://github.com/meshtastic/firmware/pull/8292\r\n* Don't ack messages when mqtt client proxy is on but only uplink by @RCGV1 in https://github.com/meshtastic/firmware/pull/8578\r\n* Add API types, state, and log message in Debug screen. Added persistent \"Connected\" icon by @jp-bennett in https://github.com/meshtastic/firmware/pull/8576\r\n* Drop PKI acks if there is no downlink on MQTTClientProxy by @RCGV1 in https://github.com/meshtastic/firmware/pull/8580\r\n* Add the Heltec v4 expansion box. by @Quency-D in https://github.com/meshtastic/firmware/pull/8539\r\n* Update platform-native for WIFi lib fix by @jp-bennett in https://github.com/meshtastic/firmware/pull/8544\r\n* Reject legacy text message DMs by @jp-bennett in https://github.com/meshtastic/firmware/pull/8562\r\n* Bugfix: Don't toggle BLE when choosing active state by @jp-bennett in https://github.com/meshtastic/firmware/pull/8579\r\n* Try-fix traceroute panic by @thebentern in https://github.com/meshtastic/firmware/pull/8568\r\n* chore(deps): update meshtastic/device-ui digest to 28167c6 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8583\r\n* Only call stopNow if we're nagging by @thebentern in https://github.com/meshtastic/firmware/pull/8601\r\n\r\n## New Contributors\r\n* @l0g-lab made their first contribution in https://github.com/meshtastic/firmware/pull/7926\r\n* @dirkmueller made their first contribution in https://github.com/meshtastic/firmware/pull/8320\r\n* @steven52880 made their first contribution in https://github.com/meshtastic/firmware/pull/8330\r\n* @miketweaver made their first contribution in https://github.com/meshtastic/firmware/pull/8355\r\n* @Paplewski made their first contribution in https://github.com/meshtastic/firmware/pull/8362\r\n* @igorka48 made their first contribution in https://github.com/meshtastic/firmware/pull/8187\r\n* @korbinianbauer made their first contribution in https://github.com/meshtastic/firmware/pull/8432\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.12.45f15b8...v2.7.14.e959000"
      },
      {
        "id": "v2.7.13.597fa0b",
        "title": "Meshtastic Firmware 2.7.13.597fa0b Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.13.597fa0b",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.13.597fa0b/firmware-esp32-2.7.13.597fa0b.zip",
        "release_notes": "> [!IMPORTANT]\r\n> 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.\r\n\r\n> [!WARNING]\r\n> 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.\r\n\r\n##  🚀 What's Changed\r\n* Update python Docker tag to v3.14 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8255\r\n* fix: Move `#include \"variant.h\"` to top of file (fixes #8276) by @ndoo in https://github.com/meshtastic/firmware/pull/8278\r\n* Update meshtastic/device-ui digest to 6d8cc22 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8275\r\n* NimBLE speedup by @thebentern in https://github.com/meshtastic/firmware/pull/8281\r\n* Fix Station G2 Lora Power Settings by @fifieldt in https://github.com/meshtastic/firmware/pull/8273\r\n* chore(deps): update github/codeql-action action to v4 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8250\r\n* Fix BLE stateful issues by @thebentern in https://github.com/meshtastic/firmware/pull/8287\r\n* Attach an interrupt to EXT_PWR_DETECT if present, and force a screen … by @jp-bennett in https://github.com/meshtastic/firmware/pull/8284\r\n* Update XPowersLib to v0.3.1 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8303\r\n* Bump release version by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8304\r\n* Double the number of bluetooth bonds NimBLE will store (from 3 to 6) by @thebentern in https://github.com/meshtastic/firmware/pull/8296\r\n* mDNS: Advertise pio_env (for OTA scripts) by @vidplace7 in https://github.com/meshtastic/firmware/pull/8298\r\n* Master to develop by @jp-bennett in https://github.com/meshtastic/firmware/pull/8306\r\n* Actions: CI docker with a fancy matrix by @vidplace7 in https://github.com/meshtastic/firmware/pull/8253\r\n* GPS_POWER_TOGGLE no longer has a function, so purge by @jp-bennett in https://github.com/meshtastic/firmware/pull/8312\r\n* Update protobufs and classes by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8305\r\n* Remove T1000E GPS startup delay sequence by @fifieldt in https://github.com/meshtastic/firmware/pull/8236\r\n* Increase bluetooth 5.0 PHY speed and MTU on esp32_s3 by @h3lix1 in https://github.com/meshtastic/firmware/pull/8261\r\n* More BaseUI Frame Visibility Toggles by @Xaositek in https://github.com/meshtastic/firmware/pull/8252\r\n* Device Telemetry opt in by @thebentern in https://github.com/meshtastic/firmware/pull/8059\r\n* Fix muted protobuf compile errors by @thebentern in https://github.com/meshtastic/firmware/pull/8316\r\n* Master backmerge by @thebentern in https://github.com/meshtastic/firmware/pull/8317\r\n* chore(deps): update meshtastic/device-ui digest to 3fb7c0e by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8291\r\n* Nodelist: choice of long or short name by @l0g-lab in https://github.com/meshtastic/firmware/pull/7926\r\n* Ble reconnect prefetch bug fix, plus some speed enhancements by @h3lix1 in https://github.com/meshtastic/firmware/pull/8324\r\n* Avoid exceeding allocated buffers when doing MQTT proxying by @dirkmueller in https://github.com/meshtastic/firmware/pull/8320\r\n* Fix erroneous limiting of power in Ham Mode by @fifieldt in https://github.com/meshtastic/firmware/pull/8322\r\n* Fix bug: can not detect battery status while using INA226 by @steven52880 in https://github.com/meshtastic/firmware/pull/8330\r\n* rework sensor instantiation to saves memory by removing the static allocation by @Links2004 in https://github.com/meshtastic/firmware/pull/8054\r\n* Fix multitude of warnings during builds on MeshTiny by @Xaositek in https://github.com/meshtastic/firmware/pull/8331\r\n* Fix multitude of warnings during builds on MeshTiny by @Xaositek in https://github.com/meshtastic/firmware/pull/8331\r\n* Revert \"Fix Station G2 Lora Power Settings\" by @thebentern in https://github.com/meshtastic/firmware/pull/8332\r\n* Develop to master merge by @thebentern in https://github.com/meshtastic/firmware/pull/8337\r\n* Update stale_bot.yml by @NomDeTom in https://github.com/meshtastic/firmware/pull/8333\r\n* Update meshtastic/device-ui digest to 19b7855 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8346\r\n* Add a general-purpose packet cache by @erayd in https://github.com/meshtastic/firmware/pull/8341\r\n* Guarding PhoneAPI node-info staging with mutex to prevent BLE future foot-gun by @h3lix1 in https://github.com/meshtastic/firmware/pull/8354\r\n* Fix portduino native builds by @miketweaver in https://github.com/meshtastic/firmware/pull/8355\r\n* Log the lora frequency error when receiving a packet. by @jp-bennett in https://github.com/meshtastic/firmware/pull/8343\r\n* Bind python version to 3.13 by @Paplewski in https://github.com/meshtastic/firmware/pull/8362\r\n* Update actions/setup-node action to v6 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8339\r\n* Upgrade trunk by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8340\r\n* Ignore MQTT Client Proxy messages while not in sendpackets state by @thebentern in https://github.com/meshtastic/firmware/pull/8358\r\n* Force CannedMessages to another node to be a PKI DM by @jp-bennett in https://github.com/meshtastic/firmware/pull/8373\r\n* Update meshtastic/web to v2.6.7 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8381\r\n* Update DFRobot_RTU to v1.0.6 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8387\r\n* Update mcr.microsoft.com/devcontainers/cpp Docker tag to v2 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8375\r\n* Board support:  RAK3401+RAK13302 1-watt  by @DanielCao0 in https://github.com/meshtastic/firmware/pull/8140\r\n* Fixed battery voltage to show missing decimals by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8386\r\n* Gating off BaseUI code for Screenless nodes and InkHUD by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8384\r\n* Added support for SugarCube device by @igorka48 in https://github.com/meshtastic/firmware/pull/8187\r\n* Fix NimbleBluetooth reliability and performance by @compumike in https://github.com/meshtastic/firmware/pull/8385\r\n* Add a banner on startup when DEBUG_MUTE is enabled by @Stary2001 in https://github.com/meshtastic/firmware/pull/8402\r\n* Remove \"Phone GPS\" in order to correct GPS reporting by @Xaositek in https://github.com/meshtastic/firmware/pull/8407\r\n* Fix NimbleBluetooth: process fromPhoneQueue (phone->radio) before toPhoneQueue (radio->phone) by @compumike in https://github.com/meshtastic/firmware/pull/8404\r\n* Make packet pool dynamic again on STM32 as a workaround by @Stary2001 in https://github.com/meshtastic/firmware/pull/8400\r\n* InkHUD Map improvements by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8397\r\n* Include RSSI in rangetest csv by @ford-jones in https://github.com/meshtastic/firmware/pull/8395\r\n* Move airtime calculation to when Tx is complete by @GUVWAF in https://github.com/meshtastic/firmware/pull/8427\r\n* Upgrade trunk by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8369\r\n* Allow vibra or buzzer only notifications to obey cutoff by @Xaositek in https://github.com/meshtastic/firmware/pull/8342\r\n* Don't use unsigned integer type for negative SNR value by @korbinianbauer in https://github.com/meshtastic/firmware/pull/8432\r\n* InkHUD crash fix when nodes get deleted from NodeDB by @HarukiToreda in https://github.com/meshtastic/firmware/pull/8428\r\n* Address longName wrapping by @Xaositek in https://github.com/meshtastic/firmware/pull/8441\r\n* Update node to v24 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8476\r\n* Turn the e-ink backlight on for any brightness value over 0 by @jp-bennett in https://github.com/meshtastic/firmware/pull/8481\r\n* Add missed debug log line in RF95 Interface by @jp-bennett in https://github.com/meshtastic/firmware/pull/8490\r\n* Thinknode M5 ADC_MULTIPLIER to actually hit 100% charge by @jp-bennett in https://github.com/meshtastic/firmware/pull/8489\r\n* Better implementation of ExternalNotificationModule::stopNow by @Xaositek in https://github.com/meshtastic/firmware/pull/8492\r\n* Skip setting up Lora GPIO lines when using a ch341 radio on native by @jp-bennett in https://github.com/meshtastic/firmware/pull/8506\r\n* Fix boot on RP2040 by excluding new FreeRTOS task by @GUVWAF in https://github.com/meshtastic/firmware/pull/8508\r\n* Fix dismiss of ext. notification by @thebentern in https://github.com/meshtastic/firmware/pull/8512\r\n* Update device-install.sh to support heltec-v4 by @Melonbwead in https://github.com/meshtastic/firmware/pull/8509\r\n\r\n## New Contributors\r\n* @l0g-lab made their first contribution in https://github.com/meshtastic/firmware/pull/7926\r\n* @dirkmueller made their first contribution in https://github.com/meshtastic/firmware/pull/8320\r\n* @steven52880 made their first contribution in https://github.com/meshtastic/firmware/pull/8330\r\n* @miketweaver made their first contribution in https://github.com/meshtastic/firmware/pull/8355\r\n* @Paplewski made their first contribution in https://github.com/meshtastic/firmware/pull/8362\r\n* @igorka48 made their first contribution in https://github.com/meshtastic/firmware/pull/8187\r\n* @korbinianbauer made their first contribution in https://github.com/meshtastic/firmware/pull/8432\r\n* @Ixitxachitl made their first contribution in https://github.com/meshtastic/firmware/pull/8493\r\n* @mariusfaber98 made their first contribution in https://github.com/meshtastic/firmware/pull/8349\r\n* @shortwavesurfer2009 made their first contribution in https://github.com/meshtastic/firmware/pull/8137\r\n* @pa0lin082 made their first contribution in https://github.com/meshtastic/firmware/pull/8376\r\n* @Xavierhorwood made their first contribution in https://github.com/meshtastic/firmware/pull/6866\r\n* @Melonbwead made their first contribution in https://github.com/meshtastic/firmware/pull/8509\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.12.45f15b8...v2.7.13.597fa0b"
      },
      {
        "id": "v2.7.11.ee68575",
        "title": "Meshtastic Firmware 2.7.11.ee68575 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.11.ee68575",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.11.ee68575/firmware-esp32-2.7.11.ee68575.zip",
        "release_notes": "> [!IMPORTANT]\r\nDue 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.\r\n\r\n> [!WARNING]\r\nRepeater role has been deprecated in this release and going forward.\r\n\r\n## 🚀  What's Changed\r\n* On screen keyboard by @thebentern in https://github.com/meshtastic/firmware/pull/7705\r\n* Update meshtastic/device-ui digest to 0f32b64 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7723\r\n* Update caveman99-stm32-Crypto digest to 1aa30eb by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7725\r\n* Renovate: Always use `master` as the base. by @vidplace7 in https://github.com/meshtastic/firmware/pull/7726\r\n* Add more text message test cases for meshpacket serializer by @TN666 in https://github.com/meshtastic/firmware/pull/7709\r\n* Reduce power of EU433 to 10dBm by @fifieldt in https://github.com/meshtastic/firmware/pull/7733\r\n* Backmerge to develop by @thebentern in https://github.com/meshtastic/firmware/pull/7744\r\n* Log more information about ignored packet by @notmasteryet in https://github.com/meshtastic/firmware/pull/7718\r\n* Setup ESP32 PM-specific capability flags by @m1nl in https://github.com/meshtastic/firmware/pull/7747\r\n* Add more test case for encrypted packet test by @TN666 in https://github.com/meshtastic/firmware/pull/7745\r\n* Backmerge by @thebentern in https://github.com/meshtastic/firmware/pull/7773\r\n* Bump release version by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/7777\r\n* BaseUI Show/Hide Frame Functionality by @Xaositek in https://github.com/meshtastic/firmware/pull/7382\r\n* We don't gotTime if time is 2019. by @fifieldt in https://github.com/meshtastic/firmware/pull/7772\r\n* Add On-Screen Keyboard for UpDown Encoder and Rotary Encoder. by @whywilson in https://github.com/meshtastic/firmware/pull/7762\r\n* Fix InputEvent variable usage with out initialization (random key events while using rotery encoder) by @Links2004 in https://github.com/meshtastic/firmware/pull/8015\r\n* Allow Left / Right Events for selection and improve encoder responsives by @Links2004 in https://github.com/meshtastic/firmware/pull/8016\r\n* Fix build fail on develop branch by @WillyJL in https://github.com/meshtastic/firmware/pull/8043\r\n* Fix more build failures by @WillyJL in https://github.com/meshtastic/firmware/pull/8044\r\n* Fix build with HAS_TELEMETRY 0 by @Links2004 in https://github.com/meshtastic/firmware/pull/8051\r\n* Move HTTP contentTypes to Flash - saves 768 Bytes of RAM by @Links2004 in https://github.com/meshtastic/firmware/pull/8055\r\n* Fix: use `lora.use_preset` config to get name by @GUVWAF in https://github.com/meshtastic/firmware/pull/8057\r\n* Resolve many warnings for BaseUI during builds by @Xaositek in https://github.com/meshtastic/firmware/pull/8063\r\n* Fix Rotary Encoder Button by @Links2004 in https://github.com/meshtastic/firmware/pull/8001\r\n* Add another seeed_xiao_nrf52840_kit build environment for I2C pinout by @NomDeTom in https://github.com/meshtastic/firmware/pull/8036\r\n* Add heltec_v4 board. by @Quency-D in https://github.com/meshtastic/firmware/pull/7845\r\n* Fix build errors by @Xaositek in https://github.com/meshtastic/firmware/pull/8067\r\n* Introduce Radio Preset elections through BaseUI by @Xaositek in https://github.com/meshtastic/firmware/pull/8071\r\n* Allow label enforcement job to run on self-hosted runners by @fifieldt in https://github.com/meshtastic/firmware/pull/7909\r\n* Bump release version by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8100\r\n* Upgrade trunk by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/8094\r\n* Add three expansion screens for heltec mesh solar. by @Quency-D in https://github.com/meshtastic/firmware/pull/7995\r\n* Update Adafruit BusIO to v1.17.4 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8098\r\n* Fix 2.4GHz reconfiguration on LR11xx by @Stary2001 in https://github.com/meshtastic/firmware/pull/8102\r\n* Feat/0-cost hops for favorite routers by @h3lix1 in https://github.com/meshtastic/firmware/pull/7992\r\n* If a packet is heard multiple times, rebroadcast using the highest hop limit by @erayd in https://github.com/meshtastic/firmware/pull/5534\r\n* Make sure next-hop is only set when they received us directly by @GUVWAF in https://github.com/meshtastic/firmware/pull/8053\r\n* Reduce cpu load by optimizing OSThread runOnce calls by @Links2004 in https://github.com/meshtastic/firmware/pull/8101\r\n* Correct inverted mute icon by @Xaositek in https://github.com/meshtastic/firmware/pull/8111\r\n* BaseUI - Saving GPS Format changes are required by @Xaositek in https://github.com/meshtastic/firmware/pull/8122\r\n* Properly output the TCXO Voltage in yaml by @jp-bennett in https://github.com/meshtastic/firmware/pull/8128\r\n* I2S: Fix silent RTTTL regression by @WillyJL in https://github.com/meshtastic/firmware/pull/8129\r\n* Revert cross-preset default-key bridging with UDP and disable UDP by default by @thebentern in https://github.com/meshtastic/firmware/pull/8130\r\n* Develop --> Master by @fifieldt in https://github.com/meshtastic/firmware/pull/8110\r\n* Range-test: Clean on reboot by @ford-jones in https://github.com/meshtastic/firmware/pull/7703\r\n* UIRenderer: display \"No GPS present\" only on the first line to avoid duplication  by @plashchynski in https://github.com/meshtastic/firmware/pull/8136\r\n* Remove memcpy by @dfsx1 in https://github.com/meshtastic/firmware/pull/8079\r\n* Correct altitudeLine getting clobbered in the great merge by @Xaositek in https://github.com/meshtastic/firmware/pull/8138\r\n* Bug / Send upgraded (duplicate) packets to phone if the queue removal failed. by @h3lix1 in https://github.com/meshtastic/firmware/pull/8148\r\n* Validate CR and SF lora config by @thebentern in https://github.com/meshtastic/firmware/pull/8146\r\n* Finish deprecating the Repeater role behavior by @thebentern in https://github.com/meshtastic/firmware/pull/8144\r\n* Fix Heltec V3 missed button presses by @thebentern in https://github.com/meshtastic/firmware/pull/8167\r\n\r\n## New Contributors\r\n* @h3lix1 made their first contribution in https://github.com/meshtastic/firmware/pull/7992\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.10.94d4bdf...v2.7.11.ee68575"
      },
      {
        "id": "v2.7.10.94d4bdf",
        "title": "Meshtastic Firmware 2.7.10.94d4bdf Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.10.94d4bdf",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.10.94d4bdf/firmware-esp32-2.7.10.94d4bdf.zip",
        "release_notes": "## 🚀  What's Changed\r\n\r\n- BaseUI Show/Hide Frame Functionality by @Xaositek in https://github.com/meshtastic/firmware/pull/7382\r\n- Feature: Seamless Cross-Preset Communication via UDP Multicast Bridging by @ViezeVingertjes in https://github.com/meshtastic/firmware/pull/7753\r\n- Add CLIENT_BASE role: ROUTER for favorites, CLIENT otherwise (for attic/roof nodes!) by @compumike in https://github.com/meshtastic/firmware/pull/7873\r\n- Added Last Coordinate counter to Position screen by @HarukiToreda in https://github.com/meshtastic/firmware/pull/7865\r\n- Phone GPS display on Position Screen for BaseUI by @HarukiToreda in https://github.com/meshtastic/firmware/pull/7875\r\n- Add formatting and menu picking for other GPS format options by @Xaositek in https://github.com/meshtastic/firmware/pull/7974\r\n- Add RAK WisMesh Tap V2 (ESP32S3) Hardware Variant by @DanielCao0 in https://github.com/meshtastic/firmware/pull/7741\r\n- Add support for the Challenger rp2040 lora by @samuel-duffield1 in https://github.com/meshtastic/firmware/pull/7826\r\n- Add support for the RV-3028 on native Linux by @jp-bennett in https://github.com/meshtastic/firmware/pull/7802\r\n- T-Lora Pager: Support LR1121 and SX1280 models by @WillyJL in https://github.com/meshtastic/firmware/pull/7956\r\n- Add another seeed_xiao_nrf52840_kit build environment for I2C pinout by @NomDeTom in https://github.com/meshtastic/firmware/pull/8036\r\n- Add heltec_v4 board. by @Quency-D in https://github.com/meshtastic/firmware/pull/7845\r\n- C6l fixes by @jp-bennett in https://github.com/meshtastic/firmware/pull/8047\r\n- Add TSL2561 sensor by @davide125 in https://github.com/meshtastic/firmware/pull/7675\r\n- Add a new GPS model CM121. by @Quency-D in https://github.com/meshtastic/firmware/pull/7852\r\n- Make ExternalNotification show up in excluded_modules, more STM32 modules by @Stary2001 in https://github.com/meshtastic/firmware/pull/7797\r\n- Enable bmx160 on native by @jp-bennett in https://github.com/meshtastic/firmware/pull/7844\r\n- Fix memory leak in NRF52Bluetooth: allocate BluetoothStatus on stack, not heap by @compumike in https://github.com/meshtastic/firmware/pull/7965\r\n- Fix memory leak in NimbleBluetooth: allocate BluetoothStatus on stack, not heap by @compumike in https://github.com/meshtastic/firmware/pull/7964\r\n- Fix GPS gm_mktime memory leak by @compumike in https://github.com/meshtastic/firmware/pull/7981\r\n- Fix INA3221 higher current wrong readings by @macvenez in https://github.com/meshtastic/firmware/pull/7607\r\n- Fix InputEvent variable usage with out initialization (random key events while using rotery encoder) by @Links2004 in https://github.com/meshtastic/firmware/pull/8015\r\n- Fix Rotary Encoder Button by @Links2004 in https://github.com/meshtastic/firmware/pull/8001\r\n- Fix date display to be upper right bound by @Xaositek in https://github.com/meshtastic/firmware/pull/7876\r\n- Fix excluded modules configuration handling by @capricornusx in https://github.com/meshtastic/firmware/pull/7838\r\n- Fix build error in rak_wismesh_tap_v2 by @fifieldt in https://github.com/meshtastic/firmware/pull/7905\r\n- Fix build fail on develop branch by @WillyJL in https://github.com/meshtastic/firmware/pull/8043\r\n- Fix more build failures by @WillyJL in https://github.com/meshtastic/firmware/pull/8044\r\n- Fix last build issues on develop by @WillyJL in https://github.com/meshtastic/firmware/pull/8046\r\n- Fix build errors by @Xaositek in https://github.com/meshtastic/firmware/pull/8067\r\n- fix build with HAS_TELEMETRY 0 by @Links2004 in https://github.com/meshtastic/firmware/pull/8051\r\n- Fix device-install.bat baud rate by @fifieldt in https://github.com/meshtastic/firmware/pull/7816\r\n- Fix: use lora.use_preset config to get name by @GUVWAF in https://github.com/meshtastic/firmware/pull/8057\r\n- Show GPS Date properly in drawCommonHeader by @Xaositek in https://github.com/meshtastic/firmware/pull/7887\r\n- Make sure to ACK ACKs/replies if next-hop routing is used by @GUVWAF in https://github.com/meshtastic/firmware/pull/8052\r\n- Only stop retransmissions when receiving implicit ACK over LoRa by @GUVWAF in https://github.com/meshtastic/firmware/pull/7872\r\n- Allow Left / Right Events for selection and improve encoder responsives by @Links2004 in https://github.com/meshtastic/firmware/pull/8016\r\n- If usePreset is False, show value as Custom. by @Xaositek in https://github.com/meshtastic/firmware/pull/7812\r\n- (resubmission) Manual GitHub actions to allow building one target or arch by @NomDeTom in https://github.com/meshtastic/firmware/pull/7997\r\n- When DEBUG_HEAP is defined, add free heap bytes to every log line in RedirectablePrint::log_to_serial by @compumike in https://github.com/meshtastic/firmware/pull/8004\r\n- Setup ESP32 PM-specific capability flags by @m1nl in https://github.com/meshtastic/firmware/pull/7747\r\n- move HTTP contentTypes to Flash - saves 768 Bytes of RAM by @Links2004 in https://github.com/meshtastic/firmware/pull/8055\r\n- Portduino config refactor by @jp-bennett in https://github.com/meshtastic/firmware/pull/7796\r\n- Add BUILD_EPOCH to latest setup step. by @fifieldt in https://github.com/meshtastic/firmware/pull/7894\r\n- updated shebang to use a more standard path for bash in flashing scripts. by @vtrenton in https://github.com/meshtastic/firmware/pull/7922\r\n- Update RadioLib to v7.3.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/8065\r\n- Update Protobuf usage, add MLS, fix clock by @Xaositek in https://github.com/meshtastic/firmware/pull/8041\r\n- Portduino bump to fix gpiod bug by @jp-bennett in https://github.com/meshtastic/firmware/pull/8083\r\n- Ext notification fix (handle ringtone operations even when module is not enabled) by @thebentern in https://github.com/meshtastic/firmware/pull/8089\r\n- tlora-pager wake on button, and kb backlight toggling by @jp-bennett in https://github.com/meshtastic/firmware/pull/8090\r\n- Try-fix: Unstick that PhoneAPI state by @thebentern in https://github.com/meshtastic/firmware/pull/8091\r\n- Also pull a deviceID from esp32c6 devices by @jp-bennett in https://github.com/meshtastic/firmware/pull/8092\r\n- Clear last toradio on BLE disconnect by @thebentern in https://github.com/meshtastic/firmware/pull/8095\r\n\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.9.70724be...v2.7.10.94d4bdf"
      },
      {
        "id": "v2.7.9.70724be",
        "title": "Meshtastic Firmware 2.7.9.70724be Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.9.70724be",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.9.70724be/firmware-esp32-2.7.9.70724be.zip",
        "release_notes": "## 🚀  What's Changed\r\n* Add support for new ESP32 DIY variant 9m2ibr_aprs_lora_tracker by @ndoo in https://github.com/meshtastic/firmware/pull/7828\r\n* T-Lora Pager: Fix keyboard and improve rotary wheel haptic by @mverch67 in https://github.com/meshtastic/firmware/pull/7869\r\n* Fix esptool detection and baud rate issues in Windows batch scripts by @jeremiah-k in https://github.com/meshtastic/firmware/pull/7856\r\n* Upon receiving ACK/reply directly, only update next-hop if we’re the *sole* relayer by @GUVWAF in https://github.com/meshtastic/firmware/pull/7859\r\n* Fix merge conflict with test changes by @fifieldt in https://github.com/meshtastic/firmware/pull/7902\r\n* Fix: RotaryEncoder uninitialized kbchar by @mverch67 in https://github.com/meshtastic/firmware/pull/7889\r\n* Chore(deps): update meshtastic/device-ui digest to 233d18e by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7890\r\n* Reorganize 8MB partition for MUI devices by @mverch67 in https://github.com/meshtastic/firmware/pull/7860\r\n* Chore(deps): update meshtastic/device-ui digest to 3677476 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7925\r\n* Disable ATAK Plugin module for non-TAK roles by @thebentern in https://github.com/meshtastic/firmware/pull/7928\r\n* Use char buffer for probeResponse by @thebentern in https://github.com/meshtastic/firmware/pull/7870\r\n* Make phone queues use a static pointer queue by @thebentern in https://github.com/meshtastic/firmware/pull/7919\r\n* Add LOG_HEAP log type, and more heap debug messages by @jp-bennett in https://github.com/meshtastic/firmware/pull/7937\r\n* Unify build epoch to add flag in platformio-custom.py by @thebentern in https://github.com/meshtastic/firmware/pull/7917\r\n* Put guards in place around debug heap operations by @thebentern in https://github.com/meshtastic/firmware/pull/7955\r\n* Static memory pool allocation by @thebentern in https://github.com/meshtastic/firmware/pull/7966\r\n* Update meshtastic-esp8266-oled-ssd1306 digest to 0cbc26b by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7977\r\n* Fix json report crashes on esp32 by @thebentern in https://github.com/meshtastic/firmware/pull/7978\r\n* Scale probe buffer size based on current baud rate by @thebentern in https://github.com/meshtastic/firmware/pull/7975\r\n* Fix overflow of time value by @thebentern in https://github.com/meshtastic/firmware/pull/7984\r\n\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.8.a0c0388...v2.7.9.70724be"
      },
      {
        "id": "v2.7.7.5ae4ff9",
        "title": "Meshtastic Firmware 2.7.7.5ae4ff9 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.7.5ae4ff9",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.7.5ae4ff9/firmware-esp32-2.7.7.5ae4ff9.zip",
        "release_notes": "## What's Changed\r\n* Only send Neighbours if we have some to send. by @fifieldt in https://github.com/meshtastic/firmware/pull/7493\r\n* Fix freetext hang by @thebentern in https://github.com/meshtastic/firmware/pull/7781\r\n* Update protobufs and classes by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/7784\r\n* We don't gotTime if time is 2019. by @fifieldt in https://github.com/meshtastic/firmware/pull/7772\r\n* Can't trust RTCs to tell the time. by @fifieldt in https://github.com/meshtastic/firmware/pull/7779\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.6.834c3c5...v2.7.7.5ae4ff9"
      },
      {
        "id": "v2.7.6.834c3c5",
        "title": "Meshtastic Firmware 2.7.6.834c3c5 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.6.834c3c5",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.6.834c3c5/firmware-esp32-2.7.6.834c3c5.zip",
        "release_notes": "##  🚀 Enhancements\r\n* Add onboard message for devices with screens by @jp-bennett in https://github.com/meshtastic/firmware/pull/7655\r\n* Only gate PKC behind the simradio CLI flag by @jp-bennett in https://github.com/meshtastic/firmware/pull/7681\r\n* Add SDL option to BaseUI on Native by @jp-bennett in https://github.com/meshtastic/firmware/pull/7568\r\n* Initial stab at rak6421 autoconf by @jp-bennett in https://github.com/meshtastic/firmware/pull/7691\r\n* Update meshtastic/device-ui digest to 3dc7cf3 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7698\r\n* Support for T-Echo Lite, credits to @Szetya for doing all the heavy lifting! by @caveman99 in https://github.com/meshtastic/firmware/pull/7636\r\n* Add more text message test cases for meshpacket serializer by @TN666 in https://github.com/meshtastic/firmware/pull/7709\r\n* Initial attempt to get rfswitch working on Portduino by @jp-bennett in https://github.com/meshtastic/firmware/pull/7663\r\n* Don't update the NodeDB if the nodeinfo has a mismatching public key by @jp-bennett in https://github.com/meshtastic/firmware/pull/7652\r\n* Add BaseUI support for L1 EInk by @thebentern in https://github.com/meshtastic/firmware/pull/7751\r\n* Mesh solar integration by @thebentern in https://github.com/meshtastic/firmware/pull/7764\r\n\r\n## 🐛  Bug fixes and maintenance\r\n* Fix 'buildroot' compiles (OpenWRT) by @vidplace7 in https://github.com/meshtastic/firmware/pull/7620\r\n* Fix: apply 180 degree hw rotation for Indicator BaseUI by @mverch67 in https://github.com/meshtastic/firmware/pull/7660\r\n* Update platform-native digest to cd32f4e by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7662\r\n* Move heartbeat response before !available guard. by @jake-b in https://github.com/meshtastic/firmware/pull/7672\r\n* Docker: fix web assets location by @vidplace7 in https://github.com/meshtastic/firmware/pull/7683\r\n* Update meshtastic-esp8266-oled-ssd1306 diges\r\n* Docker: Update Debian images to trixie by @vidplace7 in https://github.com/meshtastic/firmware/pull/7621\r\n* Fix Tracerouter warnings by @thebentern in https://github.com/meshtastic/firmware/pull/7637\r\n* Don't include OLED fonts for international character sets by default by @thebentern in https://github.com/meshtastic/firmware/pull/7639\r\n* Fix marking LoRa transport mechanism by @GUVWAF in https://github.com/meshtastic/firmware/pull/7634\r\n* Thinknode button and backlight fixes by @jp-bennett in https://github.com/meshtastic/firmware/pull/7641\r\n* Update protobufs and classes by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/7647\r\n* Remove JSON serialization from most NRF52 targets by @thebentern in https://github.com/meshtastic/firmware/pull/7640\r\n* Wait for lead up before enable longlong action by @jp-bennett in https://github.com/meshtastic/firmware/pull/7648\r\nt to 9573abb by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7686\r\n* Update meshtastic/device-ui digest to 8f5094b by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7633\r\n* Update caveman99-stm32-Crypto digest to 1aa30eb by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7725\r\n* Renovate: Always use `master` as the base. by @vidplace7 in https://github.com/meshtastic/firmware/pull/7726\r\n* PKC fix by @jp-bennett in https://github.com/meshtastic/firmware/pull/7722\r\n* T-Lora Pager by @mverch67 in https://github.com/meshtastic/firmware/pull/7613\r\n* Fix: enable device telemetry for elecrow advanced series (MUI) by @mverch67 in https://github.com/meshtastic/firmware/pull/7757\r\n* Don't use pin 0 on RAK for input by @jp-bennett in https://github.com/meshtastic/firmware/pull/7755\r\n* Update meshtastic/device-ui digest to a3e0e1b by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7766\r\n\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.5.ddd1499...v2.7.6.834c3c5"
      },
      {
        "id": "v2.7.5.ddd1499",
        "title": "Meshtastic Firmware 2.7.5.ddd1499 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.5.ddd1499",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.5.ddd1499/firmware-esp32-2.7.5.ddd1499.zip",
        "release_notes": "\r\n## 🚀  What's Changed\r\n* Reorder for correct recognition by @caveman99 in https://github.com/meshtastic/firmware/pull/7604\r\n* Stop the bleeding with malicious NodeDB overwrites by @jp-bennett in https://github.com/meshtastic/firmware/pull/7596\r\n* Chore(deps): update actions/checkout action to v5 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7605\r\n* Mark meshPackets based on which interface received. by @jp-bennett in https://github.com/meshtastic/firmware/pull/7589\r\n* chore(deps): update actions/download-artifact action to v5 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7559\r\n* Adding  medium and large RU fonts. Fixing RU string width calculation by @mrekin in https://github.com/meshtastic/firmware/pull/7498\r\n* nRF52840 promicro deepsleep fix with some additions by @MagnusKos in https://github.com/meshtastic/firmware/pull/7407\r\n* More spoof remediation by @jp-bennett in https://github.com/meshtastic/firmware/pull/7612\r\n\r\n## New Contributors\r\n* @MagnusKos made their first contribution in https://github.com/meshtastic/firmware/pull/7407\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.4.c1f4f79...v2.7.5.ddd1499"
      },
      {
        "id": "v2.7.4.c1f4f79",
        "title": "Meshtastic Firmware 2.7.4.c1f4f79 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.4.c1f4f79",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.4.c1f4f79/firmware-esp32-2.7.4.c1f4f79.zip",
        "release_notes": "## 🚀 Enhancements\r\n* Unify the shutdown proceedure by @jp-bennett in https://github.com/meshtastic/firmware/pull/7393\r\n* T-Deck Pro support by @mverch67 in https://github.com/meshtastic/firmware/pull/6936\r\n* Text message rate limiting should return routing error instead by @thebentern in https://github.com/meshtastic/firmware/pull/7365\r\n* WashTastic variant by @valzzu in https://github.com/meshtastic/firmware/pull/7450\r\n* Set canned_message.enabled to true when setting defaults by @jp-bennett in https://github.com/meshtastic/firmware/pull/7414\r\n* Add Trace Route on BaseUI by @whywilson in https://github.com/meshtastic/firmware/pull/7386\r\n* Add BRT3 timezone option to TZPicker menu by @barbabarros in https://github.com/meshtastic/firmware/pull/7438\r\n* Set firmware edition (for events) from userprefs by @thebentern in https://github.com/meshtastic/firmware/pull/7488\r\n* Heartbeat response by @thebentern in https://github.com/meshtastic/firmware/pull/7506\r\n* Airoha GPS - ignore estimated fixes by @fifieldt in https://github.com/meshtastic/firmware/pull/7429\r\n* [7353] Add all telemetry fields to json output by @rradillen in https://github.com/meshtastic/firmware/pull/7363\r\n* Event mode - limit smart position updates to at most every 5m by @powersjcb in https://github.com/meshtastic/firmware/pull/7505\r\n* Move BLE toggle menu option and add confirmation for canned messages in L1 by @thebentern in https://github.com/meshtastic/firmware/pull/7516\r\n* Initial support for the ThinkNode M5 by @jp-bennett in https://github.com/meshtastic/firmware/pull/7502\r\n\r\n## 🐛 Bug fixes and maintenace\r\n* ESP32: Initial sort variants by platform by @vidplace7 in https://github.com/meshtastic/firmware/pull/7340\r\n* ESP32c3: Migrate variants to new structure by @vidplace7 in https://github.com/meshtastic/firmware/pull/7342\r\n* Misc cppcheck fixes by @jp-bennett in https://github.com/meshtastic/firmware/pull/7370\r\n* RP2040/RP2350: Migrate variants to new structure by @vidplace7 in https://github.com/meshtastic/firmware/pull/7345\r\n* STM32: Migrate variants to new structure by @vidplace7 in https://github.com/meshtastic/firmware/pull/7389\r\n* UDP for RAK4631 Eth Gw and the t-eth-elite. Solves #7149 by @caveman99 in https://github.com/meshtastic/firmware/pull/7385\r\n* Restore High Resolution Hour Hand by @Xaositek in https://github.com/meshtastic/firmware/pull/7392\r\n* Fix UDP builds on nRF by @caveman99 in https://github.com/meshtastic/firmware/pull/7394\r\n* ESP32s3: Migrate variants to new structure by @vidplace7 in https://github.com/meshtastic/firmware/pull/7343\r\n* ARCH_STM32*WL* by @vidplace7 in https://github.com/meshtastic/firmware/pull/7397\r\n* Actions: pull_request_target is fun by @vidplace7 in https://github.com/meshtastic/firmware/pull/7398\r\n* Renovate: Use github-tags for XPowersLib updates by @vidplace7 in https://github.com/meshtastic/firmware/pull/7411\r\n* nRF52840: Migrate variants to new structure by @vidplace7 in https://github.com/meshtastic/firmware/pull/7396\r\n* Migrate remaining variants to new dir structure by @vidplace7 in https://github.com/meshtastic/firmware/pull/7412\r\n* Moves the shutdown thread into the Power class, make shutdown and reboot private by @jp-bennett in https://github.com/meshtastic/firmware/pull/7415\r\n* Upgrade trunk by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/7420\r\n* Add a verbose mode flag to meshtasticd by @jp-bennett in https://github.com/meshtastic/firmware/pull/7416\r\n* Update protobufs and classes by @github-actions[bot] in https://github.com/meshtastic/firmware/pull/7422\r\n* AG3335 GPS: Use NAVIC in India/Nepal, L1+L5 elsewhere. by @fifieldt in https://github.com/meshtastic/firmware/pull/7413\r\n* Use platformio-core to build the matrix by @vidplace7 in https://github.com/meshtastic/firmware/pull/7424\r\n* Deprecate disable_triple_click config by @jp-bennett in https://github.com/meshtastic/firmware/pull/7425\r\n* Update meshtastic/device-ui digest to c75d545 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7435\r\n* Add Nepal 865 MHz to 868 MHz by @WOD-MN in https://github.com/meshtastic/firmware/pull/7380\r\n* Add BR_902, Brazil 902MHz-907.5MHz by @fifieldt in https://github.com/meshtastic/firmware/pull/7399\r\n* Add NP_865 and BR_902 to region picker by @barbabarros in https://github.com/meshtastic/firmware/pull/7434\r\n* Actions: Combine embedded builds // split by variant subdir by @vidplace7 in https://github.com/meshtastic/firmware/pull/7417\r\n* Take control of our PRs! by @vidplace7 in https://github.com/meshtastic/firmware/pull/7445\r\n* Fix timezone definition for UTC in TZPicker function by @barbabarros in https://github.com/meshtastic/firmware/pull/7442\r\n* Fix MHz label by @Xaositek in https://github.com/meshtastic/firmware/pull/7455\r\n* Build RP2350 (Pi Pico 2) by @vidplace7 in https://github.com/meshtastic/firmware/pull/7441\r\n* Actions: Enforce PR labels by @vidplace7 in https://github.com/meshtastic/firmware/pull/7379\r\n* Rename Platformio.ini to platformio.ini | WashTastic by @valzzu in https://github.com/meshtastic/firmware/pull/7468\r\n* Fix MQTT config bugs by @thebentern in https://github.com/meshtastic/firmware/pull/7446\r\n* Clear position on GPS deactivation, unless using fixed position by @fifieldt in https://github.com/meshtastic/firmware/pull/7464\r\n* Validate Serial config console override modes by @thebentern in https://github.com/meshtastic/firmware/pull/7470\r\n* Bugfix Add rssi and snr to the store and forward code. by @mikecarper in https://github.com/meshtastic/firmware/pull/7462\r\n* Santa may be checking his list twice, but we only need this in the platformio.ini by @caveman99 in https://github.com/meshtastic/firmware/pull/7490\r\n* NodeDB count on MyNodeInfo for client progress reporting by @thebentern in https://github.com/meshtastic/firmware/pull/7489\r\n* Core portnums rebroadcast mode whitelist instead of blacklist by @thebentern in https://github.com/meshtastic/firmware/pull/7487\r\n* DEBUG_MUTE correctness by @Stary2001 in https://github.com/meshtastic/firmware/pull/7492\r\n* Workaround Webserver needing to stay up while Wifi is being turned off by @fifieldt in https://github.com/meshtastic/firmware/pull/7484\r\n* Update platformio/ststm32 to v19.3.0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7512\r\n* Bugfix Syntax error: \"(\" unexpected in device-update.sh by @mikecarper in https://github.com/meshtastic/firmware/pull/7514\r\n* Remember destination fix by @HarukiToreda in https://github.com/meshtastic/firmware/pull/7427\r\n* Rv3028 rtc fix by @tg-mw in https://github.com/meshtastic/firmware/pull/7524\r\n* Only toggle screen wake, don't break banners by @Xaositek in https://github.com/meshtastic/firmware/pull/7545\r\n* Improve words within logging for onscreen message scroll cache by @Xaositek in https://github.com/meshtastic/firmware/pull/7548\r\n* Fix: ina226 was not calibrated during init by @mrab in https://github.com/meshtastic/firmware/pull/7547\r\n* Rather than mysteriously rebooting, regenerate the keys and inform the user by @jp-bennett in https://github.com/meshtastic/firmware/pull/7558\r\n* Avoid acquiring lock twice by @oscgonfer in https://github.com/meshtastic/firmware/pull/7555\r\n* Chore(deps): update adafruit shtc3 to v1.0.2 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7557\r\n* Fix a crash on Native reboot by @jp-bennett in https://github.com/meshtastic/firmware/pull/7570\r\n* chore(deps): update meshtastic/device-ui digest to d044c01 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7578\r\n\r\n## New Contributors\r\n* @WOD-MN made their first contribution in https://github.com/meshtastic/firmware/pull/7380\r\n* @barbabarros made their first contribution in https://github.com/meshtastic/firmware/pull/7434\r\n* @valzzu made their first contribution in https://github.com/meshtastic/firmware/pull/7450\r\n* @mikecarper made their first contribution in https://github.com/meshtastic/firmware/pull/7462\r\n* @rradillen made their first contribution in https://github.com/meshtastic/firmware/pull/7363\r\n* @powersjcb made their first contribution in https://github.com/meshtastic/firmware/pull/7505\r\n* @tg-mw made their first contribution in https://github.com/meshtastic/firmware/pull/7524\r\n* @mrab made their first contribution in https://github.com/meshtastic/firmware/pull/7547\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.3.cf574c7...v2.7.4.c1f4f79"
      },
      {
        "id": "v2.7.3.cf574c7",
        "title": "Meshtastic Firmware 2.7.3.cf574c7 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.3.cf574c7",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.3.cf574c7/firmware-esp32-2.7.3.cf574c7.zip",
        "release_notes": "## 🚀 Enhancements\r\n* Update Screen Wake Default Behavior by @Xaositek in https://github.com/meshtastic/firmware/pull/7282\r\n* Make the shouldWake function always available, and remove the bool by @jp-bennett in https://github.com/meshtastic/firmware/pull/7300\r\n* Shorter audio feedback for InkHUD buttons by @todd-herbert in https://github.com/meshtastic/firmware/pull/7301\r\n* Support native configuration Waveshare Pico LoRa module on Orange Pi Zero3 by @Mictronics in https://github.com/meshtastic/firmware/pull/7295\r\n* Load ringtone from userPrefs by @vidplace7 in https://github.com/meshtastic/firmware/pull/7298\r\n* Seesaw Rotary by @jp-bennett in https://github.com/meshtastic/firmware/pull/7310\r\n* GPS for STM32WL by @Stary2001 in https://github.com/meshtastic/firmware/pull/7297\r\n* Feat: add support for RAK Wismesh Tag hardware platform by @DanielCao0 in https://github.com/meshtastic/firmware/pull/6853\r\n* Message frame New Message Options and Clock / TDeck / Brightness Refinements by @Xaositek in https://github.com/meshtastic/firmware/pull/7344\r\n* BaseUI Updates by @Xaositek in https://github.com/meshtastic/firmware/pull/7358\r\n\r\n## 🐛 Bug fixes and maintenance\r\n* Update RadioLib to v7.2.1 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7287\r\n* Update platformio.ini by @Kongduino in https://github.com/meshtastic/firmware/pull/7289\r\n* Update Adafruit BusIO to v1.17.2 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7277\r\n* Update dorny/test-reporter action to v2.1.1 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7284\r\n* Update meshtastic/device-ui digest to 404c6e0 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7302\r\n* Add first config override for Native by @jp-bennett in https://github.com/meshtastic/firmware/pull/7306\r\n* Update meshtastic/device-ui digest to 86a09a7 by @renovate[bot] in https://github.com/meshtastic/firmware/pull/7308\r\n* STM32: Properly ignore OneButton by @vidplace7 in https://github.com/meshtastic/firmware/pull/7311\r\n* Build: Update platformio with `pkg install` by @vidplace7 in https://github.com/meshtastic/firmware/pull/7315\r\n* Bump Framework-native and set version string. by @jp-bennett in https://github.com/meshtastic/firmware/pull/7317\r\n* userPrefs: Set default ringtone nag time by @vidplace7 in https://github.com/meshtastic/firmware/pull/7314\r\n* Remove Ubuntu oracular by @vidplace7 in https://github.com/meshtastic/firmware/pull/7322\r\n* feat: DIY Seeed XIAO nRF52840 + EBYTE E22 variants, pin-compatible with Wio-SX1262 kit by @ndoo in https://github.com/meshtastic/firmware/pull/7105\r\n* feat: New variant esp32c3_super_mini by @ndoo in https://github.com/meshtastic/firmware/pull/7133\r\n* xiao_ble README.md updates by @ndoo in https://github.com/meshtastic/firmware/pull/7283\r\n* fix(device-update.sh): safely filter args without breaking parsing by @NeilHanlon in https://github.com/meshtastic/firmware/pull/7305\r\n* NodeDB.cpp: Fix iOS bluetooth crash by ensuring UINT32_MAX is not used by @Styne13 in https://github.com/meshtastic/firmware/pull/7312\r\n* Improve OLED UI Responsiveness and Force Redraws for Canned message module by @csrutil in https://github.com/meshtastic/firmware/pull/7324\r\n* add pioenv to version string in debug log by @caveman99 in https://github.com/meshtastic/firmware/pull/7328\r\n* PPA: Add Ubuntu Questing (25.10) to daily builds by @vidplace7 in https://github.com/meshtastic/firmware/pull/7329\r\n* get git url part from local repo by @caveman99 in https://github.com/meshtastic/firmware/pull/7331\r\n* Add heap info via standard mallinfo() function for STM32 by @Stary2001 in https://github.com/meshtastic/firmware/pull/7327\r\n* The screen display of the heltec wireless tracker is abnormal. by @Quency-D in https://github.com/meshtastic/firmware/pull/7337\r\n* STM32 PlatformIO cleanup by @vidplace7 in https://github.com/meshtastic/firmware/pull/7339\r\n* Map report should work over devices which do not have network hardware (with client proxy) by @thebentern in https://github.com/meshtastic/firmware/pull/7341\r\n* Fix L1 EInk HWModel by @thebentern in https://github.com/meshtastic/firmware/pull/7346\r\n* Drop NodeInfo packets if the is_licensed bit doesn't match owner by @jp-bennett in https://github.com/meshtastic/firmware/pull/7361\r\n* Clean up double i2c init/scan code by @caveman99 in https://github.com/meshtastic/firmware/pull/7359\r\n* Add additional Epoch check for time set by @fifieldt in https://github.com/meshtastic/firmware/pull/7375\r\n\r\n## New Contributors\r\n* @NeilHanlon made their first contribution in https://github.com/meshtastic/firmware/pull/7305\r\n* @Styne13 made their first contribution in https://github.com/meshtastic/firmware/pull/7312\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.2.f6d3782...v2.7.3.cf574c7"
      },
      {
        "id": "v2.7.2.f6d3782",
        "title": "Meshtastic Firmware 2.7.2.f6d3782 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.2.f6d3782",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.2.f6d3782/firmware-esp32-2.7.2.f6d3782.zip",
        "release_notes": "## 🚀 Enhancements\r\n* Fast fix, remove saving tx power inside limitPower() by @mrekin in https://github.com/meshtastic/firmware/pull/7255\r\n* Show user which Clock Face option is currently elected by @Xaositek in https://github.com/meshtastic/firmware/pull/7271\r\n* Heltec Wireless Paper, VM-E213 Hardware Revisions by @todd-herbert in https://github.com/meshtastic/firmware/pull/7258\r\n\r\n## 🐛 Bug fixes and maintenance\r\n* Add HWIDs for T1000-E in DFU mode by @thebentern in https://github.com/meshtastic/firmware/pull/7235\r\n* chore(deps): update meshtastic/device-ui digest to 8c7092c by @renovate in https://github.com/meshtastic/firmware/pull/7238\r\n* Automatically bail user out of displaymode_color when not HAS_TFT by @jp-bennett in https://github.com/meshtastic/firmware/pull/7248\r\n* Don't run bluetooth gerFromRadio() unless the phone has requested a packet by @jp-bennett in https://github.com/meshtastic/firmware/pull/7231\r\n* Try-fix: L76K spamming bad times can crash nodes by @thebentern in https://github.com/meshtastic/firmware/pull/7261\r\n* Fix install script by @Pitel in https://github.com/meshtastic/firmware/pull/7259\r\n* Modules and favorite screen fix by @HarukiToreda in https://github.com/meshtastic/firmware/pull/7264\r\n* TFT_MESH Fixes Across Various Devices by @Xaositek in https://github.com/meshtastic/firmware/pull/7247\r\n* Update Bluetooth Toggle to match other variants by @Xaositek in https://github.com/meshtastic/firmware/pull/7269\r\n* Make PacketHistory logging less chatty by @thebentern in https://github.com/meshtastic/firmware/pull/7272\r\n* GitHub Actions faster!! (again) by @vidplace7 in https://github.com/meshtastic/firmware/pull/7268\r\n* Whoops! Re-Add nRF52 OTA zips by @vidplace7 in https://github.com/meshtastic/firmware/pull/7275\r\n* Actions: Re-Add nrf52 hex release (rak4631) by @vidplace7 in https://github.com/meshtastic/firmware/pull/7276\r\n* Update Adafruit INA260 to v1.5.3 by @renovate in https://github.com/meshtastic/firmware/pull/7270\r\n\r\n## New Contributors\r\n* @Pitel made their first contribution in https://github.com/meshtastic/firmware/pull/7259\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.1.f35ca81...v2.7.2.f6d3782"
      },
      {
        "id": "v2.7.1.f35ca81",
        "title": "Meshtastic Firmware 2.7.1.f35ca81 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.7.1.f35ca81",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.7.1.f35ca81/firmware-esp32-2.7.1.f35ca81.zip",
        "release_notes": "## 🚀  Enhancements\r\n* Add detection code for SCD4X by @fifieldt in https://github.com/meshtastic/firmware/pull/7185\r\n* Refactor Calibrate battery curve for TRACKER_T1000-E by @Dylanliacc in https://github.com/meshtastic/firmware/pull/7186\r\n* Add detection framework for multiple AirQuality sensors by @fifieldt in https://github.com/meshtastic/firmware/pull/7187\r\n* Log TX power after limits applyng and store it in config by @mrekin in https://github.com/meshtastic/firmware/pull/7065\r\n* Limited emoji support for InkHUD by @todd-herbert in https://github.com/meshtastic/firmware/pull/7176\r\n* Calibrate battery curve for SEEED_WIO_TRACKER_L1 and SEEED_SOLAR_NODE  by @Dylanliacc in https://github.com/meshtastic/firmware/pull/7194\r\n* Enable telemetry and I2C sensors on STM32WL (except accelerometers) by @Stary2001 in https://github.com/meshtastic/firmware/pull/7008\r\n* Update protobufs and classes by @github-actions in https://github.com/meshtastic/firmware/pull/7199\r\n* Feat: add support for RAK3312 (New RAKwireless wiscore ESP32-S3 + SX1262) by @DanielCao0 in https://github.com/meshtastic/firmware/pull/7115\r\n* Added option to invert screen on InkHUD by @razurac in https://github.com/meshtastic/firmware/pull/7075\r\n* mDNS: Remove HTTP/HTTPS. Advertise shortname/id. by @vidplace7 in https://github.com/meshtastic/firmware/pull/7162\r\n* Add customizable boot logo based on resolution by @vidplace7 in https://github.com/meshtastic/firmware/pull/7146\r\n* Additional larger font for InkHUD UI by @todd-herbert in https://github.com/meshtastic/firmware/pull/7201\r\n* Add GPIO edge for Native Trackball/Joystick by @jp-bennett in https://github.com/meshtastic/firmware/pull/7212\r\n* Add ROUTER_LATE to EVENT_MODE rules by @vidplace7 in https://github.com/meshtastic/firmware/pull/7220\r\n* Honor custom userPrefs boot-screens in InkHUD  by @todd-herbert in https://github.com/meshtastic/firmware/pull/7217\r\n* Battery Layout Updates and Icons Changes by @Xaositek in https://github.com/meshtastic/firmware/pull/7221\r\n* Add Kazakhstan frequencies by @fifieldt in https://github.com/meshtastic/firmware/pull/7209\r\n* Add Kazakhstan to the BaseUI LoRa chooser by @jp-bennett in https://github.com/meshtastic/firmware/pull/7224\r\n\r\n## 🐛  Bug fixes and maintenance\r\n* Last second fixes by @jp-bennett in https://github.com/meshtastic/firmware/pull/7156\r\n* Add check for theoretically impossible comparison, and drop nodenum by @jp-bennett in https://github.com/meshtastic/firmware/pull/7165\r\n* fix(xiao_ble): Define xiao_ble I2C pins in parent variant (fixes #7163) by @ndoo in https://github.com/meshtastic/firmware/pull/7164\r\n* Bump release version by @github-actions in https://github.com/meshtastic/firmware/pull/7155\r\n* chore(deps): update meshtastic/device-ui digest to 4b7bf36 by @renovate in https://github.com/meshtastic/firmware/pull/7178\r\n* Fix hydra radio by @jankowski-t in https://github.com/meshtastic/firmware/pull/7192\r\n* Fix seeed_tracker_L1_eink bug of cant't switch between two applets side-by-side  by @Dylanliacc in https://github.com/meshtastic/firmware/pull/7195\r\n* Fix build when MESHTASTIC_EXCLUDE_GPS is defined by @Mictronics in https://github.com/meshtastic/firmware/pull/7154\r\n* Renovate comment for sensirion/Sensirion I2C SCD4x by @vidplace7 in https://github.com/meshtastic/firmware/pull/7202\r\n* Chore(deps): update sensirion i2c scd4x to v1.1.0 by @renovate in https://github.com/meshtastic/firmware/pull/7207\r\n* 2.7 fixes w2 by @jp-bennett in https://github.com/meshtastic/firmware/pull/7148\r\n* Fix Seeed L1 board to enable consistent PIO flashing by @thebentern in https://github.com/meshtastic/firmware/pull/7211\r\n* Don't set non-existent pin on e290 by @jp-bennett in https://github.com/meshtastic/firmware/pull/7213\r\n* Disable low brightness, as this soft-bricks at least the L1 by @jp-bennett in https://github.com/meshtastic/firmware/pull/7223\r\n* Fixed --change-mode option in device-update.sh by @mattster98 in https://github.com/meshtastic/firmware/pull/7144\r\n* chore(deps): update meshtastic-esp32_https_server digest to 3223704 by @renovate in https://github.com/meshtastic/firmware/pull/7225\r\n* Chore(deps): update xpowerslib to v0.3.0 by @renovate in https://github.com/meshtastic/firmware/pull/7210\r\n* Add a WiFi menu that can toggle back to Bluetooth by @jp-bennett in https://github.com/meshtastic/firmware/pull/7226\r\n\r\n## New Contributors\r\n* @jankowski-t made their first contribution in https://github.com/meshtastic/firmware/pull/7192\r\n* @razurac made their first contribution in https://github.com/meshtastic/firmware/pull/7075\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.7.0.705515a...v2.7.1.f35ca81"
      },
      {
        "id": "v2.6.13.0561f2c",
        "title": "Meshtastic Firmware 2.6.13.0561f2c Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.6.13.0561f2c",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.6.13.0561f2c/firmware-esp32-2.6.13.0561f2c.zip",
        "release_notes": "> [!CAUTION]  \r\n> This firmware includes built-in security which automatically removes your public key (for direct messages and remote administration) if it is included in any of the 25 known insecure keys in order to keep your communications private. \r\n\r\n## 🚀 Enhancements \r\n* PacketHistory debloat RAM allocations by @Marek-mk in https://github.com/meshtastic/firmware/pull/7034\r\n* Add recognition for SHT40 with serial number starting with 0xc8d by @notmarek in https://github.com/meshtastic/firmware/pull/7061\r\n* Add rak12035 VB Soil Monitor Tested & Working by @Justin-Mann in https://github.com/meshtastic/firmware/pull/6741\r\n* XIAO BLE cleanup (supporting changes to seeed_xiao_nrf52840_kit too) by @ndoo in https://github.com/meshtastic/firmware/pull/7024\r\n* PacketHistory - option to track entries' aging to log by @Marek-mk in https://github.com/meshtastic/firmware/pull/7067\r\n\r\n## 🐛 Bug fixes and enhancements\r\n* Fix Critical Error #3 for LilyGo T-Echo by @Logicbloke in https://github.com/meshtastic/firmware/pull/6791\r\n* Dismiss ExternalNotification nagging on InkHUD button press by @todd-herbert in https://github.com/meshtastic/firmware/pull/7056\r\n* Fix RCWL9620Sensor for rak11310 support by @Nivek-domo in https://github.com/meshtastic/firmware/pull/6617\r\n* Run daily packaging earlier (PPA) by @vidplace7 in https://github.com/meshtastic/firmware/pull/7057\r\n* Ensure incoming hostMetrics  userstring is null terminated by @jp-bennett in https://github.com/meshtastic/firmware/pull/7068\r\n* Update HostMetrics.cpp - don't try to print the user string by @jp-bennett in https://github.com/meshtastic/firmware/pull/7081\r\n* Replace blocking delay for wifi reconnect with non-blocking to keep button/display interactivity by @mattster98 in https://github.com/meshtastic/firmware/pull/6983\r\n* Fix position exchange throttling issue by @jeremiah-k in https://github.com/meshtastic/firmware/pull/7079\r\n* Fix nugget s3 lora variant issues by @hafu in https://github.com/meshtastic/firmware/pull/7070\r\n\r\n## New Contributors\r\n* @Logicbloke made their first contribution in https://github.com/meshtastic/firmware/pull/6791\r\n* @Marek-mk made their first contribution in https://github.com/meshtastic/firmware/pull/7034\r\n* @notmarek made their first contribution in https://github.com/meshtastic/firmware/pull/7061\r\n* @mattster98 made their first contribution in https://github.com/meshtastic/firmware/pull/6983\r\n* @hafu made their first contribution in https://github.com/meshtastic/firmware/pull/7070\r\n* @Justin-Mann made their first contribution in https://github.com/meshtastic/firmware/pull/6741\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.6.12.9861e82...v2.6.13.0561f2c"
      },
      {
        "id": "v2.6.12.9861e82",
        "title": "Meshtastic Firmware 2.6.12.9861e82 Alpha",
        "page_url": "https://github.com/meshtastic/firmware/releases/tag/v2.6.12.9861e82",
        "zip_url": "https://github.com/meshtastic/firmware/releases/download/v2.6.12.9861e82/firmware-esp32-2.6.12.9861e82.zip",
        "release_notes": "> [!CAUTION]  \r\n> This firmware includes built-in security which automatically removes your public key (for direct messages and remote administration) if it is included in any of the 25 known insecure keys in order to keep your communications private. \r\n\r\n## 🚀 Enhancements \r\n* Key erase by @jp-bennett in https://github.com/meshtastic/firmware/pull/7018\r\n* Remove GPS Baudrate locking for Seeed Xiao NRF52840 Kit by @fifieldt in https://github.com/meshtastic/firmware/pull/7016\r\n* Validate short and long names so whitespace or empty names cannot be used by @Crank-Git in https://github.com/meshtastic/firmware/pull/6993\r\n* Add InkHUD driver for WeAct Studio 2.13\" display module by @todd-herbert in https://github.com/meshtastic/firmware/pull/7001\r\n* Add InkHUD driver for WeAct Studio 1.54\" display module by @todd-herbert in https://github.com/meshtastic/firmware/pull/7000\r\n* Add support for GAT562 Mesh Trial Tracker by @csrutil in https://github.com/meshtastic/firmware/pull/6984\r\n* Add config for RAK 13300 on RAK6421 by @jp-bennett in https://github.com/meshtastic/firmware/pull/7037\r\n* InkHUD DIY builds for ProMicro & Heltec T114 by @todd-herbert in https://github.com/meshtastic/firmware/pull/7039\r\n* Allow overriding INA3221 channels by @andyshinn in https://github.com/meshtastic/firmware/pull/7035\r\n* Add the ability to share ignored contacts (for blacklisting problematic nodes) by @thebentern in https://github.com/meshtastic/firmware/pull/7044\r\n\r\n## 🐛 Bug fixes and maintenance\r\n* More low-entropy keys, and don't issue a false warning when changing … by @jp-bennett in https://github.com/meshtastic/firmware/pull/7041\r\n* Don't use assert() with side effects in a couple more places by @Stary2001 in https://github.com/meshtastic/firmware/pull/7009\r\n* chore(deps): update platform-native digest to 49634e9 by @renovate in https://github.com/meshtastic/firmware/pull/7020\r\n* chore(deps): update platform-native digest to 681ee02 by @renovate in https://github.com/meshtastic/firmware/pull/7022\r\n* chore(deps): update meshtastic/device-ui digest to 301f11e by @renovate in https://github.com/meshtastic/firmware/pull/7042\r\n* Upgrade trunk by @github-actions in https://github.com/meshtastic/firmware/pull/7030\r\n* Update protobufs and classes by @github-actions in https://github.com/meshtastic/firmware/pull/7043\r\n* Manual bump metainfo version by @vidplace7 in https://github.com/meshtastic/firmware/pull/7049\r\n\r\n## New Contributors\r\n* @csrutil made their first contribution in https://github.com/meshtastic/firmware/pull/6984\r\n* @andyshinn made their first contribution in https://github.com/meshtastic/firmware/pull/7035\r\n\r\n**Full Changelog**: https://github.com/meshtastic/firmware/compare/v2.6.11.60ec05e...v2.6.12.9861e82"
      }
    ]
  },
  "pullRequests": [
    {
      "id": "10950",
      "title": "esp32: fix NimBLE use-after-free crash when disabling bluetooth while connected",
      "page_url": "https://github.com/meshtastic/firmware/pull/10950",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10949",
      "title": "Make Safe File actually safe",
      "page_url": "https://github.com/meshtastic/firmware/pull/10949",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10948",
      "title": "fix(router): null-check packetPool/clientNotificationPool allocations",
      "page_url": "https://github.com/meshtastic/firmware/pull/10948",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10947",
      "title": "Fixed pin state setup when SX126X_ANT_SW is defined",
      "page_url": "https://github.com/meshtastic/firmware/pull/10947",
      "zip_url": "https://discord.com/invite/meshtastic"
    },
    {
      "id": "10936",
      "title": "Snake!",
      "page_url": "https://github.com/meshtastic/firmware/pull/10936",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10935",
      "title": "Fix size report stale baseline",
      "page_url": "https://github.com/meshtastic/firmware/pull/10935",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10928",
      "title": "Add chunked PhoneAPI transport payloads",
      "page_url": "https://github.com/meshtastic/firmware/pull/10928",
      "zip_url": "https://discord.com/invite/meshtastic"
    },
    {
      "id": "10926",
      "title": "WIP: Big Display Node",
      "page_url": "https://github.com/meshtastic/firmware/pull/10926",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10921",
      "title": "Align Base UI message status wording",
      "page_url": "https://github.com/meshtastic/firmware/pull/10921",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10920",
      "title": "Add waypoint & geofence support with notifications for BaseUI and InkHUD",
      "page_url": "https://github.com/meshtastic/firmware/pull/10920",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10918",
      "title": "Add RAK WisMesh Repeater Mini V2 and HP variants",
      "page_url": "https://github.com/meshtastic/firmware/pull/10918",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10917",
      "title": "Firmware for Seeed XIAO ESP32C6 and WIO-SX1262 for XIAO",
      "page_url": "https://github.com/meshtastic/firmware/pull/10917",
      "zip_url": "https://discord.com/invite/meshtastic"
    },
    {
      "id": "10915",
      "title": "Update TDK InvenSense ICM42670P to v1.0.9",
      "page_url": "https://github.com/meshtastic/firmware/pull/10915",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10910",
      "title": "Add Meshnology W12 (WiFi LoRa 32 V5) LR2021 board support",
      "page_url": "https://github.com/meshtastic/firmware/pull/10910",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10908",
      "title": "feat: Support Elecrow ThinkNode M9",
      "page_url": "https://github.com/meshtastic/firmware/pull/10908",
      "zip_url": "+454.1 KB"
    },
    {
      "id": "10902",
      "title": "BLE lifecycle memory: true BLE-off on nRF52, NimBLE host pools to PSRAM on S3",
      "page_url": "https://github.com/meshtastic/firmware/pull/10902",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10893",
      "title": "nrf52: add rotary encoder press pin as deep sleep wake source",
      "page_url": "https://github.com/meshtastic/firmware/pull/10893",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10884",
      "title": "Implement SD card backup/restore of preferences; add SD support for Cardputer Advanced",
      "page_url": "https://github.com/meshtastic/firmware/pull/10884",
      "zip_url": "https://discord.com/invite/meshtastic"
    },
    {
      "id": "10878",
      "title": "fixed tlora-v2-1-1_16 led heartbeat not blinking and stuck at single s…",
      "page_url": "https://github.com/meshtastic/firmware/pull/10878",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10870",
      "title": "Fix message scroll being reset every frame on E-Ink displays",
      "page_url": "https://github.com/meshtastic/firmware/pull/10870",
      "zip_url": "https://discord.com/invite/meshtastic"
    },
    {
      "id": "10845",
      "title": "Fix ESP32-S2 nugget build",
      "page_url": "https://github.com/meshtastic/firmware/pull/10845",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10844",
      "title": "Fix audio module availability",
      "page_url": "https://github.com/meshtastic/firmware/pull/10844",
      "zip_url": "https://img.shields.io/badge/Flash_this_PR_in_the_Web_Flasher-2C2D3C?style=for-the-badge"
    },
    {
      "id": "10807",
      "title": "Add DeltaPlusProto Edict board variant",
      "page_url": "https://github.com/meshtastic/firmware/pull/10807",
      "zip_url": "https://discord.com/invite/meshtastic"
    }
  ]
}