Skip to content

HiveMQ Edge 2026.9 is Released

by HiveMQ Team

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 dlopen to fail at startup on eclipse-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.7 pending 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 direct package.json version bumps. Fifteen were fixed via pnpm.overrides for 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.

HiveMQ logo
Review HiveMQ on G2