| <?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. | |
| --> | |
| <!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.1//EN" "../../nbbuild/javadoctools/apichanges-1.1.dtd"> | |
| <apichanges> | |
| <apidefs> | |
| <apidef name="javasource_base">Java Source API</apidef> | |
| </apidefs> | |
| <changes> | |
| <change id="parseTypeScope"> | |
| <api name="javasource_base" /> | |
| <summary>Adding TreeUtilities.parseType(String, Scope) method overload</summary> | |
| <version major="1" minor="2.84"/> | |
| <date day="17" month="3" year="2026"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeUtilities.parseType(String, Scope) method overload | |
| to support more exact type parsing. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="ModuleImports"> | |
| <api name="javasource_base" /> | |
| <summary>API Support for module imports</summary> | |
| <version major="1" minor="2.79"/> | |
| <date day="1" month="6" year="2025"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeMaker.ImportModule and ElementUtilities.transitivelyExportedPackages | |
| to support module imports. | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.ClassPermits"> | |
| <api name="javasource_base" /> | |
| <summary>Adding TreeMaker.Class overload that takes permitted subclasses</summary> | |
| <version major="1" minor="2.76"/> | |
| <date day="28" month="11" year="2024"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeMaker.Class overload that allows to specify the permitted subclasses. | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="SourceUtils.classNameFor-nestedClass"> | |
| <api name="javasource_base" /> | |
| <summary>SourceUtils.classNameFor nested classes support</summary> | |
| <version major="1" minor="2.74"/> | |
| <date day="18" month="12" year="2024"/> | |
| <author login="petrovic-d"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| SourceUtils.classNameFor support for nested classes. | |
| </description> | |
| <class name="SourceUtils" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="SourceUtils.classNameFor"> | |
| <api name="javasource_base" /> | |
| <summary>Adding SourceUtils.classNameFor</summary> | |
| <version major="1" minor="2.73"/> | |
| <date day="5" month="12" year="2024"/> | |
| <author login="dbalek"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding SourceUtils.classNameFor. | |
| </description> | |
| <class name="SourceUtils" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.RawText"> | |
| <api name="javasource_base" /> | |
| <summary>Adding TreeMaker.RawText</summary> | |
| <version major="1" minor="2.71"/> | |
| <date day="14" month="10" year="2024"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeMaker.RawText. | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.RecordComponent"> | |
| <api name="javasource_base" /> | |
| <summary>Adding TreeMaker.RecordComponent</summary> | |
| <version major="1" minor="2.70.0"/> | |
| <date day="20" month="8" year="2023"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeMaker.RecordComponent and ElementUtilities.getLinkedRecordElements. | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.StringTemplate"> | |
| <api name="javasource_base" /> | |
| <summary>Adding TreeMaker.StringTemplate</summary> | |
| <version major="1" minor="2.65.0"/> | |
| <date day="3" month="11" year="2023"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeMaker.StringTemplate | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="SourceUtils.getFile"> | |
| <api name="javasource_base" /> | |
| <summary>Source file name for Element</summary> | |
| <version major="1" minor="2.60"/> | |
| <date day="10" month="1" year="2023"/> | |
| <author login="jtulach"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| It is possible to hint <code>SourceUtils.getFile</code> list | |
| of file names to searh for. There is also <code>SourceUtils.findSourceFileName</code> | |
| to obtain name of file for an <code>Element</code>. | |
| </description> | |
| <class name="SourceUtils" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeUtilities.isClassFile"> | |
| <api name="javasource_base" /> | |
| <summary>Adding TreeUtilities.isExpressionStatement(ExpressionTree)</summary> | |
| <version major="1" minor="2.56"/> | |
| <date day="23" month="3" year="2021"/> | |
| <author login="dbalek"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding TreeUtilities.isExpressionStatement(ExpressionTree). | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="SourceUtils.isClassFile"> | |
| <api name="javasource_base" /> | |
| <summary>Adding SourceUtils.isClassFile(FileObject)</summary> | |
| <version major="1" minor="2.51"/> | |
| <date day="12" month="5" year="2021"/> | |
| <author login="dbalek"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding SourceUtils.isClassFile(FileObject). | |
| </description> | |
| <class name="SourceUtils" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="SourceUtils.forceSource"> | |
| <api name="javasource_base" /> | |
| <summary>Adding SourceUtils.forceSource(CompilationController, FileObject)</summary> | |
| <version major="1" minor="2.46"/> | |
| <date day="9" month="3" year="2020"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Adding SourceUtils.forceSource(CompilationController, FileObject). | |
| </description> | |
| <class name="SourceUtils" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="CodeStyle.parensAroundSingularLambdaParam"> | |
| <api name="javasource_base" /> | |
| <summary>CodeStyle.parensAroundSingularLambdaParam() added</summary> | |
| <version major="1" minor="2.45"/> | |
| <date day="8" month="2" year="2020"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Method CodeStyle.parensAroundSingularLambdaParam() has been added. | |
| </description> | |
| <class name="CodeStyle" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.SwitchExpression"> | |
| <api name="javasource_base" /> | |
| <summary>Creates a new SwitchExpressionTree</summary> | |
| <version major="1" minor="2.41.0"/> | |
| <date day="27" month="2" year="2019"/> | |
| <author login="vikasprabhakar"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Creates a new SwitchExpressionTree. | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="Matcher.setKeepSyntheticTrees"> | |
| <api name="javasource_base"/> | |
| <summary>Adding Matcher.setKeepSyntheticTrees method</summary> | |
| <version major="1" minor="2.40"/> | |
| <date day="7" month="12" year="2018"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added Matcher.setKeepSyntheticTrees method, that allows to keep synthetically | |
| generated variables mapping in the outgoing variables. | |
| </description> | |
| <class name="Matcher" package="org.netbeans.api.java.source.matching"/> | |
| </change> | |
| <change id="TreeMaker.Case"> | |
| <api name="javasource_base"/> | |
| <summary>Adding case-related overload to TreeMaker</summary> | |
| <version major="1" minor="2.39"/> | |
| <date day="6" month="9" year="2018"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added TreeMaker.CaseMultipleLabels(List<? extends ExpressionTree> patterns, List<? extends StatementTree> statements) and | |
| TreeMaker.Case(List<? extends ExpressionTree> patterns, Tree body) overloads. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="BuildArtifactMapper.isCompileOnSaveSupported"> | |
| <api name="javasource_base"/> | |
| <summary>Check the var type variable in given tree path.</summary> | |
| <version major="1" minor="2.32"/> | |
| <date day="20" month="4" year="2018"/> | |
| <author login="jlahoda"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added BuildArtifactMapper.isCompileOnSaveSupported method, which | |
| checks if compile on save is suported in the current configuration. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeUtilities.isTreeHasError"> | |
| <api name="javasource_base"/> | |
| <summary>Check the tree has compile error in given collection of errors.</summary> | |
| <version major="1" minor="2.37"/> | |
| <date day="18" month="7" year="2018"/> | |
| <author login="vikasprabhakar"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Check the tree has compile error in given collection of errors. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeUtilities.isVarType"> | |
| <api name="javasource_base"/> | |
| <summary>Check the var type variable in given tree path.</summary> | |
| <version major="1" minor="2.31"/> | |
| <date day="27" month="3" year="2018"/> | |
| <author login="vikasprabhakar"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Check the var type variable in given tree path. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeUtilities.isEndOfCompoundVariableDeclaration"> | |
| <api name="javasource_base"/> | |
| <summary>Check the tree is the end of compound declaration.</summary> | |
| <version major="1" minor="2.33"/> | |
| <date day="3" month="5" year="2018"/> | |
| <author login="vikasprabhakar"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Check the tree end with comma. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeUtilities.isPartOfCompoundVariableDeclaration"> | |
| <api name="javasource_base"/> | |
| <summary>Check the tree is the end of compound declaration.</summary> | |
| <version major="1" minor="2.34"/> | |
| <date day="14" month="5" year="2018"/> | |
| <author login="arusinha"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Check whether tree is part of compound declaration. | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="ElementHandle.createModuleElementHandle"> | |
| <api name="javasource_base"/> | |
| <summary>Added a method to create an <code>ElementHandle</code> for module</summary> | |
| <version major="1" minor="2.26"/> | |
| <date day="17" month="1" year="2017"/> | |
| <author login="tzezula"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added a method to create a module <code>ElementHandle</code> from a module name. | |
| </description> | |
| <class name="ElementHandle" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.module"> | |
| <api name="javasource_base"/> | |
| <summary>Added methods to generate/modify the module-info.java files</summary> | |
| <version major="1" minor="2.23"/> | |
| <date day="4" month="10" year="2016"/> | |
| <author login="dbalek"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added methods to generate/modify the module-info.java files | |
| </description> | |
| <class name="TypesEvent" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TypesEvent.module"> | |
| <api name="javasource_base"/> | |
| <summary>Added an information about changes in the module-info</summary> | |
| <version major="1" minor="2.23"/> | |
| <date day="4" month="10" year="2016"/> | |
| <author login="tzezula"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added an information about changes in the module-info. | |
| </description> | |
| <class name="TypesEvent" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TypeUtilities.getDenotableType"> | |
| <api name="javasource_base"/> | |
| <summary>Provide type suitable for declaration in source</summary> | |
| <version major="1" minor="2.17"/> | |
| <date day="16" month="5" year="2016"/> | |
| <author login="sdedic"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Support method which allows to infer a type suitable for use in symbol | |
| declaration in the source was added. | |
| </description> | |
| <class name="TypeUtilities" package="org.netbeans.api.java.source"/> | |
| <issue number="262073"/> | |
| </change> | |
| <change id="utilities.findVisibleElements"> | |
| <api name="javasource_base"/> | |
| <summary>List elements with their definining Scope</summary> | |
| <version major="1" minor="2.16"/> | |
| <date day="31" month="5" year="2016"/> | |
| <author login="sdedic"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Allows to enumerate Elements matching passed <code>ElementFilter</code> according | |
| to hiding and inheritance rules. The method may be useful to list elements matching certain | |
| criteria, or to check whether an element exists and find what class/method defined it. | |
| </description> | |
| <class name="ElementUtilities" package="org.netbeans.api.java.source"/> | |
| <issue number="262281"/> | |
| </change> | |
| <change id="utilities.implementAndOverride.defaultMethods"> | |
| <api name="javasource_base"/> | |
| <summary>Allow to return also unimplemented default methods</summary> | |
| <version major="1" minor="2.15"/> | |
| <date day="10" month="5" year="2016"/> | |
| <author login="sdedic"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| <p> | |
| <code>findUnimplementedMethods</code> and <code>findOverridableMethods</code> | |
| work better with interface default methods: they are treated as implemented, | |
| but overridable. | |
| </p> | |
| <p> | |
| Allow <code>ElementUtilities.findUnimplementedMethods</code> enumerate | |
| also default methods whose implementations are not provided by class or | |
| superclasses. | |
| </p> | |
| </description> | |
| <class name="ElementUtilities" package="org.netbeans.api.java.source"/> | |
| <issue number="258981"/> | |
| </change> | |
| <change id="generator.insert.caretlocation"> | |
| <api name="javasource_base"/> | |
| <summary>Code Generator uses caret location to insert members</summary> | |
| <version major="1" minor="2.11"/> | |
| <date day="5" month="10" year="2015"/> | |
| <author login="ralphbenjamin"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added an overloaded method to Code Generator should to include the | |
| caret location when inserting members. This will be used when the | |
| codestyle is CodeStyle.InsertionPoint.CARET_LOCATION. | |
| </description> | |
| <class name="CodeStyle" package="org.netbeans.api.java.source"/> | |
| <issue number="255214"/> | |
| </change> | |
| <change id="classindex.searchkind.lambda"> | |
| <api name="javasource_base"/> | |
| <summary>ClassIndex SearchKind extended by FUNCTIONAL_IMPLEMENTORS</summary> | |
| <version major="1" minor="2.9"/> | |
| <date day="23" month="9" year="2015"/> | |
| <author login="tzezula"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Added a possibility to <code>ClassIndex</code> to search a lambda | |
| implementations. | |
| </description> | |
| <class name="ClassIndex" package="org.netbeans.api.java.source"/> | |
| <issue number="255393"/> | |
| </change> | |
| <change id="classindex.resources.binaryroots"> | |
| <api name="javasource_base"/> | |
| <summary>ClassIndex returns resources from binaryroots</summary> | |
| <version major="1" minor="2.6"/> | |
| <date day="27" month="6" year="2015"/> | |
| <author login="ralphbenjamin"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| ClassIndex holds information from different types of roots. Added a | |
| parameter to ClassIndex#getResources to specify which roots to use | |
| for its results. | |
| </description> | |
| <class name="ClassIndex" package="org.netbeans.api.java.source"/> | |
| <issue number="252992"/> | |
| </change> | |
| <change id="generator.sort.dependencies"> | |
| <api name="javasource_base"/> | |
| <summary>Code Generator uses dependencies between fields</summary> | |
| <version major="1" minor="2.2"/> | |
| <date day="9" month="2" year="2015"/> | |
| <author login="sdedic"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| Proper textual order of members should be used | |
| when inserting a field or class/interface initializer. The analysis | |
| could be optionally turned off. | |
| </description> | |
| <class name="CodeStyle" package="org.netbeans.api.java.source"/> | |
| <issue number="249199"/> | |
| </change> | |
| <change id="remove.openide.text"> | |
| <api name="javasource_base"/> | |
| <summary>Remove dependency on Openide Text API</summary> | |
| <version major="1" minor="1"/> | |
| <date day="25" month="5" year="2014"/> | |
| <author login="sdedic"/> | |
| <compatibility modification="yes" binary="compatible" source="incompatible"/> | |
| <description> | |
| <p> | |
| OpenIDE Text API dependencies are removed, affecting <code>ModificationResult.Difference</code> | |
| API class, whose interface <b>changed</b> incompatibly. The class now returns | |
| <code>java.swing.text.Position</code> instead of <code>org.openide.text.PositionRef</code> | |
| for the start and end positions. | |
| </p> | |
| <p> | |
| For binary compatibility, an additional module <code>java.source.compat8</code> was created, | |
| which provides compatible method that still returns <code>PositionRef</code> | |
| </p> | |
| </description> | |
| <class name="ModificationResult" package="org.netbeans.api.java.source"/> | |
| <issue number="244744"/> | |
| </change> | |
| <change id="server.is.free"> | |
| <api name="javasource_base"/> | |
| <summary>Desktop independent parts of the Java Source module extracted</summary> | |
| <version major="1" minor="0"/> | |
| <date day="30" month="4" year="2014"/> | |
| <author login="dbalek"/> | |
| <compatibility modification="yes" addition="yes" binary="compatible" source="incompatible"> | |
| </compatibility> | |
| <description> | |
| <p> | |
| Runtime compatibility remains, compile time compatibility is | |
| mostly preserved too. It is however recommended to upgrade | |
| dependencies of client modules. Try running | |
| <code>ant fix-dependencies</code> in your Ant module. | |
| </p> | |
| </description> | |
| </change> | |
| <change id="TreeUtilities.getBreakContinueTargetTree"> | |
| <api name="javasource_base" /> | |
| <summary>Find the target of Break or Continue statement</summary> | |
| <version major="1" minor="2.40.0"/> | |
| <date day="22" month="1" year="2019"/> | |
| <author login="sarveshkesharwani"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| <p> | |
| Find the target of <code>break</code> or <code>continue</code> | |
| statement. Target is of type Tree here. | |
| </p> | |
| </description> | |
| <class name="TreeUtilities" package="org.netbeans.api.java.source"/> | |
| </change> | |
| <change id="TreeMaker.BindingPattern"> | |
| <api name="javasource_base" /> | |
| <summary>Added new method for getting Tree using VariableTree type</summary> | |
| <version major="12" minor="4"/> | |
| <date day="23" month="3" year="2021"/> | |
| <author login="singh-akhilesh"/> | |
| <compatibility addition="yes" binary="compatible" source="compatible"/> | |
| <description> | |
| <p> | |
| Regarding the JEP 394 (finalization of pattern matching for instanceof in JDK 16). | |
| The shape of the BindingPatternTree has changed; the BindingPatternTree does not have a name and type, but rather a VariableTree. | |
| </p> | |
| </description> | |
| <class name="TreeMaker" package="org.netbeans.api.java.source"/> | |
| </change> | |
| </changes> | |
| <htmlcontents> | |
| <head> | |
| <title>Change History for the Base Java Source API</title> | |
| </head> | |
| <body> | |
| <p class="overviewlink"> | |
| <a href="overview-summary.html">Overview</a> | |
| </p> | |
| <h1>Introduction</h1> | |
| <h2>What do the Dates Mean?</h2> | |
| <p>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.</p> | |
| <ul> | |
| <li>The <code>release41</code> branch was made on Apr 03 '05 for use in the NetBeans 4.1 release. | |
| Specification versions: 6.0 begins after this point.</li> | |
| <li>The <code>release40</code> branch was made on Nov 01 '04 for use in the NetBeans 4.0 release. | |
| Specification versions: 5.0 begins after this point.</li> | |
| </ul> | |
| <hr/> | |
| <standard-changelists module-code-name="$codebase"/> | |
| <hr/> | |
| <p>@FOOTER@</p> | |
| </body> | |
| </htmlcontents> | |
| </apichanges> |