Skip to content

Releases: jcurl/RJCP.DLL.SerialPortStream

SerialPortStream Library - 2.2.0

01 Dec 14:38
release/2.2.0.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • Windows 7 or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible
  • Mono

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 10 x64 with .NET 4.7.2
  • Ubuntu 18.04 64-bit with mono 5.4.x

Installation Notes:

The DLL is compiled with strong signing. You can install the DLL alongside your application
or in the GAC. It is not specific to a particular architecture.

Use libnserial 1.1.4 on Linux (compile from the tag provided, or install the appropriate debian package attached t this release)

Changes since version 2.1.4

This is a minor update with bugfixes. There are small API changes.

  • CRITICAL FIX: Don't lose data on write
  • ENHANCEMENT (Windows): Fallback to checking registry if port is not CHAR/UNKNOWN (#64)
  • ENHANCEMENT: Add interface for the SerialPortStream (#77)
  • FIX: (Linux): Now show the handle in debug logs on Linux
  • FIX: IsOpen should return false when the filehandle is invalid (#69)
  • FIX: Clean up minor issues reported by SonarLint
  • FIX (Windows): Correct usage of ClearCommError

Changes since libnserial-1.1.2 (up to tag release/2.1.4)

  • FIX: Use correct header on Ubuntu 18.04 with GCC 7.3.0

Changes since libnserial-1.1.3 (up to tag release/2.2.0)

  • FIX: Remove warnings from VSCode
  • FIX: Allow RTS/DTR to be set before port is open (#62)
  • FIX: Port detection on Linux may lead to crash

SerialPortStream Library - 2.1.4

09 Jun 13:12
release/2.1.4.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates.

Supported Platforms:

  • Windows XP SP3 x86, .NET 4.0
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 10 x64 with .NET 4.5 or later
  • Mono 5.2

Installation Notes:

The DLL is compiled with strong signing (and now the .NET Core library as well). You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture.

Changes since version 2.1.3

This is a bugfix release. There are no external API changes, so only the minor version is
updated to 2.1.4 (see Information about Versioning)

  • Reduce memory allocations in IO Thread
  • Reduce CPU load due to tracing if disabled
  • Sign the .NET Standard 1.5 library (thanks to Amarok79)

SerialPortStream Library - 2.1.3

27 Apr 06:46
release/2.1.3.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • Windows XP SP3 x86, .NET 4.0
  • Windows Vista, 7, 8, 8.1, 10, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible
  • Ubuntu Mono 5.x

Tested On:

  • Windows 7 SP1 x64 with .NET 4.6
  • Windows 10 x64 with .NET 4.7
  • Ubuntu 16.04 with Mono 5.10.1.20

Installation Notes:

The DLL is compiled with strong signing. You can install the DLL alongside your application
or in the GAC. It is not specific to a particular architecture.

Changes since version 2.1.2

This is a bugfix release. There are is one minor external API change, but considered a bugfix so that only the minor version is increased.

  • .NET Core upgraded for .NET Core 1.0.4
  • Make IsDisposable read only. This is an API change
  • Fix a deadlock reported in #50

SerialPortStream 2.1.2

04 Jun 19:12
release/2.1.2.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • .NET 4.0
    • Windows XP SP3, Vista, 7, 8, 8.1, 10
    • Mono 4.8.x or later on Ubuntu (with libnserial library version 1.1.2)
  • .NET 4.5
    • Windows Vista, 7, 8, 8.1, 10,
    • Mono 4.8.x or later on Ubuntu (with libnserial library version 1.1.2)
  • .NET Standard 1.5
    • Windows 8.1, 10
    • Ubuntu 16.04.2 (with libnserial 1.1.2 library)

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 10 with .NET 4.6.x
  • Ubuntu 16.04.2 with Mono 4.8.x

Installation Notes:

The DLL is compiled with strong signing for .NET FX (but not for .NET Standard). You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture.

Changes since version 2.1.1.0

Linux specific fixes

.NET Fixes

  • Shorten the name of .NET threads. Fixes GitHub issue #24
  • Provide an implementation for DiscardInBuffer and DiscardOutBuffer. Fixes GitHub issue #26
  • Make P/Invoke safer with the SafeHandle.
  • Properly clean up pin monitoring thread.

Changes since libnserial-1.1.1

  • Don't monitor pins for devices that don't support it (e.g. /dev/ttyACM devices), avoiding a 100% CPU issue. Fixes GitHub issue #22
  • Treat the OS return EINTR as an interrupt and not an error, no longer crashing.
  • Fix race conditions when monitoring pins.
  • Fix handling of pthread errors.

Windows specific fixes

  • Support the Arduino Uno clone with a USB CH340 serial/usb adaptor. This driver doesn't suppot WaitCommEvent overlapped. Fixes GitHub issue #25

libnserial

Use the prepared debian packages for Ubuntu, or compile and install it yourself for other linux distributions.

You should use libnserial version 1.1.2. Only using the newer version will bring all available fixes. Older versions may work but may also only bring limited functionality.

SerialPortStream 2.1.1.0

08 Apr 13:46
release/2.1.1.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • .NET 4.0
    • Windows XP SP3, Vista, 7, 8, 8.1, 10
    • Mono 4.6.x or later on Ubuntu (with libnserial library version 1.1.0)
  • .NET 4.5
    • Windows Vista, 7, 8, 8.1, 10,
    • Mono 4.6.x or later on Ubuntu (with libnserial library version 1.1.0)
  • .NET Standard 1.5
    • Windows 8.1, 10
    • Ubuntu 16.04.2 (with libnserial 1.1.0 library)

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 10 with .NET 4.6.x
  • Ubuntu 16.04.2 with Mono 4.8.0

Installation Notes:

The DLL is compiled with strong signing for .NET FX (but not for .NET Standard). You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture.

Changes since version 2.1.0.0

  • Really compile for .NET Standard 1.5
  • Allow the serial port to be reopened on Linux (needs libnserial 1.1.1 or later)

It is recommended to also update the library libnserial to version 1.1.1 for this release to get all features.

libnserial

Use the prepared debian packages for Ubuntu, or compile and install it yourself for other linux distributions.

SerialPortStream Library - 2.1.0.0

25 Mar 17:35
release/2.1.0.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • .NET 4.0
    • Windows XP SP3, Vista, 7, 8, 8.1, 10
    • Mono 4.6.x or later on Ubuntu (with libnserial library version 1.1.0)
  • .NET 4.5
    • Windows Vista, 7, 8, 8.1, 10,
    • Mono 4.6.x or later on Ubuntu (with libnserial library version 1.1.0)

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 10 with .NET 4.6.x
  • Ubuntu 16.04.2 with Mono 4.6.2

Installation Notes:

The DLL is compiled with strong signing for .NET FX (but not for .NET Standard). You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture.

Changes since version 2.0.3.0

  • Refactor code for better framework multitargetting. Due to a build configuration failure, .NET Standard 1.5 is not working in this release
  • On Linux use a smarter algorithm than Mono for getting available serial ports. Needs libnserial-1.1.0. In case an older libnserial is installed, we revert to older behaviour in SerialPortStream 2.0.3. NET Standard on Windows returns an empty list, but will work properly on Linux.
  • Enrich exception handling. Needs libnserial-1.1.0. In case an older libnserial is installed, we revert to older behaviour in SerialPortStream 2.0.3. This may cause a breaking change as new exceptions may be raised for existing APIs.

It is recommended to also update the library libnserial to version 1.1.0 for this release to get all features.

libnserial

Use the prepared debian packages for Ubuntu, or compile and install it yourself for other linux distributions.

SerialPortStream Library - 2.0.3

22 Jan 18:51
release/2.0.3.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • Windows XP SP3 x86, .NET 4.0
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible

Tested On:

  • Windows 7 SP1 x64 with .NET 4.6.1
  • Windows 10 1607 14393 x64
  • Mono 4.6.2 on Ubuntu 16.04.1 x86

Installation Notes:

The DLL is compiled with strong signing. You can install the DLL alongside your application
or in the GAC. It is not specific to a particular architecture.

Changes since version 2.0.2

This is a bugfix release.

  • No longer call SetCommBreak or ClearCommBreak on opening the serial port. Fixes #12
  • Add new support for CMake packages to find libnserial
  • Minor performance improvements for Windows and Linux.
  • Improve minor security with P/Invoke
  • Linux: Fix memory leak for ManualResetEvent
  • Linux: Ensure that opening the port is exclusive (works only for non-root processes).
  • Linux: Fix potential race condition with errors across multiple threads in user code

SerialPortStream Library - 2.0.2

13 Oct 21:03
release/2.0.2.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • Windows XP SP3 x86, .NET 4.0
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible

Tested On:

  • Windows 7 SP1 x86 with .NET 4.6.1
  • Windows 7 SP1 x64 with .NET 4.6.1
  • Windows 10 1607 14393.223 x64

Installation Notes:

The DLL is compiled with strong signing. You can install the DLL alongside your application
or in the GAC. It is not specific to a particular architecture.

See https://github.com/jcurl/SerialPortStream/releases/tag/release%2F2.0.0.0 for the "libnserial_1.0.0-0ubuntu1.*.zip" packages for Ubuntu (these have not changed).

Changes since version 2.0.1.1

This is a bugfix release.

  • Fix issue where ToString() would raise an exception if there was a device error after connecting (affects Windows only).

SerialPortStream Library - 2.0.1.1

07 Sep 19:44
release/2.0.1.1
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • Windows XP SP3 x86, .NET 4.0 or later
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible

Tested On:

  • Windows 10 "1607" x64 with .NET 4.6.1

Installation Notes:

The DLL is compiled with strong signing. You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture.

See https://github.com/jcurl/SerialPortStream/releases/tag/release%2F2.0.0.0 for the "libnserial_1.0.0-0ubuntu1.*.zip" packages for Ubuntu (these have not changed).

Changes

Changes since version 2.0.0.0

This is a bugfix release. There are no external API changes, so only the minor version is updated.

  • In rare cases reading may stop due to race conditions in drivers. We now wait on OverlappedResult() on Windows only.

Changes since version 2.0.1.0

There is no code changes, but a recompile with the TRACE option to allow debugging in your own projects.

  • Reenable the "TRACE" flag in the nuget packages

SerialPortStream Library - 2.0.1.0

07 Sep 19:14
release/2.0.1.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates with real world usage.

Supported Platforms:

  • Windows XP SP3 x86, .NET 4.0 or later
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 or compatible

Tested On:

  • Windows 10 "1607" x64 with .NET 4.6.1

Installation Notes:

The DLL is compiled with strong signing. You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture.

See https://github.com/jcurl/SerialPortStream/releases/tag/release%2F2.0.0.0 for the "libnserial_1.0.0-0ubuntu1.*.zip" packages for Ubuntu (these have not changed).

Changes since version 2.0.0.0

This is a bugfix release. There are no external API changes, so only the minor version is updated.

  • In rare cases reading may stop due to race conditions in drivers. We now wait on OverlappedResult() on Windows only.