Releases: java-native/jssc
Releases · java-native/jssc
2.9.6
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
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
inSerialPortList.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 fromSerialNativeInterface
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
2.9.3
2.9.2
2.9.1
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
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
(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
2.6.0
(Original release date 2013-06-01)
Enhancements
- Added
os.name
- "Darwin" andos.arch
- "universal" support; useful for MacOS X developers. - Added
ttyO
to Linux RegExp for listing OMAP serial devices. - Added
JSSC_IGNPAR
andJSSC_PARMRK
properties for enablingIGNPAR
andPARMRK
flags in _nix termios structure.
2.5.0
(Original release date 2013-04-27)
Fixes
- Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of
VMIN
andVTIME
. Nowread
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 tosetParams()
method - The port handle now stored in variable of type
long
instead ofint
, 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 toclosePort()
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()
forSerialPort(null)
object, exceptionTYPE_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 andtty.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 intoSerialNativeInterface
- 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