Files
WiFiManager/docs/DEVELOPMENT.md
T

2.5 KiB
Raw Blame History

Development and releases

Released consumers use the public Git tag. While changing WiFiManager and a sibling dependency together, point an ignored local PlatformIO override at a symlink:// or file:// checkout rather than changing tracked application dependencies.

lib_deps =
    WiFiManager=symlink:///path/to/WiFiManager

The ESP32 environments pin the PlatformIO-compatible pioarduino 51.03.05 platform package, which packages official Arduino-ESP32 3.0.5. This avoids the known six-second asynchronous scan failure in the older 2.0.17 framework. Core 3 also requires the SOC_WIFI_SUPPORTED, Network/src, and ESP8266-transport ignore settings shown in this repository platformio.ini; keep those settings when adding an ESP32 environment.

Start a release with bump-version.sh. It updates package metadata and canonical installation snippets, then creates the changelog section. Replace its generated TODO with the release summary and update any behavioural documentation before running:

./scripts/bump-version.sh vMAJOR.MINOR.PATCH
# Replace the generated CHANGELOG TODO with the release summary.
./scripts/check-docs.sh
./scripts/test.sh compile --platform esp8266
./scripts/test.sh compile --platform esp32
./scripts/prepare-release.sh vMAJOR.MINOR.PATCH --tag

When a physical ESP8266 and ESP32 are available, include their local lifecycle tests in the release gate. These tests remain opt-in because they flash the selected board and use its actual radio:

./scripts/test.sh hardware --platform esp8266 --port /dev/serial/by-id/usb-...
./scripts/test.sh hardware --platform esp32 --port /dev/serial/by-id/usb-...

When a physical ESP8266 or ESP32 and a spare USB Wi-Fi adapter are available, run the Docker portal contract as an additional release-gate check. It is opt-in because it flashes the selected board and temporarily joins its AP, but it refuses the host default-route adapter and leaves Docker responsible only for browser/API testing:

./tools/portal-hardware run --platform esp8266 --port /dev/serial/by-id/usb-... \
  --client-interface wlx74da385d4165

See Testing for cleanup, artifacts, and optional station handoff credentials.

Push the branch and annotated tag. GitHub Actions repeats the board-free compile checks, validates the package, and creates a GitHub Release using that version’s changelog section. The workflow does not publish to the PlatformIO Registry.

Back to documentation · project overview.