The supplied dates indicate when the API change was made, on the CVS trunk. From this you can generally tell whether the change should be present in a given build or not; for trunk builds, simply whether it was made before or after the change; for builds on a stabilization branch, whether the branch was made before or after the given date. In some cases corresponding API changes have been made both in the trunk and in an in-progress stabilization branch, if they were needed for a bug fix; this ought to be marked in this list.
release41 branch was made on Apr 03 '05 for use in the NetBeans 4.1 release.
Specification versions: 6.0 begins after this point.release40 branch was made on Nov 01 '04 for use in the NetBeans 4.0 release.
Specification versions: 5.0 begins after this point.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.
TopComponent.getHtmlDisplayName,
TopComponent.setHtmlDisplayName and
WindowManager.topComponentHtmlDisplayNameChanged methods.
TopComponent ability to bring their parent
Window to front of other windows.
InputOutput removed
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.openide.windows > 1.20
TopComponent.getHtmlDisplayName,
TopComponent.setHtmlDisplayName and
WindowManager.topComponentHtmlDisplayNameChanged methods.
TopComponent ability to bring their parent
Window to front of other windows.
org.openide.actions.AbstractCompileAction
org.openide.actions.AddWatchAction
org.openide.cookies.ArgumentsCookie
org.openide.actions.BuildAction
org.openide.actions.BuildAllAction
org.openide.actions.BuildProjectAction
org.openide.explorer.propertysheet.editors.ChoicePropertyEditor
org.openide.actions.CleanAction
org.openide.actions.CleanAllAction
org.openide.windows.CloneableTopComponent
org.openide.actions.CompileAction
org.openide.actions.CompileAllAction
org.openide.actions.CompileProjectAction
org.openide.cookies.CompilerCookie
org.openide.loaders.CompilerSupport
org.openide.options.ControlPanel
org.openide.loaders.DataObjectFilter
org.openide.cookies.DebuggerCookie
org.openide.actions.DebugProjectAction
org.openide.DialogDisplayer
org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor
org.openide.cookies.ElementCookie
org.openide.explorer.propertysheet.editors.ElementFormatEditor
org.openide.cookies.ExecCookie
org.openide.loaders.ExecSupport
org.openide.actions.ExecuteAction
org.openide.actions.ExecuteProjectAction
org.openide.loaders.ExecutionSupport
org.openide.loaders.ExtensionListEditor
org.openide.explorer.propertysheet.editors.ExternalCompiler
org.openide.explorer.propertysheet.editors.FileEditor
org.openide.explorer.propertysheet.editors.FileOnlyEditor
org.openide.filesystems.FileUtil
org.openide.actions.FinishDebuggerAction
org.openide.actions.GoAction
org.openide.actions.GoToCursorAction
org.openide.actions.HelpAction
org.openide.awt.HtmlBrowser
org.openide.explorer.propertysheet.editors.IconEditor
org.openide.explorer.propertysheet.editors.IdentifierArrayEditor
org.openide.modules.IllegalModuleException
org.openide.windows.InputOutput
InputOutput removed
org.openide.windows.IOProvider
org.openide.LifecycleManager
org.openide.modules.ManifestSection
org.openide.explorer.propertysheet.editors.MethodParameterArrayEditor
org.openide.explorer.propertysheet.editors.ModifierEditor
org.openide.modules.ModuleDescription
org.openide.nodes.NodeOperation
org.openide.NotifyDescriptor
org.openide.actions.OpenProjectAction
org.openide.windows.OutputEvent
org.openide.windows.OutputListener
org.openide.windows.OutputWriter
org.openide.Places
org.openide.cookies.ProjectCookie
org.openide.util.actions.ProjectSensitiveAction
org.openide.loaders.RepositoryNodeFactory
org.openide.actions.SaveProjectAction
org.openide.cookies.SourceCookie
org.openide.actions.StartDebuggerAction
org.openide.awt.StatusDisplayer
org.openide.actions.StepOutAction
org.openide.explorer.propertysheet.editors.StringArrayCustomEditor
org.openide.explorer.propertysheet.editors.StringArrayCustomizable
org.openide.explorer.propertysheet.editors.StringArrayEditor
org.openide.actions.ToggleBreakpointAction
org.openide.windows.TopComponent
TopComponent.getHtmlDisplayName,
TopComponent.setHtmlDisplayName and
WindowManager.topComponentHtmlDisplayNameChanged methods.
TopComponent ability to bring their parent
Window to front of other windows.
org.openide.windows.TopComponentGroup
org.openide.TopManager
org.openide.actions.TraceIntoAction
org.openide.actions.TraceOverAction
org.openide.explorer.propertysheet.editors.TypeEditor
org.openide.windows.WindowManager
TopComponent.getHtmlDisplayName,
TopComponent.setHtmlDisplayName and
WindowManager.topComponentHtmlDisplayNameChanged methods.
TopComponent ability to bring their parent
Window to front of other windows.
org.openide.WizardDescriptor
org.openide.windows.Workspace
TopComponent.getHtmlDisplayName,
TopComponent.setHtmlDisplayName and
WindowManager.topComponentHtmlDisplayNameChanged methods.
TopComponent WindowManager; made by: dsimonek; issues:
#66777
TopComponent.getHtmlDisplayName and TopComponent.setHtmlDisplayName
methods was added to allow TopComponents to have display
name that contains html tags differentiated from regular display name.
Regular display name should be used for tasks like alphabetical sorting
while html display name is used for labels and titles that support html,
like editor tabs. WindowManager.topComponentHtmlDisplayNameChanged
was also added to let window system implementation know about html
display name change.
TopComponent ability to bring their parent
Window to front of other windows.
TopComponent WindowManager; issues:
#56277
TopComponent class has a new method toFront()
that attempts to bring the parent Window of the TopComponent to
front of other top-level windows.
The method is implemented in the WindowManager class
using AWT's java.awt.Window#toFront().
WindowManager TopComponent; made by: mkleint; issues:
#48811
TopComponent.requestAttention(boolean) and TopComponent.cancelRequestAttention
added to allow components to signal that they require user's attention or the attention is no longer required.
It's up to the current TopComponent container to decide how to attract user's attention.
If the user activates the attention-requiring component, the container assumes the goal was achieved and the action is cancelled.
The methods are thread-safe.
For those implementing WindowManager class, there is an incompatible change where
abstract methods topComponentCancelRequestAttention(TopComponent) and
topComponentRequestAttention(TopComponent) were added.
TopComponent; made by: jtulach; issues:
#38475
TopComponent.associateLookup to allow
late (in middle of constructor) association of Lookup with
component. This is especially useful in
org.openide.explorer.ExplorerUtils.
TopComponent; made by: mslama; issues:
#36916
TopComponent; made by: jtulach; issues:
#38185
TopComponents to provide
their own Lookup and still maintain their contract with
getActivatedNodes.
WindowManager; made by: mslama; issues:
#37199
CloneableTopComponent TopComponent TopComponentGroup WindowManager Workspace; made by: pzavadsky; issues:
#29836
TopComponent CloneableTopComponent; made by: jtulach; issues:
#32143
TopComponent (DataObject)
and CloneableTopComponent (DataObject)
constructors have been removed. Instead of using the old behavior
new TopComponent (dataObject);
please change the code to use TopComponent.NodeName:
tc = new TopComponent ();
NodeName.connect (tc, dataObject.getNodeDelegate ());
CloneableTopComponent; made by: pzavadsky; issues:
#25824
getAnyComponent in CloneableTopComponent.Ref
class uses NoSuchElementException as a mean indicating there is no
component. Moreover the exception is runtime one (unchecked).
It forces clients to use try-catch blocks, which doesn't follow
rule, which says there shouldn't be used exception for controlling program flow.
It is replaced by method getArbitraryComponent which returns
null instead of throwing an exception.
org.openide.WizardDescriptor; made by: dkonecny; issues:
#28466
TopComponent WindowManager; made by: pzavadsky; issues:
#21618
TopComponent:
protected void componentShowing(), protected void componentHidded(),
protected void componentOpened(), protected void componentClose().
The last two replaces deprecated protected void openNotify()
and protected void closeNotify() methods.
Two methods were added also to WindowManager to handle the
notifiction via its subclasses:
protected void componentShowing(TopComponent)
and protected void componentHidden(TopComponent).
TopComponent; made by: dsimonek; issues:
#20153
WindowManager; made by: dsimonek; issues:
#20942
TopComponent WindowManager
public void TopComponent.requestVisible()
public void WindowManager.Component.requestVisible()
org.openide.NotifyDescriptor
isValid and setValid, added
property name String constant PROP_VALID. It can be used to
change validity (enable/disable) of standard OK button in dialog.
TopComponent WindowManager
protected void TopComponent.openNotify()
protected void TopComponent.closeNotify()
protected void WindowManager.componentOpenNotify(TopComponent tc)
protected void WindowManager.componentCloseNotify(TopComponent tc)
org.openide.WizardDescriptor
WizardDescriptor.Panel.readSettings can throw
IllegalStateException. This can be used to indicate that data
provided by the previous panels are not OK and that the panel wants the
wizard to go back one panel.
org.openide.WizardDescriptor
((JComponent)WizardDescriptor.current().getComponent()).putClientProperty()
or WizardDescriptor.putProperty().
InputOutput removed
org.openide.windows.InputOutput
InputOutput.Null
InputOutput.NullOutputWriter
InputOutput.nullReader
InputOutput.nullWriter
boston. Any code referring to these members is erroneous and
must be rewritten. The only useful related member, the
InputOutput.NULL constant, is still public and accessible.
org.openide.actions.AbstractCompileAction org.openide.actions.BuildAction org.openide.actions.BuildAllAction org.openide.actions.CleanAction org.openide.actions.CleanAllAction org.openide.actions.CompileAction org.openide.actions.CompileAllAction org.openide.actions.ExecuteAction org.openide.cookies.ArgumentsCookie org.openide.cookies.CompilerCookie org.openide.cookies.ExecCookie org.openide.filesystems.FileUtil org.openide.loaders.CompilerSupport org.openide.loaders.ExecutionSupport org.openide.windows.IOProvider org.openide.windows.InputOutput org.openide.windows.OutputEvent org.openide.windows.OutputListener org.openide.windows.OutputWriter; affected packages: org.openide.compiler org.openide.execution; made by: jglick; issues:
#19443
Three sections of the Open APIs were split into new autoload modules.
The module org.openide.compiler (version 1.0) contains
the Compiler API and some other classes directly related to it.
The module org.openide.execution (version 1.0) contains
the Execution API and some other classes directly related to it.
The module org.openide.io (version 1.0) contains
InputOutput and related classes (formerly part of the
Window System API, and still physically in the
org.openide.windows package).
New modules wishing to use these APIs must declare regular module dependencies on them. Future changes in these APIs will be documented separately.
Furthermore, modules wishing to use certain services must
OpenIDE-Module-Require them if appropriate:
org.openide.compiler.CompilationEngine, in order to
call CompilationEngine.getDefault(), or safely use
AbstractCompileAction or one of its subclasses, or
call CompilerJob.start(), or use
BeanInfos for Compiler API classes, etc.
org.openide.execution.ExecutionEngine, in order to
call ExecutionEngine.getDefault(), or safely use
ExecuteAction, or call
Executor.execute(...), or use BeanInfos
for Execution API classes, etc.
org.openide.windows.IOProvider, in order to call
IOProvider.getDefault().
Other minor changes:
Registration of URL stream handler factories using
NbfsStreamHandlerFactory.register(...) is deprecated.
Simply create an instance of URLStreamHandlerFactory
and add it to Lookup instead.
The method FileUtil.nbfsURLStreamHandler was added,
but is not intended for use by modules.
All uses of ExecInfo are deprecated as they abuse the
distinction between Filesystems and the user classpath. Use and
override only Executor.execute(DataObject). Similarly,
ThreadExecutor is deprecated for the time being
because it suffers from similar problems.
Direct use of NbfsURLConnection is deprecated in favor
of the more general URLMapper from the Filesystems
API.
Package dependencies on
org.netbeans.lib.terminalemulator must be replaced
with module dependencies on a new autoload module
org.netbeans.lib.terminalemulator (version 1.0).
Several static convenience methods have been added to
AbstractCompileAction. Of most interest is
prepareJobFor. Module code should no longer assume
that DataFolder has a CompilerCookie
which recursively compiles the folder and subfolders (according to
depth); while it is still true, for reasons of compatibility, new
code should use prepareJobFor to create a compiler job
from a folder.
Module authors using the now-separated APIs will need to adjust their compilation classpaths to include the new JAR files. Modules wishing to use recent APIs and declaring a current openide specification version dependency will need to explicitly declare dependencies on these new APIs if there are any.
For compatibility, modules with no declared Open APIs dependency, or declared on a version prior to 3.17, will have their dependencies automatically refined as if to include the declarations:
OpenIDE-Module-Module-Dependencies: org.openide.compiler > 1.0,
org.openide.execution > 1.0, org.openide.io > 1.0
OpenIDE-Module-Requires: org.openide.compiler.CompilationEngine,
org.openide.execution.ExecutionEngine, org.openide.windows.IOProvider
And any package dependencies from old modules on
org.netbeans.lib.terminalemulator will be converted to
module dependencies.
org.openide.DialogDisplayer org.openide.LifecycleManager org.openide.Places org.openide.TopManager org.openide.actions.AddWatchAction org.openide.actions.BuildProjectAction org.openide.actions.CompileProjectAction org.openide.actions.DebugProjectAction org.openide.actions.ExecuteProjectAction org.openide.actions.FinishDebuggerAction org.openide.actions.GoAction org.openide.actions.GoToCursorAction org.openide.actions.HelpAction org.openide.actions.OpenProjectAction org.openide.actions.SaveProjectAction org.openide.actions.StartDebuggerAction org.openide.actions.StepOutAction org.openide.actions.ToggleBreakpointAction org.openide.actions.TraceIntoAction org.openide.actions.TraceOverAction org.openide.awt.HtmlBrowser org.openide.awt.StatusDisplayer org.openide.cookies.DebuggerCookie org.openide.cookies.ElementCookie org.openide.cookies.ProjectCookie org.openide.cookies.SourceCookie org.openide.explorer.propertysheet.editors.ChoicePropertyEditor org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor org.openide.explorer.propertysheet.editors.ElementFormatEditor org.openide.explorer.propertysheet.editors.ExternalCompiler org.openide.explorer.propertysheet.editors.FileEditor org.openide.explorer.propertysheet.editors.FileOnlyEditor org.openide.explorer.propertysheet.editors.IconEditor org.openide.explorer.propertysheet.editors.IdentifierArrayEditor org.openide.explorer.propertysheet.editors.MethodParameterArrayEditor org.openide.explorer.propertysheet.editors.ModifierEditor org.openide.explorer.propertysheet.editors.StringArrayCustomEditor org.openide.explorer.propertysheet.editors.StringArrayCustomizable org.openide.explorer.propertysheet.editors.StringArrayEditor org.openide.explorer.propertysheet.editors.TypeEditor org.openide.loaders.DataObjectFilter org.openide.loaders.ExecSupport org.openide.loaders.ExecutionSupport org.openide.loaders.ExtensionListEditor org.openide.loaders.RepositoryNodeFactory org.openide.modules.IllegalModuleException org.openide.modules.ManifestSection org.openide.modules.ModuleDescription org.openide.nodes.NodeOperation org.openide.options.ControlPanel org.openide.util.actions.ProjectSensitiveAction org.openide.windows.IOProvider; affected packages: org.openide.debugger org.openide.src org.openide.src.nodes; made by: jglick; issues:
#19443
#20898
Many classes were moved to a separate module, openide-deprecated.jar, not available to modules by default. Uses of these classes in modules should be cleaned up whenever possible.
Additionally, the entire contents of org.openide.src.* and
org.openide.src.nodes.*, as well as
org.openide.cookies.SourceCookie and some associated
property editors, were moved to a separate module.
The most common apparent symptom for module authors will be the absence
of TopManager. Most methods in this class have been
replaced by newer utility classes in a straightforward manner. See the
Upgrade Guide.
The deprecated classes continue to be available in the module
org.openide.deprecated which you may depend on it you
cannot remove uses of the deprecated APIs. In order for
TopManager.getDefault() to work, you must also require the
token org.openide.TopManager, which is provided by an
unspecified module. The deprecated API module and its implementation
module are autoloads, meaning they will not be loaded unless some
module still requires them.
Similarly, the Java Hierarchy API was moved to the module
org.openide.src which you should depend on in order to use
this API.
For compatibility, the above three dependencies are added to your module automatically in case it either requests no specific API version at all, or requests an API version prior to 3.14. Modules requesting APIs 3.14 or higher must declare these dependencies explicitly if they in fact need them.
Built on May 3 2007. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.