Introduction

What do the Dates Mean?

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.


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: org.openide.actions > 1.20

Changes by affected class

org.openide.actions.ActionManager

org.openide.actions.CopyAction

org.openide.actions.CutAction

org.openide.actions.DeleteAction

org.openide.actions.FileSystemAction

org.openide.actions.HeapView

org.openide.actions.InstantiateAction

org.openide.actions.PasteAction

org.openide.actions.SaveAction

org.openide.actions.SaveAsTemplateAction

org.openide.actions.ToolsAction


Details of all changes by API and date


Actions API

SelectionType ANY in SaveAction

Dec 14 '10; API spec. version: 6.20; affected top-level classes: SaveAction; made by: krissco; issues: #192948
SaveAction has been modified to allow one or more SaveCookies into it's context. The previous behavior was to allow EXACTLY_ONE.

ToolsAction via layers

Feb 26 '10; API spec. version: 6.15; affected top-level classes: ToolsAction; made by: jtulach; issues: #180979
Register your actions for ToolsAction via layer, don't use the deprecated manifest style.

HeapView preserves its settings between sessions

Jun 24 '08; API spec. version: 6.5; affected top-level classes: org.openide.actions.HeapView; made by: rmichalsky; issues: #135104
Settings of showDropShadow, showText and tickStyle are now preserved between sessions in NBPreferences of the same corresponding names.

A way how to implement "Jump Next" and "Jump Prev" action handlers

Mar 23 '05; API spec. version: 5.8; made by: jtulach; issues: #40185
Use
 topComponent.getActionMap().put("jumpPrev", new YourPrevAction());
 topComponent.getActionMap().put("jumpNext", new YourNextAction());
          
if your component provides items and you want the user to jump among them using standard next/prev actions.

ActionManager.getDefault() added

Mar 18 '03; API spec. version: 4.2; affected top-level classes: ActionManager; made by: jglick; issues: #32092
This method should be more convenient than looking for an instance in lookup. Also there is a simple implementation for standalone use available.

org.openide.actions.InstantiateAction deprecated

Feb 27 '03; API spec. version: 3.42; affected top-level classes: org.openide.actions.InstantiateAction; made by: dkonecny; issues: #27135
This action was used only as default action on templates. It instantiates the template when it was double clicked in the Options dialog. This behaviour was changed and action is not useful anymore. It is deprecated and it usage should be avoided. Part of the deprecatation was that org.openide.loadersDataNode.getDefaultAction() does not return this action on templates anymore.

New Actions system - part I.

Jan 8 '03; API spec. version: 3.29; affected top-level classes: CutAction CopyAction DeleteAction PasteAction org.openide.actions.FileSystemAction ToolsAction; made by: jtulach pzavadsky; issues: #27868

Introduction of new action system, which generally means move from usage of SystemAction to Action instances. Look at general proposal. That document also focuses on declarative actions usage which is not subject of current change, it will be part of later changes.

Current change is described by description of already implemented changes which also summarizes these API changes.

Action manager can invoke actions in request processor

Oct 6 '00; affected top-level classes: ActionManager
Method invokeAction added to the ActionManager. It allows all actions code to happen in one request processor.

SaveAsTemplateAction.iconResource removed

Mar 23 '00; affected top-level classes: org.openide.actions.SaveAsTemplateAction
iconResource was accidentally a public method; no longer needed, and deprecated. Technically backwards incompatible, but no one should have been calling this method as public, as it was protected in the superclass SystemAction.
Compatibility: First removed, later re-added but deprecated in trunk and boston.

ActionManager added

Mar 14 '00; affected top-level classes: ActionManager ToolsAction
Class ActionManager added, along with TopManager.getActionManager. This class replaces the functionality of ToolsAction.Model and ToolsAction.setModel which have been deprecated. No one other than ToolsAction and the core implementation ought to have been directly using the model class, and the same applies to the new action manager.
Compatibility: ToolsAction model first removed, later re-added but deprecated in trunk and boston.