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.support.CancelSupport

org.netbeans.modules.parsing.spi.indexing.ConstrainedBinaryIndexer

org.netbeans.modules.parsing.spi.indexing.Context

org.netbeans.modules.parsing.spi.EmbeddingProvider

org.netbeans.modules.parsing.spi.indexing.ErrorsCache

org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask

org.netbeans.modules.parsing.api.indexing.IndexingManager

org.netbeans.modules.parsing.spi.Parser

org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration

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

org.netbeans.modules.parsing.spi.Scheduler

org.netbeans.modules.parsing.spi.SourceModificationEvent

org.netbeans.modules.parsing.spi.indexing.SuspendStatus

org.netbeans.modules.parsing.spi.TaskIndexingMode


Details of all changes by API and date


Parsing API

Adding Parser.Result.processingFinished

Sep 12 '21; API spec. version: 9.20; affected top-level classes: Parser; made by: jlahoda

Adding a new method, Parser.Result.processingFinished, used to mark a result as completely finished, or not completely finished.

Added SuspendStatus.isSuspendSupported

Jul 7 '14; API spec. version: 1.78; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.SuspendStatus; made by: tzezula
Added SuspendStatus.isSuspendSupported which test if active indexing task supports suspending.

Added QuerySupport.findRoots mapping class paths roots by projects.

Jul 7 '14; API spec. version: 1.76; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula
Added QuerySupport.findRoots mapping class paths roots by projects.

Source provides access to Lookup

Jun 18 '14; API spec. version: 9.2; made by: sdedic; issues: #247161

In the presence of multiple scopes or users, the parsing system needs to access the proper context even though the work is done by different threads. It also has to propagate the proper context back to the user tasks.

Source can now be created with a Lookup that provides such proper context, or automatically uses Lookup.getDefault if no explicit Lookup is given.

Added QuerySupport.Query.file factory for query searching index documents created for given file.

Jun 13 '14; API spec. version: 1.75; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula
Added QuerySupport.Query.file factory for query searching index documents created for given file.

Parsing API cleaned up from IDE dependencies

May 6 '14; API spec. version: 9.1; made by: sdedic

The Parsing API dependended on Windows System, Editor Registry, Data Systems and other IDE artifacts. All those dependencies were externalized as 'private SPIs' in the package org.netbeans.modules.parsing.impspi. The implementation that uses the other NetBeans IDE APIs resides in module parsing.nb. No API change was done, but the execution now relies on a proper binding to be present in the running application or a testsuite.

Basic testing environment was provided in unit tests, which implements basic of the externalized functions. However if a test need to check reparsing after document change, or data object change. Full implementation may be needed - the implementor can use a test-dependency to the org.netbeans.modules.parsing.nb module.

Added CancelSupport for thread safe testing of SchedulerTask cancelling.

May 2 '14; API spec. version: 1.74; affected top-level classes: CancelSupport; made by: tzezula
Added CancelSupport for thread safe testing of SchedulerTask cancelling.

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 refer to the API Changes document of the new module for entries related to moved classes.


Binary-compatible

Added Sheduler.getSource method for obtaining the active source

Aug 19 '13; API spec. version: 1.69; affected top-level classes: Scheduler; made by: tzezula; issues: #199357

Added protected final method Schedulter.getSource allowing Scheduler subclasses to obtain the active Source rather than caching it itself.

Allow refresh of EmbeddingIndexer

May 10 '13; API spec. version: 1.67; affected top-level classes: org.netbeans.modules.parsing.api.indexing.IndexingManager; made by: sdedic; issues: #218534

IndexingManager.refreshAllIndices now accepts names of EmbeddingIndexers so that embeddings can be reindexed.

Extended the QuerySupport to allow composite queries.

May 2 '13; API spec. version: 1.64; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula; issues: #170915

Extended the QuerySupport to allow composite queries with bool operators.

Added QuerySupport.findDependentRoots to find out source roots depending on given source root.

Mar 18 '13; API spec. version: 1.64; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula; issues: #227363

Added a QuerySupport.findDependentRoots method returning the dependent source roots for given source root. It returns all the source roots which have either direct or transitive dependency on the given source root.

Added EmbeddingProvider.Registration annotation to register EmbeddingProviders.

Sep 16 '12; API spec. version: 1.57; affected top-level classes: EmbeddingProvider; made by: tzezula; issues: #218148

Added EmbeddingProvider.Registration annotation to register EmbeddingProviders. The registration provides a mime type of a generated embedding which allows the infrastructure to correctly handle embedded indexes.

Added SuspendStatus service which can be used by indexers to find out if indexing is suspended.

