Skip to content

Releases: java-native/jssc

2.9.6

15 Dec 22:15
Compare
Choose a tag to compare

2023-12-15

Features

  • Added RISC-V support. Precompiled binaries for riscv32 and riscv64 are included in jssc distribution #143
  • Information about certain errors in native code execution is now passed on to Java as exception #96

Features dropped

  • Removed Solaris support. Precompiled binaries for sunos_32 and sunos_64 are no longer included, and must be built from source by interested parties. #148

Developer notes

  • Added basic read/write unit tests that can be executed on machines suppoting socat #47
  • Fixed issue where unit tests were not executed against binaries built from sources #51
  • Cleaned up logs printed during test execution. This also fixes CVE-2023-6378 reported against jssc via test dependency #156
  • Enabled automated tests against various platforms for PRs #151
  • Updated native-lib-loader to 2.5.0 #144
  • Update junit to 4.13.2 #163

2.9.5

09 Aug 14:25
Compare
Choose a tag to compare

2023-08-09

Fixes

  • Fixed invalid event type check in SerialPortEveny.isBREAK() #131
  • Bumped version of org.scijava:native-lib-loader to fix compatibility issues with Windows ARM64
  • Fixed possible NullPointerException in SerialPortList.getWindowsPortNames() #135
  • Fixed compatibility issue with ARM6 and devices such Raspberry Pi gen 1 or model Zero #139
  • Minor clarification in javadoc: #73

Developer notes

  • Removed previously @Deprecated methods from SerialNativeInterface for obtaining library version
  • Dropped dependency on third party Maven repository when downloading scijava.org:native-lib-loader in build time #112
  • Added Maven and CMake profile for cross-compiling native libraries using dockcross docker containers #140

2.9.4

07 Sep 03:44
c84c19e
Compare
Choose a tag to compare

2021-08-17

Features

  • Adds support for Windows ARM64 #75

Fixes

  • Corrected Baud Rate being ignored on Windows #113

Developer Notes

  • Rebuilt Windows native libraries for x86, amd64 and aarch64 all others unchanged

2.9.3

06 Aug 00:02
1ee1666
Compare
Choose a tag to compare

2021-08-05

Features

  • Added MacOS arm64 support #74
  • Added support for pre-extracted native libraries #92
  • Added Java Module support #79

Fixes

  • Better performance and compatibility for Linux reads/poll #90
  • Improved device detection on Linux and MacOS host #97

Developer Notes

  • Cleaned up javadocs #106
  • Consolidated Maven profiles #93
  • Show native file information #93 #99
  • Rebuilt all native libraries to version 2.9.3 #104
  • Updated native-lib-loader version to 2.3.6 #104
  • Simplify SerialPort access from SerialPortEvent #86

2.9.2

31 Jul 19:41
Compare
Choose a tag to compare

2020-07-31

Features

  • Updated structure for Maven Central #67

Fixes

  • Adds 2400 baud to port settings #58

Developer Notes

  • With exception of macOS, all native libs are still versioned 2.9.0.

2.9.1

30 May 03:51
be4368f
Compare
Choose a tag to compare

2019-05-29

Description

  • Contains native libs for Windows (x86, x86-64), Linux (x86, x86-64, ARM hard float), Solaris (x86, x86-64), MacOS (x86-64). All native libs contained within the jssc-x.x.x.jar file and you don't need manage native libs manually.
  • Warning: Javadocs provided separately.
  • Warning: Does NOT contain MacOS x86, MacOS PPC
  • Warning: Does NOT contain ARM soft float

Fixes

  • Fixes macOS library to be build with notarization support #54

Developer Notes

  • With exception of macOS, all native libs are still versioned 2.9.0.

2.9.0

14 May 05:20
Compare
Choose a tag to compare

2019-05-14

Description

  • Contains native libs for Windows (x86, x86-64), Linux (x86, x86-64, ARM hard float), Solaris (x86, x86-64), MacOS (x86-64). All native libs contained within the jssc-x.x.x.jar file and you don't need manage native libs manually.
  • Warning: Javadocs provided separately.
  • Warning: Does NOT contain MacOS x86, MacOS PPC
  • Warning: Does NOT contain ARM soft float

Fixes

  • Fixed hard crash on Windows using JDK11

Developer Notes

  • Switch to Maven build system
  • Switch to CMake for compiling native libs
  • Adds Travis-CI builds for common platforms

2.8.0

05 Apr 17:00
Compare
Choose a tag to compare

(Original release date 2014-01-24)

Description

  • Contains native libs for Windows (x86, x86-64), Linux (x86, x86-64, ARM soft & hard float), Solaris (x86, x86-64), Mac OS X (x86, x86-64, PPC, PPC64). All native libs contained within the jssc.jar file and you don't need manage native libs manually.
  • Contains Javadocs

Fixes

Enhancements

  • Added method writeString(String string, String charsetName) e56d39f
  • Added method getNativeLibraryVersion() in SerialNativeInterface class 4cc7332
  • Enabled Java and Native libraries versions mismatch check 5d1515a

2.6.0

05 Apr 17:36
Compare
Choose a tag to compare

(Original release date 2013-06-01)

Enhancements

  • Added os.name - "Darwin" and os.arch - "universal" support; useful for MacOS X developers.
  • Added ttyO to Linux RegExp for listing OMAP serial devices.
  • Added JSSC_IGNPAR and JSSC_PARMRK properties for enabling IGNPAR and PARMRK flags in _nix termios structure.

2.5.0

05 Apr 17:27
Compare
Choose a tag to compare

(Original release date 2013-04-27)

Fixes

  • Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now read methods works correctly and are blocking like in Windows
  • Fixed error with garbage reading in Windows using this library after another application used serial port. To prevent this effect COMMTIMEOUTS structure zeroing added to setParams() method
  • The port handle now stored in variable of type long instead of int, to prevent potential problems with type conversions on Win64
  • Fixed MacOS X 10.8 bug with native lib loading (*.dylib -> *.jnilib)
  • Fixed Linux error with exclusive access to serial port (TIOCEXCL). TIOCNXCL added to closePort() method for clearing exclusive access
  • Fixed Windows native lib port name concatenation error
  • Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder
  • Null port name fix. If try to invoke method openPort() for SerialPort(null) object, exception TYPE_NULL_NOT_PERMITTED will be thrown
  • Enabled TIOCEXCL support in Solaris

Enhancements

  • Added ARM Soft & Hard float support (Tested of Raspberry Pi with Oracle JDK 6, 7, 8)
  • Added ttyACM, ttyAMA, rfcomm to Linux RegExp and tty.usbmodem to MacOS X RegExp
  • Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing
  • Added private common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports
  • Rewrote comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X
  • Added some syntax sugar to SerialPortList class, for changing search path, RegExp and comparator
  • Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions
  • Added JSSC_NO_TIOCEXCL JVM property for disable using of exclusive access to serial port
  • Added termios(_nix) and DCB(Windows) structure checking on port opening, it helps separate real serial devices from others
  • Added ERR_ constants into SerialNativeInterface
  • Added new exception TYPE_INCORRECT_SERIAL_PORT
  • Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device