Skip navigation links


This document lists changes made to the Java Platform API.

Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: > 1.20

Changes by affected class

Details of all changes by API and date

Java Platform API

Added a isValid method into JavaPlatform

Apr 3 '17; API spec. version: 1.43; affected top-level classes: JavaPlatform; made by: tzezula

Added a isValid method into JavaPlatform to check platform validity. The platform is non valid when it's deleted or an platform tool (java, javac) is missing or bootstrap libraries are missing.

Added a SPI to create new JavaPlatform

Aug 17 '16; API spec. version: 1.41; affected top-level classes: JavaPlatformFactory ForwardingJavaPlatform; made by: tzezula

Added a SPI allowing JavaPlatform implementors to export ability to create a new JavaPlatform.

Desktop dependent java platform UI extracted

May 14 '14; API spec. version: 1.37; made by: tstupka

The following classes were moved into the module:


Runtime compatibility remains, compile time compatibility is mostly preserved too. It is however recommended to upgrade dependencies of client modules. Try running ant fix-dependencies in your Ant module.

Added Specification.getDisplayName returning the user friendly name of the platform specification.

Jun 13 '12; API spec. version: 1.26; affected top-level classes: Specification; made by: tzezula; issues: #198834
Added Specification.getDisplayName returning the user friendly name of the platform specification.

Apr 12 '06; API spec. version: 1.9; made by: jglick

JavaPlatformManager.getDefaultPlatform could formerly return null, in case no installed providers returned an instance; typically this would be due to some storage problem. In the interests of robustness, it will now as a fallback return a simple platform instance corresponding the JRE hosting the NetBeans code. Optional capabilities may be missing so avoid relying on this fallback platform implementation.


Code which previously handled null return values but expected any returned platform instance to meet certain criteria, such as having JDK tool bindings, may be broken.

Added new CustomPlatformInstall implemented by the platform installers which does not use the file chooser to select new platform

Jul 27 '05; API spec. version: 1.5; affected top-level classes:; made by: tzezula; issues: #61475

There are some platform installers which does not use the local disk as source of the java platform, for example they download the java platform from the web. Such installers cannot use the current PlatformInstall which is file oriented. The CustomPlatformInstall allows to platform install provider to implement its own way of installing the new platform. The PlatformInstall is still supported. If the module provides the PlatformInstall in the global lookup, the java platform module does the java platform chooser for it, the behavior is not changed. If the module provides the CustomPlatformInstall in the global lookup, it has to do the platform selection by itself.

The relevant code was moved off to java.platform.ui module. Please see it's API change document.

Switched to major release version 1

Dec 22 '04; API spec. version: 1.3; made by: jglick; issues: #51468

To indicate that this is now considered a stable API, the major release version was incremented to 1 from 0.


Clients should begin requesting the new version to avoid a warning at startup.