Skip to content

Latest commit

 

History

History
197 lines (149 loc) · 12.4 KB

CHANGELOG.md

File metadata and controls

197 lines (149 loc) · 12.4 KB

LXTK Changelog

The format of this file is based on Keep a Changelog. The LXTK project adheres to Semantic Versioning.

0.5.0 - 2024-09-18

This release aligns with the latest Eclipse SimRel, 2024-09. In particular, it ensures compatibility with recent LSP4J versions. There are no new features or breaking changes in this release.

0.4.0 - 2022-12-22

This release adds client-side support for some of the new features of LSP 3.17, including:

Breaking changes:

  • Moved classes related to diagnostic annotations from org.lxtk.lx4e.diagnostics to org.lxtk.lx4e.ui.diagnostics

  • Renamed DocumentSemanticTokensProvider.onDidChangeSemanticTokens() to onRefreshSemanticTokens()

  • Renamed AbstractLanguageClient.onDidChangeSemanticTokens() to onRefreshSemanticTokens()

  • Return type of RenameProvider.prepareRename method changed from CompletableFuture<Either<Range, PrepareRenameResult>> to CompletableFuture<Either3<Range, PrepareRenameResult, PrepareRenameDefaultBehavior>>

  • Result type for PrepareRenameRequest changed from Either<Range, PrepareRenameResult> to Either3<Range, PrepareRenameResult, PrepareRenameDefaultBehavior>

  • Return type of RenameRefactoring.getPrepareRenameResult method changed from Either<Range, PrepareRenameResult> to Either3<Range, PrepareRenameResult, PrepareRenameDefaultBehavior>

  • Type of result parameter of RenameRefactoring.setPrepareRenameResult method changed from Either<Range, PrepareRenameResult> to Either3<Range, PrepareRenameResult, PrepareRenameDefaultBehavior>

  • Return type of WorkspaceSymbolProvider.getWorkspaceSymbols method changed from CompletableFuture<List<? extends SymbolInformation>> to CompletableFuture<Either<List<? extends SymbolInformation>, List<? extends WorkspaceSymbol>>>

  • Result type for WorkspaceSymbolRequest changed from List<? extends SymbolInformation> to Either<List<? extends SymbolInformation>, List<? extends WorkspaceSymbol>>

  • Type of elements returned by WorkspaceSymbolSelectionDialog.getResult method changed from SymbolInformation to WorkspaceSymbolItem

  • Added a required parameter of type CompletionList to constructors for BaseCompletionProposal and CompletionProposal

  • Parameter type of WordFinder.isWordPart method changed from char to int

Deprecated API elements:

  • SymbolLabelProvider has been marked as deprecated and will be removed in a next release

0.3.0 - 2022-06-07

This release adds client-side support for new features of LSP 3.15 and 3.16, including:

It also adds client-side support for the following LSP features:

LXTK Integration for Eclipse (LX4E) now supports aggregation of results of multiple providers for a language feature (previously, the best matching provider was used).

Also, code completion support has been reworked and improved. In particular:

  • The previous implementation, which was derived from LSP4E, has been replaced completely
  • Support for completion snippets has been significantly improved and is now on par with existing support in VS Code

Note that LXTK now requires at least Java 11 (previously, Java 8 was sufficient).

Other notable changes:

  • Request classes have been moved from org.lxtk.lx4e to a new package, org.lxtk.lx4e.requests

  • Class org.lxtk.lx4e.refactoring.WorkspaceEditChangeFactory has been redesigned from the ground up to support resource operations and change annotations in workspace edits; a new interface, IWorkspaceEditChangeFactory, has been extracted from this class to the org.lxtk.lx4e package.

    Breaking changes in WorkspaceEditChangeFactory:

    • changed createChange(String, WorkspaceEdit, RefactoringStatus, IProgressMonitor) to createChange(String, WorkspaceEdit, IProgressMonitor)
    • removed addTextChange(CompositeChange, TextDocumentEdit)
    • removed addResourceChange(CompositeChange, ResourceOperation)

    Related breaking changes in IUriHandler:

    • added getCreateFileChange(URI, CreateFileOptions)
    • added getDeleteFileChange(URI, DeleteFileOptions)
    • added getRenameFileChange(URI, RenameFileOptions)
  • Support for DidSave has been redesigned in line with support for WillSave and WillSaveUntil; a new constructor, TextDocumentSyncFeature(DocumentService, TextDocumentWillSaveEventSource, TextDocumentWillSaveWaitUntilEventSource, TextDocumentSaveEventSource), has been introduced to uniformly support all of these events.

    Related breaking changes:

    • removed DocumentService.onDidSaveTextDocument()
    • removed TextDocument.onDidSave()
  • Support for client-side merging of change events for a text document has been introduced via TextDocumentSyncFeature.setChangeEventMergeStrategy(TextDocumentChangeEventMergeStrategy) method.

    Related breaking changes:

    • added DocumentService.onWillChangeTextDocument()
    • added TextDocument.onWillChange()
  • org.lxtk.CommandHandler and org.lxtk.CommandService interfaces have been redesigned to support progress.

    Breaking changes in CommandHandler:

    • changed execute(List<Object>) to execute(ExecuteCommandParams)
    • added getRegistrationOptions()

    Breaking changes in CommandService:

    • removed executeCommand(String, List<Object>)
    • added getCommandHandler(String)

0.2.0 - 2021-01-22

This is the first public release of LXTK. It provides client-side support for the following LSP features:

LXTK 0.2 does not support features introduced in LSP 3.15 or above.