New optiboot; beta testers welcome...

the 644 version predates my involvement and hasn't been tested

Well, now it's been tested.

It doesn't work.

It has the wrong signature for an ATmega644p (it makes it look like an ATmega644.)
You can tell boards.txt that you have a 644 and upload will work, but then the pins_arduino.c doesn't get correct values.
(and why does it have an incorrect signature byte? Because avr-libc is actually wrong in the version that ships with Arduino. It's not even an optiboot bug. Sigh. AVR C Runtime Library - Bugs: bug #26188, Wrong or missing definition of... [Savannah]

It also has an incorrect efuse value in the Makefile (should be 0xFD, with the "unused" bits set to 1, but the makefile has 0x05)

http://code.google.com/p/optiboot/issues/detail?id=61