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