Skip navigation links

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.modules.parsing.spi.indexing.IndexabilityQueryImplementation

org.netbeans.modules.parsing.spi.indexing.support.IndexingSupport

org.netbeans.modules.parsing.spi.indexing.support.QuerySupport


Details of all changes by API and date


Indexing API

Allow plugins to exclude files from being indexed.

Sep 14 '21; API spec. version: 9.24; affected top-level classes: IndexabilityQueryImplementation; made by: matthiasblaesing

There are situations where it is desireable to exclude files from the NetBeans indexing infrastructure. Implementors of IndexabilityQueryImplementation are queried whether an indexer should be invoked for a given file.

Indexing for a file can be rejected verbatim (boolean preventIndexing(FileObject fo)) or more specific by indexer name, URL to the file to be indexed and the UTL of the indexing root. boolean preventIndexing(String indexerName, URL indexable, URL rootUrl).

One such example are Angular projects, where code assistence is provided by the typescript integration by the language server. In these cases the node_modules folder often contains huge amounts of javascript code, that the IDE user does not need to be indexed, but which take a lot of time to parse. A hypothetical plugin could check if an angular.json file is present and then prevent the js indexer from indexing files in the node_modules directory.

Allow Parsers to adjust results for indexing

Jul 28 '21; API spec. version: 9.22; affected top-level classes: IndexingSupport; made by: sdedic

Parsers may need to provide reduced data for indexing, or enriched data for source parsing. The added isIndexingTask() method identifies tasks applied by indexing infrastructure.

Added custom camel case support into QuerySupport

Apr 14 '15; API spec. version: 9.5; affected top-level classes: QuerySupport; made by: tzezula

Added a support for custom camel case separators and custom camel case parts into QuerySupport

Indexing API separated to its own module

Apr 20 '14; API spec. version: 9.0; made by: sdedic

Historically the module offered both APIs for Parsing (invoking parser, implementing parser) and Indexing (refresh index, index SPIs). Those APIs are typically used by unrelated pieces of code, possibly with the exception of "refresh" actions.

The indexing now resides separately in its parsing.indexing module. Binary compatibility is kept by using module-auto-deps.xml.

Please also refer to the API Changes document of the parental module.


Binary-compatible