Skip to content

Releases: Fazecast/jSerialComm

jSerialComm v2.11.0

17 Apr 17:38
Compare
Choose a tag to compare
  • 24326e7 - GitHub Action Fixes
  • 95301a7 - Remove deprecated Gradle CI commands
  • efcc181 - Update Github Actions (CI)
  • 9039c5d - Version bump
  • cb59248 - Allow FTDI ports to be opened for full enumeration using a flag
  • de84376 - Allow optional library name randomization for Tomcat workaround
  • 1bc5f61 - Check that read/write buffer sizes are large enough in read/writeBytes()
  • a9582be - Add ability to get manufacturer data from USB devices
  • d5a07ac - Clean up empty

    tags

  • 4d76b4c - Add support for enumerating RFCOMM devices
  • e243e10 - Add new function to auto-delete temp files upon shutdown
  • fade42f - Update javadocs to clarify RTS/DTR lines, isOpen(), and setBaudRate()
  • 7c9ce1c - Merge pull request #548 from jskubick/dtr_rts_javadoc_update
  • f7c250e - Don't delete jSerialComm dir before every load
  • 5d229ec - Add Windows events tester
  • 987f58b - Updated example code in SerialPort.isOpen()'s Javadoc to mention that there can be ONLY ONE DataListener
  • 9be2e45 - Improved Javadoc for SerialPort.setBaudRate() to add warning about baud rates > 230400 on Apple computers & elaborate upon the constraints imposed by USB-serial adapters upon baudrate selection.
  • 7d1a336 - Removed spurious html tag autoinserted by IntelliJ
  • a5b5503 - Improved formatting & wording for setDTR(), clearDTR(), setRTS(), and clearRTS()
  • e8dc58a - Improved Javadoc for SerialPort.isOpen() to reduce confusion when used with USB serial adapters and Arduino/esp32 boards.
  • d2f580f - Refined verbiage.
  • e3eae0a - Changed wording of setDTR(), clearDTR, setRTS(), and clearRTS() to reduce confusion when used with common USB-UART bridges.
  • aa0dff0 - Don't carry out custom baud rate bit-shifting
  • b4b5954 - Only use write timeouts if specified in config flags
  • 064b553 - Add clearDTR hint about usage to avoid Arduino resets
  • 4da4af7 - Version bump

jSerialComm v2.10.4

06 Nov 22:47
Compare
Choose a tag to compare
  • 6b792b5 - Revert preset-RTS/DTR code
  • 10bcf48 - Handle "location" support for Edgeport devices
  • 8a4a0f7 - Update to match actual enumeration code
  • cd733a3 - Set LISTENING_EVENT_PORT_DISCONNECTED event upon overlapped wait error
  • 57b3df4 - Preset/preclear RTS/DTR for Arduino resets
  • 40c1ca5 - Update "disableConfig" to allow timeouts to work
  • 21a2ed6 - Use reflection to verify Android type in top-level SerialPort class
  • 14dab32 - Version bump

jSerialComm v2.10.3

28 Jul 19:08
Compare
Choose a tag to compare

IMPORTANT NOTE: The bytesToRead and offset parameters in both readBytes() and writeBytes() have been changed from type long to int so that there is no mismatch between the parameters and the return type. Any code specifically passing a long to these functions will need to be updated.

  • cd3d52b - Separate class and configuration reentrant locks
  • ebcc8c6 - Use reflection to access private constructor from Android private internals
  • 9fc34cd - Allow Android to use its own termios2
  • b190f70 - Catch UnsatisfiedLinkError specifically because does not inherit from Exception
  • 1b571d9 - Add android.jar as a build dependency
  • 3e42684 - First step toward native Android support
  • efd0255 - Add tool to manually fix MacOS SDK build version for 32-bit x86
  • c02a302 - Version bump

jSerialComm v2.10.2

10 Jul 03:53
Compare
Choose a tag to compare

