Skip to content

Releases: odoo/odoo-ls

0.4.1 - Beta

12 Feb 13:51
Compare
Choose a tag to compare
0.4.1 - Beta Pre-release
Pre-release

0.4.1 - 2025/12/02

Small patch that address crashes we got from your reports

Vscode Fixs

  • validate paths on config view opening

Server

  • Server will now answer to DocumentSymbol requests and give you a tree os symbols that you can find in a file.
  • Add validation and diagnostics on some missing Python statements (match, ...)
  • Better error message if missing typeshed

Server Fixs

  • crash fix: Handle new odoo structure available on master
  • crash fix: Do not evaluate documents that are not saved on disk and has an invalid path (will be improved later)
  • crash fix: Do not assume that base class is always valid, and silently ignore an invalid base class
  • crash fix: Do not evaluate architecture of a file if the hash of file has changed since the first building
  • crash fix: url encode paths to handle spaces or invalid characters in uris
  • crash fix: add a guard against empty contexts while getting symbol
  • crash fix: Fix crash on cyclic references involving only functions (temp fix before a proper implementation)
  • Fix multiple inference instance evaluation
  • add context information to be able to resolve ": Self" return value for functions
  • Test if odoo package is found or not and log it if not
  • Fix hook that transform Cursor into TestCursor in tests directories

0.4.0

06 Feb 11:01
Compare
Choose a tag to compare
0.4.0 Pre-release
Pre-release

0.4.0 - 2025/05/02

0.4.0 is the first Rust version of the tool that is coming to Beta. It means that if you didn't update to alpha version manually, this changelog is new for you since the 0.2.4 version (last published Python version of the tool, not maintained anymore)
Some configuration migrations could fail while upgrading from the Python version. We apologize in advance if you have to set up them again !

VsCode

  • Add a commmand to restart the server manually
  • Updated welcome page to reflect new changes
  • Remove deprecated views
  • Remove "afterDelay" option, in favor of "adaptive" option. Threads are way more reactives than before and "adaptive" should
    be enough in all cases.
  • handle installation of python extension while Odoo is running

VsCode Fix

  • Fix the extension hanging while the server starts

Server

  • improve odoo detection to handle nightly builds of Odoo.
  • Return Class location on definition request of model name (strings)
  • Server will auto reset if too many changes occur in the workspace (git checkout detection purpose)
  • improve the rebuild queue, by putting functions in it with a module dependency, instead of the whole file. It lowers the needed
    computation on each change.
  • onSave settings will not trigger a rebuild anymore if ast in the file is invalid
  • Improve range of link given by GoToDefinition on packages
  • precompute model dependencies to improve performances
  • Add various odoo api method signatures (with_context...)
  • Add search domains diagnostics
  • Add search domains autocompletion
  • Add search domains GotoDefinition
  • Various hover display improvements: syntax, values and infered types on functions
  • Implement _inherits logic
  • Improve internal context usage to correctly reflect what contains the current parsing
  • Remove usage of the custom route Odoo/getPythonPath, and now using lsp default configuration
  • Improve message managements to make threads more reactive, and so the extension
  • use start of expr range to avoid some out of scope issues in autocompletion
  • Server do not restart anymore but reset on python path update

Server fixs

  • fix crash on importation of compiled files
  • Remove autocompletion items that are not in module dependencies

0.2.8 - alpha

18 Dec 16:09
Compare
Choose a tag to compare
0.2.8 - alpha Pre-release
Pre-release

0.2.8 - 2024/18/12

VsCode

  • addon paths in configurations can now contains variables: ${workspaceFolder} and ${userHome} are available.
  • search for valid addon path in parent folders too.
  • New popup windows that will suggest you to disable your actual python language server for your workspace if any is active (only for Python extension).
  • Fix hanging if popup window stay opened.
  • Fix infinite reload issue

Server

  • Improve autocompletion to take base classes and comodels.
  • Add inheritance information in hover for models.
  • Adapt the architecture to store function arguments.
  • Parse and evaluate function calls according to the function signature. Actually limited to domains and args counts.
  • New domain validation: validate structure, operators and fields. Composed fields are not validated for now.
  • Autocompletion that contains "." or that complete a string with a "." will not duplicate elements anymore.
  • Improve function return type syntax in Hover feature.
  • Implement super() evaluation.
  • Handle @ overload and @ classmethod decorator

Server Fixs

  • Autocompletion will not raise an exception if the request is done outside of odoo.
  • Gotodefinition will skip evaluation that lead to the same place
  • Fix range on GotoDefinition for symbol that has multiple evaluation.
  • Prevent parsing docstrings as markdown codeblocks
  • Make read thread able to create delayed tasks.
  • correctly skip arch step for syntaxically incorrect files.
  • Avoid range evaluations on files.
  • Allow not imported files to be reloaded
  • Remove duplicates in autocompletion results due to diamond inheritance
  • Change classes structure to keep inheritance order (HashSet to Vector)
  • Incorrect "Base class not found" diagnostic

New diagnostics / odoo helpers

  • New signature for "browse" on BaseModel.
  • New hook for Odoo registry.
  • Add "magic" fields to models (id, create_date, etc...)

0.2.7 - alpha

04 Nov 09:53
Compare
Choose a tag to compare
0.2.7 - alpha Pre-release
Pre-release

Changelog

0.2.7 - 2024/31/10

