v1.7.1 23-Apr-2024 ------------------ - fix sending StopDT con when S-Frame is recevied 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() * removed calling connection.setConnectionListener() - client: * 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 - added runscripts for ClientApp v0.2 28-Feb-2014 ---------------- - first release