Repository navigation
Releases: otfabric/profinetctl
Release list
v0.6.0
Date: 2026-10-29
Previous release: v0.3.2
Summary
Built on go-profinet v0.6.0 and released together with it and
profinet-interop v0.6.0: from this version the three share one version
number (there is no v0.4.x or v0.5.x of profinetctl). The examples cover
every command.
Changes
- go-profinet v0.6.0: PNIO error statuses of CMRPC name their cause ("AR
UUID unknown", "state conflict", …) in error messages, for example a
disconnectof an AR the device does not know. mrp statusof a device without media redundancy (its read answers
"invalid index") fails asunsupported(exit 6) with a clear message
instead of the raw PNIO status.make examples-docalso showshello listenwhile a device starts,
alarmswith the diagnosis that follows,mrp statusand
disconnect; docs/EXAMPLES.md on main is regenerated from this
release's binary.- SECURITY.md: 0.6.x supported; docs/exitcodes.md and
docs/json-output.md name themrp statuscase.
v0.3.2
Date: 2026-10-28
Previous release: v0.3.1
Summary
topology check speaks text, and the documentation was checked command
by command against the code.
Changes
topology checkwith--format textwrites one line per expected link
(its verdict and what the ends report), the unexpected links and the
unreachable stations; it printed the JSON report before.- Stream events without detail (
reparameterizedthat succeeded) end
without a trailing space. - docs/json-output.md:
device infonamesmodule_ident_numberand
submodule_ident_number(as the code always did);disconnectand
gsdml generateresults; optional lists are omitted when empty. - docs/exitcodes.md: exit 7 of
gsdml check,gsdml gsdxandtopology check;hello listenstreams. - README: the flags of
discover,record write/im writein an IOCAR,
lldp neighbors,topology,mrp status,io, and the AR flags of
connect; GSDX inspection versus signature verification. - SECURITY.md: 0.3.x supported;
connect --param/--reparam/--mrp-role/ --peer-check/--assign-ipamong the commands that change a device. make examples-docalso showsgsdml check,gsdml generate,
topology checkandconnect --reparam; docs/EXAMPLES.md on
main is regenerated from this release's binary.
v0.3.1
Date: 2026-10-28
Previous release: v0.3.0
Summary
Requires go-profinet v0.5.0 (MRP automatic manager, MRP verified against
the Linux kernel's bridge MRP).
Changes
- go-profinet v0.5.0: a device's unchanged state is no longer saved again,
andmrp statusof a go-profinet device configured as an automatic
manager (MRA) shows the role it acts in. - README: MRA cannot be set with
--mrp-role(no PROFINET MRP_Role value).
v0.3.0
Date: 2026-10-28
Previous release: v0.2.0
Summary
Requires go-profinet v0.4.0. connect --reparam re-parameterizes a
running AR; the limitations say what profinetctl does with MRP, shared
devices and system redundancy.
Changes
connect --reparam SLOT:SUBSLOT:INDEX:HEX(repeatable) and
--reparam-after(default 1 s): PrmBegin, the records, PrmEnd and the
device's ApplicationReady while cyclic data goes on; areparameterized
event (witherrorwhen it failed) in the stream.- README limitations corrected: profinetctl gives a multiport device its
MRP role and reads its state, and expects a subset of modules on a shared
device (it said "no MRP, no shared devices"); S2 is not exposed. - go-profinet v0.4.0: an allocation-free AF_PACKET backend on Linux, stable
LLDP neighbor indexes in the device's SNMP agent, and fixes (a second
controller could be refused "out of AR resources").
v0.2.0
Date: 2026-10-27
Previous release: v0.1.2
Built on go-profinet v0.3.0
(release notes):
commands for the features of its software-only roadmap. No change to the
output or exit codes of existing commands.
gsdml check FILE [--strict]: the full GSDML check, every issue with its
severity (error, warning, unvalidated) and rule; exit code 7 on errors,
with--stricton any issue.gsdml gsdx FILE: inspect a GSDX container (parts, relationships, core
properties, signature metadata; signatures are not verified, PI's GSDX
rules are members only), each GSDML part checked;--extractwrites one
part.topology check --link A/PORT=B/PORT | --expect FILE: verify the cabling
against the expected links; exit code 7 when it differs.hello listen: stream the DCP Hellos of devices that announce themselves.mrp status: a device's MRP role, domain, ring state and ring ports.connectand the AR commands:--slot Nexpects only some modules
(shared device),--peer-check PORT=STATION/PORTwrites a peer check,
--mrp-role client|manager|offwrites the MRP records of a multiport
device.- JSON of the new commands in docs/json-output.md.
v0.1.2
Date: 2026-10-27
Previous release: v0.1.1
Built on go-profinet v0.2.0
(release notes).
gsdml validatealso checks that the input and the output data of every
submodule fit an RT frame (1439 octets plus the provider status): a file
that breaks it now has issues (exit code 7). Its JSON issues gain
severity("error") andrule("structure","reference"or
"io-data-length"); see docs/json-output.md. The
checked:line says so.- The IO-Controller commands (
connect,io,alarms) run on go-profinet
v0.2.0's controller, whose state waits now return only after the state's
callback. No other change to commands, output or exit codes. - RELEASE.md in the otfabric release-notes format, checked by
make release-notes-checkand CI.
v0.1.1
Date: 2026-10-26
Previous release: v0.1.0
Built on go-profinet v0.1.2: AR state changes of a device in order, RPC
responses of many fragments no longer time out on a loaded host, BPF ports
return ErrClosed after Close. No change to commands, output or exit
codes.
v0.1.0
Date: 2026-10-26
First version, built on go-profinet v0.1.1.
- DCP discovery and commissioning:
discover,identify,name get/set,ip get/set,signal,reset. - Records and identification:
record read/write,im read/write,diagnostics,device info,status. - Topology:
lldp neighbors,topology(PDRealData of every device). - GSDML:
gsdml inspect,validate,modules,submodules,generate. - IO-Controller from a GSDML file or a go-profinet model:
connect,ar,iocr,io status/monitor/statistics,alarms,disconnect. - Text, table and JSON output with stable exit codes (docs/exitcodes.md, docs/json-output.md); verified against rt-labs p-net (docs/EXAMPLES.md).