Server

  • Now include macos binary (arm processors)
  • Any requests (Hover, autocompletion, ...) is now able to cut any running rebuild, resulting in a way more reactive experience.
  • Basic autocompletion implementation. The server should be able to parse ast and understand what you want to autocomplete. However, the results could be incomplete or incorrect at this point, we will improve that in the next versions
  • Use hashs to detect if opened files are differents than the disk version to avoid useless computations.
  • Prevent file update if the change is leading to syntaxically wrong ast. The index will be rebuilt only if user fix the syntax errors. It avoid useless computations
  • Update file cache immediatly, even if reload are delayed by settings. It allows autocompletion to be aware of changes.
  • Delay the symbol cleaning to the file reload and not on update, to not drop symbols that could be used by autocompletion or other requests
  • Now handle setups where odoo community path or addons path are paths that are in sys.path.
  • Fix evaluation of classes having a base class with the same name.
  • Fix parsing of empty modules with only a manifest file
  • Basic With statement evaluation
  • Improve Hover informations for imports expressions (especially for files, packages, namespaces)
  • use root_uri as fallback if no workspace_folder is provided (root_uri is deprecated though)
  • Implement a profiling setup with iai-callgrind
  • various cleaning

New diagnostics / odoo helpers

  • Add deprecation warning on any use/import of odoo.tests.common.Form after Odoo 17.0
  • Autocompletion of Model names in self.env[""] expressions. Autocompleted model names will indicates if a new dependency is required. This comes with a new settings allowing you to choose between 'only available models' or 'all models with an hint'

0.2.6 - alpha

01 Oct 13:34
Compare
Choose a tag to compare
0.2.6 - alpha Pre-release
Pre-release

Alpha package - will not be pusblished on marketplace as it is

0.2.6 - 2024/01/10

Server

  • Add Function body evaluation. This is the major content of this update. The server has now the required structure to parse function
    body and infer the return value of a function. This feature is rudimentary and a lot of function will still have a return value of None,
    but the code is ready to support new python expressions!
  • fix python path acquisition from vscode settings
  • Ignore git file update to avoid useless reload of the index.
  • Add various new diagnostics
  • fix deadlock that can sometimes occurs in some file update.
  • Add support for dynamic symbols. Dynamic symbols are symbols that are added on an object after its declaration
  • improve dependency graph to support models
  • Server now reacts to WorkspaceDidChangedWatchedFiles, and will restart automatically on Odoo version change
  • Better logs for investigations: used settings, build name, etc...

0.2.4

10 Jan 15:41
Compare
Choose a tag to compare
0.2.4 Pre-release
Pre-release

0.2.4 - 2023/01/10

Fixs

  • Fix crash on get_loaded_part_tree if addon path has not been found
  • Fix crash on autocompletion if opened file is not found (out of workspace for example)
  • Allow path to Odoo community to end with a /
  • Fix crash when hovering Relational field declaration
  • Fix crash when creating a symbol that was previously missing
  • Fix infinite log generation on BrokenPipeError

0.2.3

21 Dec 11:09
Compare
Choose a tag to compare
0.2.3 Pre-release
Pre-release

0.2.3 - 2023/12/19

Last update of 2023 ! We wish you all an happy new year !

VsCode

The rework of the client to work with the Python Extension is delayed to 0.2.4

  • New option to choose which missing import should be diagnosed. 3 options are available: none, only odoo imports, all

Server

  • Support a new configuration option to choose which missing import should be diagnosed. The option is called "diagMissingImportLevel" and can take 3 values: "all", "only_odoo" or "none".
  • The server can now identify a 'type alias' as it should be. It should now be correctly displayed where it is relevant. Best example of type alias is "AbstractModel", that is a type alias of "BaseModel".
  • Server is now able to override __get__ functions behaviour in its core, and the odoo implementation define all return values for all fields. It means that from now:
    self.name will be displayed as an str, but MyModel.name will be displayed as a fields.Char.
    This value is used to for the autocompletion, and so you won't have suggestions from fields class after using a field in a function (like self.name.???)

Fixs

  • Prevent BrokenPipeError to log indefinitely if the server is disconnected from client. This fix improve the one of the last version to handle last (hopefully) not catched situation.
  • Update int to proper enums in module.py for the 'severity' option of diagnostics

0.2.2

20 Nov 14:04
Compare
Choose a tag to compare
0.2.2 Pre-release
Pre-release

0.2.2 - 2023/11/20

VsCode

  • Fix broken image links in readme files.

Server

  • Fix typo in the last patch
  • update code to work with cattrs==23.2.1
  • Fix diagnostic crash in non-module addon

0.2.1

15 Nov 15:01
Compare
Choose a tag to compare
0.2.1 Pre-release
Pre-release

0.2.1 - 2023/11/15

This version contains various fixs based on the reports we got. No new features here.

Server

  • Fix log file hell. No more log file that will fill up your hard disk.
  • Fix a crash that can occur if a model is declared ouside of a module (really?)
  • Fix crash that can occur if the configuration is wrong. Handle it properly
  • Allow creation of full path instead of only a new file. if you have a directory test, you can create test/dummy/file.py in on command instead of 2 (directory + file) without having the extension crashing
  • Fix crash on some file edit due to the thread queue that was missing some context
  • Fix character index on Hover and Definition feature that created a crash if you hover the last character of the file

BETA - 0.2.0

14 Nov 23:11
Compare
Choose a tag to compare
BETA - 0.2.0 Pre-release
Pre-release

First beta version of this tool. You can install it through marketplace if you prefer by selecting "pre-release" in the selection dropdown.
This is a BETA version: it can crash, it can show invalid data and it still miss a lot of features.
Do not hesitate to report any issue you would have with it.