Hi All π !
This release focuses on backend extensibility and improved stability for complex network environments. A significant portion of these updates, particularly regarding API coverage and infrastructure, comes from contributions by @adamoutler and the community.
MCP server and OpenAPI coverage have been expanded, now including an auto-generated /docs API playground for easier integration. This allows power users to test endpoints, scripts, and "hack around" with the system's capabilities directly from the browser. Infrastructure support is also improved with better CORS handling and the introduction of a new Raspberry Pi OS image.
For network monitoring, "IP Changed" notification fatigue is addressed in dual-stack devices by logging IPv4 and IPv6 data. There is also a new devVlan field to segment and your devices easier. You can for example couple this with the built-in workflows and auto-populate VLAN based on IP ranges. You can now see exactly which plugin discovered a specific value, creating a clear audit trail for your network. There is now more granular control over data with new the ability to lock specific fields from being overwritten by plugins.
Additionally, device heuristics for icon and type recognition are improved for smart plugs and other hardware, and UI issues related to ad-hoc plugin runs and stable version labeling are resolved.
Thanks to @adamoutler, @2m, and everyone who contributed code and bug reports for this version.
π Breaking changes
Sometimes I have to introduce breaking changes
Warning
- πΊ NEXT RELEASE REMOVAL: The port of the sync nodes for the SYNC plugin will change to the value of the
GRAPHQL_PORTsetting. Both ports are currently supported, so please update your configuration to point to the new port in theSYNC_hub_urlandSYNC_nodessettings. - πΊ NEXT RELEASE REMOVAL: If you have implemented external applications using the OLD API endpoints, please migrate to the NEW API endpoints.
πNew capabilities
- Extended MCP server and OpneAPI coverage by @adamoutler π
- Better CORS and reverse proxy support by @adamoutler π #1440
- Easier forcing DUMMY devices to appear online via the
devForceStatusfield - New
devVlan,devPrimaryIPv4,devPrimaryIPv6fields #1273 - Source fields showing which plugin discovered the value for a field
- The ability to lock select fields from being overwritten by plugins
- The ability to choose if a plugin overwrites a field via the
SET_ALWAYS/SET_EMPTYsettings - Logging the ipv4 and ipv6 should decrease the number of
IP Changednotifications on dual-stack setups #1273 - Auto-generated
/docsAPI playground by @adamoutler π - New
PIHOLEAPI_CONSIDER_ONLINEandPIHOLEAPI_GET_OFFLINEsettings to enable import of online devices only #1436 - Nix flake sample by @2m
- A new Raspberry Pi OS image by @adamoutler π
β¨Fixes and Improvements
- Better icon, device type heuristics for newly discovered devices (phone, smartplug, dyson devices)
- Fixed version display in footer #1320
- Ad-hoc plugin runs, tests and device deletion from the list view were not working #1419
What's Changed
- sync by @jokob-sk in #1321
- coderabbit parser and gemini instructions by @adamoutler in #1421
- Add system pytest and use it instead by @adamoutler in #1422
- php xdebug log location by @adamoutler in #1423
- speed up devcontainer remove extension by @adamoutler in #1427
- Enhance API_TOKEN retrieval instructions in tests by @adamoutler in #1431
- feat(api): MCP, OpenAPI & Dynamic Introspection by @adamoutler in #1429
- sync by @jokob-sk in #1432
- Refactor Dockerfile.debian for multi-stage build and hardening by @adamoutler in #1442
- Update Docker Compose capabilities for root-entrypoint by @adamoutler in #1451
- feat: Authoritative plugin fields by @jokob-sk in #1435
- Update INSTALLATION.md by @matt-shelley-IT in #1456
- Enable proxies on docs by @adamoutler in #1450
- Agentic Skills & Environmental Vars docs by @adamoutler in #1459
- Add nix flake by @2m in #1466
- Http sec fetch by @adamoutler in #1468
- Fix: ALWAYS_FRESH_INSTALL behavior by @adamoutler in #1470
- Tidy test scripts by @adamoutler in #1471
- Standardize and Optimize OpenAPI & MCP for AI Agents by @adamoutler in #1476
- Redirect from / to /docs by @adamoutler in #1477
- First run auto configure scan subnets by @adamoutler in #1478
- MCP Bridge Fixes & Dev Environment Automation by @adamoutler in #1480
- Remove logging driver from Docker Compose config by @adamoutler in #1483
- Update OpenAPI spec description with detailed info by @adamoutler in #1485
- MCP Enhancements: Named Totals, OpenAPI Resource, and Dev Skills by @adamoutler in #1484
New Contributors
- @matt-shelley-IT made their first contribution in #1456
- @2m made their first contribution in #1466
Full Changelog: v26.1.17...v26.2.4