Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Releases: dnp3/opendnp3

3.1.2

22 Apr 17:09
Compare
Choose a tag to compare
  • 🪲 Fix PrintingSOEHandler octet string size not printing properly. See 4372862
  • 🪲 Fix keep-alive timer not properly calculated. See #407.
  • 🪲 Fix LinkContext and MContext possible lifetime issue. See #407.
  • 🪲 Fix UDP reconnect delay not being honoured. Also, initial UDP read errors (due to ICMP packets) do not close the socket immediately. See #438.
  • ⚰️ Deprecate the LinkConfig constructor with an unused useConfirms argument. See #439.
  • 🪲 In Java, CommandHeader builder methods now all return CommandHeaders. See #440.
  • 🪲 In Java, fix LinkStatusListener not getting called. Also added the missing onUnknownDestinationAddress and onUnknownSourceAddress callbacks. All the callbacks now have an empty default implementation. See #441.
  • 🪲 Added extra log when closing a new connection based on ServerAcceptMode::CloseNew. See #442.
  • 🪲 Fix TLS server not throwing exception when a certificate or key file is not valid. See #443.

3.1.1

17 Jan 18:21
Compare
Choose a tag to compare

🐞 Fix static octet string serilazation bug.
⭐ Add missing octet string configuration to C# EventBufferConfig.

3.1.0

16 Oct 16:34
Compare
Choose a tag to compare
  • ⭐ Added IOutstationApplication::OnConfirmProcess. See PR #403.
  • OutstationParams::maxControlsPerRequest is now auint32_t and its default value is 4,294,967,295. See issue #390.
  • 🪲 Fix FrozenCounter::toString() in Java bindings. See issue #389.

3.0.4

03 Jul 15:05
Compare
Choose a tag to compare
  • 🪲 Fix regression in 3.0 .NET bindings which causes deadband settings to not be applied. See PR #387.

3.0.3

11 Jun 15:35
Compare
Choose a tag to compare
  • 🪲 Fix TimeDuration overflow bug. See PR #382.
  • 🪲 Revert EventMode::EventOnly to 2.x behaviour. See PR #385 and PR #386.

3.0.2

28 May 17:17
Compare
Choose a tag to compare
  • 🪲 Fix discrepancy between DNPTime::TimestampQuality and HeaderInfo::TimestampQuality
    #377.

3.0.1

20 May 19:02
Compare
Choose a tag to compare
  • 🪲 Fix double-delete issue in C# adapter. See PR
    #376.

3.0.0

15 May 20:53
Compare
Choose a tag to compare

New features:

  • ⭐ Add support for Immediate Freeze (0x07), Immediate Freeze No Ack
    (0x08), Freeze-and-Clear (0x09), Freeze-and-Clear No Ack (0x10). See PR #320.
  • Add support for broadcast. See PR #312.
  • ⭐ Add UDP support. See PR #314.
  • ⭐ Add unsolicited fixed number of retries See PR
    #323.
  • ⭐ Add support for timestamp quality and g51v2 (CTO Unsynchronized). See
    PR #316.
  • ⭐ Add support for TLS 1.3 (requires OpenSSL 1.1.1). See PR
    #372.

API changes:

  • ⭐ Complete reorganization of the code to produce a single library.
    Properly separate the public header files from the private ones. Refactor the
    CMake to use modern practices.
  • ⭐ Outstation database points are now specified using a map instead of a
    sorted array. See PR #296.
  • ICommandHandler now includes a Begin and a End callback to know
    which commands were grouped together in a single APDU. See PR
    #341.
  • ISOEHandler now includes a BeginFragment and EndFragment to help
    determine if it's a multi-fragment response or an unsolicited response. See PR
    #298.
  • ⭐ When sending requests, a distinct SOEHandler can be specified to help
    associate the response with the request. To keep the old behaviour, simply
    pass the same SOEHandler on each request. See PR
    #339.
  • ⭐ All public enumerations used by the library exposes a to_string and a
    from_string method. They also expose a to_type and a from_type method to
    convert to and from the underlying integer value. See PR
    #308.
  • ⭐ Control Relay Output Block now expose each field individually. See PR
    #349.
  • ⭐ Instead of relying on an output parameter, DNP3Manager now throws an
    exception on misconfiguration. This also includes if a server was not able to
    bind to a port. See issue
    #293 and PR
    #367.
  • ❌ Remove sending data-link confirmation support. It still supports
    receiving confirmed data to interoperability. See issue
    #364 and PR
    #367.
  • 🪲 TaskConfig now takes a std::shared_ptr instead of a reference. See
    issue #238 and PR
    #367.

Bindings changes:

  • ⭐ Add typed flag handling in Java and C#. See PR
    #342.
  • ⭐ In the Java bindings, when DNP3Manager fails, an descriptive
    exception is thrown instead of returning a null. See PR
    #367.
  • ⭐ Published NuGet packages now include both x86 and x64 binaries.
  • 🪲 Provide IDnpTimeSource interface in Java and C#. See issue
    #353 and PR
    #357.
  • 🪲 Add typesAllowedInClass0 in Java bindings. See PR
    #360.

CI:

Other:

  • 🪲 Fix few minor conformance issues. See PR
    #356.
  • 🪲 Fix issue in data-link state machine. See issue
    #138 and PR
    #367.
  • ⏫ Update ASIO dependency to 1.16. See PR
    #365.

2.4.0

20 Apr 14:36
Compare
Choose a tag to compare
  • ⭐ Added optional reconnection delay parameter to ChannelRetry. When a connection is lost, this parameter is used to wait before reattempting to establish a connection. Then, the same reconnection strategy as before is used for retries. See issue #354.
  • 🪲 Fix conformance issue with data-link confirmations. See PR #359.
  • 🪲 Fix conformance issue select & operate behaviour. See PR #359.
  • 🪲 Fix issue when compiling with MingW. See PR #345.

2.3.3

17 Feb 19:03
Compare
Choose a tag to compare
  • 🪲 Fix C# exception on time conversion upon restart command not supported. See issue #350.