Minor documentation improvements.
[pub/lufa.git] / LUFA / DoxygenPages / ChangeLog.txt
index fb05dd6..3b28fe5 100644 (file)
   *
   *  \section Sec_ChangeLogXXXXXX Version XXXXXX
   *  <b>New:</b>
+  *   - Added support for the Atmel Xplained-MINI series of development kits.
+  *
+  *  <b>Changed:</b>
   *  - Library Applications:
-  *   - Added new Printer class bootloader
-  *   - Added new Mass Storage class bootloader
+  *   - The CDC, DFU, Mass Storage and Printer class bootloaders will no longer run the user application if the application reset
+  *     vector is blank (thanks to Alex Kazik)
+  *   - The CDC, DFU and Printer class bootloaders are now compatible with the original Atmel XPLAIN and Arduino Leonardo boards.
+  *   - The CDC, DFU, Mass Storage and Printer class bootloaders are not compatible with devices with the BOOTRST fuse set and will
+  *     exit automatically unless an external reset was the last reset cause (thanks to Alex Kazik)
+  *
+  *  <b>Fixed:</b>
+  *   - None.
+  *
+  *  \section Sec_ChangeLog140928 Version 140928
+  *  <b>New:</b>
+  *  - Core:
+  *   - Updated the BUILD build system module to add a new COMPILER_PATH optional variable
+  *   - Added Serial_IsSendReady() and Serial_IsSendComplete() functions to the Serial hardware peripheral driver
+  *   - Added support for the Arduino Yun board (ATMEGA32U4 co-processor)
+  *   - Added support for the Arduino Micro board (thanks to Zoltán Szőke)
+  *  - Library Applications:
+  *   - Added new Dual MIDI class driver device demo
+  *
+  *  <b>Changed:</b>
+  *  - Core:
+  *   - The RNDIS device class driver now takes a user-supplied buffer and buffer length for the internal RNDIS
+  *     message management (thanks to Peter Mc Shane)
+  *
+  *  <b>Fixed:</b>
+  *  - Core:
+  *   - Fixed device class driver pipe configuration routines returning success with a partially constructed instance
+  *     when a pipe configuration failed (thanks to Helge Suess)
+  *   - Fixed incorrect XMEGA DFLL reference frequency (thanks to Martin Aakerberg)
+  *   - Fixed possible infinite loop in the control endpoint stream write function (thanks to Clayton Knight)
+  *   - Fixed missing HID report ID prefix on HID class driver GetReport request responses (thanks to Bert van Hall)
+  *   - Fixed incorrect XMEGA USB controller clock division factory for non-Full Speed operation (thanks to Bert van Hall)
+  *   - Fixed the LUFA build system to prevent incorrect code from being generated in newer toolchains when building for larger
+  *     FLASH memory devices (thanks to demultiplexer)
+  *   - Fixed missing parenthesis in the MIDI_EVENT() macro which could cause incorrect results (thanks to hexwab)
+  *   - Fixed mixed capitalization of TWI in the XMEGA TWI driver causing compilation failures (thanks to Jacob Schloss)
+  *   - Fixed broken AVR8 USART-SPI peripheral driver (thanks to Phil Zakielarz)
+  *  - Library Applications:
+  *   - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
+  *   - Fixed blocking USART reads causing low throughput on slow baud rates in the USBtoSerial project (thanks to Nevada Smith)
+  *   - Fixed USART reception overrun corrupting the internal buffers in the USBtoSerial project (thanks to Nevada Smith)
+  *   - Fixed broken LowLevel Audio Out demo sampling frequency configuration (thanks to Torsten Duwe)
+  *
+  *  \section Sec_ChangeLog140302 Version 140302
+  *  <b>New:</b>
+  *  - Library Applications:
+  *   - Added new Bulk Vendor low level device demo
+  *   - Added new libUSB host Python and NodeJS application examples for the Class driver GenericHID demo (thanks to Laszlo Monda)
+  *   - Added new AVR8 USB option to keep 3.3V regulator enabled (thanks to Michael Hanselmann)
+  *   - Added new USB_STRING_DESCRIPTOR() and USB_STRING_DESCRIPTOR_ARRAY() convenience macros (thanks to Laszlo Monda)
+  *
+  *  <b>Changed:</b>
+  *  - Library Applications:
+  *   - Refactored out USB interface IDs in the demo applications into enums (thanks to Laszlo Monda)
+  *   - AVRISP-MKII Clone Project PDI/TPI frequency increased from 250KHz to 2MHz as it is now stable
+  *   - Increased TPI/PDI handshake delay to 100us from 1us to support targets with high amounts of capacitance on their
+  *     /RESET lines (thanks to Paul Duke)
+  *   - Changed the VERSION_BCD() macro to accept the major/minor/revision values as separate parameters
+  *
+  *  <b>Fixed:</b>
+  *  - Core:
+  *   - Fixed MIDI device class driver MIDI_Device_ReceiveEventPacket() for the XMEGA architecture
+  *  - Library Applications:
+  *   - Fixed incorrect signature bytes returned in the DFU bootloader
+  *
+  *  \section Sec_ChangeLog130901 Version 130901
+  *  <b>New:</b>
+  *  - Core:
   *   - Added additional MIDI command definitions to the MIDI class driver (thanks to Daniel Dreibrodt)
   *   - Added new CONCAT() and CONCAT_EXPANDED() convenience macros
