Skip to content

Releases: jcurl/RJCP.DLL.SerialPortStream

SerialPortStream Library - 3.0.1

08 Apr 20:21
Compare
Choose a tag to compare

This is a refactored implementation of RJCP.SerialPortStream that will be used to move forward using the .NET Core Framework. The version 2.4.x will still be maintained and can be used as an alternative, but it won't use newer features of newer frameworks as they become available.

Supported Platforms

The following targets are supported

  • .NET 4.0, .NET 4.6.2, .NET Core 6.0, .NET Core 8.0
  • WIndows XP until Windows 11
  • Ubuntu (with libnserial 1.1.4)

Changes since Version 3.0.0

Quality

  • Remove the ISerialPortStream interface. This is a breaking change. To test, use the RJCP.SerialPortStream.Virtual instead. Having interfaces are a bad idea (they aren't easy to extend and when done, breaks code). You could either provide your own interface and your own class inheriting the interface and SerialPortStream as a workaround. (DOTNET-823)
  • Upgrade from .NET 4.5 to 4.6.2 (DOTNET-827)
  • Upgrade from .NET Standard to .NET Core 6.0 (DOTNET-936)
  • Provide .NET Core 8.0 targets (DOTNET-982)
  • Correct implementation of exceptions (DOTNET-943, DOTNET-951)
  • SYSLIB004 ReliabilityContract is only for .NET Framework (DOTNET-937)
  • Add references for OS Compatibility (DOTNET-938)

Fix

  • Don't close the port on ERROR_HANDLE_EOF (DOTNET-975 #142)

Virtual Serial Ports

A new NuGet package RJCP.SerialPortStream.Virtual has been created that can be included in test projects and given to the constructor for the RJCP.SerialPortStream v3.x. This can simplify testing.

Future Releases

The branch master which delivers the v3.x branch will continue independently. Bug fixes may be backported to the v2.4.x branch, especially for convenience, but eventually the language evolves limiting the ability to do backports.

SerialPortStream Library - 2.4.2

04 Mar 20:06
release/2.4.2.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes.

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
  • Windows 10/11 or later, .NET Standard 1.5

Tested On:

  • Windows 10 + Ubuntu 22.04, .NET 4.8 and Mono (current)
  • Windows 10 + Ubuntu 20.04. .NET Core 8.0

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.4.1

This is a bugfix release, and one of the final releases for this branch. Bugfixes, as reported and fixed may still be applied to this branch (v2.x).

Bugfixes

  • Don't close the port on ERROR_HANDLE_EOF (DOTNET-975, #142)

Quality Fixes

  • Refactor to remove empty method (DOTNET-974)
  • Add Constrained Execution Regions only for .NET Framework (DOTNET-954)
  • Update InternalApplicationException for .NET Framework with serialisation for .NET Framework (DOTNET-953)

SerialPortStream Library - 3.0.0

08 Apr 20:10
Compare
Choose a tag to compare

This is a refactored implementation of RJCP.SerialPortStream that will be used to move forward using the .NET Core Framework.

Supported Platforms

The following targets are supported

  • .NET 4.0, .NET 4.5, .NET Standard 2.1
  • WIndows XP until Windows 11
  • Ubuntu (with libnserial 1.1.4)

Changes since Version 2.4.1

There aren't any major differences between v3.0.0 and v2.4.1. You should be able to easily switch between the two. However no guarantees are given that the behaviour are identical between the two.

The software has been refactored into smaller NuGet components for reusability and testability. The functionality is equivalent to SerialPortStream v2.4.1.

Virtual Serial Ports

A new NuGet package RJCP.SerialPortStream.Virtual has been created that can be included in test projects and given to the constructor for the RJCP.SerialPortStream v3.x. This can simplify testing.

Future Releases

The branch master which delivers the v3.x branch will continue independently. Bug fixes may be backported to the v2.4.x branch, especially for convenience, but eventually the language evolves limiting the ability to do backports.

SerialPortStream Library - 2.4.1

01 Feb 21:34
release/2.4.1.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes.

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
  • Windows 10 or later, .NET Standard 1.5

Tested On:

  • Windows 10 + Ubuntu 20.04, .NET 4.8 and Mono (current)
  • Windows 10 + Ubuntu 20.04. .NET Core 3.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.

Changes since Version 2.4.0

This is a bugfix release, and one of the final releases for this branch. Bugfixes, as reported and fixed may still be applied to this branch (v2.x).

Features

  • Iterate using CfgMgr32 API for serial ports, so it also works on .NET Standard, and removes usage of the (slow) WMI interfaces (DOTNET-698)

Bugfixes

  • Minor compatibility update for Com0Com in test cases (DOTNET-714)

SerialPortStream Library - 2.4.0

31 Dec 20:05
release/2.4.0.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes.

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
  • Windows 10 or later, .NET Standard 1.5

Tested On:

  • Windows 10 + Ubuntu 20.04, .NET 4.8 and Mono (current)
  • Windows 10 + Ubuntu 20.04. .NET Core 3.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.

Changes since Version 2.3.1

This is a bugfix release, and one of the final releases for this branch. Bugfixes, as reported and fixed may still be applied to this branch (v2.x).

Features

  • Updated project style to .NET Core SDK (.NET 4.0, 4.5 and .NET Standard 2.1) (DOTNET-329, DOTNET-331, DOTNET-334, DOTNET-420)
  • .NET Core now can take an ILogger for logging internal details. The user must provide the logging framework for .NET Core (DOTNET-328, DOTNET-419)

Bugfixes

  • Clean up the ISerialPortStream interface (DOTNET-333)
  • Clean up dead code for SerialBuffer.IsPinnedBuffer
  • Clean up dead code for SerialBuffer.Reset()
  • Linux: Fix race condition for read/write buffers (DOTNET-423)
  • Linux: DiscardOutputBuffer now actually discards data (DOTNET-422)
  • BytesToWrite tries to be more accurate on the number of bytes still to write. (DOTNET-425)
  • BeginRead now results in exceptions being raised properly in EndRead (DOTNET-441)
  • Capture exceptions during an event. On .NET Core your program would otherwise just exit (.NET Framework would ignore the exception) (DOTNET-463)

SerialPortStream Library 2.3.1

19 Apr 19:15
release/2.3.1.0
Compare
Choose a tag to compare

This is the most stable version with various bugfixes and updates. It is strongly recommended to upgrade from v2.3.0 to v2.3.1.

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 10 .NET 4.0, 4.5, .NET Core 3.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.

Changes since version 2.3.0

This is a bugfix release.

  • Fix .NET Core (.NET Standard 1.5) ReadAsync and WriteAsync to work properly. v2.3.0 was completely broken.

SerialPortStream Library - 2.3.0

13 Apr 19:44
release/2.3.0.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, .NET Core or compatible

Tested On:

  • Windows 10 v2004

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.2.2

This is a bugfix release and adds support for ReadAsync and WriteAsync.

  • Correct P/Invoke signature on Windows when reading (#110)
  • Enable ReadAsync and WriteAsync for .NET Core / .NET 4.5. Fixes race conditions present in Framework locks by providing a native implementation (user meinsiedl)

For Linux, see previous releases for the prebuilt Ubuntu installation packages for the native library.

SerialPortStream v2.2.2

05 Jul 16:09
release/2.2.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 - 4.8 or compatible

Tested On:

  • Windows 7 SP1 x64 with .NET 4.8
  • Windows 10 x64 with .NET 4.8

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.

To get older packages of the native libnserial for Ubuntu, look at release 2.2.0 for the ZIP files. Disco and later are 64-bit releases only.

Changes since version 2.2.1

This is a bugfix release.

  • Fix usage of Decoder from bytes to characters when using ISO-8859-15 or similar on Linux. On Windows there is no problem (Mono/Linux raises an ArgumentException for some decoders if the source length is zero)

SerialPortStream v2.2.1.1

08 May 19:42
release/2.2.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
  • Windows Vista or later, architecture x86 or x64, with .NET 4.0 or .NET 4.5 - 4.8 or compatible

Tested On:

  • Windows 7 SP1 x64 with .NET 4.8
  • Windows 10 x64 with .NET 4.8

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.2.1

This is a bugfix release.

  • Fix packaging errors by NuGet 5.1.1 (#105)

SerialPortStream v2.2.1

06 May 11:46
release/2.2.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 - 4.8 or compatible

Tested On:

  • Windows 7 SP1 x64 with .NET 4.8
  • Windows 10 x64 with .NET 4.8

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.2.0

This is a bugfix release.

  • Fix compilation on Ubuntu 16.04.05
  • Don't let IsOpen throw a NullReferenceException (#90)
  • Documentation and release notes (#82)
  • Update for VS2019 and automate more build scripts
  • Update to NUnit 2.7.1
  • Fix buffer handling (#104)