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: $codebase > 1.20

Changes by affected class

org.netbeans.api.java.source.ClassIndex

org.netbeans.api.java.source.CodeStyle

org.netbeans.api.java.source.ElementHandle

org.netbeans.api.java.source.ElementUtilities

org.netbeans.api.java.source.ModificationResult

org.netbeans.api.java.source.TypesEvent

org.netbeans.api.java.source.TypeUtilities


Details of all changes by API and date


Java Source API

Added a method to create an ElementHandle for module

Jan 17 '17; API spec. version: 1.2.26; affected top-level classes: ElementHandle; made by: tzezula
Added a method to create a module ElementHandle from a module name.

Added methods to generate/modify the module-info.java files

Oct 4 '16; API spec. version: 1.2.23; affected top-level classes: TypesEvent; made by: dbalek
Added methods to generate/modify the module-info.java files

Added an information about changes in the module-info

Oct 4 '16; API spec. version: 1.2.23; affected top-level classes: TypesEvent; made by: tzezula
Added an information about changes in the module-info.

List elements with their definining Scope

May 31 '16; API spec. version: 1.2.16; affected top-level classes: ElementUtilities; made by: sdedic; issues: #262281
Allows to enumerate Elements matching passed ElementFilter 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.

Provide type suitable for declaration in source

May 16 '16; API spec. version: 1.2.17; affected top-level classes: TypeUtilities; made by: sdedic; issues: #262073
Support method which allows to infer a type suitable for use in symbol declaration in the source was added.

Allow to return also unimplemented default methods

May 10 '16; API spec. version: 1.2.15; affected top-level classes: ElementUtilities; made by: sdedic; issues: #258981

findUnimplementedMethods and findOverridableMethods work better with interface default methods: they are treated as implemented, but overridable.

Allow ElementUtilities.findUnimplementedMethods enumerate also default methods whose implementations are not provided by class or superclasses.

Code Generator uses caret location to insert members

Oct 5 '15; API spec. version: 1.2.11; affected top-level classes: CodeStyle; made by: ralphbenjamin; issues: #255214
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.

ClassIndex SearchKind extended by FUNCTIONAL_IMPLEMENTORS

Sep 23 '15; API spec. version: 1.2.9; affected top-level classes: ClassIndex; made by: tzezula; issues: #255393
Added a possibility to ClassIndex to search a lambda implementations.

ClassIndex returns resources from binaryroots

Jun 27 '15; API spec. version: 1.2.6; affected top-level classes: ClassIndex; made by: ralphbenjamin; issues: #252992
ClassIndex holds information from different types of roots. Added a parameter to ClassIndex#getResources to specify which roots to use for its results.

Code Generator uses dependencies between fields

Feb 9 '15; API spec. version: 1.2.2; affected top-level classes: CodeStyle; made by: sdedic; issues: #249199
Proper textual order of members should be used when inserting a field or class/interface initializer. The analysis could be optionally turned off.

Remove dependency on Openide Text API

May 25 '14; API spec. version: 1.1; affected top-level classes: ModificationResult; made by: sdedic; issues: #244744

OpenIDE Text API dependencies are removed, affecting ModificationResult.Difference API class, whose interface changed incompatibly. The class now returns java.swing.text.Position instead of org.openide.text.PositionRef for the start and end positions.

For binary compatibility, an additional module java.source.compat8 was created, which provides compatible method that still returns PositionRef


Binary-compatible

Desktop independent parts of the Java Source module extracted

Apr 30 '14; API spec. version: 1.0; made by: dbalek

Runtime compatibility remains, compile time compatibility is mostly preserved too. It is however recommended to upgrade dependencies of client modules. Try running ant fix-dependencies in your Ant module.


Compatibility:
Binary-compatible

Built on October 21 2017.  |  Portions Copyright 1997-2017 Oracle. All rights reserved.