Releases: eclipse-lsp4j/lsp4j
LSP4J 0.18.0
LSP4J 0.18.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry
v0.18.0 (November 2022)
- Fixed issues related to reflection errors so that
--add-opens java.base/java.util.concurrent=ALL-UNNAMED
is no longer needed on Java 17.
Fixed issues: https://github.com/eclipse/lsp4j/milestone/25?closed=1
Breaking API changes:
- None.
japicmp report: https://download.eclipse.org/lsp4j/updates/releases/0.18.0/japicmp-report/
What's Changed (auto-generated)
- Handle methods with Void return types properly by @jonahgraham in #675
- Copy Bnd version of Manifest to META-INF. Fixes #678 by @cdietrich in #679
Full Changelog: v0.17.0...v0.18.0
LSP4J 0.17.0
LSP4J 0.17.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry
v0.17.0 (October 2022)
- Update org.eclipse.xtend.lib dependency to 2.28.0 to address CVE-2020-8908 #672
Fixed issues: https://github.com/eclipse/lsp4j/milestone/24?closed=1
Breaking API changes:
- None.
japicmp report: https://download.eclipse.org/lsp4j/updates/releases/0.17.0/japicmp-report/
What's Changed (auto-generated)
- Update xtend_lib version and remove guava version rule by @cherylking in #673
New Contributors
- @cherylking made their first contribution in #673
Full Changelog: v0.16.0...v0.17.0
LSP4J 0.16.0
LSP4J 0.16.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry
v0.16.0 (October 2022)
- Implemented DAP version 1.58.0
Fixed issues: https://github.com/eclipse/lsp4j/milestone/23?closed=1
Breaking API changes:
- None.
japicmp report: https://download.eclipse.org/lsp4j/updates/releases/0.16.0/japicmp-report/
What's Changed (auto-generated)
- Don't throw UOE from
LanguageServer.getNotebookDocumentService()
by @pisv in #659 - Update to Gradle 6 by @cdietrich in #572
- fix some javadoc issues by @cdietrich in #665
- Update to Gradle 7.5 and xtend-gradle-plugin 3.0.2 by @cdietrich in #667
- update to GSON 2.9.1 / Orbit 2022-12 by @cdietrich in #664
- Add missing type adapters by @pisv in #669
- DAP v1.58 updates by @KamasamaK in #663
- Prepare repo for 0.16.0 release by @jonahgraham in #670
Full Changelog: v0.15.0...v0.16.0
LSP4J 0.15.0
LSP4J 0.15.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
What's Changed
Changelog entry:
- Added Notebook support
- Added
WorkspaceSymbol.data
- Added support for client default behavior on renames
- Implemented DAP version 1.56.0
Fixed issues: https://github.com/eclipse/lsp4j/milestone/22?closed=1
Breaking API changes:
- Return type of
textDocument/prepareRename
changed fromEither<Range, PrepareRenameResult>
toEither3<Range, PrepareRenameResult, PrepareRenameDefaultBehavior>
- Class
SemanticTokensWithRegistrationOptions
now extends
AbstractTextDocumentRegistrationAndWorkDoneProgressOptions
instead ofAbstractWorkDoneProgressOptions
- Removed unspecified deprecated properties
InitializeParams.clientName
DidOpenTextDocumentParams.text
,DidChangeTextDocumentParams.uri
,TextDocumentPositionParams.uri
japicmp report: https://download.eclipse.org/lsp4j/updates/releases/0.15.0/japicmp-report/
GitHub auto-generated release notes:
What's Changed
- Stream closed message indicates that the stream is closed by @gastaldi in #634
- Another late addition for LSP 3.17 by @KamasamaK in #635
- Update Javadoc of Variable#type by @gquerret in #637
- Improve documentation by @KamasamaK in #641
- #632: send messages with a queue each after each by @ivy-lli in #638
- Add Notebook support by @KamasamaK in #642
- DAP v1.56 by @KamasamaK in #644
- Adjust inheritance tree for
SemanticTokensWithRegistrationOptions
by @pisv in #649 - Remove properties unspeced in LSP 3.x by @KamasamaK in #648
- switch to orbit 2022-09 and widen version range for gson. See #611 by @cdietrich in #646
- Use consistent tense in DAP docs by @KamasamaK in #651
- Add support for client default behavior on renames by @pisv in #650
- use orbit 2022-09 release alias by @cdietrich in #652
New Contributors
- @gastaldi made their first contribution in #634
- @gquerret made their first contribution in #637
- @ivy-lli made their first contribution in #638
Full Changelog: v0.14.0...v0.15.0
LSP4J 0.14.0
LSP4J 0.14.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
What's Changed
- Late updates for LSP 3.17 by @KamasamaK in #630
Full Changelog: v0.13.0...v0.14.0
Changelog entry:
- Implemented LSP version 3.17.0 (except Notebook support) - includes changes to the LSP 3.17
specification that were added after specification was published as done.- See #630 for all changes.
Fixed issues: https://github.com/eclipse/lsp4j/milestone/21?closed=1
japicmp report: https://download.eclipse.org/lsp4j/updates/releases/0.14.0/japicmp-report/
LSP4J 0.13.0
LSP4J 0.13.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry:
- Implemented LSP version 3.17.0 (except Notebook support)
- Implemented DAP versions 1.45.0 - 1.55.0
Fixed issues: https://github.com/eclipse/lsp4j/milestone/20?closed=1
Breaking API changes:
- Method
LanguageClient.setTrace
moved toLanguageServer
, where it should
have been according to the specification - Method
IDebugProtocolServer.runInTerminal
moved toIDebugProtocolClient
, where it should
have been according to the specification - Removed
RenameOptions.id
as it was already deprecated and never specified forStaticRegistrationOptions
- Removed
SemanticTokenTypes.Member
as it was already deprecated and not specified - Removed
TraceValue.Message
as it was already deprecated and not specified - Changed
TraceValue
to befinal
matching similar classes - Removed duplicate
ResponseErrorCode
as it has been deprecated for several versions - Removed
ResponseErrorCode.serverErrorStart
andResponseErrorCode.serverErrorEnd
as they were
already deprecated and just boundaries not actual error codes - Return type of
workspace/symbol
changed fromList<? extends SymbolInformation>
to
Either<List<? extends SymbolInformation>, List<? extends WorkspaceSymbol>>
- Type of
FileSystemWatcher.globPattern
changed fromString
toEither<String, RelativePattern>
- In DAP, return type of
IDebugProtocolServer.setExceptionBreakpoints
changed fromVoid
toSetExceptionBreakpointsResponse
Breaking Beta API changes:
- Significant updates were made to the
TypeHierarchy
features to replace the non-standard implementation - Removed
WorkspaceEdit.resourceChanges
,WorkspaceEditCapabilities.resourceChanges
, andResourceChange
as they have been deprecated
for numerous versions and are not specified
Deprecated API changes:
SymbolInformation
is deprecated in favor ofDocumentSymbol
orWorkspaceSymbol
ResponseErrorCode.serverNotInitialized
deprecated in favor ofResponseErrorCode.ServerNotInitialized
LSP4J 0.12.0
LSP4J 0.12.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry:
- Restored
org.eclipse.lsp4j.websocket
which will be included along withorg.eclipse.lsp4j.websocket.jakarta
. This will allow use of LSP4J over Jakarta websockets and pre-Jakarta websockets. See #536 for more details.
Fixed issues: https://github.com/eclipse/lsp4j/milestone/19?closed=1
Breaking API changes:
- Type of
CodeLensOptions.resolveProvider
changed fromboolean
toBoolean
Breaking changes in behavior:
- In case a type argument for
Either
is declared asObject
,
EitherTypeAdapter
now usesJsonElementTypeAdapter
for parsing/serializing
the corresponding value. Notably, this can affect parsing of properties
SemanticTokensClientCapabilitiesRequests.range
andSemanticTokensWithRegistrationOptions.range
;
their right-hand side, declared asObject
, will be parsed into aJsonElement
now.
LSP4J 0.11.0
LSP4J 0.11.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry:
- Implemented LSP version 3.16.0 (to finalized specification)
- Implemented LSP version 3.15.0's Progress specification
- Implemented DAP version 1.43.0
- Implemented DAP version 1.44.0
- Replaced
org.eclipse.lsp4j.websocket
byorg.eclipse.lsp4j.websocket.jakarta
for using LSP4J over Jakarta websockets
Fixed issues: https://github.com/eclipse/lsp4j/milestone/18?closed=1
Breaking API changes:
- Coloring and Semantic Highlighting APIs are removed
- Changed some types from
Number
toInteger
- Type of
CompletionItem.textEdit
changed fromTextEdit
toEither<TextEdit, InsertReplaceEdit>
- Type of
ServerCapabilities.hoverProvider
changed fromBoolean
toEither<Boolean, HoverOptions>
- Type of
ServerCapabilities.definitionProvider
changed fromBoolean
toEither<Boolean, DefinitionOptions>
- Type of
ServerCapabilities.typeDefinitionProvider
changed fromEither<Boolean, StaticRegistrationOptions>
toEither<Boolean, TypeDefinitionRegistrationOptions>
- Type of
ServerCapabilities.implementationProvider
changed fromEither<Boolean, StaticRegistrationOptions>
toEither<Boolean, ImplementationRegistrationOptions>
- Type of
ServerCapabilities.referencesProvider
changed fromBoolean
toEither<Boolean, ReferenceOptions>
- Type of
ServerCapabilities.documentHighlightProvider
changed fromBoolean
toEither<Boolean, DocumentHighlightOptions>
- Type of
ServerCapabilities.documentSymbolProvider
changed fromBoolean
toEither<Boolean, DocumentSymbolOptions>
- Type of
ServerCapabilities.workspaceSymbolProvider
changed fromBoolean
toEither<Boolean, WorkspaceSymbolOptions>
- Type of
ServerCapabilities.documentFormattingProvider
changed fromBoolean
toEither<Boolean, DocumentFormattingOptions>
- Type of
ServerCapabilities.documentRangeFormattingProvider
changed fromBoolean
toEither<Boolean, DocumentRangeFormattingOptions>
- Type of
ServerCapabilities.declarationProvider
changed fromEither<Boolean, StaticRegistrationOptions>
toEither<Boolean, DeclarationRegistrationOptions>
- Type of
ServerCapabilities.callHierarchyProvider
changed fromEither<Boolean, StaticRegistrationOptions>
toEither<Boolean, CallHierarchyRegistrationOptions>
- Type of
ServerCapabilities.selectionRangeProvider
changed fromEither<Boolean, StaticRegistrationOptions>
toEither<Boolean, SelectionRangeRegistrationOptions>
- Type of
ServerCapabilities.linkedEditingRangeProvider
changed fromEither<Boolean, StaticRegistrationOptions>
toEither<Boolean, LinkedEditingRangeRegistrationOptions>
- Type of
ProgressParams.value
changed fromWorkDoneProgressNotification
toEither<WorkDoneProgressNotification, Object>
Deprecated API changes:
- In DAP,
VariablePresentationHintKind.DATA_BREAKPOINT
has been marked @deprecated to match its deprecation in the protocol in 1.44. - In DAP,
SetBreakpointsArguments.lines
has been marked @deprecated to match its deprecation in protocol many versions ago.
LSP4J 0.10.0
LSP4J 0.10.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry:
- Implemented LSP version 3.16.0 (specification is not finalized yet)
- Implemented DAP version 1.37.0's CancelRequest
- Implemented DAP version 1.38.0
- Implemented DAP version 1.39.0
- Implemented DAP version 1.40.0
- Implemented DAP version 1.41.0
- Implemented DAP version 1.42.0
Fixed issues: https://github.com/eclipse/lsp4j/milestone/17?closed=1
Breaking API changes:
- In DAP Protocol
ReadMemoryArguments.count
wasInteger
however it is
a required property and has been changed toint
- In DAP Protocol
Module.id
has been marked@NonNull
asid
is a required
property. - In DAP Protocol
Scope.presentationHint
was an enumScopePresentationHint
, it
is now aString
aspresentationHint
has possible values that include - but
not limited to those defined inScopePresentationHint
.ScopePresentationHint
has changed from an enum to an interface containing String constants. - In DAP Protocol
SetBreakpointsArguments.lines
was changed fromInteger[]
to
int[]
as the individual items in the array are not optional, but the array as
a whole is optional. - In DAP Protocol
TerminateThreadsArguments.threadIds
was changed fromInteger[]
to
int[]
as the individual items in the array are not optional, but the array as
a whole is optional.
LSP4J 0.9.0
LSP4J 0.9.0 has now been released and been contributed to simrel, tagged and uploaded to maven central.
Changelog entry:
- 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
(#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>