Skip to main content

Features and Roadmap

Published versions are shown on the NuGet packages page. 0.20.1 is the patch release after 0.20.0; 0.20.0 adds OPC UA; 0.19.0 is the convergence surface before 1.0: public APIs and JSON schema keep only the current recommended forms, without legacy aliases, synonym fields, or implicit compatibility entry points. Long-term field compatibility still waits for 1.0.

Version-by-version details live in the repository CHANGELOG.

Current Release​

0.20.1 fixes edge behavior around cancellation, protocol timeouts, runtime topology rollback, alarm shelving/unsuppression, point timestamp refresh, event-subscriber exception isolation, reconnect callbacks, and TCP server broadcast cancellation. 0.20.0 adds the OPC UA protocol package on top of the converged host, configuration, alarm, and desktop-binding surface, covering opc.tcp, SecurityPolicy None, sessions, Value read/write, and virtual Server testing.

1.0 Scope​

1.0 locks the current day-to-day host loop. It does not add new protocol brands or product modules.

In scope

  • Host: ZeusHost.Create, StartAsync / StopAsync, and restart after stop
  • Channels: serial, TCP/UDP clients and servers, virtual channels, packet tracing, and structured logging
  • Recovery: faulted channels reconnect with exponential backoff by default
  • Protocol subsets: custom frames, Modbus RTU/TCP/ASCII, Mitsubishi MC, Siemens S7, Omron FINS, Omron Host Link, Panasonic MEWTOCOL, EtherNet/IP, DL/T 645, IEC 60870-5-104, MQTT 3.1.1, OPC UA, and SNMP v2c
  • Points: periodic acquisition, merged consecutive reads, current snapshots, alarm limits, an alarm queue, and write-back by name
  • History: point history and trend persistence are application-owned through Changed / BatchChanged subscriptions
  • Configuration: JSON for channels, devices, and points; file watching syncs topology and migrates event subscriptions on rebuilt channels
  • Desktop UI: WinForms control bindings and WPF MVVM binding sources for channel state, point values, alarm colors, alarm lists, and write-back buttons
  • Diagnostics: builder.Logging for standard MEL, ZeusLogEvents EventIds, and optional AddCommunicationLogging for TX/RX

Out of scope (1.1 and later)

  • Recipe management
  • User authorization
  • Auto-update for desktop hosts
  • Additional PLC brands
  • Full-protocol depth such as MQTT 5, SNMP v3, OPC UA certificate security and subscriptions, S7 String/DateTime, obscure Modbus function codes, and extra MC commands

Known Limits (frozen)​

These are design boundaries, not 0.20.x defects:

  • Automatic reconnect applies only to Faulted; an explicit CloseAsync does not reopen the channel
  • Custom IDevice implementations must expose Channel; write-back by name also requires IPointWriter
  • Points that use a custom conversion without scale cannot be written back automatically
  • Parameterless WriteAsync on TCP/UDP servers still replies to the most recent remote; use the overload that takes an endpoint or ISessionChannel for multiple clients

1.x Compatibility Policy​

  • Guaranteed: published public types, members, and extension methods; canonical JSON fields in the handbook; published ZeusLogEvents ids
  • Not guaranteed: internals, undocumented defaults, virtual-station implementation details, or protocol subsets that are not documented
  • 0.20.x and later 1.0.x only fix bugs; new capabilities go to minor releases; breaking changes go to the next major version

Remaining Work Before 1.0​

  • Smoke-test the frozen surface on real devices or gateways; document verification level when hardware is unavailable
  • Add release gates: build, Zeus.Tests, and public API baselines
  • Ship 1.0.0 as the same product surface with a stronger compatibility promise