Removed deprecated org.openmuc.j60870.Connection#startDataTransfer(ConnectionEventListener listener, int timeout)
Use org.openmuc.j60870.Connection#startDataTransfer(ConnectionEventListener listener) instead
Added
Added validation to ensure t2 < t1 and t3 > t1
Fixed
Fixed missing S-frame confirmation during STOPDT
Fixed missing connectionClosed(Connection, IOException) events while in STOPDT
Build and test
Updated JUnit to 4.13.2 to address CVE-2020-15250
CLI app
Fixed Windows start scripts
Fixed COUNTER_INTERROGATION_ACTION_KEY exception
1.5.0 (02-Aug-2022)
Added
Added ConnectionEventListener#dataTransferStateChanged(Connection, boolean) to signal handling of STARTDT act and STOPDT act
Added sendConfirmation with an explicit cause-of-transmission parameter
Added a server-side IP whitelist
Added getters for local and remote addresses
Added sendActivationTermination to simplify interrogation sequences
Changed
Raised the minimum required Java version to 8
Removed
Removed the javax dependency
Fixed
Fixed a bug where connections were not closed after the maximum number of connections had been reached
thanks to Konstantinos Ntermitzoglou from inaccess
CLI app
Added Counter Interrogation Command to the console client
Added timestamps to log messages
Replaced deprecated methods
1.4.0 (19-Jun-2020)
Added
Added STOPDT
added STOPDT state
added sendStopDataTransfer()
Added parameter k to configure the maximum number of outstanding I PDUs
Added setConnectionTimeout for t0
Added Connection#sendResponse with a station address parameter
Deprecated
Deprecated Connection#waitForStartDT
Deprecated Connection#startDataTransfer(ConnectionEventListener listener, int timeout) in favor of Connection#startDataTransfer(ConnectionEventListener listener)
Fixed
Fixed TimeoutTask not working after startup
Fixed continued sending while waiting for acknowledgment
CLI app
Added STARTDT and STOPDT
Added support for configuring t0
1.3.1 (11-Jun-2019)
Fixed
Fixed a sequence number overflow bug
thanks to Sven Liebehentze from Fraunhofer IEE
1.3.0 (29-Mar-2019)
Changed
Moved IE classes to org.openmuc.j60870.ie
Renamed TypeId to ApduType
Changed the builder API to use build() instead of connect()
Reduced the number of active threads per connection
Added
Added socket timeout configuration
Fixed
Fixed APCI parsing
Fixed issues in IeBinaryCounterReading
Fixed a DST issue in IeTime56.getTimestamp()
Fixed duplicated timeout tasks in the queue
Fixed maxTimeNoAckSentTimer
CLI app
Moved the CLI app into a separate project
Added single commands
Added support for configuring the SO timeout
Added connection retry support
1.2.1 (11-Oct-2017)
Fixed
Fixed a bug in C_RC_TA_1
1.2.0 (04-Jan-2017)
Added
Added support for explicitly setting the CauseOfTransmission field when sending SingleCommand
thanks to Dean Ouelette from RTDS
1.1.1 (04-Oct-2016)
Changed
Replaced the fixed thread pool with a cached thread pool so unused threads can be cleaned up automatically
Improved normalized value and binary state information element classes without changing API behavior
Fixed
Fixed ASDU notification cleanup when a connection is closed
thanks to Mr. Tellenbach
The client no longer closes the connection if data is received before STARTDT con; the data is discarded instead
1.1.0 (06-Jun-2016)
Changed
Renamed ClientSap to ClientConnectionBuilder
Renamed ServerSap to Server.Builder
Refactored the console client
Added
Added stopListening() to ServerSap for clean shutdown
Fixed
Fixed millisecond conversion in IeTime24
thanks to Juergen Wieferink from BTC AG
1.0.0 (24-Feb-2016)
Fixed
Fixed a bug when creating multiple parallel connections using the same ClientSap
Fixed a synchronization issue in the server implementation
Fixed IeTime56.toString()
thanks to Jan Gall from Bosch
0.9 (19-Nov-2014)
Added
Added full support for timers t1, t2, and t3
Fixed
Fixed a bug in IeTime56
Documentation
Improved the documentation
0.8 (07-Aug-2014)
Changed
Merged ClientConnection and ServerConnection into a single Connection class to support reverse communication on the server side
Made Connection methods thread-safe
Removed
Removed the slf4j dependency
0.6 (24-Apr-2014)
Added
Added automatic client-side sending of S-format APDUs to acknowledge incoming I-format APDUs
Added automatic client-side sending of TESTFR con in response to TESTFR act
0.5 (10-Apr-2014)
Added
Added support for common addresses greater than 255
Added utility methods to calculate common addresses and information object addresses from individual bytes
Added support for private-range Type IDs
0.4 (21-Mar-2014)
Added
Added SampleServer
Added sendConfirmation(ASdu aSdu) to ServerConnection to simplify sending confirmation messages that mirror incoming requests except for the causeOfTransmission field
Changed
Renamed the ioException callback method of ASduListener
Build and test
Updated build.gradle to work with Gradle 1.11
0.3 (14-Mar-2014)
Added
Added support for all possible type identifications
Added toString() methods for all information elements