Odoo components and versions

What framework, library and component versions are used in Odoo?

Veikko Väätäjä

Odoo depends on multiple platforms and libraries and is compatible with different versions of these dependencies. Different Odoo versions contain different components and versions of these components. For example database versions and Python versions have been changing in different Odoo versions. Here is a quick cheat sheet of the dependencies and their versions.

Component
Odoo 13
Odoo 12
Odoo 11
Odoo 10
Python
3.5.3
3.5.3
3.5.3
2.7.9
PostgreSQL client
11.5
11.5
11.5
11.5
Psycopg2
2.7.6.1
2.7.6.1
2.5.4
Werkzeug
0.11.15
0.11.15
0.11.15
0.9.6
lxml
3.7.1
3.7.1
3.7.1
3.4.0
watchdog
0.8.3
0.8.3
0.8.3
0.7.0
XlsxWriter
0.9.6
0.9.6
0.9.6
0.5.2
xlwt
1.3.0
1.3.0
1.3.0
0.7.5
wkhtml2pdf-
0.12.5
0.12.5
0.12.5
num2words
0.5.10
0.5.10
0.5.10
-
bootstrap
4.3.1
4.1.33.43.4
Docker image tag13.012.011.010.0
Release date2019-10-052018-10-032017-10-052016-10-05
Bootstrap
4.3.1
4.1.3
3.3.4
3.3.4
jQuery
3.3.1
1.11.1
1.11.1
1.11.1
Underscore1.8.2
1.8.2
1.8.2
1.8.2
Backbone-
1.1.0
1.1.0
1.1.0

Components

Above table contains these Odoo components:

  • Python environment. All Odoo server side code is written in Python. This version is very important to know what tools can be used with Odoo development.

  • PostgreSQL client. Postres is the database that stores all data in Odoo. The client version is important to be compatible with database server. Odoo will have compatibility issues if you are using too old or too new version of PostgreSQL.

  • PDF-generator wkhtml2pdf.

  • Pip package Psycopg2 used for database connection.

  • Pip package Werkzeug used for Odoo http server.

  • Pip package lxml used for XML documents.

  • Pip package watchdog used for reloading modules on file changes.

  • Pip packages xlsxwriter and xlwt used for creating Excel-files in Odoo.

  • Pip package num2words used for converting numbers to text presentation.

  • Clientside libraries that are included in Odoo, e.g. Bootstrap, jQuery, Backbone, Fontawesome, Underscore etc.

How was this information collected?

The version information is collected from Odoo Docker containers in 2019 September.

You can get the PostgreSQL client version with command

psql --version

You can get the Python version with command 

python --version 

or in Python3

python3 --version 

You can get the Pip package version with command

pip freeze

or in Python3 with

pip3 freeze

Clientside libraries are included in Odoo web-module static libraries. You can find these in Odoo source github path addons/web/static/lib, e.g. Bootstrap, jQuery and Backbone. The version of these libraries need to be checked from lib content source.

Some of the versions depend on the Docker base image that Odoo uses: Debian. For example there was an update to Debian and it changed the PostgreSQL version from 9.6.10 to 11 in 2019 February.