Skip to content

Releases: Fraunhofer-FIT-DIEN/iec104-python

Release 2.2.0

06 Mar 15:02
Compare
Choose a tag to compare

Features

  • Add Server.remove_station(common_address: int) and Connection.remove_station(common_address: int) methods to enable the removal of stations.
  • Add Station.remove_point(io_address: int) method to allow the removal of points and facilitate reassigning the io_address to another point type.

Release 2.1.1

20 Feb 15:02
Compare
Choose a tag to compare

This is a bugfix release.

Fixes

  • Fixed an issue where the source distribution erroneously included a __pycache__ folder.

Release 2.1.0

20 Feb 14:35
Compare
Choose a tag to compare

Features

  • Serve type hints for all classes and methods as a .pyi file.
  • Add the property Server.protocol_parameters and Connection.protocol_parameters to enable reading and updating protocol parameters, such as window size and timeouts.
  • Provide Batch Transmission support via the new Batch class, in combination with Server.transmit_batch(...), for monitoring direction.
  • Sending Connection.counter_interrogation() supports full Qualifier of Counter Interrogation (Rqt and Frz)
  • Introduce the Connection.on_unexpected_message() callback to get informed about unsupported messages, or messages with type id conflicts
  • Add the Station.signal_initialized(cause=...) method to support sending end-of-initialization messages per station to all connected clients.
  • Introduce the Client.on_station_initialized callback to handle end-of-initialization messages.
  • Send monitoring data formatted as sequences in periodic transmissions and interrogation responses, if possible.
  • Add TransportSecurity.set_ciphers() to specify a list of supported cipher suites.
  • Add TransportSecurity.set_renegotiation_time() to configure the TLS renegotiation time.
  • Add TransportSecurity.set_resumption_interval() to define the session resumption interval.
  • Raise a ValueError when modifying a TransportSecurity object that is already assigned to a client or server, as changes have no effect.

Dependencies

  • Add python 3.13 support
  • Minor update of lib60870 to 2.3.4
  • Major update of Mbed TLS to 3.6.2, add support for TLS 1.3

Fixes

  • Fix Client.get_connection method to accept ip and port or common_address argument
  • Fix Qoc reference in docs
  • Improved error message on assigning invalid information object to a points value or quality property

Deprecations

  • Property number_of_object renamed to number_of_objects in class IncomingMessage

Breaking Changes

  • Dropped TLS 1.1 support

Release 2.0.2

04 Nov 10:41
2bc142f
Compare
Choose a tag to compare

This is a hotfix release.

Improvements

  • Enhance the error messaging for invalid value and quality assignments of points

Fixes

  • Fix an issue with the point.value setter that was not functioning correctly for the following types: EventState, StartEvents, OutputCircuits, and PackedSingle #35
  • Fix a segmentation fault that occurred during the string conversion of Quality and BinaryCounterQuality objects when unsupported bits were set

Release 2.0.1

25 Sep 08:59
Compare
Choose a tag to compare

This is a hotfix release.

Fixes

  • Fix missing cyclic reports if debug flag c104.Debug.Server is not set #28
  • Detect and handle invalid return values from callbacks #27
  • Improve python docblock signatures and examples
  • Fix project URLs for pypi
  • Fix documentation links in README

Release 2.0.0

03 Sep 11:57
aee6a7a
Compare
Choose a tag to compare

Features

  • Add support for equipment protection points (M_EP_TD_1, M_EP_TE_1, M_EP_TF_1) and status with change detection (M_PS_NA_1)
  • Add advanced property support for all messages
  • Add point timer callback for extended event driven transmission scenarios
  • Add option c104.Init.MUTED, to open a connection in muted state
  • Add extended datetime.datetime support
  • Add support for information object address 0
  • Improve command mode select and execute with automatic selection timeout
  • Improve performance and stability
  • Improve string representation for all classes
  • Improve type safety

Breaking Changes

  • Dropped python 3.6 support, since pybind11 does not support it anymore
  • c104.Point signature changes (see docs)
  • c104.Station signature changes (see docs)
  • c104.Client signature changes (see docs)
  • c104.Connection signature changes (see docs)
  • c104.Server signature changes (see docs)
  • c104.IncomingMessage signature changes (see docs)
  • Renamed enum property c104.Qoc.CONTINUOUS to c104.Qoc.PERSISTENT.
    This corresponds to the standard description for Qualifier of command.
  • Removed deprecated function c104.add_server(...), use c104.Server() constructor instead
  • Removed deprecated function c104.remove_server(...), remove last reference to server instance instead
  • Removed deprecated function c104.add_client(...), use c104.Client() constructor instead
  • Removed deprecated function c104.remove_client(...), remove last reference to client instance instead

Release 1.18.0

11 Mar 07:28
81e7978
Compare
Choose a tag to compare
  • Add support for Qualifier of Command for single, double and regulating step commands
  • Fix transmit updated_at timestamp for time aware point
  • c104.Point.set method signature improved (non-breaking):
    • Add keyword argument timestamp_ms to allow setting a points value in combination with an updated_at_ms timestamp
    • Improve value argument to support instances of type c104.Double and c104.Step as setter for c104.Point.value does
  • Improve GIL handling for methods station.add_point, server.stop and client.stop

Release 1.17.1

02 Feb 14:27
Compare
Choose a tag to compare
  • fix select-and-execute for C_SE_NA #2
  • fix armv7 build #4

Release 1.17.0

30 Jan 21:23
94a3a6e
Compare
Choose a tag to compare

Feature command mode (#3)

  • add command mode feature and improvements:
  • add support to wait for act_con and act_term response
  • free response map if result is not awaited
  • simplify test certificate generation without prompt
  • update changelog, readme and linter config
  • fix readthedocs build
  • fix read command success detection
  • enhance code documentation

Release 1.16.1

24 May 12:54
Compare
Choose a tag to compare