Not only has it autonomous driving capability, just very recently in 2016 it acquired new features for 'autonomously' targeting ChemCam and autonomosly re-schedule some of the science observations by itself. All based on pre-defined priority rules.
The auto-targeting software component is called AEGIS. Previously tested and enabled autonomous driving component is called AutoNav, which is being used since 2013. EDIT: as per comment below, AutoNav goes back to MER's, Spirit team activatedfirst used the software piece in March 2005February 2004.
It is important to understand there are different levels of autonomy in these processes. For example, important component of AutoNav is simply estimating how far the rover actually moved during driving. Previously this was done back on earth by processing navcam images and wheel odometry data, and now AutoNav is pretty much able to keep an accurate estimate during the drive. This enables longer, bolder drive plans to be uplinked as the rover can be trusted not to be too far off its planned path, by 'closing the control loop' locally. This level of autonomy does not mean a lot of high level planning done by robot.