Fork me on GitHub


Release History

Version Date Description
1.3.0 2018-10-07 Major update
1.2.0 2013-02-16 Major update
1.1.0 2013-07-13 Major update
1.0.0 2013-05-01 Major update
0.5.0 2013-02-15 Major update
0.4.0 2012-11-12 Major update
0.3.4 2011-10-31 Minor update
0.3.3 2011-03-28 Minor update
0.3.2 2011-03-27 Minor update
0.3.1 2011-03-05 Hotfix
0.3.0 2011-02-20 Minor update
0.2.0 2011-02-11 Minor update
0.1.1 2011-02-08 Hotfix

Release 1.3.0 – 2018-10-07

Type Changes By
Update Renamed os and architecture identifiers to the naming conventions of the JNA project. So the platforms are now named: linux-x86, linux-x86-64, linux-arm, linux-aarch64, darwin-x86-64, win32-x86 and win32-x86-64. kayahr
Add Add missing SPEED_SUPER_PLUS constant. kayahr
Add Wrap new libusb functions: setOption, devMemAlloc, devMemFree, interruptEventHandler, getPollfds, freePollfds. kayahr
Update Updated to libusb 1.0.22. kayahr
Remove Dropped support for 32 bit macOS because XCode no longer supports it. kayahr
Add Added support for 64 bit ARM platform. kayahr

Release 1.2.0 – 2013-02-16

Type Changes By
Update Split project into usb4java (Main library), usb4java-javax (javax-usb extension) and libusb4java (Native code). kayahr
Add Add hotplug support to low-level API. llongi
Add Add asynchronous I/O support to low-level API. llongi

Release 1.1.0 – 2013-07-13

Type Changes By
Update Using reunited libusb/libusbx 1.0.16 as backend. kayahr
Add Wrap new libusb methods: getPortNumbers, setAutoDetachKernelDriver, setLocale, strError. kayahr
Add Implement support for SuperSpeed Endpoint Companion Descriptor. kayahr
Add Implement support for BOS Descriptor, BOS Device Capability Descriptor, USB 2.0 Extension Descriptor, SuperSpeed USB Device Capability Descriptor and Container ID descriptor. kayahr
Add Using uninitialized descriptors now throw an IllegalStateException instead of crashing. kayahr

Release 1.0.0 – 2013-05-01

Type Changes By
Add Rewritten library to use libusb 1.0 as backend. kayahr
Add Made library loading more universal to support loading shared libraries for platforms not officially supported by usb4java. kayahr
Add Add native library for linux-arm platform (Raspberry Pi). kayahr
Update Native libraries are no longer extracted to a temporary directory when they are not in a JAR file. kayahr
Fix Improve error handling during native lib loading so javax-usb no longer hides the important exceptions. kayahr
Fix Fix logic error in AbstractIrpQueue#isBusy(). kayahr

Release 0.5.0 – 2013-02-15

Type Changes By
Add Refactored project structure back into a single project. Native libraries are now included in the main JAR file. kayahr

Release 0.4.0 – 2012-11-12

Type Changes By
Fix Corrected endpoint index in JNI libraries. kayahr
Add Refactored loading of native libraries. The libraries are now a standard Java dependency and are automatically extracted during runtime. So no java.library.path or LD_LIBRARY_PATH tinkering needed anymore. Just put the two JARs into your class path and that's it. kayahr

Release 0.3.4 – 2011-10-31

Type Changes By
Fix Improved error messages when loading the JNI library fails. kayahr

Release 0.3.3 – 2011-03-28

Type Changes By
Fix Fixed library paths in dylibs so they can be placed in *.app/Contents/MacOS. kayahr

Release 0.3.2 – 2011-03-27

Type Changes By
Add Now trying to load the JNI library with the following library names: usb4java, usb4java32, libusb4java, libusb4java32. kayahr

Release 0.3.1 – 2011-03-05

Type Changes By
Fix Fixed missing support for custom buffer offsets and lengths. kayahr

Release 0.3.0 – 2011-02-20

Type Changes By
Fix Fixed problem with empty control requests on Mac OS X. kayahr
Add Implemented configuration to control the communication timeout. kayahr

Release 0.2.0 – 2011-02-11

Type Changes By
Add Implemented configuration to control the scan mode and to improve scan performance by filtering for specific vendor and product ids. kayahr

Release 0.1.1 – 2011-02-08

Type Changes By
Fix libusb reports broken bus root devices when detaching USB devices and when user has no root permissions on linux. Fixed it by only trusting root devices which are also in the device list of a bus. kayahr