umh-core
v0.44.35
v0.44.35
Improvements
- A message dropped for a missing
timestamp_mssays how to supply one, noting that the tag processor sets the field automatically and that any other processing has to carry it in the payload - The historian output reports dropped messages at error level, one aggregated line per reason per batch, naming the reason, how much of the batch it accounted for, an example topic and the fix. Reporting starts with the first batch rather than after 30 seconds, and
missing_value_or_timestampis split intomissing_valueandmissing_timestamp - The historian output refuses a whole batch carrying a message for a data contract other than its configured
data_contract_name, rather than discarding those messages silently, and the batch is not retried. The error names the contracts that arrived and theumh_topicspattern to narrow to, so a subscription broader than one contract stores nothing until it is narrowed - A versioned data contract whose schema was bypassed is rejected by the historian output, because the version claims a schema that was never applied; an unversioned contract such as
_historianis stored, since it never claimed one. A tag that changes datatype still has its offending rows dropped, and the error names the newallow_datatype_changesoption that stores both types on it instead. Payloads carrying fields beyondvalueandtimestamp_msare rejected asnot_timeseries - The historian output's drop counter is renamed from
historian_messages_droppedtomessages_dropped, matching the metric name every other plugin already uses - The historian output stores
data_contract_versionas metadata, read asattribute->>'data_contract_version', so a connected application can tell which contract version a reading arrived under. All versions of a contract share one table and oneumh.tagrow, so no column recorded the version and it was previously dropped
Fixes
- When the connection to the Management Console degrades after repeated failures, the log now names the upstream cause — the HTTP status and a snippet of the response — instead of only the error count. Previously the cause was recorded internally but never reached the log, so a connection that kept failing and recovering showed repeated degradation with no reason given
- Renaming a bridge whose deployment then fails no longer leaves it impossible to edit or save. A failed deployment now undoes the rename along with the rest of the configuration, while Save Anyway keeps the new name as before
- The historian output no longer discards tags whose virtual path merely starts with the OPC UA diagnostics prefix, such as
Root.Objects.ServerRoom; only theRoot.Objects.Serversubtree itself is skipped