Changes may or may not be documented. Usually if a method is added to a an existing class, the method documentation will say "since X.Y" and if a class is added to an existing package the class description will say "since X.Y," but other changes may be undocumented.
For instance the method java.awt.Point.getX() used to return int in 1.1, but in 1.2 the return type was changed to double. The API specification does not mention this fact.
> (the interface java.io.Serializable has not changed
> though--interfaces cannot change without breaking
> compability between versions)
Interfaces change between versions.
The java.sql.* interfaces changed between 1.1.x and 1.2. And they changed again between 1.2/3 and 1.4. And they will change again for 1.5.