As pointed out at [1], JLS8 13.4.12 contains a false claim:
"Adding a method or constructor declaration to a class will not break compatibility with any pre-existing binaries, even in the case where a type could no longer be recompiled because an invocation previously referenced a method or constructor of a superclass with an incompatible type. The previously compiled class with such a reference will continue to reference the method or constructor declared in a superclass."
It's false because adding a private method in a superclass can cause a resolution failure when invoking a public method inherited by a subclass. (JLS 15.12.4.3 and JVMS 5.4.3.* are in sync on this.)
The problem arises if the public method was originally declared as a default method in a superinterface. Then, the private method interposes between the superinterface and the subclass (the qualifying type of the invocation).
[1] http://weblog.ikvm.net/PermaLink.aspx?guid=cc9b6d6f-8f24-43b2-a6ef-18ba0758c35d