+  *   - Added new Printer Device Class driver
+  *   - Added support for the XMEGA C3 Xplained board
+  *   - Added support for the U2S board (thanks to megal0maniac)
+  *   - Added TWI Master driver for the XMEGA architecture (thanks to Michael Janssen)
+  *  - Library Applications:
+  *   - Added new Printer class bootloader
+  *   - Added new Mass Storage class bootloader
+  *   - Added XMEGA support for class driver device demos (where applicable)
+  *   - Added Python host application example for the Generic HID class driver device demo
+  *   - Added Python alternative host application for the HID class bootloader
   *
   *  <b>Changed:</b>
   *  - Core:
   *   - Updated the BUILD build system module to produce binary BIN files in addition to Intel HEX files
+  *   - Updated the Android Accessory Class to accept version 2 protocol devices (with version 1 functionality)
+  *   - All board drivers now implement dummy functions and constants when BOARD is set to NONE
+  *   - Added missing LEDs to the XMEGA A3BU Xplained board LED driver (thanks to Michael Janssen)
+  *   - Changed board Dataflash drivers to automatically configure the appropriate SPI interface for the selected board
+  *  - Library Applications:
+  *   - Re-added Set Control Line State request handling to the CDC class bootloader to prevent issues with the .NET serial
+  *     class (thanks to Erik Lins)
+  *   - TemperatureDataLogger project dummy RTC mode now tracks real time (thanks to David Lazarus)
   *
   *  <b>Fixed:</b>
   *  - Core:
   *   - Fixed Low Speed USB devices broken when using the library HID Class driver (thanks to Michael)
+  *   - Fixed possible register corruption in USB Host mode on AVR8 devices when ORDERED_EP_CONFIG is used (thanks to Martin Aakerberg)
+  *   - Fixed Pipe_GetBoundEndpointAddress() returning invalid endpoint directions on AVR8 architecture devices (thanks to decerri)
+  *     under some circumstances
+  *   - Fixed incorrect USB device state set when a suspended LUFA device is woken while addressed but not configured (thanks to Balaji Krishnan)
+  *   - Fixed broken USART SPI driver for the AVR8 architecture due to incorrect initialization
+  *   - Fixed re-enumeration issue of XMEGA architecture targets (thanks to Jaroslav Jedlinsky)
+  *   - Fixed error receiving PIMA events via the Still Image Host class driver
   *  - Library Applications:
   *   - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an
   *     unknown SCSI command
   *   - Fixed incorrect HID report descriptor generated for 16-bit axis ranges by the HID_DESCRIPTOR_MOUSE() and HID_DESCRIPTOR_JOYSTICK()
   *     macros (thanks to Armory)
+  *   - Fixed incorrect HID report descriptor generated for button multiples of 8 by the HID_DESCRIPTOR_MOUSE() and HID_DESCRIPTOR_JOYSTICK()
+  *     macros
   *   - Fixed race condition in the DFU class bootloader causing failed device reprogramming in some circumstances (thanks to Luis Mendes)
+  *   - Fixed incorrect time/date configuration data order in the TempDataLogger host application (thanks to David Lazarus)
   *
   *  \section Sec_ChangeLog130303 Version 130303
   *  <b>New:</b>
   *   - Fixed compile error for the UC3 architecture when INTERRUPT_CONTROL_ENDPOINT is specified (thanks to Andrus Aaslaid)
   *   - Fixed compile error if LEDs_Disable() is called and BOARD=NONE is set (thanks to Sam Lin)
   *   - Fixed inverted LED logic in the OLIMEX162 board LED driver
