Commit Graph
2607 Commits
Author SHA1 Message Date
Michael Panchenko 8e2b098471 Merge branch 'main' into evaluation 2026-04-13 14:20:46 +02:00
AsherandMichael Panchenko 34e1fae739 Allow symbol operations in dot-prefixed directories (#1203)
* Allow symbol operations in dot-prefixed directories

is_ignored_dirname() used dirname.startswith(".") which blanket-ignored
all dot-prefixed directories including .github/, .vscode/, etc.

Changed to only ignore VCS directories (.git, .svn, .hg, .bzr).
Language-specific dot directories (.build, .elixir_ls, .terraform, etc.)
are already handled by the individual LS overrides.

Fixes #1187, fixes #853.

---------

Co-authored-by: Michael Panchenko <michael.panchenko@oraios-ai.de>
2026-04-13 14:19:33 +02:00
Michael Panchenko a3cf1b17c9 Added documentation on Serena evaluation and first evaluation results 2026-04-13 14:09:04 +02:00
Michael Panchenko e633c94e3b JB tools: improve docstrings related to relative_path for external dependencies
Claude was confused..
2026-04-13 14:09:04 +02:00
Michael Panchenko 9b7dcbdf63 Fix: sanitize parameter input in jetbrains tools
Context: clients may paste escaped html for > and <, which appears in paths for external dependencies
2026-04-13 14:09:04 +02:00
Michael Panchenko 685715dd02 Merge branch 'main' into evaluation 2026-04-13 09:51:20 +02:00
Michael Panchenko 1789967968 Pyproject: added description and classifiers [ci skip]
Description in particular is important since it is shown in pypi
2026-04-13 09:17:24 +02:00
ab67ecab3b feat: add mSL (mIRC Scripting Language) support (#1315)
* feat: add mSL (mIRC Scripting Language) support

Add language server support for mIRC Scripting Language (.mrc files).
mSL is used in mIRC and AdiIRC IRC clients for scripting bots, games,
and automation.

The implementation uses a custom Python-based LSP server (pygls) that
parses aliases, events, menus, dialogs, and CTCP handlers. Dependencies
(pygls, lsprotocol) are installed in an isolated venv on first use.

Includes test repo, integration tests, and documentation updates.

* style: apply ruff formatting to msl_language_server.py

* fix: remove INITIALIZE handler that crashes pygls 2.x

pygls 2.x handles the initialize request internally. Overriding
it via @server.feature(lsp.INITIALIZE) causes the LSP subprocess
to crash. Removing the handler lets pygls auto-advertise capabilities
based on registered features (document_symbol, workspace_symbol).

* fix: update embedded LSP script for pygls 2.x

pygls 2.x moved LanguageServer from pygls.server to pygls.lsp.server.
Update import and bump requirement from pygls>=1.3.0 to pygls>=2.0.0.

* refactor: ship mSL LSP as package module, not runtime disk write

Per maintainer feedback: the mSL LSP is a Python script, so it should
ship as a module inside the package rather than being written to disk
at runtime.

Changes:
- Extract embedded LSP script to msl_lsp_server.py (proper module)
- Simplify MslLanguageServer: remove venv creation, disk writes,
  _create_msl_lsp_files(). DependencyProvider now just returns
  sys.executable and launches the sibling module directly.
- Add pygls>=2.0.0 and lsprotocol>=2023.0.0 to pyproject.toml deps

* fix: regenerate uv.lock after upstream v1.1.0 merge

* feat(msl): add references, definitions, and expand test coverage

- Add textDocument/references handler for cross-file alias reference finding
- Add textDocument/definition handler for go-to-definition support
- Handle $ prefix on cursor position for mSL identifiers
- Fix pre-existing mypy error in agent.py (dict[str, object] -> dict[str, str | int])
- Add MSL to _LANGUAGE_PYTEST_MARKERS in conftest.py
- Add MSL parametrized cases to test_find_symbol_stable and test_find_symbol_references_stable
- Expand test repo with cross-file reference examples (main.mrc <-> utils.mrc)
- Add within-file and cross-file reference tests to test_msl_basic.py
- Update docs and CHANGELOG to reflect expanded capabilities

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: apply ruff formatting to msl_lsp_server.py

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(msl): add hover handler, fix cross-file references via filesystem scan

Root causes of 4 CI test failures:
- textDocument/hover was not implemented (test_find_symbol_stable needs it)
- references/workspace_symbol/definition only searched opened documents,
  missing files not explicitly opened by the client
- pygls.uris.to_fs_path returns lowercase drive letters on Windows,
  causing URI mismatch with the framework's repository path comparison

Fixes:
- Add textDocument/hover handler returning definition snippets in Markdown
- Add _get_all_mrc_files() to scan workspace filesystem for all .mrc files
- Read workspace roots from server.workspace (pygls 2.x API) instead of
  broken monkey-patching of server.lsp
- Use pathlib.Path.resolve() to normalize drive letter casing on Windows
- Simplify __main__ to just server.start_io()

All 12 tests pass locally (10 solidlsp + 2 serena_agent integration).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* MSL language: removed unnecessary Dep. provider

* Changelog

* deps

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Michael Panchenko <michael.panchenko@oraios-ai.de>
2026-04-13 08:47:51 +02:00
90c30e0374 HLSL: bump to shader-language-server v1.3.1, remove CRLF workaround (#1319)
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>
2026-04-13 08:27:48 +02:00
nameearly fc392a4fb8 fixing minor scattered problems (#1324) 2026-04-12 23:36:11 +02:00
TheSmallKiwiandClaude Sonnet 4.6 e7b51173bc HLSL: bump to shader-language-server v1.3.1, remove CRLF workaround
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>
2026-04-12 15:38:48 -04:00
Dominik Jain 678f195931 Ignore .claude 2026-04-12 18:21:46 +02:00
Dominik Jain 1fb4ab1738 Add information on uninstallation 2026-04-12 18:21:08 +02:00
Dominik Jain 3d9dbf33a3 Improve news item to also mention client config update [skip ci] 2026-04-12 18:12:29 +02:00
Michael Panchenko 99925447ea Evaluation, WIP 2026-04-12 15:16:16 +02:00
Dr. Dominik Jain e6b0a97412 Merge pull request #1318 from jochenseeber/disable-usage-reporting-env-var
Allow disabling usage reporting via SERENA_USAGE_REPORTING env var
2026-04-12 15:14:22 +02:00
Dominik Jain a96640aebf Merge remote-tracking branch 'origin/main' into disable-usage-reporting-env-var
Conflicts:
  CHANGELOG.md
2026-04-12 15:13:28 +02:00
Dominik Jain 3193637c75 Document environment variable for opting out of usage reporting 2026-04-12 15:12:55 +02:00
Jochen Seeber 4b2c7bd849 Add env var to allow disabling usage reporting
In the spirit of being nice and privacy-conscious, setting
`SERENA_USAGE_REPORTING` to `false` will disable usage reporting.
By default, usage reporting is enabled.
2026-04-12 14:57:33 +02:00
Michael Panchenko f3de97084b Release v1.1.1 2026-04-12 14:08:37 +02:00
Michael Panchenko 22959f154f Internal: run uv lock as part of bump_version 2026-04-12 14:08:25 +02:00
Michael Panchenko f1115f6119 Merge branch 'main' of github.com:oraios/serena
Conflicts:
	CHANGELOG.md
2026-04-12 14:01:39 +02:00
Michael Panchenko f30b3cc1e8 JBRename: add options for renaming in comments and text occurrences, defaults to True 2026-04-12 13:58:44 +02:00
Dominik Jain 4a24c1eaa5 Enable cert verification for HTTP request to oraios-software.de #1320
[skip ci]
2026-04-12 13:38:59 +02:00
Dominik Jain 8a6b45bd9f Make news links open in new window [skip ci] 2026-04-12 13:09:07 +02:00
Michael Panchenko 5eb7c028c2 Readme: fix link to quick-start section 2026-04-12 12:58:32 +02:00
Michael Panchenko acb3a0dc1a Adding discord link (badge) to readme 2026-04-12 12:54:00 +02:00
Michael Panchenko abfde9507b Removed obsolete and outdated lessons learned and llm-install.md files. 2026-04-12 11:47:52 +02:00
Michael Panchenko ca387bdc76 Docs: added brief explainer on hooks in Common Pitfalls, removed section on tool-loading in Claude Code 2026-04-12 11:43:29 +02:00
Michael Panchenko 9628fdf1b4 Minor typing fix 2026-04-12 11:30:10 +02:00
Arkh74278 cab36b4220 Merge pull request #1312 from Arkh74278/fix/dart-hierarchical-document-symbol-support
fix: add hierarchicalDocumentSymbolSupport capability for Dart LSP
2026-04-12 11:25:33 +02:00
Dominik Jain 34a703ad50 Restore links to quick start guide, updating the docs autogen build script 2026-04-11 16:54:45 +02:00
Dominik Jain 38699a8470 Update lock 2026-04-11 16:52:22 +02:00
Dominik Jain fef4165702 Fix docs build 2026-04-11 16:36:05 +02:00
Dominik Jain bfd63a73fb Revert "WIP"
This reverts commit 468110a9e0.
2026-04-11 16:27:18 +02:00
Dominik Jain 9340abe89e Fix news date [skip ci] 2026-04-11 15:35:52 +02:00
Dominik Jain 870e6184a4 Release v1.1.0 2026-04-11 15:30:58 +02:00
Dominik Jain f974abc9ef Improve release process description 2026-04-11 15:29:22 +02:00
Michael Panchenko 812b6e066a Merge branch 'main' into v1.1-develop
# Conflicts:
#	CHANGELOG.md
2026-04-11 15:27:38 +02:00
Michael Panchenko fe75484c4a Changelog, moved haxe entry to the right place [ci skip] 2026-04-11 15:26:26 +02:00
Michael Panchenko 21232b0bd0 Merge pull request #1310 from Tobbse/main
Add Haxe support
2026-04-11 13:46:49 +02:00
Michael Panchenko c59768ceb9 Merge branch 'main' into v1.1-develop 2026-04-11 11:13:44 +02:00
Michael Panchenko 104112c342 Merge branch 'v1.1-develop' of github.com:oraios/serena into v1.1-develop 2026-04-11 11:13:00 +02:00
Dominik Jain ac215817f3 Fix untyped def 2026-04-11 00:14:00 +02:00
Dominik Jain 233fe19d01 Changelog: More consistent wording (imperative, use of caps) 2026-04-10 22:38:41 +02:00
Dominik Jain 7588c4343c Changelog: Move fixes into respective sections 2026-04-10 22:35:48 +02:00
Dr. Dominik Jain f3f1e0fd15 Merge pull request #1311 from oraios/usage-data
Collect basic usage data
2026-04-10 22:33:14 +02:00
Dominik Jain c1da839cec Merge branch 'v1.1-develop' into usage-data
Conflicts:
	CHANGELOG.md
2026-04-10 22:32:46 +02:00
Dominik Jain 6844eec0f5 Collect basic usage data 2026-04-10 22:00:12 +02:00
Michael Panchenko 468110a9e0 WIP 2026-04-10 21:13:59 +02:00