IMPORTANT NOTE: The bytesToRead and offset parameters in both readBytes() and writeBytes() have been changed from type long to int so that there is no mismatch between the parameters and the return type. Any code specifically passing a long to these functions will need to be updated.

  • 1603368 - Ensure that JVM variable is not null before unloading
  • 39d54c4 - Try to load armv6 before armv7
  • ed468f6 - Switch to "ByteArrayElements" JNI calls instead of "PrimitiveArrayCritical" since read/write can block
  • 1cccfcd - First attempt to load native library from system path before auto-extracting
  • de6ccf2 - Update GitHub Actions to update all expected version number strings
  • d56dc8c - Validate native library version upon startup to match Java version
  • f598423 - Workaround for MacOS-bug whereby poll doesn't return an error without POLLHUP specified
  • 246dcc7 - Update "release" GitHub Action to auto-update download links in Wiki
  • c37a9d1 - Use termios2 for custom baud rates on Linux
  • 8d74a43 - Re-add armv6hf and armv7hf architectures
  • 97c3c21 - Auto-update SNAPSHOT version in Wiki on commit
  • b812c59 - Add POLLNVAL to "disconnected" polling set
  • 1fd9022 - Add Posix native-polling test
  • 9411d7b - Update README to remove no-longer-necessary options
  • 0582b26 - Version bump
  • babe8ac - Finish UpdateDocs GitHub Action
  • 17b7dd0 - Add GitHub Action to update Javadoc documentation

jSerialComm v2.10.1

29 Jun 21:55
Compare
Choose a tag to compare

IMPORTANT NOTE: The bytesToRead and offset parameters in both readBytes() and writeBytes() have been changed from type long to int so that there is no mismatch between the parameters and the return type. Any code specifically passing a long to these functions will need to be updated.

  • ea643a0 - Make snapshot building workflow file more robust
  • 37da31a - Fix problem with building Javadoc on GitHub Actions
  • 2cdc8ce - Bump version number

jSerialComm v2.10.0

29 Jun 18:33
Compare
Choose a tag to compare

IMPORTANT NOTE: The bytesToRead and offset parameters in both readBytes() and writeBytes() have been changed from type long to int so that there is no mismatch between the parameters and the return type. Any code specifically passing a long to these functions will need to be updated.

  • 0489369 - Update SNAPSHOT versioning strings
  • d7ce906 - Finish auto-build snapshot GitHub Action
  • 8ae29cc - Auto-build snapshot rule update
  • f2b18d0 - Initial commit to test auto-building snapshots
  • b71f567 - Use new GitHub Action for creating releases
  • 7d4c9fa - Fix some GitHub Action upload errors
  • dc8be27 - Allow building from Gradle locally as well as from GitHub Actions
  • 8e26cc8 - Combine build/publish GitHub Actions
  • 5e347c8 - Online compile native libs within Docker
  • 3f3b08a - Update GitHub Action Gradle version to 8.1.1
  • 6ed1f93 - Use zulu distro for setting up Java GitHub Action
  • 4dfcc53 - Don't use $HOME in Makefiles
  • d2b07e9 - Update Gradle build action version for security concerns
  • f6ab341 - Make missing resource directories
  • 109a59e - Try to run docker container as root
  • 140c361 - Create GitHub Action for releasing to Maven Central
  • fa189f7 - Don't force-update Gradle wrapper without testing
  • f3bdcd0 - Update Gradle wrapper
  • 68f188b - Directly access read/write buffers in JNI instead of copying
  • a604f77 - Don't check in future binary library files
  • 4900085 - Remove the need for separate hard-float libraries
  • 2a76e1d - Remove binary libraries (will be autobuilt)
  • 9a6fe89 - Ignore VSCode files
  • 8434ca3 - Update Makefile for Windows cross compilation
  • b01fdd1 - Fix Windows header include cases
  • c7517ec - Allow Posix Makefile to build all
  • 39d484d - Ignore MacOS system files
  • afe42da - Use FTDI-reported serial number if FTDI-device on Windows
  • 8be7182 - Re-order Linux arch search to remove "stack guard" error
  • 20af760 - Remove JDK 6 and 9 build requirements, auto-find JDK_HOME
  • 48bcdc9 - Update all native libraries based on previous changes
  • 628fea3 - Add stack protection flag to compilation
  • 803e741 - Merge data and timeout native config functions to alleviate some OS-specific bugs
  • 2b9a5f3 - Return immediately if user Ctrl+C's out of test
  • e0ca384 - Implement Serial Number retrieval on Windows
  • 37c8bc6 - Add back Linux search for PTY devices
  • ca70339 - Fix MacOS flow control reset bug
  • 2b16f32 - Add ability to retrieve USB serial number
  • 1ca472a - Add function to allow EventListener buffers to be reset
  • aa32455 - Convert internal synchronization into an external ReentrantLock
  • bde01ef - Remove special functions to preset/preclear RTS and DTR
  • 8064359 - Add ability to retrieve VID/PID if available
  • ec5aeb1 - Fix build.gradle java property setting
  • 9c012dc - Update Gradle wrapper
  • 80a02b9 - Merge branch 'master' of https://github.com/fazecast/jserialcomm
  • bb7ef6a - Make Gradle wrapper executable
  • 5ee1e68 - Update checkout to V3
  • 99c4a77 - Bump version number

