release: prepare ArduinoHA v3.2.0

This commit is contained in:
2026-09-07 20:46:00 +10:00
parent 0dbf0ecb75
commit ea3f41b3f9
7 changed files with 48 additions and 5 deletions
+29
View File
@@ -9,8 +9,37 @@ permissions:
contents: write contents: write
jobs: jobs:
test_harness:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- home_assistant: "2024.11.3"
- home_assistant: stable
env:
HA_VERSION: ${{ matrix.home_assistant }}
TEST_HARNESS_EXPECT_DISABLED_CLEANUP: "0"
COMPOSE_FILE: tests/ha-test-harness/compose.yaml
steps:
- uses: actions/checkout@v4
- name: Start broker and Home Assistant
run: docker compose up -d mqtt homeassistant
- name: Check single-to-device migration
run: docker compose run --rm tests
- name: Restart Home Assistant from retained data
run: docker compose restart homeassistant
- name: Check retained discovery after restart
run: docker compose run --rm -e TEST_HARNESS_MODE=retained-restart tests
- name: Collect Home Assistant logs on failure
if: failure()
run: docker compose logs --no-color homeassistant mqtt
- name: Remove test harness volumes
if: always()
run: docker compose down -v
publish: publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test_harness
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
+14
View File
@@ -1,5 +1,19 @@
# Changelog # Changelog
## 3.2.0
**Discovery publication and resilience:**
- Batch direct MQTT discovery writes into bounded 128-byte chunks, avoiding hundreds of tiny TCP writes while preserving streaming payload generation.
- Treat allocation or streaming failure as a failed discovery publication, discard the unfinished payload, and reconnect before the next retained update.
- Allocate device-discovery component serializers only for sizing and emission, reducing peak heap use; make serializer allocation failure safe.
**Compatibility, tests, and documentation:**
- Add the reusable, Docker-based HA/MQTT testkit and run ArduinoHA migration and retained-restart checks against Home Assistant 2024.11.3, stable, and dev.
- Make the fixed baseline and current stable test-harness lanes release gates; keep the rolling dev lane scheduled/manual.
- Add maintained, credential-free PlatformIO ESP8266/ESP32 example projects and compile them in CI.
## 3.1.0 ## 3.1.0
**Home Assistant MQTT compatibility:** **Home Assistant MQTT compatibility:**
+1 -1
View File
@@ -57,7 +57,7 @@ Build [ESP Sensor](examples/01-esp-sensor/) for a complete ESP8266/ESP32 project
```ini ```ini
lib_deps = lib_deps =
home-assistant-integration=https://github.com/alexhopeoconnor/arduino-home-assistant.git#v3.1.0 home-assistant-integration=https://github.com/alexhopeoconnor/arduino-home-assistant.git#v3.2.0
``` ```
PlatformIO clones the Git repository and checks out the ref after `#`; that ref is a release tag, not a GitHub Release asset. Arduino IDE is supported through the included [`library.properties`](library.properties). PlatformIO clones the Git repository and checks out the ref after `#`; that ref is a release tag, not a GitHub Release asset. Arduino IDE is supported through the included [`library.properties`](library.properties).
+1 -1
View File
@@ -11,7 +11,7 @@ ArduinoHA talks to Home Assistant over **MQTT** (TCP). You need an MQTT broker r
```ini ```ini
lib_deps = lib_deps =
home-assistant-integration=https://github.com/alexhopeoconnor/arduino-home-assistant.git#v3.1.0 home-assistant-integration=https://github.com/alexhopeoconnor/arduino-home-assistant.git#v3.2.0
``` ```
**Arduino IDE:** this fork is not indexed by Library Manager. Download the **Arduino IDE:** this fork is not indexed by Library Manager. Download the
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "home-assistant-integration", "name": "home-assistant-integration",
"version": "3.1.0", "version": "3.2.0",
"description": "Maintained Home Assistant MQTT discovery and entity integration for Arduino and ESP devices.", "description": "Maintained Home Assistant MQTT discovery and entity integration for Arduino and ESP devices.",
"keywords": [ "keywords": [
"mqtt", "mqtt",
+1 -1
View File
@@ -1,5 +1,5 @@
name=home-assistant-integration name=home-assistant-integration
version=3.1.0 version=3.2.0
author=Dawid Chyrzynski <dev@chyrzynski.pl>, Alex Hope-O'Connor <alex.hope.oconnor@pomonaqld.au> author=Dawid Chyrzynski <dev@chyrzynski.pl>, Alex Hope-O'Connor <alex.hope.oconnor@pomonaqld.au>
maintainer=Alex Hope-O'Connor <alex.hope.oconnor@pomonaqld.au> maintainer=Alex Hope-O'Connor <alex.hope.oconnor@pomonaqld.au>
sentence=Home Assistant MQTT integration for Arduino sentence=Home Assistant MQTT integration for Arduino
+1 -1
View File
@@ -32,7 +32,7 @@
#endif #endif
// Current library version used in discovery origin metadata. // Current library version used in discovery origin metadata.
#define ARDUINOHA_LIBRARY_VERSION "3.1.0" #define ARDUINOHA_LIBRARY_VERSION "3.2.0"
#if defined(ARDUINOHA_DEBUG) #if defined(ARDUINOHA_DEBUG)
#include <Arduino.h> #include <Arduino.h>