Releases: odoo/odoo-pycharm
1.1.0 - Beta
This Beta update improves the QoL on various IDEs and brings some new features:
- Workspace Symbol Lookup allows you to search for any class/function/model/xml_id in the whole project (ctrl-t on vscode). All xml_id are prefixed
byxmlid.and model names are quoted.
- Import statements now have autocompletion, hover and gotodefinition features.
- We now have a better support for WSL paths!
VsCode
- Better display about the server status.
PyCharm
- Improve the lifecycle of OdooLS. Server will be always running but idle, and starts only if a configuration is detected. It implies
that we removed the 'start server' button as it is not useful anymore. It should end up in a more clear and usable interface. - Fix the "Disabled" profile behavior that was preventing any further profile change.
- Starting from 2025.3, PyCharm will be able to display the loading status of the server.
- Attach additional stubs (with lxml) to the build.
- Add configuration wiki link on the settings page.
- Update deprecated API calls to isAarch64 methods.
Server
- Support for workspace Symbol requests.
- Core structure to support
$/cancelRequestnotification and use it for Workspace Symbol Request. These notifications indicates that a job can be cancelled because no more useful. - Import statements now have autocompletion, hover feature and gotodefinition.
- Server now supports WSL paths, including
file:////orfile://wsl.localhost - Server now use workDoneProgress to report loading status to client. Client that supports this feature will now display the loading progression at startup.
- Server will now send more information about its status: it can indicate if it is waiting for a git lock to be freed.
- Autocompletion and validation for inverse_name keyword argument.
- Crash reports will now include the latest LSP messages to help the debugging and give us a better overview of what happened before the crash
- It is now possible to autocomplete slices (
self.env[") even without closing the brackets. - Diagnostic filters in configuration files can now accept variables like
${userHome}or${workspaceFolder} - You can now hover and gotodefinition for module names in
__manifest__.pyfiles, and in hover you could alse see full list of the module's dependencies.
filteredandfiltered_domainnow has a proper return value.- Remove diagnostics of ImportError in the
exceptblock of atry..except ImportErrorstatement. - Doing a gotodefinition on a
display_namewill now redirect you to the compute method. - Update Ruff dependencies to 0.14.3.
Fixes
- Doing a gotodefinition on a value (like a string
"a string") will not lead to the value definition (class str) - Doing a cyclic dependency between 'modules depends' will not crash anymore but generate the diagnostic OLS04012.
- Fix the path to additional stubs and so fix the usage of the lxml stubs.
- If odoo_path is ending with
.somethingbut is pointing to a valid directory, the server should not considersomethingas a file extension, but as a part of the folder name. - Fix some internal hooks to work with user defined Fields, instead of only the Odoo ones.
- Configuration option "diag_missing_imports" is now really taken into account when generating diagnostics about imports.
- Fix dependencies on comodel and relation fields diagnostics.
- Fix missing ImportError diagnostic on import statement without a 'from' or 'as' part.
- Various small fixes and typos
1.0.4
1.0.3
We rewrote the thread pool of OdooLS to get rid most of the last known crashes, as they are nearly all linked to out-of-sync issues and the way the thread pool was greedily delaying important tasks.
It should result in a different feeling when using OdooLS, but it should be way more accurate and stable than before, and consistent.
It was not possible to test this new core in all possible situations, so do not hesitate to give any feedback on differences you can see with this new version.
Thank you very much to everyone for your crash reports, they were really helpful (and yes, we read all of them!)
New features will come soon in the pre-release channel, stay tuned!
Fixes
- New delayed thread and message flow in threads. Symbol creation (ARCH and ARCH-EVAL steps) are now always created on the fly, while validation of files are delayed to inactivity period. It results in more accurate and always in-sync results to requests.
1.0.2
Packaging
- use Github Actions to build all files: OdooLS binaries, Vsix and Pycharm plugin. Removing the dependency on cross-rs to build executables.
Fixes
- Fix starting file version number for PyCharm, that is starting at 0, while vscode is starting at 1
- Fix crash of package creation on custom tree
- Fix crash on Odoo > 19 that happen if werkzeug is installed and up-to-date
- Remove panic on missing
__init__.pyfile for custom entry creation, happening if user removed/renamed the file during the initialization of the server, and warn it instead
1.0.1 - Release
[1.0.1] - 2025/09/17 - Day 1 fixes
Fixes
- Crash that can occur when doing a gotodefinition in an XML file
- Fix origin of gotodefinition for some links in XML files.
- Change back
<br/>line breaks that sometimes break PyCharm to escaped\\\n
[1.0.0] - 2025/09/16 - Release
This project is far from finished, but it has reached a level of maturity where we’re introducing two update channels: Release and Pre-release (Beta).
If you want early access to new features and to help us improve the tool, enable Pre-release updates in your IDE. The pre-release channel will only include features we consider ready, though crashes may still occur due to the wide variety of code we encounter. This helps us catch common issues before pushing to the stable channel.
So, if you prefer a more stable experience, stick with the Release channel !
Here is the changelog since the last Beta version (0.12.1)
Zed
New plugin for Zed. As Zed API is quite poor, the implementation only stick to a basic language server implementation, and will not provide profile selector, profile viewer or crash report view.
Server
- Change level of "unable to annotate tuple" log from error to debug, as it is indeed a debug information of non implemented statements
Fixes
- When file cache is invalidated by an incoherent request, do not panic, but reload the cache
- Fix wrong usage of
<br/>for PyCharm and NeoVim. - Fix crashes that can occur on some gotodefinition.
- Prevent creation of duplicated addons entrypoint if the directory of an addon path is in PYTHON_PATH
- Prevent creation of custom entrypoint on renaming of directory
- Handle removal of
__init__.pyfrom packages - Avoid checking path from FS on DidOpen notification.
- Fix a typo in the hook of
__iter__function of BaseModel on versions > 18.1 - Force validation of
__iter__functions if pending on aforevaluation
0.12.1
[0.12.1] - 2025/09/05 - Hotfixes
PyCharm
- Fix the button that lead to OdooLS settings
VsCode
- Update the version check that display the "Beta warning" to fit the post 1.0 format
Server
- Upgrade Rust edition from 2021 to 2024
- Configuration files: Diagnostics filter paths is now an array instead of a String, and we can choose if the filter is applied to any file in the list of paths or not in the list of path
- Improve the the origin_range (the underlined part of the test) in chains of relational fields when doing a gotodefinition on a String
- Improve the detection of the detection of python (choose python or python3 depending on availability)
- Remove self from list of models implementation in gotodefinition
- Improve the line breaks in Hovers depending on the capabilities of the client. VsCode is supporting markdown and so
\n, but PyCharm only support<br/>that VsCode is escaping. The server now uses the given parser name from the client to choose the right line break - Force color background and font for 'all configuration page' to ensure clear visibility on all clients.
- Log the full config of the user in the logs to help debugging
- Remove compilation warnings
Fixes
- New $autoDetectAddons was not always properly detected
- Fix launch.json on linux since the repository structure update
- Refactor the threadpool to fix concurrency issue in the way some LSP messages were handled, causing random rare crashes.

