SenHub Agent 0.4.0¶
2026-06-22 · the entity model release
This release rounds out the entity model. The host entity now carries a
full nameplate — OS, CPU and hardware identity plus capacity,
virtualization and chassis attributes (AT10-AT13) — network interfaces
become first-class network.interface entities, and Hyper-V guests are
enriched as compute.vm. New relations tie the graph together:
listeners bound_to an address and listens_on an interface, and
local databases and containers runs_on their host. Operators can
stamp their own governance attributes on hosts and network devices.
The distributed build matrix also drops to Linux amd64/arm64 and
Windows amd64 — macOS becomes a local-only dev target.
New¶
- New entity The host entity now carries a full nameplate: OS, CPU and hardware identity, plus
host.arch,os.version,os.description(#516) and the AT10-AT12 vocabulary —host.cpu.logical.count/physical.countcapacity,host.virtualizationandhost.chassis.type. (#537, #555) - New entity Host network interfaces are emitted as first-class
network.interfaceentities with the AT13 descriptive attributes andoper_state; IP-less virtual interfaces (veth and similar) are dropped from the host inventory. (#541) - New Hyper-V Hyper-V guests are enriched as
compute.vmentities — vCPU count,host.virtualization = "hyperv"and the parenthost.name; the guest machine-id anchors identity and power state is emitted as the statusstateKey. (#456, #561) - New entity Listeners now attach to the graph through two relations:
bound_toanetwork.addressandlistens_onanetwork.interface. (#252, #526) - New entity Local (loopback) databases and Docker containers anchor to their host through a
runs_onrelation. (#503, #527) - New entity Operators can stamp their own governance attributes on the host entity and on
network.device, driven by a shared attribute vocabulary and discovery rules. (#560) - New entity Outbound dependency mapping is now opt-in, with a peer CIDR filter (#213) and a configurable
depends_ondebounce threshold. (#491) - New SNMP
snmp_pollenrichesnetwork.deviceand interface entities with descriptive attributes, and reconciles a device's neighbour-view back to its canonical id. (#565)
Improved¶
- Improved databases Database entities carry richer attributes:
db.system.versionis threaded onto the Redis (#509), MySQL, PostgreSQL and Oracle (#510) entities; the PostgreSQL role attribute is renamedreplication.role(#512); and the MySQL/PostgreSQL environment splits intodb.deployment.platform. (#519) - Improved entity Service entities emit
service.versionfor NATS, Envoy, nginx and Jenkins (#524); Docker containers emit their status as an entitystateKey. (#514)
Fixed¶
- Fixed entity Service and database entities anchor correctly: a
monitorsedge is emitted for Kubernetes, Modbus and UniFi (#506), and single-key database identity is used for Oracle (#505) and PostgreSQL (#504) so the edge resolves. (#507) - Fixed entity The agent's own dependencies are attached to its foundation node instead of floating unanchored. (#494)
- Fixed entity Host-local IPs are no longer emitted as a shared
network.address; container-bridge addresses are also skipped by interface name. - Fixed docs License tiers corrected for
mysql,postgresqlandwifi_signal_strengthin the probe catalog.
Changed¶
- Changed CI The distributed build matrix is now three platforms — Linux amd64, Linux arm64 and Windows amd64. The macOS test job is dropped and darwin becomes a local-only dev/test target, never built or published by CI. (#531)
Internal¶
- Internal SDK Probe SDK exposes
AgentInstanceIDandHostIDto SDK probes. (#528) - Internal tests A load harness measures the socket-scan cost of host dependency detection. (#492)
- Internal docs The probe catalog is rewritten as an interactive tile catalog with official product logos.