Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LSP4J 0.11.0 #466

Closed
32 tasks done
jonahgraham opened this issue Nov 5, 2020 · 21 comments
Closed
32 tasks done

LSP4J 0.11.0 #466

jonahgraham opened this issue Nov 5, 2020 · 21 comments
Assignees
Labels
endgame Checklist of TODO lists to finish a release
Milestone

Comments

@jonahgraham
Copy link
Contributor

jonahgraham commented Nov 5, 2020

This is the Release plan and TODO list for LSP4J release v0.11.0.

Steps for Release

Items at the beginning of development

  • Create an Endgame Issue to track the release. As a starting point use documentation/releasing.md.
  • Ensure all previous Endgame issues are done.
  • Create a New milestone for the release
  • Create release on PMI
  • Check 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 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.10.0/0.11.0/g and review changes.) Ensure that -SNAPSHOT is restored in the gradle/versions.gradle and releng/pom.xml
  • Enable sh './releng/deploy-build.sh' in releng/build.Jenkinsfile
  • Ensure the CI build is stable - it is always better to release a "Green Dot" build

Items in the days ahead of Release day:

  • Schedule the release and if needed schedule a release review on the PMI. A release review is needed every 12 months, not with each release.
  • Check 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 is up to date. In particular that the planned release and which versions of DAP and LSP are support is listed.
  • Check all closed PRs and Issues to make sure their milestone is set. (Note: this was not done before 0.11.0 release so many old PRs and Issues have no milestone, therefore only consider items back to approx 5 Nov 2020). This search may be useful to identify such closed issues

Items on Release day:

  • Prepare the repo for release by:
  • Push the above change
  • Run the CI build
  • Mark the build as Keep Forever and add to the description v0.11.0
  • Deploy the release by running the Release CI job with parameters:
    • LSP4J_PUBLISH_LOCATION -> updates/releases/0.11.0 ( <-- check version number)
    • PROJECT -> lsp4j-multi-build/job/master
    • LSP4J_BUILD_NUMBER -> the build that was just run above
  • Add to the deploy job description v0.11.0
  • Promote the staged repository to maven central
    • Login to Nexus
    • go to Staging Repositories, after a short delay the staged LSP4J release should appear
    • click the staged LSP4J repo
    • press the Close button located in the toolbar. This runs activities, including checking various rules
    • once the rules are done (if successful), press 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 and even longer for the search indexes to update
  • Update the meta-data on PMI downloads page
  • Tag the release. Example: git tag -a v0.11.0 HEAD -m"LSP4J 0.11.0" && git push origin v0.11.0
  • Contribute to Simrel. See Simrel contribution example
  • Create a release page on github
  • Make an announcement on lsp4j-dev based on the release page on github. Example on lsp4j-dev archives
  • Update 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.
@jonahgraham jonahgraham self-assigned this Nov 5, 2020
@jonahgraham jonahgraham added the endgame Checklist of TODO lists to finish a release label Nov 5, 2020
@jonahgraham jonahgraham added this to the v0.11.0 milestone Nov 5, 2020
@jonahgraham
Copy link
Contributor Author

This is the provisional endgame for 0.11.0. This release has not been scheduled yet, and even the version number may change.

@cdietrich
Copy link
Contributor

we might also have to wait for guava update #497

@cdietrich
Copy link
Contributor

do we have a timeline for this? M3 is Feb 22th week and Downstream Users like Xtext and LSP4e may have to adapt until RC1 at March 1st week

@jonahgraham
Copy link
Contributor Author

do we have a timeline for this? M3 is Feb 22th week and Downstream Users like Xtext and LSP4e may have to adapt until RC1 at March 1st week

No - I did a review of open issues over the last 24 hours. I got no answer on lsp4j-dev and there are a number of items I marked as 0.11.0 because AFAIU they are issues with items in LSP 3.16 (Which 0.11.0 is supposed to support).

@cdietrich
Copy link
Contributor

looks like mailing lists are broken. last mail i got is from Jab. 26th

@jonahgraham
Copy link
Contributor Author

looks like mailing lists are broken. last mail i got is from Jab. 26th

I am getting mail on other lists - AFAIK the last one sent on lsp4j-dev was the one I sent on Jan 26. I will ping on the list.

@cdietrich
Copy link
Contributor

ahhh understood you did another mail recently

@cdietrich
Copy link
Contributor

any update here? M3 is next week which would mean we should have a release/feature freeze then. or will we postpone to somewhen during 2021-06 simrel.

@jonahgraham
Copy link
Contributor Author

There has been no response to my dev emails. I recommend just leaving 2020-03 simrel on 0.10.0.

@cdietrich
Copy link
Contributor

ok. i am fine with that. i assume other clients like lsp4e would also struggle to update to 0.11.0 in a hurry.

@angelozerr
Copy link

angelozerr commented Feb 19, 2021

For LemMinx (XML Language Server) we are very interested with 0.11.0 version which provides Linked Editing support.

MirrorCursorDemo

For the moment we use SNAPSHOT version (eclipse-lemminx/lemminx#991) but we wait for LSP4J 0.11.0 release to merge the PR and create a release of XML Language Server.

Thank a lot for working on LSP4J 0.11.0 release!

@anpete
Copy link

anpete commented Mar 5, 2021

Any update on this? 3.16 is done now and we are getting blocked on #478

Thank you!

@jonahgraham
Copy link
Contributor Author

Hi @anpete - we have the following issues still assigned to 0.11.0, which IIUC are all related to finishing implementing 3.16.0 support in LSP4J. I will ping each of these issues to see if we can defer them to a 0.12.0 release.

@anpete
Copy link

anpete commented Mar 8, 2021

@jonahgraham Thanks for the update.

@jonahgraham
Copy link
Contributor Author

As of right now all 0.11.0 issues are marked as complete. I will schedule a release.

@jonahgraham
Copy link
Contributor Author

Release scheduled for this Friday and intention announced on lsp4j-dev.

@jblievremont
Copy link

Hello, did you get around to releasing 0.11.0? I'm eagerly looking forward to being able to use the Diagnostic#data field 😇

@jonahgraham
Copy link
Contributor Author

@jblievremont - release is imminent, unfortunately the time I had set aside for it on Friday was when GitHub had a major outage. https://www.eclipse.org/lists/lsp4j-dev/msg00089.html - sorry for the delay I am trying to find time to reschedule as soon as possible, but first I have to handle the 2021-03 Eclipse IDE simultaneous release which should conclude tomorrow.

If another committer wants to walk through the checklist in the first comment on this thread that would be fine by me :-)

@jonahgraham
Copy link
Contributor Author

Release re-scheduled for this Friday (the 19th) and intention announced on lsp4j-dev.

@jonahgraham
Copy link
Contributor Author

https://github.com/eclipse/lsp4j/releases/tag/v0.11.0 just went live - but I am actually finishing up some small steps (like simrel) so some updates to it are coming soon.

@jonahgraham
Copy link
Contributor Author

The release is now done.

The maven search index has not refreshed yet, but the files are on the maven central server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
endgame Checklist of TODO lists to finish a release
Projects
None yet
Development

No branches or pull requests

5 participants