jSerialComm v2.9.3

01 Dec 19:51
Compare
Choose a tag to compare
  • Add support for Windows versions as old as XP
  • Re-enable os.arch_full property for Linux
  • Re-order native library architecture search so that library for minimum supported arch will be used
  • Always rescan friendly name and description when re-enumerating ports
  • Add toString() method to SerialPortEvent
  • Remove final keyword from SerialPort class
  • Immediately set RTS/DTR lines to desired state upon opening as quickly as possible
  • Add IXANY flag to default termios options

jSerialComm v2.9.2

17 Jun 14:36
Compare
Choose a tag to compare
  • New SerialPortThreadFactory class to allow users to change how internal threads are created
  • Fire CTS/DSR event on every line status change (not just when line asserted)
  • Make InputStream/OutputStream use wrapped function calls instead of native
  • Attempt to load native library for any available architecture for a given OS until one succeeds
  • Manually search Windows registry for unregistered virtual serial ports (e.g. those from VSPE)
  • Move package details into package-info.java file
  • Allow users to specify the path to a directory containing a manually placed native library via -DjSerialComm.library.path=<dir>
  • Don't delete an extracted native library until a newer version is detected
  • Output every accumulated error message if native library cannot be successfully loaded
  • Replace clock_gettime() with gettimeofday() on Linux to remove GLIBC_2.17 dependency
  • Extensive simplification of Linux port enumeration using sysfs
  • Make preset/preclear RTS/DTR respect allowElevatedPermissionsRequest() setting
  • Fix build.gradle to work without productionMode enabled (prints instructive warning if unable to build due to user's configuration)
  • Remove small bits of unused code

jSerialComm v2.9.1

21 Feb 18:40
Compare
Choose a tag to compare
  • Remove Java-side class synchronization
  • Move global resource locks to native code
  • Only lock code sections which alter globally shared resources
  • Try to interrupt Java thread if it does not join after timeout
  • Ensure that event listener does not join on itself
  • Do not block-drain serial ports on native close() in Posix
  • Update getCommPorts() documentation about returning all currently open ports
  • Update getLastErrorLocation() documentation to remove instructions that port must remain open
  • Do not block SIGTERM from arriving at Java application
  • Update openPort() documentation about BT failures/retries
  • Break out of event listening thread if global app is shutting down
  • Do not use pthread_condattr_setclock on Android
  • Use minimum amount of JNI memory necessary to enumerate Windows ports
  • Move library init/uninit functionality into JNI_OnLoad and JNI_OnUnload
  • Add method to allow users to add application shutdown hooks for custom serial port cleanup

jSerialComm v2.9.0

31 Jan 16:06
Compare
Choose a tag to compare
  • Allow SIGINT to reach top-level Java application for graceful shutdown
  • Add function to verify user/port group membership on Posix
  • Retrieve port details/description if possible when calling getCommPort(String)
  • New method allowElevatedPermissionsRequest() to explicitly allow operations requiring elevated privileges
  • Elevated permissions used to set FTDI latency on Windows (if allowed using above method)
  • Elevated permissions used to grant access to serial port on Posix (if allowed using above method)
  • Disable use of operations requiring elevated privileges by default
  • Update Android native library loading based on deprecated architectures
  • Ensure that -1 is returned from readBytes() upon error
  • Only process RECEIVED_DATA events if able to read > 0 bytes
  • Override sigemptyset implementation for platforms that do not support it