| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| |
| <?xml-stylesheet href="../../nbbuild/javadoctools/apichanges.xsl" type="text/xsl"?> |
| <!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd"> |
| |
| <!-- INFO FOR PEOPLE ADDING CHANGES: |
| [most of contents snipped - see openide's apichanges for how-to instructions] |
| <change> |
| <api name="compiler"/> |
| <summary>Some brief description here, can use <b>XHTML</b></summary> |
| <version major="1" minor="99"/> |
| <date day="13" month="6" year="2001"/> |
| <author login="jrhacker"/> |
| <compatibility addition="yes"/> |
| <description> |
| The main description of the change here. |
| Again can use full <b>XHTML</b> as needed. |
| </description> |
| <class package="org.openide.compiler" name="DoWhatIWantCompiler"/> |
| <issue number="14309"/> |
| </change> |
| --> |
| |
| <apichanges> |
| |
| <!-- First, a list of API names you may use: --> |
| <apidefs> |
| <apidef name="DebuggerCoreAPI">Debugger Core API</apidef> |
| </apidefs> |
| |
| <!-- ACTUAL CHANGES BEGIN HERE: --> |
| |
| <changes> |
| <change id="Watch_Pin"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>API for pinned Watches</summary> |
| <version major="1" minor="54"/> |
| <date day="18" month="4" year="2016"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes" deletion="no"/> |
| <description> |
| A <code>Watch.Pin</code> base interface introduced as a basis |
| for specific platform-dependent and location-dependent implementations. |
| <code>DebuggerManager.createPinnedwatch()</code> introduced. |
| </description> |
| <class package="org.netbeans.api.debugger" name="DebuggerManager"/> |
| <class package="org.netbeans.api.debugger" name="Watch"/> |
| <issue number="258651"/> |
| </change> |
| <change id="Watch_disableable"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>API for changing enabled state of a Watch</summary> |
| <version major="1" minor="36"/> |
| <date day="27" month="3" year="2012"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes" deletion="no"/> |
| <description> |
| Two method are added to Watch class: <code>isEnabled()</code> and <code>setEnabled(boolean)</code>. |
| When the enabled state changes, <code>PROP_ENABLED</code> event is fired. |
| </description> |
| <class package="org.netbeans.api.debugger" name="Watch"/> |
| <issue number="209783"/> |
| </change> |
| <change id="generification"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Use of some generic types in API; <code>ContextProvider</code> implemented more broadly; <code>DebuggerManager.join</code></summary> |
| <version major="1" minor="13"/> |
| <date day="1" month="3" year="2008"/> |
| <author login="jglick"/> |
| <compatibility binary="compatible" source="incompatible" modification="yes" semantic="compatible"> |
| <p> |
| As with any generification, it is possible for old code to no longer compile. E.g. |
| </p> |
| <pre>List<X> = lookup.lookup(folder, X.class);</pre> |
| <p> |
| must be changed to: |
| </p> |
| <pre>List<? extends X> = lookup.lookup(folder, X.class);</pre> |
| </compatibility> |
| <description> |
| <p> |
| <code>ContextProvider</code> is now properly generified, and implemented also by: |
| </p> |
| <ul> |
| <li><code>DebuggerEngine</code></li> |
| <li><code>DebuggerInfo</code></li> |
| <li><code>DebuggerManager</code></li> |
| <li><code>Session</code></li> |
| </ul> |
| <p> |
| The new method <code>DebuggerManager.join</code> can be used to merge lookup lists easily. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="DebuggerEngine"/> |
| <class package="org.netbeans.api.debugger" name="DebuggerInfo"/> |
| <class package="org.netbeans.api.debugger" name="DebuggerManager"/> |
| <class package="org.netbeans.api.debugger" name="Session"/> |
| <issue number="128229"/> |
| </change> |
| <change id="debugger-dual-actions"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for "dual" actions added.</summary> |
| <date day="29" month="4" year="2004"/> |
| <author login="jjancura"/> |
| <compatibility binary="incompatible" source="incompatible" addition="yes" deletion="yes" modification="yes"/> |
| <description> |
| According to Debugger UI Specification there are some actions that have two different |
| meanings. for example Step Into action. When some Java Debugger session is running it steps |
| into the current method. But if there is no session running it should start a new session |
| for Main Project and stop in its main method. Thats why we have to update support for debugger |
| actions. Changes made: |
| <ul> |
| <li> |
| Support methods for managing and sharing actions has been moved from DebuggerEngine |
| to new class ActionsManager. |
| </li> |
| <li> |
| Debugger Action Constants has been move from DebuggerEngine to ActionsManager. |
| </li> |
| <li> |
| New common ancestor of DebuggerManager, Session and Debugger Engine has been |
| introduced - LookupProvider. From now you can register the same action in differen |
| context levels. |
| </li> |
| <li> |
| DebuggerManager.getActionsManager () method has been added. You can register |
| ActionProviders for default root context (managed by DebuggerManager). These actions |
| can be in enabled state even if there is no current DebuggerEngine! |
| </li> |
| <li> |
| DebuggerEngine parameter of method ActionsProvider.doAction (...) has been removed. |
| </li> |
| </ul> |
| </description> |
| </change> |
| <change id="DebuggerEngine-synch-start"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for synchronouous start of DebuggerEngines added.</summary> |
| <date day="3" month="5" year="2004"/> |
| <author login="jjancura"/> |
| <compatibility binary="incompatible" source="compatible" modification="yes"/> |
| <description> |
| <p> |
| <code>void DebuggerManager.startDebugging (DebuggerInfo)</code> has been changed to <code>DebuggerEngine[] |
| DebuggerManager.startDebugging (DebuggerInfo)</code>. So it returns array of all DebuggerEngines |
| created for given DebuggerInfo. |
| </p> |
| </description> |
| </change> |
| <change id="ToggleBreakpointAction-etc."> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for ToggleBreakpointAction added, and some bugfix of Debugger Actions support API.</summary> |
| <date day="9" month="5" year="2004"/> |
| <author login="jjancura"/> |
| <compatibility binary="incompatible" source="incompatible" modification="yes"/> |
| <description> |
| <p> |
| <code>ActionsManager.doAction (...)</code>, |
| <code>ActionsProvider.doAction (...)</code> and |
| <code>ActionsManagerListener.actionPefrormed (...)</code> methods |
| will not return boolean any longer. This parameter was unusefull and it was not posible to |
| implement it in some meaningful way. |
| </p> |
| </description> |
| </change> |
| <change id="Breakpoint.group.name"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for Breakpoints Group added.</summary> |
| <date day="13" month="5" year="2004"/> |
| <author login="jjancura"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Breakpoint.getGroupName (), Breakpoint.setGroupName () methods were added. |
| Breakpoint.PROP_GROUP_NAME has been added. |
| </p> |
| </description> |
| </change> |
| <change id="ActionsProviderSupport.isEnabled-nonfinal"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>final modifier removed from ActionsProviderSupport.isEnabled.</summary> |
| <version major="1" minor="3"/> |
| <date day="23" month="11" year="2004"/> |
| <author login="jjancura"/> |
| <compatibility binary="compatible" source="compatible" modification="yes"/> |
| <description> |
| <p> |
| Having final modifier for this method can be too obstructive in some cases. I had a problem writing tests. |
| </p> |
| </description> |
| </change> |
| <change id="ActionsManager-ActionsProvider.postAction"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Debugger actions can be posted asynchronously.</summary> |
| <version major="1" minor="5"/> |
| <date day="24" month="8" year="2005"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Added methods: |
| <code>ActionsManager.postAction(Object)</code>, |
| <code>ActionsProvider.postAction(Object, Runnable)</code>, |
| These can be used to call and implement asynchronous actions. |
| </p> |
| </description> |
| </change> |
| <change id="ActionsManager.ACTION_STEP_OPERATION"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for stepping over operations.</summary> |
| <version major="1" minor="9"/> |
| <date day="1" month="2" year="2007"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Added fields: |
| <code>ActionsManager.ACTION_STEP_OPERATION</code>, |
| This constant is used in action performer which implements an operation step. |
| </p> |
| </description> |
| </change> |
| <change id="Breakpoint.validity"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for breakpoint validity.</summary> |
| <version major="1" minor="10"/> |
| <date day="21" month="2" year="2007"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Added fields: |
| <code>Breakpoint.PROP_VALIDITY</code> - |
| This constant is used in property change events as a notification about change in validity.<br/> |
| <code>Breakpoint.VALIDITY</code> - enumeration of constants for breakpoint validity. |
| </p> |
| <p> |
| Added methods: |
| <code>Breakpoint.getValidity()</code>, |
| <code>Breakpoint.getValidityMessage()</code>, |
| <code>Breakpoint.setValidity()</code> - validity management. |
| </p> |
| </description> |
| </change> |
| <change id="Breakpoint.hitCounts"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Add filter for hit counts to breakpoints.</summary> |
| <version major="1" minor="11"/> |
| <date day="21" month="5" year="2007"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| To be able to set breakpoint for number of iterations, we need to add a filter for hit counts into Breakpoint API. |
| </p> |
| <p> |
| Added methods:<br/> |
| <code>Breakpoint.getHitCountFilter()</code>, |
| <code>Breakpoint.getHitCountFilteringStyle()</code>, |
| <code>Breakpoint.setHitCountFilter()</code>. |
| </p> |
| <p> |
| Added fields:<br/> |
| <code>Breakpoint.PROP_HIT_COUNT_FILTER</code>, |
| <code>Breakpoint.HIT_COUNT_FILTERING_STYLE</code>. |
| </p> |
| </description> |
| </change> |
| |
| <change id="PathLookup"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Lookup improvements and service annotation registration.</summary> |
| <version major="1" minor="16"/> |
| <date day="2" month="2" year="2009"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| In order to be able to register debugger services on System FileSystem, |
| which brings more flexibility and better performance (see also |
| <a href="http://www.netbeans.org/issues/show_bug.cgi?id=153093#desc7"/>), |
| we add non-recursive content of <code>org.openide.util.Lookups.forPath()</code> |
| into debugger lookup. |
| Since debugger needs retrieve context-aware services from the lookup, |
| <code>ContextAwareService</code> interface is introduced. |
| </p> |
| <p> |
| Annotations are added for easy registration on module layers. |
| <code>DebuggerServiceRegistration</code> to register implementations |
| of interfaces, <code>*Provider.Registration</code> to register |
| implementations of appropriate providers. |
| </p> |
| </description> |
| <class package="org.netbeans.spi.debugger" name="DebuggerServiceRegistration" /> |
| <class package="org.netbeans.spi.debugger" name="ContextAwareService" /> |
| <class package="org.netbeans.spi.debugger" name="ContextAwareSupport" /> |
| <issue number="153093"/> |
| <issue number="156687"/> |
| </change> |
| |
| <change id="PropertiesInitializer"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for providing initial values of properties.</summary> |
| <version major="1" minor="17"/> |
| <date day="28" month="2" year="2009"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Properties.Initializer interface introduced to provide initial |
| values of properties. This is necessary when properties are |
| accessed from more places and it's not practical to copy default |
| values to every such location. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="Properties" /> |
| <issue number="158775"/> |
| </change> |
| |
| <change id="PropertiesListener"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for listening to changes of property values.</summary> |
| <version major="1" minor="17"/> |
| <date day="28" month="2" year="2009"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| addPropertyChangeListener() and removePropertyChangeListener() |
| methods added to Properties class. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="Properties" /> |
| <issue number="158907"/> |
| </change> |
| |
| <change id="WatchesReordering"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Support for changing the order of watches.</summary> |
| <version major="1" minor="22"/> |
| <date day="15" month="12" year="2009"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| createWatch(int index, String expr) and reorderWatches(int[] permutation) |
| methods added to DebuggerManager class.<br/> |
| These methods are going to be called from WatchesTreeModel when |
| watches are reordered. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="DebuggerManager" /> |
| <issue number="178301"/> |
| </change> |
| |
| <change id="LazyActionRegistration"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>A declarative mechanism to delay creation of action provider instance until a file with specific MIME type becomes active.</summary> |
| <version major="1" minor="23"/> |
| <date day="11" month="2" year="2010"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| ActionsProvider.Registration annotation is enhanced with two additional |
| methods actions() and activateForMIMETypes(). Until a file with the |
| listed MIME type is selected in the IDE, the appropriate actions provider |
| is left disabled for the given list of actions, without instantiating the |
| implementation class. |
| </p> |
| </description> |
| <class package="org.netbeans.spi.debugger" name="ActionsProvider" /> |
| <issue number="177561"/> |
| </change> |
| |
| <change id="AddWatchActionProvider"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>It's possible to override New Watch action with a session-specific provider.</summary> |
| <version major="1" minor="24"/> |
| <date day="23" month="2" year="2010"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| ActionsManager.ACTION_NEW_WATCH constant was added for use by session-specific |
| provider of New Watch action. That action invokes an implementation |
| of ActionsProvider that is registered for the active debugger session |
| and contains ActionsManager.ACTION_NEW_WATCH action. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="ActionsManager" /> |
| <issue number="180558"/> |
| </change> |
| |
| <change id="BreakpointsGrouping"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Breakpoints group properties.</summary> |
| <version major="1" minor="25"/> |
| <date day="28" month="2" year="2010"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Add Breakpoint.getGroupProperties() method, that returns an implementation |
| of GroupProperties class with the relevant grouping information |
| used by BreakpointsWindow to create hierarchy of breakpoint groups |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="Breakpoint" /> |
| <issue number="179759"/> |
| </change> |
| |
| <change id="DebuggerServiceRegistrations"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Allow multiple debugger service registrations and position order</summary> |
| <version major="1" minor="28"/> |
| <date day="10" month="9" year="2010"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Allow to specify the order of the debugger service registry. |
| For the need of being able to define multiple different |
| registrations for a single instance, @DebuggerServiceRegistrations |
| and ActionsProvider.Registrations annotations are introduced. |
| </p> |
| </description> |
| <class package="org.netbeans.spi.debugger" name="DebuggerServiceRegistration" /> |
| <class package="org.netbeans.spi.debugger" name="DebuggerServiceRegistrations" /> |
| <class package="org.netbeans.spi.debugger" name="ActionsProvider" /> |
| <issue number="190080"/> |
| </change> |
| |
| <change id="EvaluateAction"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Evaluate action is made generic, based on action providers.</summary> |
| <version major="1" minor="29"/> |
| <date day="12" month="11" year="2010"/> |
| <author login="mentlicher"/> |
| <compatibility binary="compatible" source="compatible" addition="yes"/> |
| <description> |
| <p> |
| Evaluate action is moved from JPDA Debugger into Debugger Core UI module. |
| ActionsManager.ACTION_EVALUATE constant was added for use by debugger-specific |
| provider (ActionsProvider) of Evaluate action. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="ActionsManager" /> |
| <issue number="191394"/> |
| </change> |
| |
| <change id="DependentBreakpoints"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>Added a possibility to enable/disable other breakpoints when one is hit.</summary> |
| <version major="1" minor="35"/> |
| <date day="19" month="12" year="2011"/> |
| <author login="mentlicher"/> |
| <compatibility addition="yes" source="compatible" binary="compatible"/> |
| <description> |
| Four methods are added to the Breakpoint class, that allow to |
| get or set a set of breakpoints, that are enabled or disabled when |
| the breakpoint is hit. One test method is provided, which determines |
| if the dependent breakpoints are supported by the implementation. |
| <p> |
| Added methods:<br/> |
| <code>Breakpoint.canHaveDependentBreakpoints()</code>, |
| <code>Breakpoint.getBreakpointsToEnable()</code>, |
| <code>Breakpoint.setBreakpointsToEnable()</code>, |
| <code>Breakpoint.getBreakpointsToDisable()</code>, |
| <code>Breakpoint.setBreakpointsToDisable()</code>. |
| </p> |
| </description> |
| <class package="org.netbeans.api.debugger" name="Breakpoint" /> |
| <issue number="197707"/> |
| </change> |
| |
| <change id="SessionBridge"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>A session bridge introduced to handle mixed languages debugging.</summary> |
| <version major="1" minor="48"/> |
| <date day="8" month="9" year="2014"/> |
| <author login="mentlicher"/> |
| <compatibility addition="yes" source="compatible" binary="compatible"/> |
| <description> |
| <code>SessionBridge</code> class introduced. This class allows to |
| suggest that some debug action can be handled by a different debugging |
| session. The handlers can be registered via implementations of |
| <code>SessionChanger</code> interface. |
| </description> |
| <class package="org.netbeans.api.debugger" name="SessionBridge" /> |
| <issue number="246819"/> |
| </change> |
| |
| <change id="BreakpointsDeactivation"> |
| <api name="DebuggerCoreAPI"/> |
| <summary>A mechanism for activation/deactivation of engine-related breakpoints.</summary> |
| <version major="1" minor="51"/> |
| <date day="30" month="4" year="2015"/> |
| <author login="mentlicher"/> |
| <compatibility addition="yes" source="compatible" binary="compatible"/> |
| <description> |
| API class <code>ActiveBreakpoints</code> and SPI interface |
| <code>BreakpointsActivationProvider</code> introduced. These classes |
| handle an activation/deactivation of engine-related breakpoints, |
| which is independent on their enabled/disabled state. |
| </description> |
| <class package="org.netbeans.api.debugger" name="ActiveBreakpoints" /> |
| <class package="org.netbeans.spi.debugger" name="BreakpointsActivationProvider" /> |
| <issue number="242800"/> |
| </change> |
| </changes> |
| |
| <!-- Now the surrounding HTML text and document structure: --> |
| |
| <htmlcontents> |
| <!-- |
| |
| NO NO NO NO NO! |
| |
| ==============> DO NOT EDIT ME! <====================== |
| |
| AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT |
| |
| SEE xml/api/doc/changes/apichanges.xml |
| |
| --> |
| <head> |
| <title>Debugger Core API changes by date</title> |
| <link rel="stylesheet" href="prose.css" type="text/css"/> |
| </head> |
| <body> |
| |
| <p class="overviewlink"><a href="overview-summary.html">Overview</a></p> |
| |
| <h1>Introduction</h1> |
| |
| <p>This document lists changes made to the Debugger Core APIs. Please ask on the |
| <code>nbdev@netbeans.org</code> |
| mailing list if you have any questions about the details of a |
| change, or are wondering how to convert existing code to be compatible. |
| </p> |
| |
| <hr/><standard-changelists module-code-name="org.netbeans.api.debugger/1"/> |
| |
| <hr/><p>@FOOTER@</p> |
| |
| </body> |
| </htmlcontents> |
| </apichanges> |