atmega328p (old bootloader)

I was using ATmega328P to program my nano without any problem, but after I updated some Arduino board software that pop on my laptop, now I can not program my nano with Atmega328p anymore, I have to select ATmega328p old bootloader.
Can anyone explain what happened? Thanks a lot

The Arduino has released new bootloader for nano. But you have the old bootloader. You can easily switch to new bootloader by just burning the new bootloader to the nano using any other Arduino board or any isp programmers

To add to the previous post, the bootloader on the official Nano sold by Arduino was updated around the beginning of 2018. At that point, the original bootloader became the “old bootloader”, and the IDE was updated to allow a selection between the old and new bootloaders. Versions of the IDE released prior to that time only use the old bootloader because it was the only one available, while newer versions default to the new bootloader.

The previous poster mentioned that you can update the Nano to the new bootloader, another option is to burn the UNO bootloader to the Nano, after which you then select UNO in the IDE when using the board. The advantage of doing this is that you gain 1.5K of program memory for your sketch. The reason for this is that the original “old bootloader” reserved 2k of flash memory for the bootloader, which was retained with the switch to the new bootloader, even though the new bootloader only needs 0.5K of flash memory. The new bootloader is actually the same bootloader as used on the UNO (optiboot), but by telling the IDE the board is an UNO only 0.5K of flash memory is reserved for the bootloader, freeing up the remainder for user code.