Update
update()method added. The single byte data is written only when the data is different from the existing one. Based on request from user. Unnecessary writing is avoided to make EEPROM life longer.
A picture below shows waveform when the update() called. The update() is called twice to try writing 0x00 and 0xFF into address 0x0A. The first time, the address 0x0A read and confirmed it has 0x00 already. So no write performed on this time. Second update() call reads address 0x0A and data is 0x00 which is different from should be written. A single byte write is performed to store 0xFF in address 0x0A.
eeprom.update( 0x0A, 0x00 ); // The address 0x0A is having 0x00. So no write will be performed
delay( 1 ); // delay added to show the transactions are separated by calls
eeprom.update( 0x0A, 0xFF ); // The address 0x0A holding 0x00. So the data 0xFF will be written