Skip to content

Releases: odoo/odoo-ls

0.12.1 - Beta

08 Sep 10:04
Compare
Choose a tag to compare
0.12.1 - Beta Pre-release
Pre-release

[0.12.1] - 2025/09/05 - Hotfixes

Small patch that address some known issues in 0.12.0 and some other older ones.

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.

0.12.0 - Beta

01 Sep 15:29
Compare
Choose a tag to compare
0.12.0 - Beta Pre-release
Pre-release

[0.12.0] - 2025/08/28 - PyCharm, Csv and configurations

This patch includes somes changes required for the new PyCharm plugin.
We changed some keys in the configurations files to improve clarity and added a TomL schema helper. Install a TomL extension to get
syntax diagnostics, as well as validation of your configuration files. (You'll have the best by installing "Even Better TOML" AND "Tombi" on vscode)

PyCharm

  • Start and manage the lifecycle of OdooLS in Pycharm.
  • Add a Profile Selector
  • Add a Crash Report
  • Add a webview to display configuration resumes.

VsCode

Server

  • New parameters available in configuration: "no_typeshed_stubs" that prevents the loading of typeshed stubs, if you want to provide yours, and "stdlib", that allows you to provide a different location for your stdlib stubs.
  • Remove parameter "add_workspace_addon_path" from configs. Addons path now contains the value "$autoDetectAddons" by default, that means that server will automatically try to detect addons. When setting addon paths in your configuration, you can add this value to the list to keep this behaviour.
  • Load CSV files and extract xml_id from it
  • Improve reloading and cache update of files with invalid syntax
  • Handle If..else statements with an empty bloc in the if and else (invalid ast)
  • OLS03020 is now evaluated later in the process to give accurate results
  • Improve dynamic reloading on creation of missing models

Fixes

  • Server will now search for stubs and additional files next to its exe, and not in the current working directory. If not present, it will search then in current working directory
  • Fix a version verification in is_inheriting method
  • Fix crashes that can happen if one of the following field has a value that is not of the right type ("False" instead of False for example): "comodel_name", "related", "compute", "delegate", "required", "default"

0.10.2 - Beta

12 Aug 14:39
Compare
Choose a tag to compare
0.10.2 - Beta Pre-release
Pre-release

0.10.2 - 2025/08/12 - Update code and fix

Upgrade

  • Update the code to use node_indexes from ruff_python_parser (available since last update) instead of our own ast index implementation to avoid duplicating computation

Fixes

  • Invalid context value type that cause crashes (in Odoo < 18.0)
  • Fix the hook for the field 'global' on IrRule for versions < 18.1

0.10.1 - Beta

11 Aug 12:37
Compare
Choose a tag to compare
0.10.1 - Beta Pre-release
Pre-release

0.10.1 - 2025/08/11 - Quick fix

Fixes

  • Invalid context value type that can cause crashes.

0.10.0 - Beta

08 Aug 11:25
Compare
Choose a tag to compare
0.10.0 - Beta Pre-release
Pre-release

0.10.0 - 2025/08/08 - Better configuration and XML features

Following your feedbacks, we are adding some new features and ways to configure your odools.toml files. If you still think that some changes would be interesting, do not hesitate to contact us !
Alongside these changes, we added some features to XML files, like gotodefinition, hover, and new diagnostics. Everything we want is not there yet, but it's coming soon!
We focused a lot too on improving the exactness of various diagnostics, so you should see less errors in your project!

VsCode

  • Add wiki link to configuration view.
  • Update Disabled profile: "Disabled" now shuts down the server
  • New setting to provide a generic odools.toml that would be applied to ALL profiles, and that can be at a specific location

Server

  • Add diagnostics filters in configuration files. It allows you to choose diagnostics you want to hide and their severity level
  • Add new config url parameter to give a common config file for all your profiles
  • Rewrite diagnostics modules, to allow filtering and changes of the level.
  • Fix new convention for OLS codes
  • Improve the server restart behaviour
  • Parse and use delegate=True to detect _inherits models
  • Improve build tools
  • Fix imports with asname value
  • gotodefinition on ref to xml_ids
  • New hook to global field on IrRule
  • New hooks for werkzeug _monkeypatches
  • Disable call argument checks for properties function for now.
  • Detect and mark function with @classproperty or @lazy_classproperty as such
  • Fix all the arguments validation process

XML

  • menuitem: check that parent is valid
  • menuitem: chack validity of action attribute
  • menuitem: validate groups attribute
  • record: validate model
  • record: check that all mandatory fields has been provided
  • record, fields, menuitem: hover and gotodefinition to xml_ids and models
  • field: basic validation and for specific models (ir.ui.view)
  • Support for @language in XML Fields

Fixes

  • Fixed version comparator that was not equaling "18.0" and "18.0.0". It had various side effects on some specific version features.
  • Fix crash on delayed thread that occur if odoo is made invalid in the delay
  • Fix creation of custom entrypoints on hovering some xml/csv files
  • Fix crash on reloading functions created by hooks (only in orm files)
  • Various things that would be too hard to explain here. You really read all the changelog?

0.8.1 - Beta

09 Jul 11:44
Compare
Choose a tag to compare
0.8.1 - Beta Pre-release
Pre-release

0.8.1 - 2025/09/07 - Quick fix

Fix

  • Fix an issue that prevent OdooLS to correctly detect Odoo Models on some version.

0.8.0 - Beta

08 Jul 14:40
Compare
Choose a tag to compare
0.8.0 - Beta Pre-release
Pre-release

0.8.0 - 2025/04/07 - Configuration files and XML Support (part 1)

This update introduces two new big changes in OdooLS.

First, we updated the way OdooLS is configured for a more porwerful, flexible, and IDE-independant way. Unfortunately, it implies that all your existing configurations are lost with this update. We are sorry for that, but we hope you will love way more the new system when you'll have adopted it ! Do not hesitate to give us your feedback, questions or anything you want to say about it on our github. As it is quite different, you can get lost at the first time. Do not hesitate to read our wiki about configuration files.

Secondly, the update introduces all the basic parsing for XML files. This part 1 only includes XML loading, parsing and validation against Odoo RNG file. There is features about XML files here (no hover, gotodefinition, etc...) as it will be released in part 2. This update focus on including XML and CSV files in the server cache and ensure that everything is running fine now that we have different file extensions and language. As always, we would be really happy if you can send us any error or issue you encounter with these new features.

Let's go with this update more in detail now!

Server

  • New configuration system. Configurations are not stored in settings.json anymore, but in configuration files on disk.
  • OdooLS can now detect Odoo and run even without any configuration file.
  • When loading a manifest, search and load data files (csv/xml). If not found, raise a diagnostic.
  • When loading an XML file, display diagnostic on syntax errors
  • Validate XML files against RelaxNG file. This validation is not using the file actively but is hardcoded in the server. We did this as
    there is no real implementation of RelaxNG in Rust and that we included a lot of hooks and additional checks on the validation based on the python code of Odoo too (more will come in part 2).
  • New structure to support dynamic member variable declaration, like in
class cl:
    pass
cl.new_variable = 5

This is actually mainly used for new Odoo changes on master, and is not dynamically supported in custom code.

  • Support for invalid AST. Now an invalid AST should not prevent the server from providing features as definition, hover, etc...
  • Allow hooks to applied on some version of odoo only. Fix most of the issues related to hooks for branches > 18.1 of Odoo.
  • Various small optimization updates.

VsCode

  • Update the interface to not show configurations but give a way to change active profile.
  • Provide Semantic token for CSV file. If you don't have the RainbowCsv extension installed, OdooLS will colorize your csv files for you.

Fixs

  • Fix import of multi-level elements, as in import a.b.c
  • Allow name completion in some nested expressions.
  • Autocompletion is now better localized, and can not suggest variables declared later in a bloc.
  • Fix various borrow errors.

0.6.3 - Beta

23 May 08:55
Compare
Choose a tag to compare
0.6.3 - Beta Pre-release
Pre-release

0.6.3 - 2025/23/05 - Bugfixs

Fixs

  • Log instead of crash if a file is not in cache anymore as it can happen in some normal situations where chache is invalidated
  • Fix various borrow errors on 'go to definition' feature
  • Fix various crashes when hovering some part of the code
  • Provide PDB alongside exe on windows to get better tracebacks.

0.6.2 - Beta

28 Apr 11:11
Compare
Choose a tag to compare
0.6.2 - Beta Pre-release
Pre-release

0.6.2 - 2025/28/04 - Bugfixs

Fixs

  • Fix crash on empty odoo path
  • Fix crash while autocomplete on an empty file
  • Fix crash on autocompletion in some wase where the needed files are not built already
  • Fix crash on module search that could return namespaces instead of modules
  • Fix diagnostics range in manifest depends
  • Add missing error code in error_code.md
  • Fix crash on lazy loading invalid __all__ variable
  • Clean some logs

0.6.1 - Beta

24 Apr 12:27
Compare
Choose a tag to compare
0.6.1 - Beta Pre-release
Pre-release

0.6.1 - 2025/24/04 - File cache option and bugfixs

Key features

  • New option that will move file cache from RAM to disk (reduce memory usage by ~30%, but will increase disk access). It is off by
    default to not stress your disk, but you can activate it in your settings if you are on a computer with limited RAM amount.
  • This patch focus on bugs you reported from the 0.6.0. Thank you for sending us your crash report, it helps us building a stable tool !

Server

  • New file cache option to move file cache from RAM to disk. Off by default

Fixs

  • Fix an issue that was removing all diagnostics on settings change for no reason
  • Fix a crash on evaluation refresh
  • Fix transformation of path from addon entry to main entry
  • Fix creation of entryPoint for namespace symbols
  • Fix an issue that prevented the server to mark files as closed, creating a crash on reopening.
  • Fix parsing of __manifest__.py and __init__.py in custom entry point. It fixes crash when opening files outside of the config
  • Fix crash on parsing empty __manifest__.py file
  • Fix reloading of custom entry point
  • Fix path comparison. "account_account" will not be considered below "account" because it shares the same start. Now path components are properly used
    for the comparison.