diff --git a/CHANGELOG.md b/CHANGELOG.md index 2aa710c..bfc0c7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,8 +14,10 @@ Status of the main branch. Changes prior to the next official version change wil create `project.yaml` for each project. Project activation is now always available. Any project can now be activated by just asking the LLM to do so and passing the path to a repo. * Dashboard as web app and possibility to shut down Serena from it (or the old log GUI). +* Possibility to index your project beforehand, accelerating Serena's tools. * Initial prompt for project supported (has to be added manually for the moment) * Massive performance improvement of pattern search tool +* Fixed stability issues and deadlocks (see #170) # 2025-05-24 diff --git a/lessons_learned.md b/lessons_learned.md index 795c76d..f9fb78c 100644 --- a/lessons_learned.md +++ b/lessons_learned.md @@ -70,6 +70,14 @@ many clients, including Claude Desktop, fail to properly clean up, leaving zombi We mitigate this through the GUI window and the dashboard, so the user sees whether Serena is running and can terminate it there. +### Trusting Asyncio + +Running multiple asyncio apps led to non-deterministic +event loop contamination and deadlocks, which were very hard to debug +and understand. We solved this with a large hammer, by putting all asyncio apps into a separate +process. It made the code much more complex and slightly enhanced RAM requirements, but it seems +like that was the only way to reliably overcome asyncio deadlock issues. + ### Cross-OS Tkinter GUI Different OS have different limitations when it comes to starting a window or dealing with Tkinter