Migrating from the ATMEGA8 to the ATMEGA88PB
The software-facing differences between the ATmega88PA and the ATmega88PB are the addition of a register for start condition interrupts in the USART, presence of both registers and pin assignments for port E, and 9 registers used for unique identification of the specific device itself. This leads to the following:


avr-libc does not support the 'X8PB yet; you will need to manually add the definitions for the registers into your code in order to use them.
Two of the pin assignments for port E are supply pins in the 'X8PA, and the other two are on ADC6 and ADC7. You will probably need to do some hardware redesign if migrating.


Beyond those the 'X8PB is fully software compatible with the 'X8PA.

Other differences include higher overall power consumption and removal of the DIL packaging option.