Skip to content

SerialPortStream Installation

Jason Curl edited this page Oct 19, 2021 · 4 revisions

Table of Contents

NuGet

The NuGet packages for the SerialPortStream (from version 1.1.2.0 and later) are found at http://www.nuget.org/packages/SerialPortStream/. You can also use the NuGet Package manager.

Sources and Debug Symbols are available since version 1.1.3.0 and later.

Builds

You can download the binary DLL file from the releases page of GitHub.

https://github.com/jcurl/SerialPortStream/releases

Ubuntu Packages for libnserial wrapper library

You should install the latest version of libnserial. The package for Ubuntu is given on the release pages. For other Operating Systems, build and install from sources (see the folder dll\serialunix for more information).

 # apt install libnserial_1.1.4-0ubuntu1~focal1_amd64.deb

Versioning

The version numbers of the DLLs are of the form "x.y.z.b". The following convention is used to describe compatibility with other versions, taken to mean similar things from the Unix world.

File Version and Assembly Version:

  • The first digit x is the Major version. This is increased whenever an incompatible interface change is made. This could mean an intential breakage in behaviour for an existing API, or the removal of a public API. Then the version fields y and z are set to zero.
  • The second digit "y" is the Minor version. This is increased whenever a compatible change is made that introduces a new interface. This indicates to the programmer that another DLL with the same major version, but a newer minor version should be compatible. It cannot be guaranteed that downgrading to an older DLL with the same major version, but a smaller minor version will work as new APIs have been added in between. The version field z is set to zero if the minor version is increased.
  • The third digit z is the Revision. This is increased whenever a bugfix occurs. No new interfaces have been introduced and no interfaces have been removed. Replacing a DLL with the same major and minor version should cause no intentional side effects.
  • The last digit b is the "Build" information. It is typically zero for a release build. This field may be used to identify differences between a version that has already been released and a debug build.
Product Version
  • This version field has nothing to do with API compatibility. It should be ignored.
Branching
  • If a branch needs to be made that introduces API changes, then the major version should be changed.