
For changes, see CVS.



Older changes:


This file contains a record of changes in each version.

Changes in 0.9.2
==============

- Removed dist target from build.xml

- Removed src jarfile from build.xml

- Cleaned up build.xml

Changes in 0.9.1
================

- Filled out README file.

- Changed build.xml file to correctly build and create directories, modified dist behavior.

- Moved test cases (from RI package) back into API package.

- Added test-running targets to buildfile.

- Added setter methods to UsbIrp and Request.

- Removed UsbCompositeIrp.

- Added (a)syncSubmit(List) to UsbPipe.

- Removed XXXCommands and associated methods from UsbIrp.

Changes in 0.9.0
================

- Updated Specification file Change summary section

- Changed DescriptorConst.DESCRIPTOR_TYPE_CONFIGURATION to DescriptorConst.DESCRIPTOR_TYPE_CONFIG

Changes in 0.8.1
================

- Modifed implementation (behavior) of javax.usb.util.DefaultUsbInfoListIterator to match behavior of java.util.ListIterator.

- Added UsbIrpList.usbIrpListIterator().

- Added UsbIrpListIterator interface.

- Added implementation for UsbIrpListIterator to DefaultUsbIrpList as inner class.

- Changed UsbPipe error state behvior, from closed state can only (and must be) closed (then reopened).

- Added clarification to StringDescriptor - all Strings converted from a byte[] (from the physical device) must be converted using UTF_16LE encoding.

- Added clarification to UsbCompositeIrp - individual UsbIrps should complete every (re)submission.

- Added RequestConst.REQUEST_GET_STATE.

Changes in 0.8.0
=====================================

- Removed UsbIrp.getTimeout() and UsbIrp.setTimeout()

- Removed UsbPipe.syncSubmit( byte[] data, long timeout )

- Removed UsbPipe.syncSubmit( UsbIrp irp, long timeout )

- Removed UsbPipe.abortSubmission( UsbIrp irp )

- Removed UsbPipe.abortSubmission( UsPipe.SubmitResult result )

- Added UsbInfoListIterator.getUsbInfo( int index )

- Changed UsbHub.getAttachedUsbDevices() return value from UsbInfoList to UsbInfoListIterator

- Changed UsbHub.getUsbPorts() return value from UsbInfoList to UsbInfoListIterator

- Changed UsbDevice.getUsbConfigs() return value from UsbInfoList to UsbInfoListItertor

- Changed UsbConfig.getUsbInterfaces() return value from UsbInfoList to UsbInfoListIterator

- Changed UsbInterface.getUsbActiveAlternateSettings() return value from UsbInfoList to UsbInfoListIterator

- Changed UsbInterface.getUsbEndpoints() return value from UsbInfoList to UsbInfoListIterator

- Added UsbInfoList.usbInfoListIterator()

- Clarified JavaDoc in UsbConfig.getUsbInterfaces() and UsbConfig.getUsbInterface(byte number)

- Added method RequestFactory.createRequestBundle()

- Added DefaultRequestBundle as default implementation of the RequestBundle interface

- Changed HubClassOperations.getStatus method parameter wIndex to short

- Removed "byte[]" parameter in the HubClassOperations.clearFeature method

- Added JavaDOC to limit RequestBundle to only accept Class or Vendor Operations

- Added throws UsbRuntimeException to the add/remove methods of the RequestBundle interface since they should not be used while bundle is in submission

- Added method RequestBundle.isInSubmission():boolean

Changes in <old versioning>1.0.1</old versioning>
=====================================

- Added UsbPipe.syncSubmit( byte[] data, long timeout )

- Added UsbPipe.abortSubmission( UsbPipe.SubmitResult )

- Added UsbPipe.getSequenceNumber()

- Added UsbPipe.SubmitResult.getSequenceNumber()

- Added UsbIrp.getSequenceNumber()

- Added UsbPipeDataEvent.getSequenceNumber()

- Added UsbPipeErrorEvent.getSequenceNumber()

- Added UsbDevice.addUsbDeviceListener( UsbDeviceListener listener )

- Added UsbDevice.removeUsbDeviceListener( UsbDeviceListener listener )

- Added UsbConfig.isActive()

- Added UsbInterface.isActive()

- Added javax.usb.util.UsbIrpList interface

- Added javax.usb.util.UsbIrpIterator interface

- Added javax.usb.util.DefaultUsbIrpList class

- Changed Version.getVersionString() to Version.getApiVersion()

- Added Version.getUsbVersion()

- Removed UsbServices.getVersion()

- Removed UsbServices.getVersionNumber()

- Added UsbServices.getApiVersion()

- Added UsbServices.getImpVersion()

- Added UsbServices.getImpDescription()

- Added UsbIrp.getTimeout()

- Added UsbIrp.setTimeout( long timeout )

- Changed UsbIrp.ErrorCommand to UsbIrp.ResubmitErrorCommand

- Changed UsbPort.getNumber() to UsbPort.getPortNumber()

- Added UsbDevice.isConfigured()

- Added UsbInterface.getNumAlternateSettings()

- Created javax.usb.util.UsbIrpList

