- Rename LSP_PORT → DEFAULT_GODOT_LS_PORT and add DEFAULT_GODOT_REQUEST_TIMEOUT
- Make port and request_timeout overridable via ls_specific_settings["gdscript"]
by reading self._custom_settings in _create_language_server_interface
- Move self._conn_info setup into _create_language_server_interface so it can
consume ls_specific_settings (which requires super().__init__ to have run)
- Fix _detect_godot_version to return int | None instead of always defaulting to 4:
use an explicit config_version→major dict; return None for unrecognized versions
and detection failures; caller logs warning on None
- Update setup guide and configuration reference docs with new settings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(jdtls): surface Lombok-generated methods in document symbols
JDTLS' DocumentSymbolHandler filtered out every SourceMethod where
JDTUtils.isGenerated() was true, so Lombok-synthesised methods (getX/setX,
builder(), equals/hashCode/toString, withX, fluent accessors, ...) never
reached the LSP client. As a result Serena's symbol-aware tools — find_symbol,
get_symbols_overview, replace_symbol_body, insert_before_symbol,
insert_after_symbol — could not see, address or edit any Lombok-generated
member; only search_for_pattern / replace_content (text-based) worked.
Upstream introduced an opt-in preference java.symbols.includeGeneratedCode
in eclipse-jdtls/eclipse.jdt.ls#3706 (merged 2026-02-24) and surfaced it
through redhat-developer/vscode-java#4335. First vscode-java release with
the new JDTLS build is v1.53.0 (2026-02-26). Serena was pinned to v1.42.0-561,
well before the fix existed.
Changes:
- New ls_specific_settings.java.lombok_show_generated setting (default true);
forwarded to JDTLS as java.symbols.includeGeneratedCode in initialize
params. Older servers ignore the unknown preference key silently.
- Bump bundled vscode-java DEFAULT 1.42.0-561 -> 1.54.0-923 (brings JRE
21.0.10, Lombok 1.18.39 and Equinox launcher 1.7.100). INITIAL stays at
1.42.0-561, so per the per-version install-dir convention from #1438 the
new build lands in vscode-java-1.54.0-923/ while legacy vscode-java/
caches and any explicit vscode_java_version: '1.42.0-561' override keep
working.
- New VsixResourcePaths dataclass + INITIAL/DEFAULT_VSCODE_JAVA_PATHS pin
the JRE / Lombok / launcher filenames *inside* the VSIX. Without this,
bumping the archive would break users on legacy 1.42.0-561 because
resource paths inside the archive change between releases. Resolution
mirrors SHA pinning: known versions get their pinned paths; any other
version raises SolidLSPException with a pointer to upstream-jdtls mode
(which derives paths dynamically and needs no pinning).
- Drop dead 'static/vscode-java/...' placeholder in initialize params; the
real runtimes[] is overwritten below from runtime_dependency_paths
.jre_home_path, which is correct in both default-VSIX and upstream-jdtls
modes.
- Test fixtures: Lombok provided dep in test_repo/pom.xml plus
LombokModel / FluentLombokModel / DefaultGreeter covering @Data, @Builder
(toBuilder=true), @With, @Delegate, @AllArgsConstructor, @NoArgsConstructor
and @Accessors(fluent=true). Regression test in test_java_basic.py
asserts every generated-method shape lands in document symbols.
Closes#1432
- Add 'Additional Workspace Folders' section to project configuration docs
- Add cross-reference note to TypeScript LS settings section
- Include configuration example and usage notes
* Breaking change: Projects (project.yml) can no longer override `base_modes`.
Instead, they can define `added_modes` to add modes on top of base and default modes.
This allows `base_modes` to be fully applied for the computation of the base toolset
as they are no longer dynamic.
* Serena's default configuration now uses `interactive` and `editing` as `base_modes`
instead of as `default_modes`.
The upstream fix for the CRLF stale-tree crash (antaalt/shader-sense#44)
was merged and released as v1.3.1. This commit:
- Removes the client-side CRLF workaround (open_file override and
_preload_crlf_content helper) added in #1305, along with the
now-unused imports.
- Bumps _DEFAULT_VERSION to 1.3.1 and updates SHA-256 checksums for
all three pre-built platform archives (win-x64, linux-x64, win-arm64).
The regression test (test_include_file_document_symbols_directly) that
exercises the original crash scenario passes against v1.3.1 without the
workaround.
Co-authored-by: TheSmallKiwi <TheSmallKiwi@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
The upstream fix for the CRLF stale-tree crash (antaalt/shader-sense#44)
was merged and released as v1.3.1. This commit:
- Removes the client-side CRLF workaround (open_file override and
_preload_crlf_content helper) added in #1305, along with the
now-unused imports.
- Bumps _DEFAULT_VERSION to 1.3.1 and updates SHA-256 checksums for
all three pre-built platform archives (win-x64, linux-x64, win-arm64).
The regression test (test_include_file_document_symbols_directly) that
exercises the original crash scenario passes against v1.3.1 without the
workaround.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Even though the parameter is after the separator `--`, newer versions (>2.1.76)
fail to add the MCP server and interpret the arguments directly.
Fixes#1279