Original Author:
    - Weston Schmidt <weston_schmidt@alumni.purdue.edu>

Contributors:
    - Reinhard Arlt
        - at89c5131 chip support
    - Anton Blad
        - at90usb162 and at90usb82 chip support
    - David Brownell
        - compiler flag improvements
        - command line argument processing improvements
        - debugging system improvements
        - significant man page improvements
        - support for the at90usb series AVR chips
        - the beginnings of the move over to using stdint.h
    - Nick Hibma
        - bug fixes
    - Markus Schneider
        - OS X porting issues
    - Geoffrey Wossum
        - added reset command
    - Sean D'Epagnier
        - eeprom bug fix
        - 4K bootloader support fix
    - Peter Gammie
        - at90usb647 PID fix
    - Zachary Clifford
        - completed AVR32 support
        - identified a number of off-by-one errors waiting to happen
        - identified that AVR32 "User Pages" aren't supported yet
        - patch to allow proper handling of the trampoline code
        - patch to allow flashing user flash space & STDIN
        - patch to enable support for windows using mingw32
        - patch to enable setting/getting fuses for the AVR32 devices
    - Donald Davis
        - patch with new AVR devices & testing of support for the devices
    - Brad Schick
        - identified that the flash memory overlaps the bootloader memory
        - identified the off-by-one issue when the bootloader is in upper memory
    - Xavier Leprevost
        - patch to fix an error in the avr32 user flash dump command
    - Dave Fletcher
        - patch to enable atmega32u2 chips
    - Torsten Rottmann
        - patch to enable libusb 1.0 support
    - Mitko
        - patch to enable at32uc3b1512 and at32uc3b0512 chips
    - Darren Gibbs
        - identified dead/bad code around the bootloader overlap checking
    - Holger Steinhaus
        - patch to enable atmega8u2
    - Martin Guy
        - patch to enable automotive AVR32 flashing without a timeout
    - Walker Inman
        - bugfix flash user page for avr32
        - add stm32 devices
        - add progress bar
        - update algorithm for converting hex and sending program
        - simplify command structure
        - add ability to dump to hex file (and hex2bin / bin2hex)
        - svn -> git migration
        - update --help -h text
        - also a lot of formatting updates (sorry)
        - More info in README
        - Add autocomplete for Ubuntu
    - Simon Large
        - fix atmel_reset function
        - get rid of compiler warnings around fprintf statements
        - fix build system for selecting libusb-1.0
        - atmega16u2 support
        - better support for Windows users
        - improve layout of help text
        - add security fuse support for AVR32
        - fix memory bounds for xmega devices
    - Johannes Carlsson
        - patch to fix use of libusb in configure.ac
    - Grégory S.
        - identified too-late check for null pointer
    - Dmitry Nedospasov
        - support for xmega devices
    - Kees Bakker
        - support for atxmega256a3bu
    - David Nelson
        - support for at32uc3a4256s
        - support for using a specific usb bus/address
        - support for device serialization
        - correction to --quiet output
    - Olivier Pisano
        - support for atxmega16c4
    - Neels Hofmeyr
        - improvements to progress bar
    - John Szakmeister
        - Fix exit status of help-related options and improve start sequence
    - Alban Bedel
        - Fix infinite loop using rpl_malloc
    - Cameron Tacklind
        - GitHub Actions Configuration
        - Build libusb1 versions for Windows
    - Nicolas Brûlez (@N-Bz)
        - '--validate-first' and '--ignore-outside' options
        - Disabled progress bar when not using a tty
    - Peter Korsgaard (@jacmet)
        - Add '--erase-first' option