-->
<!DOCTYPE apichanges PUBLIC"-//NetBeans//DTD API changes list 1.0//EN""../../nbbuild/javadoctools/apichanges.dtd">
<apichanges>
<apidefs>
<apidef name="javasource_base">Java Source API</apidef>
</apidefs>
<changes>
<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>
<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>
<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>
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.