From 96a366abe260413120bfbf0c68511c5f5ded7e7c Mon Sep 17 00:00:00 2001 From: Jonah Graham Date: Tue, 21 May 2024 14:02:25 -0400 Subject: [PATCH 1/2] Prepare repo for 0.23.1 release Part of #838 --- CHANGELOG.md | 8 ++++++++ documentation/releasing.md | 14 ++++++------- gradle/versions.gradle | 2 +- releng/lsp4j-feature/feature.xml | 2 +- releng/lsp4j-feature/pom.xml | 2 +- releng/p2/category.xml | 2 +- releng/p2/pom.xml | 10 +++++----- releng/pom.xml | 32 +++++++++++++++--------------- releng/release-eclipse.Jenkinsfile | 4 ++-- releng/releng-target/pom.xml | 2 +- releng/runjapicmp.sh | 2 +- 11 files changed, 44 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff8bc6bea..4c2658365 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ ## LSP4J Change Log +### [v0.23.1 (May 2024)](https://github.com/eclipse-lsp4j/lsp4j/releases/tag/v0.23.1) + +Fixed issues: + +Breaking API changes: + +japicmp report: + ### [v0.23.0 (May 2024)](https://github.com/eclipse-lsp4j/lsp4j/releases/tag/v0.23.0) * Implemented DAP version 1.65.0 diff --git a/documentation/releasing.md b/documentation/releasing.md index f23da737a..0b2ebae19 100644 --- a/documentation/releasing.md +++ b/documentation/releasing.md @@ -1,4 +1,4 @@ -This is the Release plan and TODO list for LSP4J release v0.23.0. +This is the Release plan and TODO list for LSP4J release v0.23.1. ## Steps for Release @@ -11,7 +11,7 @@ Items at the beginning of development - [ ] Create a [New milestone](https://github.com/eclipse-lsp4j/lsp4j/milestones/new) for the release - [ ] Check [CHANGELOG.md](https://github.com/eclipse-lsp4j/lsp4j/blob/main/CHANGELOG.md) is up to date. The changelog should have a version entry, release date, API Breakages and other information consistent with current entries in the changelog. - [ ] Check [README.md](https://github.com/eclipse-lsp4j/lsp4j/blob/main/README.md) is up to date. In particular that the planned release and which versions of DAP and LSP are support is listed. -- [ ] Increment version of all feature.xml, pom.xml and any other place full version is used. (Easiest way is global find and replace, e.g. `s/0.22.0/0.23.0/g`, `s/0.21.0/0.22.0/g` and review changes.) Ensure that `-SNAPSHOT` is restored in the [gradle/versions.gradle](https://github.com/eclipse-lsp4j/lsp4j/blob/main/gradle/versions.gradle) and [releng/pom.xml](https://github.com/eclipse-lsp4j/lsp4j/blob/main/releng/pom.xml) +- [ ] Increment version of all feature.xml, pom.xml and any other place full version is used. (Easiest way is global find and replace, e.g. `s/0.22.0/0.23.0/g`, `s/0.23.0/0.23.1/g` and review changes.) Ensure that `-SNAPSHOT` is restored in the [gradle/versions.gradle](https://github.com/eclipse-lsp4j/lsp4j/blob/main/gradle/versions.gradle) and [releng/pom.xml](https://github.com/eclipse-lsp4j/lsp4j/blob/main/releng/pom.xml) - [ ] Enable `sh './releng/deploy-build.sh'` in [releng/build.Jenkinsfile](https://github.com/eclipse-lsp4j/lsp4j/blob/main/releng/build.Jenkinsfile) - [ ] Ensure [the CI build](https://ci.eclipse.org/lsp4j/job/lsp4j-multi-build/job/main/) is stable - it is always better to release a "Green Dot" build @@ -34,13 +34,13 @@ Items on Release day: - see commit https://github.com/eclipse-lsp4j/lsp4j/commit/328ce8a4c89b0cd84fb62118f459b6cf79b09e90 for a past example - [ ] Push the above change - [ ] Run [the CI build](https://ci.eclipse.org/lsp4j/job/lsp4j-multi-build/job/main/) -- [ ] Mark the build as Keep Forever and add to the description `v0.23.0` +- [ ] Mark the build as Keep Forever and add to the description `v0.23.1` - [ ] Deploy the release by running [the Release CI job](https://ci.eclipse.org/lsp4j/job/lsp4j-release-eclipse) with parameters: - - `LSP4J_PUBLISH_LOCATION` -> `updates/releases/0.23.0` ( <-- check version number) + - `LSP4J_PUBLISH_LOCATION` -> `updates/releases/0.23.1` ( <-- check version number) - `PROJECT` -> `lsp4j-multi-build/job/main` - `LSP4J_BUILD_NUMBER` -> the build that was just run above - `DRY_RUN` -> `false` -- [ ] Add to the deploy job description `v0.23.0` +- [ ] Add to the deploy job description `v0.23.1` - [ ] Promote the staged repository to maven central - [Login to Nexus](https://oss.sonatype.org/#stagingRepositories) - To obtain permission add request to [OSSRH-26079](https://issues.sonatype.org/browse/OSSRH-26079) @@ -50,10 +50,10 @@ Items on Release day: - once the rules are done (if successful), press the *Release* button (you may need to press *Refresh* to enable the *Release* button) - check https://search.maven.org/search?q=g:org.eclipse.lsp4j to make sure the latest release has arrived - this takes a while, 15 minutes for the files to be [on the server](https://repo1.maven.org/maven2/org/eclipse/lsp4j/) and even longer for the [search indexes](https://search.maven.org/search?q=g:org.eclipse.lsp4j) to update - [ ] Update the meta-data on [PMI downloads page](https://projects.eclipse.org/projects/technology.lsp4j/downloads) -- [ ] Tag the release. Example: `git tag -a v0.23.0 HEAD -m"LSP4J 0.23.0" && git push origin v0.23.0` +- [ ] Tag the release. Example: `git tag -a v0.23.1 HEAD -m"LSP4J 0.23.1" && git push origin v0.23.1` - [ ] Contribute to Simrel. See [Simrel contribution example](https://git.eclipse.org/r/#/c/158624/) - [ ] Create a [release page on github](https://github.com/eclipse-lsp4j/lsp4j/releases/new) - [ ] Link the Changelog to the release page -- [ ] Make an announcement on lsp4j-dev based on the [release page on github](https://github.com/eclipse-lsp4j/lsp4j/releases/tag/v0.23.0). [Example on lsp4j-dev archives](https://www.eclipse.org/lists/lsp4j-dev/msg00063.html) +- [ ] Make an announcement on lsp4j-dev based on the [release page on github](https://github.com/eclipse-lsp4j/lsp4j/releases/tag/v0.23.1). [Example on lsp4j-dev archives](https://www.eclipse.org/lists/lsp4j-dev/msg00063.html) - [ ] Update [documentation/releasing.md](https://github.com/eclipse-lsp4j/lsp4j/blob/main/documentation/releasing.md) with any changes that may have been made to the release process. - [ ] Create the endgame for the next release right away, especially as version numbers and restoring `-SNAPSHOT` need to be done right away. diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 90a184320..47b9cd2e8 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -10,7 +10,7 @@ * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause ******************************************************************************/ -version = '0.23.0' +version = '0.23.1' ext.versions = [ 'xtend_lib': '2.32.0', diff --git a/releng/lsp4j-feature/feature.xml b/releng/lsp4j-feature/feature.xml index 4218688d8..4f3645f05 100644 --- a/releng/lsp4j-feature/feature.xml +++ b/releng/lsp4j-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/releng/lsp4j-feature/pom.xml b/releng/lsp4j-feature/pom.xml index 4b2c19865..7ab222951 100644 --- a/releng/lsp4j-feature/pom.xml +++ b/releng/lsp4j-feature/pom.xml @@ -8,7 +8,7 @@ org.eclipse.lsp4j lsp4j.releng - 0.23.0-SNAPSHOT + 0.23.1-SNAPSHOT .. diff --git a/releng/p2/category.xml b/releng/p2/category.xml index bfdd9d061..647d3089d 100644 --- a/releng/p2/category.xml +++ b/releng/p2/category.xml @@ -1,6 +1,6 @@ - + diff --git a/releng/p2/pom.xml b/releng/p2/pom.xml index 64b408cea..7a5da757a 100644 --- a/releng/p2/pom.xml +++ b/releng/p2/pom.xml @@ -8,7 +8,7 @@ org.eclipse.lsp4j lsp4j.releng - 0.23.0-SNAPSHOT + 0.23.1-SNAPSHOT .. @@ -43,12 +43,12 @@ + file="${basedir}/target/lsp4j.p2-repository-0.23.1-SNAPSHOT.zip" + tofile="${root-dir}/build/p2-repository/../lsp4j.p2-repository-0.23.1-SNAPSHOT.zip"> + file="${basedir}/target/lsp4j.p2-repository-0.23.1-SNAPSHOT.zip" + tofile="${root-dir}/build/p2-repository/v0.23.1.zip"> diff --git a/releng/pom.xml b/releng/pom.xml index 5ab26af76..95954cd14 100644 --- a/releng/pom.xml +++ b/releng/pom.xml @@ -4,7 +4,7 @@ org.eclipse.lsp4j lsp4j.releng - 0.23.0-SNAPSHOT + 0.23.1-SNAPSHOT pom @@ -29,29 +29,29 @@ org.eclipse.lsp4j org.eclipse.lsp4j - 0.23.0 + 0.23.1 org.eclipse.lsp4j org.eclipse.lsp4j - 0.23.0 + 0.23.1 sources org.eclipse.lsp4j org.eclipse.lsp4j.debug - 0.23.0 + 0.23.1 org.eclipse.lsp4j org.eclipse.lsp4j.debug - 0.23.0 + 0.23.1 sources org.eclipse.lsp4j org.eclipse.lsp4j.generator - 0.23.0 + 0.23.1 com.google @@ -62,51 +62,51 @@ org.eclipse.lsp4j org.eclipse.lsp4j.generator - 0.23.0 + 0.23.1 sources org.eclipse.lsp4j org.eclipse.lsp4j.jsonrpc - 0.23.0 + 0.23.1 org.eclipse.lsp4j org.eclipse.lsp4j.jsonrpc - 0.23.0 + 0.23.1 sources org.eclipse.lsp4j org.eclipse.lsp4j.jsonrpc.debug - 0.23.0 + 0.23.1 org.eclipse.lsp4j org.eclipse.lsp4j.jsonrpc.debug - 0.23.0 + 0.23.1 sources org.eclipse.lsp4j org.eclipse.lsp4j.websocket.jakarta - 0.23.0 + 0.23.1 org.eclipse.lsp4j org.eclipse.lsp4j.websocket.jakarta - 0.23.0 + 0.23.1 sources org.eclipse.lsp4j org.eclipse.lsp4j.websocket - 0.23.0 + 0.23.1 org.eclipse.lsp4j org.eclipse.lsp4j.websocket - 0.23.0 + 0.23.1 sources @@ -135,7 +135,7 @@ org.eclipse.lsp4j lsp4j.target - 0.23.0-SNAPSHOT + 0.23.1-SNAPSHOT diff --git a/releng/release-eclipse.Jenkinsfile b/releng/release-eclipse.Jenkinsfile index c011daf6e..af2de318a 100644 --- a/releng/release-eclipse.Jenkinsfile +++ b/releng/release-eclipse.Jenkinsfile @@ -15,8 +15,8 @@ pipeline { } parameters { booleanParam(defaultValue: true, description: 'Do a dry run of the build. All commands will be echoed. First run with this on, then when you are sure it is right, choose rebuild in the passing job and uncheck this box', name: 'DRY_RUN') - string(defaultValue: 'updates/milestones/S201911261515', description: 'The relative path in LSP4J downloads area to publish promoted build to (e.g. updates/milestones/S201911261515, updates/releases/0.23.0)', name: 'LSP4J_PUBLISH_LOCATION') - string(defaultValue: 'lsp4j-multi-build/job/main', description: 'The LSP4J project name being promoted from (e.g. lsp4j-multi-build/job/main or lsp4j-multi-build/job/release_0.23.0).', name: 'PROJECT') + string(defaultValue: 'updates/milestones/S201911261515', description: 'The relative path in LSP4J downloads area to publish promoted build to (e.g. updates/milestones/S201911261515, updates/releases/0.23.1)', name: 'LSP4J_PUBLISH_LOCATION') + string(defaultValue: 'lsp4j-multi-build/job/main', description: 'The LSP4J project name being promoted from (e.g. lsp4j-multi-build/job/main or lsp4j-multi-build/job/release_0.23.1).', name: 'PROJECT') string(defaultValue: '12345', description: 'The CI build number being promoted from', name: 'LSP4J_BUILD_NUMBER') } stages { diff --git a/releng/releng-target/pom.xml b/releng/releng-target/pom.xml index 3fd809e93..5d818c098 100644 --- a/releng/releng-target/pom.xml +++ b/releng/releng-target/pom.xml @@ -8,7 +8,7 @@ org.eclipse.lsp4j lsp4j.releng - 0.23.0-SNAPSHOT + 0.23.1-SNAPSHOT .. diff --git a/releng/runjapicmp.sh b/releng/runjapicmp.sh index 2c4620735..46dad036a 100755 --- a/releng/runjapicmp.sh +++ b/releng/runjapicmp.sh @@ -5,7 +5,7 @@ set -e # error out on any failed commands #set -x # echo all commands used for debugging purposes -BASELINE=0.22.0 +BASELINE=0.23.0 JAPICMP_VERSION=0.17.2 WD=$(mktemp -d) From a44201f4ec11e1aeede0b86db14de19a365d01ea Mon Sep 17 00:00:00 2001 From: Christian Dietrich Date: Tue, 21 May 2024 20:00:21 +0200 Subject: [PATCH 2/2] broaden gson range, bundle new gson and guava (#837) Fixes https://github.com/eclipse-lsp4j/lsp4j/issues/836 Signed-off-by: Christian Dietrich Co-authored-by: Jonah Graham --- gradle/versions.gradle | 3 ++- .../lsp4j/jsonrpc/test/IntegrationTest.java | 15 ++++++++------- releng/p2/category.xml | 8 ++++---- releng/releng-target/lsp4j.target.target | 10 +++++----- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 47b9cd2e8..746558eb5 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -15,7 +15,8 @@ version = '0.23.1' ext.versions = [ 'xtend_lib': '2.32.0', 'guava': '[32.1.2,34)', - 'gson': '[2.9.1,2.11)', + 'gson': '[2.9.1,3.0)', + 'websocket_jakarta': '2.0.0', 'websocket': '1.0', 'junit': '4.13.2', diff --git a/org.eclipse.lsp4j.jsonrpc/src/test/java/org/eclipse/lsp4j/jsonrpc/test/IntegrationTest.java b/org.eclipse.lsp4j.jsonrpc/src/test/java/org/eclipse/lsp4j/jsonrpc/test/IntegrationTest.java index b164fef1d..010b77b23 100644 --- a/org.eclipse.lsp4j.jsonrpc/src/test/java/org/eclipse/lsp4j/jsonrpc/test/IntegrationTest.java +++ b/org.eclipse.lsp4j.jsonrpc/src/test/java/org/eclipse/lsp4j/jsonrpc/test/IntegrationTest.java @@ -692,9 +692,9 @@ public void testMalformedJson1() throws Exception { Launcher serverSideLauncher = Launcher.createLauncher(server, MyClient.class, in, out); serverSideLauncher.startListening().get(TIMEOUT, TimeUnit.MILLISECONDS); - Assert.assertEquals("Content-Length: 214" + CRLF + CRLF + Assert.assertEquals("Content-Length: 294" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"1\",\"error\":{\"code\":-32700,\"message\":\"Message could not be parsed.\"," - + "\"data\":{\"message\":\"com.google.gson.stream.MalformedJsonException: Expected value at line 4 column 22 path $.params.value\"}}}" + + "\"data\":{\"message\":\"com.google.gson.stream.MalformedJsonException: Expected value at line 4 column 22 path $.params.value\\nSee https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json\"}}}" + "Content-Length: 51" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"2\",\"result\":{\"value\":\"bar\"}}", out.toString()); @@ -726,7 +726,8 @@ public void testMalformedJson2() throws Exception { Launcher serverSideLauncher = Launcher.createLauncher(server, MyClient.class, in, out); serverSideLauncher.startListening().get(TIMEOUT, TimeUnit.MILLISECONDS); - logMessages.await(Level.SEVERE, "com.google.gson.stream.MalformedJsonException: Expected value at line 2 column 22 path $.params.value"); + logMessages.await(Level.SEVERE, "com.google.gson.stream.MalformedJsonException: Expected value at line 2 column 22 path $.params.value\n" + + "See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json"); Assert.assertEquals("Content-Length: 51" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"2\",\"result\":{\"value\":\"bar\"}}", out.toString()); @@ -756,9 +757,9 @@ public void testMalformedJson3() throws Exception { Launcher serverSideLauncher = Launcher.createLauncher(server, MyClient.class, in, out); serverSideLauncher.startListening().get(TIMEOUT, TimeUnit.MILLISECONDS); - Assert.assertEquals("Content-Length: 165" + CRLF + CRLF + Assert.assertEquals("Content-Length: 245" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"1\",\"error\":{\"code\":-32700,\"message\":\"Message could not be parsed.\"," - + "\"data\":{\"message\":\"Unterminated object at line 5 column 2 path $.params\"}}}" + + "\"data\":{\"message\":\"Unterminated object at line 5 column 2 path $.params\\nSee https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json\"}}}" + "Content-Length: 51" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"2\",\"result\":{\"value\":\"bar\"}}", out.toString()); @@ -785,9 +786,9 @@ public void testMalformedJson4() throws Exception { Launcher serverSideLauncher = Launcher.createLauncher(server, MyClient.class, in, out); serverSideLauncher.startListening().get(TIMEOUT, TimeUnit.MILLISECONDS); - Assert.assertEquals("Content-Length: 195" + CRLF + CRLF + Assert.assertEquals("Content-Length: 292" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"1\",\"error\":{\"code\":-32700,\"message\":\"Message could not be parsed.\"," - + "\"data\":{\"message\":\"Use JsonReader.setLenient(true) to accept malformed JSON at line 5 column 3 path $\"}}}" + + "\"data\":{\"message\":\"Use JsonReader.setStrictness(Strictness.LENIENT) to accept malformed JSON at line 5 column 3 path $\\nSee https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json\"}}}" + "Content-Length: 51" + CRLF + CRLF + "{\"jsonrpc\":\"2.0\",\"id\":\"2\",\"result\":{\"value\":\"bar\"}}", out.toString()); diff --git a/releng/p2/category.xml b/releng/p2/category.xml index 647d3089d..4a942bcf3 100644 --- a/releng/p2/category.xml +++ b/releng/p2/category.xml @@ -3,10 +3,10 @@ - - - - + + + + diff --git a/releng/releng-target/lsp4j.target.target b/releng/releng-target/lsp4j.target.target index 3176571cf..fb6bdc35c 100644 --- a/releng/releng-target/lsp4j.target.target +++ b/releng/releng-target/lsp4j.target.target @@ -3,11 +3,11 @@ - - - - - + + + + +