-  *   - Fixed incorrect reponse to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock)
+  *   - Fixed incorrect response to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock)
   *   - Fixed inverted LED logic in the USB2AX board LED driver
   *   - Fixed possible deadlock in the CDC device driver if the USB connection is dropped while the CDC_REQ_SetLineEncoding control request is being processed by
   *     the stack (thanks to Jonathan Hudgins)
   *   - Altered the Mass Storage Host class driver so that SCSI data STALLs from the attached device can be recovered from automatically without
   *     having to reset the Mass Storage interface
   *   - USB_CONFIG_ATTR_BUSPOWERED constant renamed to USB_CONFIG_ATTR_RESERVED, as this was misnamed (thanks to NXP Semiconductors)
-  *   - Reordered board name definition indexes so that a mispelled BOARD compile option will default to BOARD_USER rather than BOARD_USBKEY
+  *   - Reordered board name definition indexes so that a misspelled BOARD compile option will default to BOARD_USER rather than BOARD_USBKEY
   *   - Altered the HID class driver to only try to construct at maximum one packet per USB frame, to reduce CPU usage
   *   - All USB Class Driver configuration struct values are now non-const, to allow for run-time modifications if required before configuring an instance
   *  - Library Applications:
   *  - Added new RNDIS Ethernet Host ClassDriver demo
   *  - Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device
   *  - Added PDI programming support for XMEGA devices to the AVRISP programmer project (thanks to Justin Mattair)
-  *  - Added support for the XPLAIN board Dataflash, with new XPLAIN_REV1 board target for the different dataflash used
+  *  - Added support for the XPLAIN board Dataflash, with new XPLAIN_REV1 board target for the different Dataflash used
   *    on the first revision boards compared to the one mounted on later revisions
   *  - Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype
   *  - Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values
   *    Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe
   *    bank management API
   *  - Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel from Curetis AG)
-  *  - Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity
+  *  - Updated library Doxygen documentation, added groups, changed documentation macro functions to real functions for clarity
   *  - Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity
   *  - Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway
   *  - Renamed the main Drivers/AT90USBXXX directory to Drivers/Peripheral, renamed the Serial_Stream driver to SerialStream
   *  - All HID demos now pass the USB.org automated HID compliance tests
   *  - Polling interval of the interrupt endpoint in the CDC based demos changed to 0xFF to fix problems on Linux systems
   *  - Changed stream functions to accept a new callback function, with NO_STREAM_CALLBACKS used to disable all callbacks
-  *  - Mass Storage demo dataflash management routines changed to use the endpoint stream functions
+  *  - Mass Storage demo Dataflash management routines changed to use the endpoint stream functions
   *  - Added AVRStudio project files for each demo in addition to the existing Programmer's Notepad master project file
   *  - Re-added call to ReconfigureUSART() in USBtoSerial SetLineCoding request, so that baud rate changes
   *    are reflected in the hardware (change was previously lost)
   *    size bits not required for the routines (improves compatibility with devices)
   *  - Fixed AudioInput demo - now correctly sends sampled audio to the host PC
   *  - Fixed AudioOutput demo once more -- apparently Windows requires endpoint packets to be >=192 bytes
-  *  - Shrunk round-robbin scheduler code slightly via the use of struct pointers rather than array indexes
+  *  - Shrunk round-robin scheduler code slightly via the use of struct pointers rather than array indexes
   *  - Fixed off-by-one error when determining if the Usage Stack is full inside the HID Report parser
   *  - Renamed Magstripe.h to MagstripeHW.h and moved driver out of the library and into the MagStripe demo folder
   *  - Added preprocessor checks to enable C linkage on the library components when used with a C++ compiler
   *  - Added support for custom board drivers to be supplied by selecting the board type as BOARD_USER, and
   *    placing board drivers in {Application Directory}/Board/
   *  - PLL is now stopped and USB clock is frozen when detached from host in device mode, to save power
-  *  - Joystick defines are now in synch with the schematics - orientation will be rotated for the USBKEY
+  *  - Joystick defines are now in sync with the schematics - orientation will be rotated for the USBKEY
   *  - Fixed USB_DEV_IsUSBSuspended() - now checks the correct register
   *  - Fixed data transfers to devices when in host mode
   *  - Renamed USB_DEV_OPT_HIGHSPEED to USB_DEV_OPT_FULLSPEED and USB_HOST_IsDeviceHighSpeed() to
   *  - AVR_HOST_GetDeviceConfigDescriptor routine no longer modifies ConfigSizePtr if a valid buffer
   *    pointer is passed
   *  - Added ALLOCABLE_BYTES to DynAlloc, and added code to make the size of key storage variables
-  *    dependant on size of memory parameters passed in via the user project's makefile
+  *    dependent on size of memory parameters passed in via the user project's makefile
   *  - Fixed incorrect device reset routine being called in USBTask
   *  - Devices which do not connect within the standard 300mS are now supported
   *  - Removed incorrect ATTR_PURE from Scheduler_SetTaskMode(), which was preventing tasks from being