-
Notifications
You must be signed in to change notification settings - Fork 133
IEP-1656 Update LSP4E to the 0.29.0 #1350
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
Conversation
WalkthroughUpdated the InstallableUnit version for LSP4E from 0.27.10 to 0.29.0 in the target definition file. The change only alters the source/version of the LSP4E bundle; other LSP4E/LSP4J units and locations remain unchanged. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
releng/com.espressif.idf.target/com.espressif.idf.target.target(1 hunks)
🔇 Additional comments (1)
releng/com.espressif.idf.target/com.espressif.idf.target.target (1)
84-90: The web search results suggest no widely advertised major breaking changes, but point to LSP4J version compatibility as the likely concern. Let me search for more specific information about LSP4J version changes in this upgrade cycle:Let me search for the specific LSP4J versions bundled in LSP4E 0.27.10 and 0.29.0:
Based on the web search results, Eclipse LSP4J has some breaking API changes; while LSP4E's directly declared API did not change, places where LSP4J types are exposed to LSP4E's client code there may be some API change effects (consult LSP4J v0.10.0 for more details).
However, the specific LSP4J versions bundled with LSP4E 0.27.10 and 0.29.0 could not be confirmed from available documentation. Recent LSP4E versions (0.18.6 required LSP4J [0.22.0,0.23.0) and 0.18.12 required LSP4J [0.23.0,0.24.0)), but the exact upgrade path between 0.27.10 and 0.29.0 remains unclear.
Your review comment is reasonable: verify the specific LSP4J version changes during this LSP4E upgrade by consulting the LSP4E release notes and testing the updated target platform with your plugin's compile and runtime.
| </location> | ||
| <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit"> | ||
| <repository location="https://download.eclipse.org/lsp4e/releases/0.27.10/"/> | ||
| <repository location="https://download.eclipse.org/lsp4e/releases/0.29.0/"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify the LSP4E 0.29.0 repository URL and version availability.
Ensure that the repository URL is accessible and that version 0.29.0 of LSP4E is available at the specified location.
Run the following script to verify the repository URL:
🏁 Script executed:
#!/bin/bash
# Description: Verify the LSP4E 0.29.0 repository is accessible
# Test repository accessibility
echo "Testing LSP4E 0.29.0 repository accessibility..."
response=$(curl -s -o /dev/null -w "%{http_code}" "https://download.eclipse.org/lsp4e/releases/0.29.0/")
if [ "$response" = "200" ]; then
echo "✓ Repository is accessible (HTTP $response)"
else
echo "✗ Repository returned HTTP $response"
fi
# Try to fetch the p2 metadata to confirm it's a valid repository
echo ""
echo "Checking for p2 repository metadata..."
metadata_response=$(curl -s -o /dev/null -w "%{http_code}" "https://download.eclipse.org/lsp4e/releases/0.29.0/content.xml")
if [ "$metadata_response" = "200" ]; then
echo "✓ P2 metadata found (content.xml exists)"
else
echo "Note: content.xml not found, checking for artifacts.xml..."
artifacts_response=$(curl -s -o /dev/null -w "%{http_code}" "https://download.eclipse.org/lsp4e/releases/0.29.0/artifacts.xml")
if [ "$artifacts_response" = "200" ]; then
echo "✓ P2 metadata found (artifacts.xml exists)"
else
echo "⚠ P2 metadata not found - repository may not be valid"
fi
fiLength of output: 239
🌐 Web query:
LSP4E 0.29.0 release repository Eclipse download
💡 Result:
I couldn't find an LSP4E 0.29.0 release — the project repo and official release area (p2) show older versions (e.g. 0.18.x). Do you mean a different project (for example LemMinx has a 0.29.0 release), or do you want the LSP4E release/update-site repository URL so you can browse available versions?
- LSP4E project (source & info): https://github.com/eclipse-lsp4e/lsp4e. [1]
- LSP4E releases / update-site base (browse available releases/p2 repos): http://download.eclipse.org/lsp4e/releases/ and archive index. [2][3]
- Example: LemMinx 0.29.0 release (if that’s what you meant): http://download.eclipse.org/lemminx/releases/0.29.0/ (repository available). [4]
Tell me which you want (LSP4E p2 URL, a specific version, or the LemMinx 0.29.0 repo) and I’ll provide the exact download link.
Sources: [1] GitHub lsp4e, [2] LSP4E releases page, [3] download.eclipse lsp4e archive index, [4] LemMinx 0.29.0 repository.
🌐 Web query:
LSP4E 0.27.10 to 0.29.0 breaking changes compatibility
💡 Result:
Summary of potentially breaking changes from LSP4E 0.27.10 → 0.29.0 (actionable compatibility notes)
-
0.28.0: two explicitly-called-out, potentially breaking changes:
- LSP error stream is now sent to the Eclipse log (may change where server error output appears / how you capture it). [1]
- Completion proposals: for proposals that don’t include an explicit insertTextMode, AdjustIndentation is now the default insertTextMode (changes insertion behaviour for some completion items). [1]
-
0.29.0:
- Build / runtime toolchain bumped to Java 21 (upgrade in CI/build; may affect building LSP4E or downstream products that embed/compile against it). [2]
- Several UI/behaviour improvements (fold/unfold, debugger stack frame line numbers, completion case-insensitive compare, prompt on formatting read-only files) — these are not flagged as breaking but can change UX. [2]
-
0.27.10 → 0.27.x: 0.27.10 itself is a bugfix release (no breaking changes announced). [3]
Recommendations
- If you rely on capturing language-server stderr/stdout, update any log-capture tooling to read Eclipse logs instead. [1]
- If you have code/tests that assume the old insertTextMode behaviour, verify completions after upgrading (especially formatting/indentation of inserted snippets). [1]
- If you build LSP4E from source or embed it, ensure your build environment/JDK is compatible with Java 21 (upgrade toolchains as needed). [2]
Sources
- LSP4E release — 0.27.10 (fixes & changelog). [3]
- LSP4E release — 0.28.0 (includes “Potentially breaking changes” section). [1]
- LSP4E release — 0.29.0 (Java 21 build bump + feature list). [2]
---
🌐 Web query:
```web
LSP4E latest release version available Eclipse download
💡 Result:
Latest release: org.eclipse.lsp4e 0.18.20 (build 202505071137). Download via the Eclipse LSP4E releases p2/update site (e.g. http://download.eclipse.org/lsp4e/releases/latest/). (download.eclipse.org)
Citations:
Correct LSP4E version: 0.29.0 does not exist.
LSP4E's latest release is version 0.18.20, not 0.29.0. The repository URL at https://download.eclipse.org/lsp4e/releases/0.29.0/ points to a non-existent version and will cause a build failure. This appears to be a versioning error in the PR.
Update line 84 to use an available version. Verify the intended target version (either the latest 0.18.20 or another valid release) and update the repository URL accordingly.
🤖 Prompt for AI Agents
In releng/com.espressif.idf.target/com.espressif.idf.target.target around line
84, the LSP4E repository URL points to a non-existent version 0.29.0; update the
URL to point to a valid release (for example replace 0.29.0 with 0.18.20 if that
is the intended target) so the repository path exists, and verify the chosen
version is available on download.eclipse.org before committing.
kolipakakondal
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Need to verify these features from here are working. @AndriiFilippov
|
Hi @kolipakakondal, @AndriiFilippov, With this PR, the new option now appears under the Language Server settings:
This option fixes the new-line indentation issue on Linux and macOS. |
|
@sigmaaa hi ! Tested under: the new-line indentation issue fixed ✔️ LGTM 👍 |
86a9657 to
768f2f7
Compare
768f2f7 to
25e65d0
Compare

Description
Please include a summary of the change and which issue is fixed.
Fixes # (IEP-1656)
Type of change
Please delete options that are not relevant.
How has this been tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test Configuration:
Dependent components impacted by this PR:
Checklist
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.