fix sending of wrong StopDT confirmation after the connection is established again and a new S-Frame received
v1.7.1 23-Apr-2024
fix sending StopDT con when S-Frame is received after StopDT act frame
v1.7.0 09-Apr-2024
added ASDU type filter: Supported ASDU can now be configured through Server.builder().setAllowedASduTypes(). If
configured, the stack will automatically respond to incoming ASDUs of unsupported types.
server:
added return callback method ConnectionEventListener in ServerEventListener.connectionIndication(Connection)
removed not necessary callback function setConnectionEventListenerBeforeStart()
changed place of configuration of connection listener from Connection.setConnectionListener() to ClientConnectionBuilder.setConnectionEventListener()
v1.6.4 17-Jan-2023
added internal pending state for correct connection state behavior
added ReservedASduTypeDecoder to settings for possible future definitions of reserved range <= 127
v1.6.3 15-Nov-2023
added Connection object to ConnectionEventListener methods
throws IllegalArgumentException when trying to send ASdu in stopped state
v1.6.2 24-Oct-2023
fixed dataTransferStateChanged not triggered when data transfer goes into the stopped state
newAsdu method is triggered even if isStopped=true on first connection
added method setConnectionEventListenerBeforeStart() to ServerEventListener to make sure a listener is set before
connection
v1.6.1 20-Jul-2023
fixed not waiting for missing S-Frame from master when sending StoDTCon
fixed no TESTFR after initial connection
fixed connection closed when receiving reserved ASDU
fixed sending S-Format for already confirmed messages
v1.6.0 23-Jun-2023
removed deprecated methods:
org.openmuc.j60870.Connection#waitForStartDT
org.openmuc.j60870.Connection#startDataTransfer(ConnectionEventListener listener, int timeout),
replaced by org.openmuc.j60870.Connection#startDataTransfer(ConnectionEventListener listener)
fixed missing S-frame confirmation while StopDT
fixes missing org.openmuc.j60870.ConnectionEventListener#connectionClosed(Connection connection, IOException) event while StopDT state
added check for t2 < t1 and t3 > t1
updated junit to 4.13.2, because of CVE-2020-15250
CLI app:
fixed windows start scripts
fixed COUNTER_INTERROGATION_ACTION_KEY exception
v1.5.0 02-Aug-2022
set minimum Java version to 1.8
added org.openmuc.j60870.ConnectionEventListener#dataTransferStateChanged(Connection, boolean) it
notifies if STARTDT ACT or STOPDT ACT was handled
added sendConfirmation with Cause of transmission parameter
added server connection setting for a IP whitelist
added getter for remote and local address
added sendActivationTermination for easier interrogation sequence
removed javax dependency
fixed not closing if max number of connection reached bug
thanks to Konstantinos Ntermitzoglou from inaccess
CLI app:
added Counter Interrogation Command in console client
added time to log messages
replaced deprecated methods
v1.4.0 19-Jun-2020
added STOPDT
added STOPDT state
added sendStopDataTransfer()
added parameter k (set maximum number of outstanding IPDuS)
added setConnectionTimeout (t0)
added org.openmuc.j60870.Connection#sendResponse with station address parameter
set methods to deprecated
org.openmuc.j60870.Connection#waitForStartDT, will be removed
org.openmuc.j60870.Connection#startDataTransfer(ConnectionEventListener listener, int timeout),
will be replaced by org.openmuc.j60870.Connection#startDataTransfer(ConnectionEventListener listener)
fixed TimeoutTask not working after start bug
fixed continue sending while waiting for acknowledgement
CLI app
added STARTDT and STOPDT
added set connection timeout (t0)
v1.3.1 11-Jun-2019
fixed sequence number overflow bug
thanks to Sven Liebehentze from Fraunhofer IEE
v1.3.0 29-Mar-2019
moved IE objects to separate package: org.openmuc.j60870.ie
renamed TypeId to ApduType
Builder: call build() instead of connect
reduced the number of active threads of a connection
added option for setting SO timeout
fixed wrong APCI parsing
fixed IeBinaryCounterReading bugs
fixed DST bug in IeTime56 getTimestamp
fixed bug with duplicated timeout tasks in queue
fixed maxTimeNoAckSentTimer bug
CLI app:
CLI app is a separate project now
added single commands
added set S0 timeout
added option for connection retries
v1.2.1 11-Oct-2017
fixed C_RC_TA_1 bug
v1.2.0 04-Jan-2017
CauseOfTransmission field can now be set explicilty when sending
SingleCommand (thanks to Dean Ouelette from RTDS).
v1.1.1 04-Oct-2016
replaced fixed thread pool by cached thread pool so that unused
threads are closed
ASDU notification correctly closed when connection is closed thanks
to Mr. Tellenbach
Client no longer closes connection if data is received before
START_DT CON message, but data is discarded instead.
improved normalized value and binary state information element
classes, but did not change API behaviour
v1.1.0 06-Jun-2016
Renamed ClientSap to ClientConnectionBuilder and ServerSap to
Server.Builder
fixed time conversion to ms of IeTime24 thanks to Juergen Wieferink
from BTC AG
added stopListening() to ServerSap allowing for clean close
refactored console client
v1.0.0 24-Feb-2016
fixed bug when creating multiple parallel connections using
the same ClientSap
fixed a synchronization problem in the server implementation
fixed toString() method of IeTime56 thanks to Jan Gall from Bosch
v0.9 19-Nov-2014
added full support for timers t1,t2 and t3
fixed bug in information element IeTime56
improved documentation
v0.8 07-Aug-2014
merged ClientConnection and ServerConnection to a single Connection
class, to allow reverse communication for server
make Connection functions thread safe
removed slf4j dependency
v0.6 24-Apr-2014
added client support for automatic sending of S format APDUs to
confirm incoming I format APDUs
added client support for automatic sending of TESTFRCON
messages when TESTFR ACT messages are received.
v0.5 10-Apr-2014
Common address higher than 255 are now supported
added util functions to calculate common address and information
object address from individual bytes
added support for private range Type IDs
v0.4 21-Mar-2014
added SampleServer
added sendConfirmation(ASdu aSdu) to ServerConnection for easy
sending of confirmation messages that are simple mirrors of incoming
requests except for the causeOfTransmission field.
renamed ioException callback function of ASduListener
modified build.gradle file to work with gradle v1.11
v0.3 14-Mar-2014
improved javadoc and added user guide
added support for all possible Type Identifications
added toString() method for every possible Information Element