Releases: Fraunhofer-FIT-DIEN/iec104-python
Releases · Fraunhofer-FIT-DIEN/iec104-python
Release 2.2.0
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
This is a bugfix release.
Fixes
- Fixed an issue where the source distribution erroneously included a
__pycache__
folder.
Release 2.1.0
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
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
Release 2.0.0
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
- 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
Release 1.17.0
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