- Implemented DAP version 1.36.0
- Implemented DAP version 1.37.0 (except CancelRequest)
- Implemented LSP version 3.15.0 (except Progress)
- Improved compatibility with prior versions of
vscode-languageclient
(eclipse-lsp4j#407)
Fixed issues: https://github.com/eclipse/lsp4j/milestone/15?closed=1
Breaking API changes:
-
In DebugProtocol fields which were
@NonNull Long
are nowint
as they are required. This brings the DAP implementation in LSP4J in line with the LSP implementation under the same conditions. -
In DebugProtocol fields which were
@NonNull Boolean
are nowboolean
as they are required. This brings the DAP implementation in LSP4J in line with the LSP implementation under the same conditions. -
In DebugProtocol fields which used to be defined as
Long
are nowInteger
. This is due to changes in DAP 1.36 and clarification sought from microsoft/debug-adapter-protocol#90 -
The DebugProtocol's
EvaluateResponse
's fieldmemoryReference
was previously incorrectly declared asLong
, it is now correctly declared asString
-
CodeActionKindCapabilities.valueSet
marked with@NonNull
-
Parameters for the following requests have been changed from
TextDocumentPositionParams
textDocument/signatureHelp
changed toSignatureHelpParams
textDocument/hover
changed toHoverParams
textDocument/declaration
changed toDeclarationParams
textDocument/definition
changed toDefinitionParams
textDocument/typeDefinition
changed toTypeDefinitionParams
textDocument/implementation
changed toImplementationParams
textDocument/documentHighlight
changed toDocumentHighlightParams
textDocument/prepareRename
changed toPrepareRenameParams
-
The LSP's Protocol
Diagnostic
fieldcode
was previouslyt incorrectly declared asString
, it is now correctly declared asEither<String, Number>
Fixed issues: https://github.com/eclipse/lsp4j/milestone/16?closed=1
- Implemented DAP version 1.35.0
- Added new module
org.eclipse.lsp4j.websocket
for using LSP4J over websockets
Fixed issues: https://github.com/eclipse/lsp4j/milestone/12?closed=1
- Updated
textDocument/callHierarchy
according to latest proposal (note: changes to classes and methods marked with@Beta
are not regarded as API-breaking).
Fixed issues: https://github.com/eclipse/lsp4j/milestone/14?closed=1
Fixed issues: https://github.com/eclipse/lsp4j/milestone/13?closed=1
- Implemented LSP version 3.14.0
- Support tuple of two types with the
Tuple.Two
class
Fixed issues: https://github.com/eclipse/lsp4j/milestone/11?closed=1
Breaking API changes:
- Return type of
textDocument/definition
,textDocument/typeDefinition
andtextDocument/implementation
changed fromList<? extends Location>
toEither<List<? extends Location>, List<? extends LocationLink>>
- Type of
ParameterInformation.label
changed fromString
toEither<String, Tuple.Two<Integer, Integer>>
- Setters and constructors of protocol classes throw
IllegalArgumentException
if givennull
for properties marked with@NonNull
- Implemented LSP version 3.13.0
Fixed issues: https://github.com/eclipse/lsp4j/milestone/10?closed=1
Breaking API changes:
- Type of
WorkspaceEdit.documentChanges
changed fromList<TextDocumentEdit>
toList<Either<TextDocumentEdit, ResourceOperation>>
- Updated primary license to EPL v2.0 (the secondary license EDL v1.0 remains)
- Implemented LSP version 3.10.0
- Implemented DAP version 1.31.0
Fixed issues: https://github.com/eclipse/lsp4j/milestone/3?closed=1
Breaking API changes:
- Return type of
textDocument/documentSymbol
changed fromList<? extends SymbolInformation>
toList<Either<SymbolInformation, DocumentSymbol>>
- Return type of
textDocument/codeAction
changed fromList<? extends Command>
toList<Either<Command, CodeAction>>
Fixed issues: https://github.com/eclipse/lsp4j/milestone/4?closed=1
Breaking API changes:
- Type of
ServerCapabilities.colorProvider
changed fromColorProviderOptions
toEither<Boolean, ColorProviderOptions>
- Renamed
ColorPresentationParams.colorInfo
property tocolor
- Implemented the VS Code Debug Protocol
- Implemented LSP version 3.7.0
- Support multiple local and remote services
- Improved error handling
Fixed issues: https://github.com/eclipse/lsp4j/milestone/2?closed=1
Breaking API changes:
- Parameter of
completion
requests changed fromTextDocumentPositionParams
toCompletionParams
(this change breaks all LanguageServer implementations, but the migration is trivial) - Type of
CompletionItem.documentation
,ParameterInformation.documentation
andSignatureInformation.documentation
changed fromString
toEither<String, MarkupContent>
- Type of
Hover.contents
changed fromList<Either<String, MarkedString>>
toEither<List<Either<String, MarkedString>>, MarkupContent>
- All protocol properties with type
Object
are parsed toJsonElement
(previouslyMap
for objects andList
for arrays) - Corrected
DocumentFilter.schema
property name toscheme
- Removed
DocumentSelector
interface VersionedTextDocumentIdentifier.version
changed from typeint
toInteger
, thus can benull
now.
Fixed issues: https://github.com/eclipse/lsp4j/milestone/9?closed=1
- Support union of three types with the
Either3
class
Fixed issues: https://github.com/eclipse/lsp4j/milestone/1?closed=1
Fixed issues: https://github.com/eclipse/lsp4j/milestone/8?closed=1
- Implemented LSP version 3.0
- Support union of two types with the
Either
class - Support multiple parameters in protocol methods
- Support custom error codes
Fixed issues: https://github.com/eclipse/lsp4j/milestone/7?closed=1
Breaking API changes:
- Type of
ServerCapabilities.textDocumentSync
changed fromTextDocumentSyncKind
toEither<TextDocumentSyncKind, TextDocumentSyncOptions>
- Type of
Hover.contents
changed fromList<String>
toList<Either<String, MarkedString>>
Fixed issues: https://github.com/eclipse/lsp4j/milestone/6?closed=1
Fixed issues: https://github.com/eclipse/lsp4j/milestone/5?closed=1