- Created javax.usb.util.UsbIrpIterator

- Created javax.usb.util.DefaultUsbIrpList

- Replaced all methods in UsbCompositeIrp with getUsbIrpList()

- Added UsbCompositeIrp.CompositeErrorCommand and getter/setter

- Overhauled UsbCompositeIrp behavior, updated JavaDOCs

- Added UsbIrp.EventCommand and getter/setter

- Made UsbPipeBundle immutable

- Added UsbInterface.getUsbPipes()

- Removed throws UsbException from UsbEndpoint.getUsbPipe()

- Added UsbServices.getNewUsbIrpFactory()

- Added UsbServices.getNewRequestFactory()

- Modified StandardOperations methods to return a Request object

- Created UsbOperations

- Added UsbOperations.SubmitResult as inner interface of UsbOperations

- Created ClassOperations sub-interface of UsbOperations

- Created VendorOperations sub-interface of UsbOperations

- Added methods in RequestFactory to create various requests

- Modified some of the create methods to make them accept some missing parameters

- Created RequestBundle

- Created javax.usb.util.RequestList

- Created javax.usb.util.DefaultRequestList

- Created javax.usb.util.RequestIterator

- Created UsbDeviceDataEvent

- Created UsbDeviceErrorEvent

- Added listener methods in UsbDeviceListener for UsbDevice<Data/Error>Event

- Added throws UsbException to UsbDevice.getString() and UsbDevice.getStringDescriptor()

Changes in <old versioning>1.0.0</old versioning>
=====================================

- Add UsbPipeException that extends UsbException that all pipe method throw

- Add UsbRuntimeException that extends RuntimeException

- Change DeviceListener.deviceEventOccurred(...) to DeviceListener.usbDeviceDetached(...)

- Added UsbConfig.getConfigString()

- Added UsbInterface.getInterfaceString()

- Removed (deprecated) UsbDevice.getConfigs()

- Removed (deprecated) UsbConfig.getInterfaces()

- Removed (deprecated) UsbInterface.getEndpoints()

- Added UsbInterface.getAlternateSetting( byte number )

- Added UsbInterface.getUsbDevice()

- Removed (deprecated) UsbHub.getPorts()

- Removed (deprecated) UsbHub.getAttachedDevices()

- Replaced (without deprecation) UsbHub.isRootHub() with UsbHub.isUsbRootHub()

- Replaced (without deprecation) UsbPort.isDeviceAttached() with UsbPort.isUsbDeviceAttached()

- Added UsbDevice.getStringDescriptor( byte number )

- Added UsbDevice.getActiveUsbConfigNumber()

- Replaced (without deprecation) UsbDevice.getActiveConfig() with UsbDevice.getActiveUsbConfig()

- Added USbDevice.getStringDescriptor( byte number )

- Added UsbDevice.getString( byte number )

- Added UsbDevice.getUsbHub()

- Added UsbDevice.getPortNumber()

- Added UsbIrp.getNumber()

- Changed UsbIrp.getNumber() and SubmitResult.getNumber() from int to long

- Added UsbInterface.claim()

- Added UsbInterface.release()

- Added UsbInterface.isClaimed()

- Removed UsbIrp.waitUntilCompleted( long timeout, int nanos )

- Removed UsbPipe.SubmitResult.waitUntilCompleted( long timeout, int nanos )

- Add UsbDevice.containsUsbConfig( byte number )

- Add UsbConfig.containsUsbInterface( byte number )

- Add UsbInterface.containsAlternateSetting( byte number )

- Add UsbInterface.containsUsbEndpoint( byte address )

- Removed UsbDevice.getUsbPipe()

- Removed UsbDefaultControlPipe

- Removed UsbNormalPipe

- Added UsbPipe.getUsbEndpoint()

- Removed UsbPipe.isDefaultControlPipe()

- Added UsbPipe.isActive()

- Removed UsbEndpoint0

- Add UsbIrp.ErrorCommand

Changes in 0.1.0
=====================================

- Add UsbIrp

- Add UsbIrpFactory

- Add UsbCompositeIrp (which is a composite of the UsbIrp) [GoF, Composite pattern, page 163]

- Add UsbServices.getUsbIrpFactory()

- Add SubmitResult.recycle()

- Add UsbIrp.recycle()

- Add UsbServices.getRequestFactory()

- Add Request.recycle()

- Some API JavaDOC updates

- Deprecated UsbDevice.getConfigs() and added UsbDevice.getUsbConfigs()

- Added UsbDevice.getUsbConfig( byte number )

- Deprecated UsbConfig.getInterfaces() and added UsbConfig.getUsbInterfaces()

- Added UsbConfig.getUsbInterface( byte number )

- Deprecated UsbInterface.getEndpoints() and added UsbInterface.getUsbEndpoints()

- Added UsbInterface.getActiveAlternateSetting()

- Added UsbInterface.getUsbEndpoint( byte address )

- Deprecated UsbHub.getPorts() and added UsbHub.getUsbPorts()

- Added UsbHub.getUsbPort( byte number )

- Deprecated UsbHub.getAttachedDevices() and added UsbHub.getAttachedUsbDevices()

