title: Was there ever a "breaking change" in the Java language specification?
body: <p>With the problably widely known exception of the introduction of the 'assert' keyword, has there ever been a change in the Java language specification which caused old code to be no longer compatible with newer source levels of the JDK?</p>
  
  <hr>
  
  <p>Summary so far (many thanks for the comments):</p>
  
  <p>"Older" Java code can cause compilation errors, when upgrading to a later version, if the code uses declarations using one of the keywords which where introduced in a later version of the Java language specification (JLS):</p>
  
  <ul>
  <li>assert</li>
  <li>enum</li>
  <li>strictfp</li>
  </ul>