Skip to content

Releases: jcurl/RJCP.DLL.SerialPortStream

SerialPortStream Library - 2.0.0.0

18 Jun 16:51
release/2.0.0.0
Compare
Choose a tag to compare

This is the most recent version of the SerialPortStream library, that now runs under Mono on Linux (tested with Ubuntu 14.04 and Ubuntu 16.04).

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 later (compiled against the .NET 4.0 and .NET 4.5 framework)
  • Linux with Mono 4.2.3 or later (earlier versions may work, Mono 3.x and earlier are known to be buggy, so do not use).

Tested On:

  • Windows 7 SP1 x86 with .NET 4.5
  • Windows 10 x64 with .NET 4.5
  • Ubuntu 14.04 x86 and 16.04 x64 with Mono 4.2.3

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.

On Linux, you will need to compile and install the helper library, libnserial. You can alternatively install the most appropriate debian library for Ubuntu. Other libraries may be built on demand.

Changes since version 1.2.x

See the README.md in the package. This is a rewrite and keeping only the core implementation to make the API a little more modern and to support Windows and Linux with a single NuGet package.

SerialPortStream Library - 1.2.0.0

07 Apr 14:11
release/1.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 XP SP3 x86, .NET 4.0
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5
  • See README.md for test details

Unsupported Platforms

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 10 x64 with .NET 4.6

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 1.1.4.0

This is a bugfix release. There are small internal API changes, compatible with previous releases, so the version is updated to 1.2.0.0 (see [Information about Versioning])

  • Fix GetPortDescriptions to not raise an exception when no COM ports are in the system.
  • Fix RaceConditions in events
  • Add new protected methods for events OnDataReceived, OnPinChanged, OnCommError
  • Moved over to nUnit for test cases
  • Flush now waits for write buffer to be emptied before returning
  • #1: Fix setting Parity

SerialPortStream Library - 1.1.4.0

13 Feb 15:10
release/1.1.4.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

Unsupported Platforms:

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 8.1 x64 with .NET 4.5

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 1.1.3.0

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

  • Fix issue where a read might leave a single byte in the hardware buffer (user perturbare).
  • Fix memory leak when disposing (user kevingardthausen).
  • Fix a crash when calling Dispose during an event (user dhsmith).

SerialPortStream Library - 1.1.3.0

13 Feb 15:15
release/1.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 or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5

Unsupported Platforms:

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On:

  • Windows 8.1 x64 with .NET 4.5.2

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 1.1.2.0

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

  • Memory leak when closing the SerialPortStream. In the default configuration, this meant 1.6GB would be allocated in about 1500 cycles. Thanks to "la3561".

SerialPortStream Library - 1.1.2.0

13 Feb 15:17
release/1.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:

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

Unsupported Platforms:

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 8.1 x64 with .NET 4.5

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 1.1.1.0

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

  • Major bugfix that if during a DoRead/DoWrite operation it results in error 995, data reading will continue. Occurred while sometimes clearing buffers.
  • Major bugfix race condition where if DiscardOutBuffer was calling during a pending write operation, a crash would occur due to an inconsistent buffer.
  • Minor bugfix catch exception when opening the serial port and the driver reports an error.
  • Minor bugfix race condition, that if IsRunning is queried immediately after calling Start(), it would return false.
  • Minor bugfix in Dispose() pattern usage.
  • Minor change fixing LocalAsyncResult internally to not use Lazy<> object.
  • Minor bugfix GetPortNames causes NullReferenceException.
  • Minor bugfix reducing a call to get the last win32 error on write, to do it only in case of an error.
  • Minor improvement for debugging by setting thread names and optimizing debug output.

SerialPortStream Library - 1.1.1.0

13 Feb 15:18
release/1.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:

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

Unsupported Platforms:

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5
  • Windows 8.1 x64 with .NET 4.5

Installation Notes:

The DLL is compiled with strong signing and signed with a CACert code signing certificate. You can install the DLL alongside your application or in the GAC. It is not specific to a particular architecture. Note, the public key has changed since the previous version.

Changes since version 1.1.0.0

This is a major bugfix release. There are no external API changes except for the public key token, so only the minor version is updated, to 1.1.1.0 (see Information about Versioning)

  • Major bugfix in the decoding of bytes to chars. Previous version could in rare cases result in exceptions with the encoding if a 4-byte UTF8 happens to fit in two UTF16 characters and lands precisely at the end of an internal buffer. Rare but can happen.
  • Major bugfix, avoiding potential deadlocks when reading/writing simultaneously by implementing our own IAsync methods. See my CodeProject Tip for the analysis
  • Major bugfix, DiscardOutBuffer now implemented
  • Major bugfix, significantly improved performance when reading
  • Major bugfix, flush would sometimes block forever, now ordering changed and logic in central i/o loop.
  • Minor bugfix in timing calculations and timeouts
  • Minor bugfix, serial port thread is now a background thread to not hang applications on exit if the serial port isn't closed.

SerialPortStream Library - 1.1.0.0

13 Feb 15:19
release/1.1.0.0
Compare
Choose a tag to compare
Pre-release

This is the initial version.

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

Unsupported Platforms:

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0/4.5

Installation Notes:

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

Changes to version 1.0.0.0

This version contains new methods, updating the minor version to 1.1.0.0.

NEW: CanTimeout now supported
FIX: NewLine now checks for empty strings
FIX: Dispose doesn't block when no events occur

  • Updated copyright information
  • Updated to use VS2012. Removed legacy test setup files

SerialPortStream Library - 1.0.0.0

13 Feb 15:20
release/1.0.0.0
Compare
Choose a tag to compare
Pre-release

This is the initial version.

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

Unsupported Platforms:

The Mono framework, Compact Framework or WinRT (ARM) based systems are not supported.

Tested On:

  • Windows 7 SP1 x64 with .NET 4.0

Installation Notes:

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