Feb 17 '12; API spec. version: 1.52; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.SuspendStatus org.netbeans.modules.parsing.spi.indexing.Context; made by: tzezula; issues: #208378

The indexing is suspended by the infrastructure when high priority request like index query or execution of UserTask, ParserResultTask is in progress. The SuspendStatus allows indexers to find out that indexing is suspended or to park while it's suspended.

Added IndexingAwareParserResultTask which is a specialization of ParserResultTask which can be executed during scan.

Jan 26 '12; API spec. version: 1.52; affected top-level classes: IndexingAwareParserResultTask TaskIndexingMode; made by: tzezula; issues: #207459

The ParserResultTasks are not executed during the scan to keep the semantic backward compatibility. A specialization of the ParserResultTask the IndexingAwareParserResultTask was added. The IndexingAwareParserResultTask can be executed during the scan.

Added ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive mime type.

Nov 29 '11; API spec. version: 1.50; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.ConstrainedBinaryIndexer; made by: tzezula; issues: #205574

Added ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive mime type for those indexers which do not have required resource and use mime type which require reading of content.

Added ConstrainedBinaryIndexer to prevent indexer creation when constrained are not fulfilled.

Nov 10 '11; API spec. version: 1.48; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.ConstrainedBinaryIndexer; made by: tzezula; issues: #200050

Added ConstrainedBinaryIndexer to prevent indexer creation and calling when declared constraints are not fulfilled. The ConstrainedBinaryIndexer allows an indexer to specify constraints which need to be fulfilled, the check is done by infrastructure before the indexer is loaded.

Adding refreshIndexAndWait method into the IndexingManager allowing to specify if indexers should use modified content of editors

Mar 28 '11; API spec. version: 1.40; affected top-level classes: org.netbeans.modules.parsing.api.indexing.IndexingManager; made by: tzezula; issues: #196930

Adding refreshIndexAndWait method into the IndexingManager allowing to specify if indexers should use modified content of editors.

Adding refreshIndex method into the IndexingManager allowing to specify if indexers should use modified content of editors

Jan 24 '11; API spec. version: 1.37; affected top-level classes: org.netbeans.modules.parsing.api.indexing.IndexingManager; made by: tzezula; issues: #194564

Adding refreshIndex method into the IndexingManager allowing to specify if indexers should use modified content of editors.

Adding Parser.cancel method with parameters describing the reason of cancel

Oct 18 '10; API spec. version: 1.36; affected top-level classes: SourceModificationEvent Parser; made by: tzezula; issues: #190933

Adding Parser.cancel method with parameters describing the reason of cancel. This information can be used by the parser to optimize the cancel behavior.

Adding PathRecognizerRegistration annotation

Jan 26 '10; API spec. version: 1.32; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration; made by: vstejskal; issues: #169991

Added PathRecognizerRegistration annotation that simplyfies registering PathRecognizers.

Adding ErrorsCache

Jan 21 '10; API spec. version: 1.30; affected top-level classes: org.netbeans.modules.parsing.spi.indexing.ErrorsCache; made by: jlahoda; issues: #179459

Added ErrorsCache, that allows the indexers to simply set errors that should be show as badges in the projects tab and in the tasklist.

Methods scanStarted and scanFinished added to BinaryIndexerFactory

Jan 18 '10; API spec. version: 1.29; made by: vstejskal

The methods scanStarted and scanFinished were added to BinaryIndexerFactory class in order to notifying binary indexers that a binary root is going to be scanned or that its scanning just finished.

IndexingManager extended to support integration with VCS

Oct 1 '09; API spec. version: 1.24; made by: vstejskal; issues: #167098

Added IndexingManager.refreshAllIndices(boolean fullRescan, boolean wait, File... filesOrFolders), <T> T IndexingManager.runProtected(Callable<T> operation)

Added IndexingManager.refreshAllIndices(boolean fullRescan, boolean wait, FileObject... folders)

Sep 7 '09; API spec. version: 1.23; made by: vstejskal; issues: #168237

Added refreshAllIndices(boolean fullRescan, boolean wait, FileObject... folders).

Added IndexingSupport.createDocument(FileObject) and IndexResult.getIndexable()

Sep 1 '09; API spec. version: 1.22; made by: tzezula

Added methods IndexingSupport.createDocument(FileObject) and IndexResult.getIndexable() in order to allow CustomIndexers and BinaryIndexers to use IndexingSupport.

Added a method for checking an index validity

Aug 24 '09; API spec. version: 1.21; made by: tzezula

Added a method for checking an index validity. The method should be called by IndexerFactories to check the index integrity and prevent exceptions during the run on the IDE when the index is broken (for example the IDE was killed during write to the index).

