The 'new' R logo was added in early 2016.

Rlogo.svg is the master copy, and is copyighted.  See its text comment
and doc/COPYRIGHTS for its licence.

Rlogo.pdf is a conversion to scalable PDF, done by rsvg-convert.

logo.jpg is an update to the new logo of a 100x76 file: it is no
longer used within R (but is used by some packages).

favicon.ico contains 16x16 and 32x32 PNG files (with transparent
backgrounds and anti-aliasing) converted from Rlogo.svg in Photoshop,
and bundled by 

icotool -c -o favicon.ico icon_16x16.png icon_32x32.png

on Linux. These are 32-bit full-colour PNGs (and smaller than the
previous version with a palette).
