In general, the policy is as follows:
Maintenance releases do not introduce any new APIs, so they maintain source-compatibility with one another. However, since J2EE is based on J2SE, a new Application Server release may include a new version of J2SE. Refer to the document on compatibility issues in J2SE for more information:
Functionality releases and major releases maintain upwards but not downwards source-compatibility.
Deprecated APIs are methods and classes that are supported only for backward compatibility, and the compiler generates a warning message whenever one of these is used, unless the -nowarn command-line option is used. It is recommended that programs be modified to eliminate the use of deprecated methods and classes, though there are no current plans to remove such methods and classes entirely from the system.