2021-12-16  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac (AC_INIT): Bump version to 6.4
	* main.c: Remove unmaintained year numbers from Copyright

2021-12-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #57338: if safemode has to change fuses avrdude should exit with non-zero exit code
	* main.c (main): drop unused variable `fuses_specified'

2021-12-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Dmitrii Chernukhin:
	bug #58994: VPP PWM still enabled at the end of programming process
	* pickit2.c (pickit2_disable): turn off VPP before shutting down

2021-12-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac (AC_INIT): Bump version date
	* configure.ac (enabled_parport): Default to "no"

2021-12-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Alex Sverdlin:
	patch #10153: linuxspi: Support "-E reset" and "-E noreset"
	* linuxspi.c (linuxspi_parseexitspecs): New function

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #58440: linuxgpio PIN limit too low
	* libavrdude.h (PIN_MAX): bump (for HAVE_LINUXGPIO) to 400

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #8923: Enable TPI for linuxgpio
	* linuxgpio.c (linuxgpio_initpgm): add cmd_tpi entry

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by: Milan Kupcevic <milan@debian.org>
	patch #8996: Remove lock byte read mask (bug#21954, bug#46759)
	* avrdude.conf.in (ATmega48, ATmega88, ATmega168, ATmega328)
	(ATmega32U4, ATmega640, ATmega1280, ATmega1281, ATmega2560)
	(ATmega2561, ATmega8, ATtiny13, ATmega64, ATmega128, ATmega16)
	(AT90CAN32, AT90CAN64, AT90CAN128, ATmega324, ATmega644)
	(ATmega1284, ATmega161, ATmega162, ATmega163, ATmega169, ATmega32)
	(ATmega329, ATmega649, ATmega8515, ATmega8535, ATtiny2313, ATtiny4313)
	(AT90PWM2, AT90USB646, AT90USB1286, AT90USB162, AT90USB82, ATmega32U2)
	(ATmega16U2, ATmega8U2, ATmega325, ATmega645, ATtiny1634): Remove
	lock byte read mask (bug#46759).

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Christopher Cooper:
	patch #9304: [Bug #48767] Implemented WinSock variation of "ser_drain(...)" functionality
	* ser_win32.c (ser_drain): Implement a network drain
	function.

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Lars Ollén:
	* linux_spi.c (linuxspi_open): ensure correct SPI mode is
	set (submitted in the audit trail of patch #9816).

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* linuxspi.c: Use -B <bitclock> rather than -b <baudrate>
	to specify the clock rate

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Improve defaults and documentation of linuxspi
	* avrdude.conf.in: use @HAVE_LINUXGPIO_BEGIN/END@ and
	@HAVE_LINUXSPI_BEGIN/END@ brackets around respective config
	snippets; values were already set in configure.ac.
	* linuxspi.c (linuxspi_open): Provide a reasonable (for the
	Raspberry Pi) default for the -P option
	* avrdude.1: Extend linuxspi documentation
	* doc/avrdude.texi: (Dito.)

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Alex Sverdlin:
	patch #10031: linuxspi: Support GPIO uAPI v2
	* linuxspi.c (linuxspi_reset_mcu, linuxspi_open): Since Linux
	v5.10 GPIO ABI Version 1 is optional and depends on
	CONFIG_GPIO_CDEV_V1.

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Alex Sverdlin:
	patch #10030: linuxspi: Support inverted GPIO pin
	* linuxspi.c (linuxspi_open): Clear the inversion mask on request
	and set default state to avoid short glitches on the GPIO line.

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Alex Sverdlin:
	patch #10029: linuxspi: Report GPIO_GET_LINEHANDLE_IOCTL errors
	* linuxspi.c (linuxspi_open): Report ioctl error

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Alex Sverdlin:
	patch #10028: linuxspi: close() only when necessary
	* linuxspi.c: unify descriptor closing

2021-11-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Alex Sverdlin:
	patch #10027: linuxspi: Add reset pulse, according to AVR programming algorithm
	* linuxspi.c (linuxspi_open, linuxspi_program_enable):
	movw out reset code into linuxspi_reset_mcu()

2021-11-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9328: ft245r.c: add TPI support (patches 5-7)
	* ft245r.c (ft245r_set_bitclock): add workaround for
	FT245 hardware bugs in bitclock setting

2021-11-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9328: ft245r.c: add TPI support (patches 5-7)
	* ft245r.c: Remove the reader thread (also removes
	patch #9079)

2021-11-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9327: ft245r.c: add TPI support (patches 1-4)
	* ft245r.c (set_pin, ft245r_open): use
	ft245r_send_and_discard() so ft245r_in can go away

2021-11-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9327: ft245r.c: add TPI support (patches 1-4)
	* ft245r.c (ft245r_recv):  Optimize TPI programming
	speed by reducing number of USB reads.

2021-11-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9327: ft245r.c: add TPI support (patches 1-4)
	* ft245r.c (ft245r_open): add call to
	ftdi_set_latency_timer() to improve timing

2021-11-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9327: ft245r.c: add TPI support (patches 1-4)
	* ft245r.c: add TPI support
	* avrdude.conf.in (tc2030): New programmer

2021-11-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* ft245r.c (ft245r_open): allow for picking a default
	device if none has been provided by -P

2021-11-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* jtag3.c (jtag3_edbg_recv_frame): Better handling for
	fragment_info == 0x00 (no response available)

2021-11-23  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* jtag3.c: Use matches() instead of strncmp()

2021-11-23  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	patch #9757: Fix ATtiny817 Xplained Mini programmer
	* jtag3.c (jtag3_getsync, jtag3_close): correctly extract
	programmer name from list of names

2021-11-22  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Sainty:
	patch #8719: Support Over-the-Air bootloading with XBeeBoot
	* xbee.c: New programmer
	* xbee.h: (Dito.)
	* pgm_type.c: Add xbee.h
	* avrdude.conf.in (xbee): New programmer
	* Makefile.am (libavrdude_a_SOURCES): add xbee.c, xbee.h
	* avrdude.1: document the new programmer
	* doc/avrdude.texi: (Dito.)

2021-11-14  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Ivan Frederiks:
	patch #9079: Fix ftdi_syncbb teardown (supersedes #9893)
	patch #9122: Fixed MISO sampling in ftdi_syncbb
	patch #9123: ftdi_syncbb: use FT245R_CYCLES in ft245r_set_bitclock()
	* ft245r.c: Various fixes for FT245-bitbang programmers

2021-11-14  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by David Mosberger-Tang:
	patch #9320: fix TPI RESET in bitbang.c
	* bitbang.c (bitbang_initialize): wait for 128 ms after deasserting
	/RESET (per datasheet), and keep /RESET low during MOSI/MISO link check

2021-11-12  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Jon Thacker:
	patch #9253: Fix for giving terminal_mode commands more than 20 arguments
	* term.c (tokenize): fix realloc usage, pointer returned not necessarily
	the same as pointer passed

2021-11-12  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Martino Facchin:
	patch #9110: Let reserved fuse bits to be read as *don't care*
	* avr.c (compare_memory_masked): New function
	* libavrdude.h: declare compare_memory_masked(); also, insist on C99
	so <stdint.h> is required now
	* main.c: Use compare_memory_masked() in safemode comparisons

2021-11-11  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Joseph Coffland:
	patch #8957: Allow reading prodsig memory from stk500v2 on xmega devices
	* stk500v2.c (stk600_xprog_read_byte, stk600_xprog_paged_load):
	treat "prodsig" memory space as equivalent to "calibration"

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Martin Thierer:
	patch #10017: uspasp / tpi: Automatically clear configuration byte (fuse) before writing it
	* usbasp.c (usbasp_tpi_paged_write): clear fuse region before writing it

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Michael Petersen:
	patch #9697: Add iseavrprog support
	* avrdude.conf.in (iseavrprog): New programmer

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #50630: Erase Cycle Counter options ( -y -Y n ) should be removed from usage Message
	* main.c (usage): remove -y / -Y descriptions

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* avrdude.conf.in (ATmega8A): new device (alias for ATmega8)

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #50517: Reading fails if "immediate mode" for output file format is selected - fileio: invalid operation=1
	* update.c (do_op): refuse to write to "immediate format" argument

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Martin Thierer:
	bug #60863: avrftdi programming error probably caused by multiple, consecutive empty pages
	* avrftdi.c (avrftdi_flash_write): Skip empty pages

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Matwey V. Kornilov:
	bug #58495: Add atmega324pb support to avrdude.conf.in
	* avrdude.conf.in (ATmega324PB): new entry

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #55734: USBtiny programming of ATmega328p broken by Patch #9278
	* usbtiny.c (usbtiny_initialize): undo change from patch #9728

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #55009: no efuses for m164a/pa
	* avrdude.conf.in (ATmega164P): derive from ATmega324P

2021-11-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by evan Venn:
	bug #59227: Add new part. How does one get a part added to the CONF file?
	* avrdude.conf.in (LGT8FX88P, LGT8FX168P, LGT8FX328P): new parts

2021-11-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Britton Kerin:
	bug #57453: [PATCH] fix reference to nonexistant -m option by changing to -U
	* avrdude.1: replace -m option by -U

2021-11-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Andrew D'Addesio:
	bug #58078: [PATCH] buspirate: remove compound literals (fixes GCC>=9)
	* buspirate.c (buspirate_start_mode_bin):
	avoid propagating local scope compound literals

2021-11-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Jan Egil Ruud:
	patch #10000: Add support for extended UPDI device context
	* avrdude.conf.in (pickit4_updi, snap_updi, pkobn_updi):
	new programmers
	* avrdude.conf.in (ATmega808, ATmega809, ATmega1608, ATmega1609)
	(AVR DA, AVR DB): new devices
	* jtag3.c: Add support for extended UPDI device context
	* jtag3_private.h: (Dito.)
	* tools/atdf-to-avrdude.xslt: Bug fixes
	* usbdevs.h: Bump USBDEV_MAX_XFER_3 to 912
	* doc/avrdude.texi: Document changes
	* avrdude.1: (Dito)

2021-06-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #60753: Patch #1436 breaks multiple programmer/device combinations on MacOS BigSur
	* avr.c: compare page_size > 1 instead of != 0
	* stk500v2.c: (Ditto.)

2021-06-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by gerardoallende:
	bug #59525: Bogus error message because Copy/Paste typo in stk500.c
	* stk500.c (stk500_getparm): Fix bogus ID in error message
