How to find when and why the Java class interface has changed using SVN / GIT


General question: How find when&why Java class interface has changed using SVN/Git

I'm using Eclipse JDT Core, exactly class SingleNameReference in one of my projects. To overcome bugs I want to switch from version org.eclipse.jdt.core_3.4.2.v_883_R34x.jar to org.eclipse.jdt.core_3.7.1.v_B76_R37x.jar

The problem is, someone broke interfaces between this versions. I want to find out, when it happened, why & what are my alternatives.

Specific question: How to find in Eclipse Git repo when someone removed code and message why it has been done?

Look at this page, showing you the blame output of that class (and thereby pointing to the change). In case of Eclipse source files, you have a high chance to find such information directly in the github mirrors of their sources.