This document lists changes made to the API between core/startup and core modules. It is a friend API so it does not need to be developed compatibly, and indeed it is not.
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.
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: org.netbeans.bootstrap > 1.20
ModuleManager; made by: sdedic
Bootstrap classloaders are not paired with a single module, yet they should obey visibility restrictions. The added method allows to check also accesses to resources served by bootstrap classloaders.
This change will hide classes (namely
org.objectweb.asm, but also some core impl classes) that were visible
in Apache NetBeans 9.0 release from NetBeans platform applications.
Special property to disable usage of shared, installation
with special value which can be
Module can be declared as Module Fragment to join other module loader. Fragment classes may ask to be bytecode-patched as superclasses of API classes to preserve compatibility.
Define your Agent-Class to participate in patching other classes.
See netbeans.ignore.dupmodule for details.
Launcher does not provide
netbeans.system_http_non_proxy_hosts properties anymore.
Proxy settings are now detected in Core Network module.
See org.netbeans.CLIHandler.server for details.