Added methods scanStarted and scanFinished. Moved up common methods of EmbeddingIndexerFactory and CustomIndexerFactory

Aug 19 '09; API spec. version: 1.20; made by: tzezula

Added scanStarted and scanFinished methods for notifying indexers about start and finish of the indexing of given root. Refactored EmbeddingIndexerFactory and CustomIndexerFactory to move up common methods into super class SourceIndexerFactory.

Notifying indexers about unused roots

Aug 12 '09; API spec. version: 1.19; made by: tzezula

Modified CustomIndexerFactory, EmbeddingIndexerFactory and BinaryIndexerFactory to have a method rootsRemoved(Iterable<? extends URL>).This method is used to notify indexers about unused roots. Indexers may do a clean up of memory caches or close indexes.

Modifying CustomIndexerFactory and EmbeddingIndexerFactory

Jul 3 '09; API spec. version: 1.18; made by: vstejskal; issues: #166340

Modified CustomIndexerFactory and EmbeddingIndexerFactory to have methods filesDeleted(Iterable<? extends Indexable> deleted, Context context); and filesDirty(Iterable<? extends Indexable> deleted, Context context);.

These two methods supersede thier older version, which accepted Collection rather than Iterable. The new methods allow the infrastructure to optimize files crawling and improve the overall performance of scanning.

Adding Context.isSourceForBinaryRootIndexing()

Jun 23 '09; API spec. version: 1.17; made by: vstejskal

Added Context.isSourceForBinaryRootIndexing() in order to further optimize java indexing.

Adding IndexingManager.refreshIndex methods with forceRefresh parameter

Jun 10 '09; API spec. version: 1.16; made by: vstejskal

Added IndexingManager.refreshIndex(URL root, Collection<? extends URL> files, boolean forceRefresh) and IndexingManager.refreshIndexAndWait(URL root, Collection<? extends URL> files, boolean forceRefresh).

Tweaking Indexable and Context

May 21 '09; API spec. version: 1.13; made by: vstejskal

Added Indexable.getMimeType(), Context.isCancelled(). Removed Indexabe.getName(), Indexable.getLastModified(), Indexable.openInputStream().

Fixing typo: IndexingManager.refreshAllIndices()

Apr 20 '09; API spec. version: 1.12; made by: vstejskal

Fixing typo in IndexingManager.refreshAllIndicies(String) method name. Technically this method was removed and a new one called IndexingManager.refreshAllIndices(String) was created. The same happened for IndexingManager.refreshAllIndicies(FileObject...).

Adding Context.checkForEditorModifications

Apr 15 '09; API spec. version: 1.10; made by: vstejskal

Adding Context.checkForEditorModifications() in order to signal indexers whether they should or should not care about editor documents.

Adding IndexResult.getRoot and getRelativePath

Apr 2 '09; API spec. version: 1.9; made by: vstejskal

Adding IndexResult.getRoot() and IndexResult.getRelativePath() methods.

Adding IndexingManager.refreshAllIndicies()

Mar 27 '09; API spec. version: 1.8; made by: vstejskal

Adding IndexingManager.refreshAllIndicies(String) method for refreshing all indices created by a given indexer.

Adding QuerySupport.findRoots(...) methods

Mar 27 '09; API spec. version: 1.7; made by: vstejskal

Adding two QuerySupport.findRoots(...) methods that can be used for finding classpath roots from classpaths marked with specific IDs and supplied by specific project.

Adding IndexingManager.refreshIndexAndWait()

Mar 2 '09; API spec. version: 1.6; made by: vstejskal

Adding IndexingManager.refreshIndexAndWait(URL, Collection<? extends URL>) for synchronous index refreshing.

Support for marking files dirty

Mar 1 '09; API spec. version: 1.4; made by: vstejskal

Adding CustomIndexerFactory.filesDirty, EmbeddingIndexerFactory.filesDirty and IndexingSupport.markDirtyDocuments in order to support on-the-fly reindexing of files modified in the editor.

Support for explicit index refreshing

Feb 26 '09; API spec. version: 1.6; made by: vstejskal

Adding IndexingManager class, which allows requesting to reindex a set of files. Also adding addSupplemntaryFiles and isSupplementaryFilesIndexing methods to Context class in order to allow indexers to request reindexing of additional files.

Adding Context.addIndexingJob

Feb 25 '09; API spec. version: 1.2; made by: vstejskal

Adding Snapshot.getTokenHierarchy

Feb 20 '09; API spec. version: 1.1; made by: vstejskal

Adding Snapshot.getTokenHierarchy() in order to provide effective way for accessing lexer tokens created from a Snapshot.

Parsing API created

Jan 1 '09; API spec. version: 1.0; made by: jjancura; issues: #133900

Creating Parsing API.