HiveMQ Edge 2026.9 is Released
HiveMQ Edge 2026.9 broadens BACnet/IP connectivity with two field-driven improvements and delivers targeted bug fixes and security enhancements.
Highlights
- BACnet/IP adapter can now reach devices on any network segment.
- BACnet/IP adapter now supports the full BACnet object type vocabulary.
- Data Combiner regression on Docker is resolved.
- Frontend security vulnerabilities have been patched across two rounds.
BACnet Improvements
Direct-Address Support for Cross-Subnet Devices
The BACnet/IP adapter now supports a per-tag deviceIpAddress override that lets it contact a BACnet device directly, bypassing UDP WhoIs broadcast discovery entirely.
How It Works
BACnet discovery relies on UDP WhoIs broadcasts on the local subnet. Routers do not forward these broadcasts, so devices on a different network segment stay invisible to the adapter. Every poll fails with a "device not found" error, and no workaround exists.
With 2026.9, a tag definition can include an optional deviceIpAddress field. The value accepts host or host:port and defaults to port 47808. When set, the adapter skips discovery for that tag and sends the ReadPropertyRequest directly to the given address.
The device instance number is still required and is checked against the responding device. A mismatch triggers a warning but does not block polling. Tags without an override continue to use broadcast discovery.
No frontend change is required. The UI is schema-driven and picks up the new field automatically.
How It Helps
- Cross-subnet reachability: Devices on separate network segments, behind a router, or on isolated VLANs are now accessible without network reconfiguration.
- Zero-downtime migration: Existing tags are unaffected. The override is opt-in per tag.
- Predictable behaviour: Direct addressing removes the timing dependency of broadcast-and-wait. Poll latency drops on larger networks.
Full Object Type Coverage
The BACnet/IP adapter now recognises all 60 standard BACnet object types defined by the bacnet4j library, up from 36 in previous releases.
How It Works
The bacnet4j wrapper Type enum previously covered only 36 of the 60 standard BACnet object types. When the adapter discovered a device exposing any of the 24 missing types, such as LOOP (code 12) or EVENT_ENROLLMENT (code 9), it threw an UnsupportedTypeException and silently skipped polling for that tag.
Release 2026.9 adds the 24 missing enum constants, completing the mapping to bacnet4j's ObjectType class. The rest of the adapter pipeline is unaffected: the value converter dispatches on the value's data type, not the object type, so no behaviour change occurs for previously working tags.
How It Helps
- Broader device support: Devices that expose LOOP, EVENT_ENROLLMENT, and 22 other previously unsupported types now work out of the box.
- No silent data gaps: Tags that were previously skipped without warning are now polled correctly.
Additional Improvements
Bug Fixes
- Data Combiner silent failure on Docker. Javet v5.0.7 (introduced by an automated Renovate patch bump) switched to dynamic LLVM linking on Linux, causing
dlopento fail at startup oneclipse-temurin:25-jre-noble— the three required LLVM libraries (libc++,libc++abi,libunwind) are not present in that base image. Data combiners produced no output with no visible error at the default log level. Javet is pinned to< 5.0.7pending a proper solution for LLVM support. - Tag import error toast lacked detail. When a tag import failed with a 400 validation error (e.g. duplicate tags, tag conflicts), the UI showed only "Failed to import device tags" with no further detail, even though the REST API returned a structured per-field error list. The error shape mismatch between the direct Axios call and the generated API client has been corrected; the toast now surfaces the individual validation messages.
- Adapter FSM reported the wrong state for invalid hosts. After the adapter lifecycle FSM refactor, adapters with an unreachable host incorrectly transitioned to DISCONNECTED instead of ERROR. The correct terminal error state is now restored.
Security Enhancements
- Frontend dependency security hardening (April 2026): Resolved 17 Snyk-identified vulnerabilities in
hivemq-edge-frontend. Two were fixed via directpackage.jsonversion bumps. Fifteen were fixed viapnpm.overridesfor transitive dependencies. - Frontend dependency security hardening (May 2026): Resolved 13 additional Snyk findings covering React and Netty transitive dependencies. The two Netty findings were already remediated on the Java side.
Get Started Today
Use the download link to get HiveMQ Edge 2026.9, or find us on GitHub and Docker:
Get started by running
docker run --name hivemq-edge --pull=always -d -p 1883:1883 -p 8080:8080 hivemq/hivemq-edge
Or clone our repository
git clone git@github.com:hivemq/hivemq-edge.git
You may also try out our Helm Chart
helm repo add hivemq https://hivemq.github.io/helm-charts && helm repo update
HiveMQ Team
Team HiveMQ brings together deep expertise in MQTT, Industrial AI, IoT data streaming, UNS, and Industrial IoT protocols. Follow us for practical deployment guidance, best practices for building a secure, reliable data backbone, and insights into how we are shaping the future of connected industries.
Our mission is to transform industrial data into real-time intelligence, actionable insights, and measurable business outcomes.
Have questions or need support? Contact us. Our experts are ready to help.
