Repository navigation
Releases: otfabric/knxctl
Release list
v0.7.2
v0.7.1
Date: 2026-10-31
Previous release: v0.7.0
Fixed
- go-knx v0.5.1:
knxctlcommands that start a local server (and the tests) no longer fail on Windows with "no port free for UDP and TCP" (see its release notes).
v0.7.0
Date: 2026-10-30
Previous release: v0.6.0
Exit codes converge on the organisation table (ADR-0006). Scripts that test for these codes must change.
| Case | Old | New |
|---|---|---|
Operating system refused an operation (permission) |
7 | 9 |
KNXnet/IP server refused the request (rejected) |
9 | 6 |
All other codes are unchanged. The JSON kind values do not change: rejected stays rejected. Exit 7 is now reserved for a partial result, which knxctl does not produce today.
KNXCTL_OUTPUT_FORMAT is now accepted besides KNXCTL_FORMAT, which is the canonical name and wins when both are set.
v0.6.0
Date: 2026-10-30
Previous release: v0.5.1
Added
property readandproperty write --device IA: remote device
management of a device on the KNX network through a tunnel
(A_PropertyValue_Read/_Write; the object type is found in the device's
interface object list), connectionless or with--connectedin a
transport connection.- KNX Data Secure tool access: with the device's tool key (
--tool-key,
envKNXCTL_TOOL_KEY, or the device's entry in--keyring) the access is
secured (S-A_Sync, then S-A_Data with tool access); results report
secured. serve --tool-key HEX|keyring: the simulator's own device accepts only
remote management secured with that tool key. The simulator's device now
answers remote device management, and its friendly name is writable.
Changes
- go-knx v0.5.0.
v0.5.1
Date: 2026-10-30
Previous release: v0.5.0
Fixes
- A command interrupted before it had a result (Ctrl-C while connecting,
for example) exits 130 with kindinterrupted, as the sibling CLIs do;
it was reported as an internal error (exit 10). tunnel connect --holdsays on stderr when it is connected and
holding.- Tests: the interrupt and server-gone tests of
tunnel connectwaited
for the server to register the connection, which happens before the
client has its CONNECT_RESPONSE; under load the client was interrupted
while still connecting (the flaky failure). They now wait for the
client's own notice.
v0.5.0
Date: 2026-10-30
Previous release: v0.4.0
Summary
On go-knx v0.4.1, the go-knx API features that were missing from the CLI.
Additions
property write host object pid hex: M_PropWrite (--start,--count,
--instance).tunnel feature get|set host feature: the tunnelling v2 feature
services, by name (max-apdu, bus-connection, address, info-service...)
or number; TCP by default,--udpfor UDP.discover --programming-mode,--mac,--service family[:version]:
extended search with search parameters.routing monitor --keyring/--backbone-key: secure routing and Data
Secure, likemonitor --routing.diagnose --tcpand the secure session flags; asecuritycheck lists
the secured services and tells when tunnelling needs a secure session.--priorityon the commands that send telegrams.serve --programming-mode,--serial,--multicast.
Fixes
- go-knx v0.4.1: a server on an ephemeral port keeps TCP.
v0.4.0
Date: 2026-10-30
Previous release: v0.3.0
Summary
On go-knx v0.4.0: secure sessions over UDP, secure routing in serve,
and S-A_Sync with the surrogate role.
Additions
--udpon every tunnelling command: the KNX IP Secure session over UDP
instead of TCP.serve --routingroutes securely with the keyring's backbone key or
--backbone-key.- With a keyring that has a tool key for knxctl's own address, knxctl
answers S-A_Sync and group object diagnostics: Calimero tools send their
Data Secure group telegrams through it.
v0.3.0
Date: 2026-10-30
Previous release: v0.2.0
Summary
KNX IP Secure and KNX Data Secure, on go-knx v0.3.0.
Additions
--keyring(ETS .knxkeys) on every command that reaches the network:
secure tunnelling as a keyring user (--tunnel-address,--user-id, or
the first user; user 1 is the host's management password), Data Secure
for the keyring's groups, secure routing with its backbone key.--user-id,--user-password,--device-password,--backbone-key
without a keyring. Secrets default to environment variables.serve --keyring/--keyring-hostandserve --secure-user id:password[:address] --device-password: a secure simulator; Data
Secure telegrams are printed decrypted when the keyring has the key.keyring show: verify and summarise a keyring (--secretsto show keys
and passwords).- Secured telegrams are marked
[secure]/"secure": true. - docs/cli.md now covers
busmonitor,property readandkeyring.
v0.2.0
Date: 2026-10-29
Previous release: v0.1.1
Summary
KNXnet/IP over TCP, busmonitor and device management, on go-knx v0.2.0.
Additions
--tcpon every tunnelling command (group,monitor,tunnel connect,busmonitor,property read): KNXnet/IP over TCP.busmonitor host: every bus frame through a busmonitor connection
(L_Busmon.ind), decoded from the TP1 frame; text or JSON Lines.property read host object pid: interface object properties with local
device management (--start,--count,--instance); objects by type
number ordevice,router,knxnetip.serve --no-tcpandserve --concurrent-busmonitor.
v0.1.1
Date: 2026-10-29
Previous release: v0.1.0
Fixes
knxctl versionreports the module version of builds made with
go install github.com/otfabric/knxctl@vX.Y.Z(it said "dev": such
builds carry no link-time version).