diff --git a/.eslintrc.yml b/.eslintrc.yml
index d4cc423ccda9db9691205c9da83307af97b2670f..9429bc688aab4993eae460767368f65089afa323 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -4,7 +4,7 @@ env:
 
 # See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449
 parserOptions:
-  ecmaVersion: 2017
+  ecmaVersion: 2019
 
 overrides:
   - files:
diff --git a/.gitignore b/.gitignore
index 818770fb1bdc0a144e924c9a5940f0b035df8a0d..9c283fd41f6cc3330653f1d90a820b85e23caf65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,7 +15,6 @@ build/
 develop-eggs/
 dist/
 eggs/
-lib/
 lib64/
 parts/
 sdist/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 732d0c4a644eb444d6b4385643ff32fab19fab52..168470e2ed745631aefb772a4a864cf1de76d3cb 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -6,6 +6,8 @@ exclude: |
   ^setup/|/static/description/index\.html$|
   # We don't want to mess with tool-generated files
   .svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/|
+  # Maybe reactivate this when all README files include prettier ignore tags?
+  ^README\.md$|
   # Library files can have extraneous formatting (even minimized)
   /static/(src/)?lib/|
   # Repos using Sphinx to generate docs don't need prettying
@@ -14,7 +16,7 @@ exclude: |
   (LICENSE.*|COPYING.*)
 default_language_version:
   python: python3
-  node: "14.13.0"
+  node: "14.18.0"
 repos:
   - repo: local
     hooks:
@@ -26,7 +28,7 @@ repos:
         language: fail
         files: "\\.rej$"
   - repo: https://github.com/oca/maintainer-tools
-    rev: 7d8a9f9ad73db0976fb03cbee43d953bc29b89e9
+    rev: dfba427ba03900b69e0a7f2c65890dc48921d36a
     hooks:
       # update the NOT INSTALLABLE ADDONS section above
       - id: oca-update-pre-commit-excluded-addons
@@ -48,18 +50,18 @@ repos:
     hooks:
       - id: black
   - repo: https://github.com/pre-commit/mirrors-prettier
-    rev: v2.6.2
+    rev: v2.4.1
     hooks:
       - id: prettier
         name: prettier (with plugin-xml)
         additional_dependencies:
-          - "prettier@2.1.2"
-          - "@prettier/plugin-xml@0.12.0"
+          - "prettier@2.4.1"
+          - "@prettier/plugin-xml@1.1.0"
         args:
           - --plugin=@prettier/plugin-xml
         files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
   - repo: https://github.com/pre-commit/mirrors-eslint
-    rev: v8.15.0
+    rev: v7.32.0
     hooks:
       - id: eslint
         verbose: true
@@ -67,7 +69,7 @@ repos:
           - --color
           - --fix
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.2.0
+    rev: v4.0.1
     hooks:
       - id: trailing-whitespace
         # exclude autogenerated files
@@ -89,12 +91,12 @@ repos:
       - id: mixed-line-ending
         args: ["--fix=lf"]
   - repo: https://github.com/asottile/pyupgrade
-    rev: v2.32.1
+    rev: v2.29.0
     hooks:
       - id: pyupgrade
         args: ["--keep-percent-format"]
   - repo: https://github.com/PyCQA/isort
-    rev: 5.10.1
+    rev: 5.9.3
     hooks:
       - id: isort
         name: isort except __init__.py
@@ -106,20 +108,16 @@ repos:
     hooks:
       - id: flake8
         name: flake8
-        additional_dependencies: ["flake8-bugbear==20.1.4"]
-  - repo: https://github.com/PyCQA/pylint
-    rev: v2.11.1
+        additional_dependencies: ["flake8-bugbear==21.9.2"]
+  - repo: https://github.com/OCA/pylint-odoo
+    rev: 7.0.2
     hooks:
-      - id: pylint
+      - id: pylint_odoo
         name: pylint with optional checks
         args:
           - --rcfile=.pylintrc
           - --exit-zero
         verbose: true
-        additional_dependencies: &pylint_deps
-          - pylint-odoo==5.0.5
-      - id: pylint
-        name: pylint with mandatory checks
+      - id: pylint_odoo
         args:
           - --rcfile=.pylintrc-mandatory
-        additional_dependencies: *pylint_deps
diff --git a/.pylintrc b/.pylintrc
index dc6270e15be0c08da00e768a570f27c785d8630e..d431ca78d44080ba32c20c6991c2655f2ab6423b 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -8,7 +8,7 @@ manifest_required_authors=Le Filament
 manifest_required_keys=license
 manifest_deprecated_keys=description,active
 license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
-valid_odoo_versions=14.0
+valid_odoo_versions=15.0
 
 [MESSAGES CONTROL]
 disable=all
@@ -64,6 +64,38 @@ enable=anomalous-backslash-in-string,
     use-vim-comment,
     wrong-tabs-instead-of-spaces,
     xml-syntax-error,
+    attribute-string-redundant,
+    character-not-valid-in-resource-link,
+    consider-merging-classes-inherited,
+    context-overridden,
+    create-user-wo-reset-password,
+    dangerous-filter-wo-user,
+    dangerous-qweb-replace-wo-priority,
+    deprecated-data-xml-node,
+    deprecated-openerp-xml-node,
+    duplicate-po-message-definition,
+    except-pass,
+    file-not-used,
+    invalid-commit,
+    manifest-maintainers-list,
+    missing-newline-extrafiles,
+    missing-readme,
+    missing-return,
+    odoo-addons-relative-import,
+    old-api7-method-defined,
+    po-msgstr-variables,
+    po-syntax-error,
+    renamed-field-parameter,
+    resource-not-exist,
+    str-format-used,
+    test-folder-imported,
+    translation-contains-variable,
+    translation-positional-used,
+    unnecessary-utf8-coding-comment,
+    website-manifest-key-not-valid-uri,
+    xml-attribute-translatable,
+    xml-deprecated-qweb-directive,
+    xml-deprecated-tree-attribute,
     # messages that do not cause the lint step to fail
     consider-merging-classes-inherited,
     create-user-wo-reset-password,
@@ -73,6 +105,7 @@ enable=anomalous-backslash-in-string,
     invalid-commit,
     missing-manifest-dependency,
     missing-newline-extrafiles,
+    missing-readme,
     no-utf8-coding-comment,
     odoo-addons-relative-import,
     old-api7-method-defined,
diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory
index 43ea23947166ff8080219007cfae43ec54a28f8e..189c548631665bef116fc4d0df3b986f9727df31 100644
--- a/.pylintrc-mandatory
+++ b/.pylintrc-mandatory
@@ -8,7 +8,7 @@ manifest_required_authors=Le Filament
 manifest_required_keys=license
 manifest_deprecated_keys=description,active
 license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
-valid_odoo_versions=14.0
+valid_odoo_versions=15.0
 
 [MESSAGES CONTROL]
 disable=all
@@ -56,7 +56,39 @@ enable=anomalous-backslash-in-string,
     unreachable,
     use-vim-comment,
     wrong-tabs-instead-of-spaces,
-    xml-syntax-error
+    xml-syntax-error,
+    attribute-string-redundant,
+    character-not-valid-in-resource-link,
+    consider-merging-classes-inherited,
+    context-overridden,
+    create-user-wo-reset-password,
+    dangerous-filter-wo-user,
+    dangerous-qweb-replace-wo-priority,
+    deprecated-data-xml-node,
+    deprecated-openerp-xml-node,
+    duplicate-po-message-definition,
+    except-pass,
+    file-not-used,
+    invalid-commit,
+    manifest-maintainers-list,
+    missing-newline-extrafiles,
+    missing-readme,
+    missing-return,
+    odoo-addons-relative-import,
+    old-api7-method-defined,
+    po-msgstr-variables,
+    po-syntax-error,
+    renamed-field-parameter,
+    resource-not-exist,
+    str-format-used,
+    test-folder-imported,
+    translation-contains-variable,
+    translation-positional-used,
+    unnecessary-utf8-coding-comment,
+    website-manifest-key-not-valid-uri,
+    xml-attribute-translatable,
+    xml-deprecated-qweb-directive,
+    xml-deprecated-tree-attribute
 
 [REPORTS]
 msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
diff --git a/__init__.py b/__init__.py
index 0ae31d94d214966d19df60c54ef75d57fe706bc5..ee5475c4a3ad710641ec1f79798350c41985f64d 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,4 +1 @@
-# Copyright 2021 Le Filament (https://le-filament.com)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
-
 from . import controllers, models, wizard
diff --git a/__manifest__.py b/__manifest__.py
index a3c08a27c42ad51bbd3d1c0b3c8418a349f4022a..d34ebcf3cef083f35d2d6ec86327859764a6af86 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,12 +1,9 @@
-# Copyright 2022 Le Filament (https://le-filament.com)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
-
 {
     "name": "Le Filament - Release",
     "summary": "Gestion des mise en production logicielles",
     "author": "Le Filament",
     "website": "https://le-filament.com",
-    "version": "14.0.1.0.1",
+    "version": "15.0.1.0.1",
     "license": "AGPL-3",
     "depends": [
         "web",
@@ -18,7 +15,6 @@
         # wizard
         "wizard/multi_partner_release_wizard.xml",
         # templates
-        "templates/assets.xml",
         "templates/header_template.xml",
         "templates/partner_release_detail.xml",
         "templates/partner_release_list.xml",
@@ -30,9 +26,9 @@
         # views menu
         "views/menus.xml",
     ],
-    "qweb": [
-        "static/src/xml/*.xml",
-    ],
+    "assets": {
+        "web.assets_frontend": ["lefilament_release/static/src/css/portal.css"],
+    },
     "installable": True,
     "auto_install": False,
 }
diff --git a/controllers/__init__.py b/controllers/__init__.py
index abacf04840d4a28b202898e50c6e7608c743acc9..3512ec93f73fff1dc1885b8a3e42d65980dba163 100644
--- a/controllers/__init__.py
+++ b/controllers/__init__.py
@@ -1,4 +1 @@
-# Copyright 2022 Le Filament (https://le-filament.com)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
-
 from . import banner_release, main, portal
diff --git a/controllers/main.py b/controllers/main.py
index ac60913ba26e2aa500474778ba8ec87a8c46c444..f7951a5ec30803d8a7583266e0ce59fba1d469fb 100644
--- a/controllers/main.py
+++ b/controllers/main.py
@@ -13,7 +13,7 @@ class ReleaseController(http.Controller):
         ["/post-modules"],
         type="json",
         auth="none",
-        method=["POST"],
+        methods=["POST"],
         csrf=False,
     )
     def post_modules(self):
diff --git a/models/__init__.py b/models/__init__.py
index 14713b01b588a4c44cc4f259decb2d314b4c7924..aeb338537810bef23364dfda7c0332e9137cbc72 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,6 +1,3 @@
-# Copyright 2022 Le Filament (https://le-filament.com)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
-
 from . import res_partner
 from . import res_partner_module
 from . import res_partner_release
diff --git a/models/res_partner.py b/models/res_partner.py
index 541acee01ebc07d9638f1b6f011fa5674c0cb6f1..211d4e4eae5285f1c3b9487f16da3fb5b3f9cdf6 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,4 +1,4 @@
-# © 2022 Le Filament (<http://www.le-filament.com>)
+# Copyright 2022 Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 
diff --git a/models/res_partner_release.py b/models/res_partner_release.py
index b32e56253602f8b711941896c581df154fb58167..8bc36940433ce619f92e95f9343e9965b58b1cd9 100644
--- a/models/res_partner_release.py
+++ b/models/res_partner_release.py
@@ -43,7 +43,7 @@ class PartnerRelease(models.Model):
         string="Modules mis à jour",
         copy=False,
     )
-    description = fields.Text("Description")
+    description = fields.Text()
     access_token = fields.Char("Security Token", copy=False)
     release_share_link = fields.Char(
         string="Lien de partage client",
diff --git a/templates/assets.xml b/templates/assets.xml
deleted file mode 100644
index 884557ddc3c452ebf7cd1457f0c693764a4efbed..0000000000000000000000000000000000000000
--- a/templates/assets.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<odoo>
-    <!-- Portal CSS -->
-    <template
-        id="lefilame,t_assets_frontend"
-        inherit_id="portal.assets_frontend"
-        name="Le Filament Release Portal Assets"
-        priority="15"
-    >
-        <xpath expr="//link[last()]" position="after">
-            <link
-                rel="stylesheet"
-                type="text/scss"
-                href="/lefilament_release/static/src/css/portal.css"
-            />
-        </xpath>
-    </template>
-
-</odoo>
diff --git a/views/menus.xml b/views/menus.xml
index cb0bcbd4400d3538fefef45c5437fbbd5a637a54..8e1cf38453c2f33be5657e95b667538c628a080e 100644
--- a/views/menus.xml
+++ b/views/menus.xml
@@ -1,37 +1,33 @@
 <?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright 2022 Le Filament
+<!-- Copyright 2022 Le Filament (<https://le-filament.com>)
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <data>
+    <menuitem
+        name="Gestion de releases"
+        id="res_partner_release_menu"
+        sequence="150"
+        web_icon="lefilament_release,static/description/menu_icon.png"
+    />
 
-        <menuitem
-            name="Gestion de releases"
-            id="res_partner_release_menu"
-            sequence="150"
-            web_icon="lefilament_release,static/description/menu_icon.png"
-        />
-
-        <menuitem
-            name="Gestion de releases"
-            id="res_partner_release_all_menu"
-            parent="res_partner_release_menu"
-            action="res_partner_release_act_window"
-            sequence="10"
-        />
-        <menuitem
-            name="Détail par module"
-            id="res_partner_release_module_menu"
-            action="res_partner_release_module_act_window"
-            parent="res_partner_release_menu"
-            sequence="20"
-        />
-        <menuitem
-            name="Liste des modules"
-            id="res_partner_module_menu"
-            action="res_partner_module_act_window"
-            parent="res_partner_release_menu"
-            sequence="30"
-        />
-
-    </data>
+    <menuitem
+        name="Gestion de releases"
+        id="res_partner_release_all_menu"
+        parent="res_partner_release_menu"
+        action="res_partner_release_act_window"
+        sequence="10"
+    />
+    <menuitem
+        name="Détail par module"
+        id="res_partner_release_module_menu"
+        action="res_partner_release_module_act_window"
+        parent="res_partner_release_menu"
+        sequence="20"
+    />
+    <menuitem
+        name="Liste des modules"
+        id="res_partner_module_menu"
+        action="res_partner_module_act_window"
+        parent="res_partner_release_menu"
+        sequence="30"
+    />
 </odoo>
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 064148de46fdb516d8a05bb27bb444b6b63166dc..70b423629057c56db2c20159291fc5ba8965205d 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -1,76 +1,67 @@
 <?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright 2022 Le Filament
+<!-- Copyright 2022 Le Filament (<https://le-filament.com>)
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <data>
-
-        <record id="res_partner_form_inherit" model="ir.ui.view">
-            <field name="name">res.partner.form</field>
-            <field name="model">res.partner</field>
-            <field name="inherit_id" ref="base.view_partner_form" />
-            <field name="priority" eval="110" />
-            <field name="arch" type="xml">
-                <xpath expr="//page[@name='internal_notes']" position="after">
-                    <page
-                        name="modules"
-                        attrs="{'invisible': [('is_company', '!=', True)]}"
-                        string="Modules Odoo"
-                    >
+    <record id="res_partner_form_inherit" model="ir.ui.view">
+        <field name="name">res.partner.form</field>
+        <field name="model">res.partner</field>
+        <field name="inherit_id" ref="base.view_partner_form" />
+        <field name="priority" eval="110" />
+        <field name="arch" type="xml">
+            <xpath expr="//page[@name='internal_notes']" position="after">
+                <page
+                    name="modules"
+                    attrs="{'invisible': [('is_company', '!=', True)]}"
+                    string="Modules Odoo"
+                >
+                    <group>
                         <group>
-                            <group>
-                                <field name="server_ip" />
-                            </group>
-                            <group>
-                            </group>
+                            <field name="server_ip" />
                         </group>
-                        <field name="module_ids">
-                            <tree editable="top">
-                                <field name="name" />
-                                <field name="author_type" />
-                                <field name="author" />
-                                <field name="latest_version" />
-                            </tree>
-                        </field>
-                    </page>
-                    <page
-                        name="release"
-                        attrs="{'invisible': [('is_company', '!=', True)]}"
-                        string="Releases"
-                    >
                         <group>
-                            <field
-                                name="release_share_link"
-                                widget="CopyClipboardChar"
-                                options="{'string': 'Copier le lien'}"
-                            />
                         </group>
+                    </group>
+                    <field name="module_ids">
+                        <tree editable="top">
+                            <field name="name" />
+                            <field name="author_type" />
+                            <field name="author" />
+                            <field name="latest_version" />
+                        </tree>
+                    </field>
+                </page>
+                <page
+                    name="release"
+                    attrs="{'invisible': [('is_company', '!=', True)]}"
+                    string="Releases"
+                >
+                    <group>
                         <field
-                            name="release_ids"
-                            options="{'no_create': 1, 'no_edit': 1}"
-                        >
-                            <tree>
-                                <field name="release_date" />
-                                <field name="user_id" />
-                                <field name="description" />
-                                <field
-                                    name="release_module_ids"
-                                    widget="many2many_tags"
-                                />
-                            </tree>
-                        </field>
-                    </page>
-                </xpath>
-            </field>
-        </record>
+                            name="release_share_link"
+                            widget="CopyClipboardChar"
+                            options="{'string': 'Copier le lien'}"
+                        />
+                    </group>
+                    <field name="release_ids" options="{'no_create': 1, 'no_edit': 1}">
+                        <tree>
+                            <field name="release_date" />
+                            <field name="user_id" />
+                            <field name="description" />
+                            <field name="release_module_ids" widget="many2many_tags" />
+                        </tree>
+                    </field>
+                </page>
+            </xpath>
+        </field>
+    </record>
 
-        <!-- Action Server -->
-        <record id="model_res_partner_release_action_share" model="ir.actions.server">
-            <field name="name">Générer le lien de la release</field>
-            <field name="model_id" ref="model_res_partner" />
-            <field name="binding_model_id" ref="model_res_partner" />
-            <field name="state">code</field>
-            <field name="code">action = records.set_release_url()</field>
-        </record>
+    <!-- Action Server -->
+    <record id="model_res_partner_release_action_share" model="ir.actions.server">
+        <field name="name">Générer le lien de la release</field>
+        <field name="model_id" ref="model_res_partner" />
+        <field name="binding_model_id" ref="model_res_partner" />
+        <field name="state">code</field>
+        <field name="code">action = records.set_release_url()</field>
+    </record>
 
-    </data>
 </odoo>
diff --git a/views/res_partner_module.xml b/views/res_partner_module.xml
index f793eb065ad03a25b2304305860bd7a49064d6be..94ebfdce5540cb4c50d9173409257fce49db9718 100644
--- a/views/res_partner_module.xml
+++ b/views/res_partner_module.xml
@@ -1,47 +1,47 @@
 <?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2022 Le Filament (<https://le-filament.com>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <data>
-        <!-- Search View -->
-        <record id="res_partner_module_search_view" model="ir.ui.view">
-            <field name="name">res.partner.module.search</field>
-            <field name="model">res.partner.module</field>
-            <field name="arch" type="xml">
-                <search string="Modules">
-                    <field name="name" />
-                    <field name="author_type" />
-                    <field name="author" />
-                    <field name="partner_ids" />
-                </search>
-            </field>
-        </record>
+    <!-- Search View -->
+    <record id="res_partner_module_search_view" model="ir.ui.view">
+        <field name="name">res.partner.module.search</field>
+        <field name="model">res.partner.module</field>
+        <field name="arch" type="xml">
+            <search string="Modules">
+                <field name="name" />
+                <field name="author_type" />
+                <field name="author" />
+                <field name="partner_ids" />
+            </search>
+        </field>
+    </record>
 
-        <!-- Tree View -->
-        <record id="res_partner_module_tree_view" model="ir.ui.view">
-            <field name="name">res.partner.module.tree</field>
-            <field name="model">res.partner.module</field>
-            <field name="arch" type="xml">
-                <tree string="Modules">
-                    <field name="name" />
-                    <field name="author_type" />
-                    <field name="author" />
-                    <field name="latest_version" />
-                    <field
-                        name="partner_ids"
-                        options="{'no_create': 1,}"
-                        widget="many2many_tags"
-                    />
-                    <field name="active" />
-                </tree>
-            </field>
-        </record>
+    <!-- Tree View -->
+    <record id="res_partner_module_tree_view" model="ir.ui.view">
+        <field name="name">res.partner.module.tree</field>
+        <field name="model">res.partner.module</field>
+        <field name="arch" type="xml">
+            <tree>
+                <field name="name" />
+                <field name="author_type" />
+                <field name="author" />
+                <field name="latest_version" />
+                <field
+                    name="partner_ids"
+                    options="{'no_create': 1,}"
+                    widget="many2many_tags"
+                />
+                <field name="active" />
+            </tree>
+        </field>
+    </record>
 
-        <!-- Action Window -->
-        <record id="res_partner_module_act_window" model="ir.actions.act_window">
-            <field name="name">Liste Modules</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">res.partner.module</field>
-            <field name="view_mode">tree</field>
-        </record>
+    <!-- Action Window -->
+    <record id="res_partner_module_act_window" model="ir.actions.act_window">
+        <field name="name">Liste Modules</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">res.partner.module</field>
+        <field name="view_mode">tree</field>
+    </record>
 
-    </data>
 </odoo>
diff --git a/views/res_partner_release.xml b/views/res_partner_release.xml
index fee3b93d649db21b67eb088dce048e658a192a7d..a5ad8b76895ca088d6e5a2dc86d892de7e32c23e 100644
--- a/views/res_partner_release.xml
+++ b/views/res_partner_release.xml
@@ -1,137 +1,134 @@
 <?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2022 Le Filament (<https://le-filament.com>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <data>
-        <!-- Search View -->
-        <record id="res_partner_release_search_view" model="ir.ui.view">
-            <field name="name">res.partner.release.search</field>
-            <field name="model">res.partner.release</field>
-            <field name="arch" type="xml">
-                <search string="Releases Client">
-                    <field name="partner_id" />
-                    <field name="user_id" />
-                    <field name="release_date" />
+    <!-- Search View -->
+    <record id="res_partner_release_search_view" model="ir.ui.view">
+        <field name="name">res.partner.release.search</field>
+        <field name="model">res.partner.release</field>
+        <field name="arch" type="xml">
+            <search string="Releases Client">
+                <field name="partner_id" />
+                <field name="user_id" />
+                <field name="release_date" />
 
-                    <group expand="1" string="Group By">
-                        <filter
-                            string="Client"
-                            name="group_partner"
-                            context="{'group_by':'partner_id'}"
-                        />
-                        <filter
-                            string="Utilisateur"
-                            name="group_user"
-                            context="{'group_by':'user_id'}"
-                        />
-                        <filter
-                            string="Date"
-                            name="group_release_date"
-                            context="{'group_by':'release_date'}"
-                        />
-                    </group>
-                </search>
-            </field>
-        </record>
+                <group expand="1" string="Group By">
+                    <filter
+                        string="Client"
+                        name="group_partner"
+                        context="{'group_by':'partner_id'}"
+                    />
+                    <filter
+                        string="Utilisateur"
+                        name="group_user"
+                        context="{'group_by':'user_id'}"
+                    />
+                    <filter
+                        string="Date"
+                        name="group_release_date"
+                        context="{'group_by':'release_date'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
 
-        <!-- Form View -->
-        <record id="res_partner_release_form_view" model="ir.ui.view">
-            <field name="name">res.partner.release.form</field>
-            <field name="model">res.partner.release</field>
-            <field name="arch" type="xml">
-                <form string="Releases Client">
-                    <sheet>
-                        <div class="oe_title">
-                            <h1>
-                                <field name="name" readonly="1" />
-                            </h1>
-                        </div>
-                        <group>
-                            <group name="partner_details">
-                                <field name="release_date" />
-                                <field
-                                    name="partner_id"
-                                    widget="res_partner_many2one"
-                                    options="{'always_reload': True, 'no_create': True, 'no_edit': True}"
-                                />
-                            </group>
-                            <group name="release_details">
+    <!-- Form View -->
+    <record id="res_partner_release_form_view" model="ir.ui.view">
+        <field name="name">res.partner.release.form</field>
+        <field name="model">res.partner.release</field>
+        <field name="arch" type="xml">
+            <form string="Releases Client">
+                <sheet>
+                    <div class="oe_title">
+                        <h1>
+                            <field name="name" readonly="1" />
+                        </h1>
+                    </div>
+                    <group>
+                        <group name="partner_details">
+                            <field name="release_date" />
+                            <field
+                                name="partner_id"
+                                widget="res_partner_many2one"
+                                options="{'always_reload': True, 'no_create': True, 'no_edit': True}"
+                            />
+                        </group>
+                        <group name="release_details">
+                            <field
+                                name="user_id"
+                                options="{'no_create': True, 'no_edit': True}"
+                            />
+                            <field name="create_date" string="Créé le" />
+                            <field
+                                name="release_share_link"
+                                widget="CopyClipboardChar"
+                                options="{'string': 'Copier le lien'}"
+                            />
+                        </group>
+                        <hr />
+                        <label for="description" class="font-weight-bold" />
+                        <field name="description" />
+                        <hr />
+                        <label for="release_module_ids" class="font-weight-bold" />
+                        <field
+                            name="release_module_ids"
+                            context="{'default_release_id': active_id}"
+                        >
+                            <tree editable="top">
+                                <field name="partner_id" invisible="1" />
+                                <field name="release_id" invisible="1" />
                                 <field
-                                    name="user_id"
+                                    name="module_id"
                                     options="{'no_create': True, 'no_edit': True}"
                                 />
-                                <field name="create_date" string="Créé le" />
-                                <field
-                                    name="release_share_link"
-                                    widget="CopyClipboardChar"
-                                    options="{'string': 'Copier le lien'}"
-                                />
-                            </group>
-                            <hr />
-                            <label for="description" class="font-weight-bold" />
-                            <field name="description" />
-                            <hr />
-                            <label for="release_module_ids" class="font-weight-bold" />
-                            <field
-                                name="release_module_ids"
-                                context="{'default_release_id': active_id}"
-                            >
-                                <tree editable="top">
-                                    <field name="partner_id" invisible="1" />
-                                    <field name="release_id" invisible="1" />
-                                    <field
-                                        name="module_id"
-                                        options="{'no_create': True, 'no_edit': True}"
-                                    />
-                                    <field name="release_type" />
-                                    <field name="log" />
-                                </tree>
-                            </field>
-                        </group>
-                    </sheet>
-                    <div class="oe_chatter">
-                        <field name="message_follower_ids" />
-                        <field name="activity_ids" />
-                        <field name="message_ids" />
-                    </div>
-                </form>
-            </field>
-        </record>
+                                <field name="release_type" />
+                                <field name="log" />
+                            </tree>
+                        </field>
+                    </group>
+                </sheet>
+                <div class="oe_chatter">
+                    <field name="message_follower_ids" />
+                    <field name="activity_ids" />
+                    <field name="message_ids" />
+                </div>
+            </form>
+        </field>
+    </record>
 
-        <!-- Tree View -->
-        <record id="res_partner_release_tree_view" model="ir.ui.view">
-            <field name="name">res.partner.release.tree</field>
-            <field name="model">res.partner.release</field>
-            <field name="arch" type="xml">
-                <tree
-                    string="Releases Client"
-                    banner_route="/lefilament_release/header"
-                >
-                    <field name="release_date" />
-                    <field name="user_id" />
-                    <field name="partner_id" />
-                    <field name="name" />
-                </tree>
-            </field>
-        </record>
+    <!-- Tree View -->
+    <record id="res_partner_release_tree_view" model="ir.ui.view">
+        <field name="name">res.partner.release.tree</field>
+        <field name="model">res.partner.release</field>
+        <field name="arch" type="xml">
+            <tree banner_route="/lefilament_release/header">
+                <field name="release_date" />
+                <field name="user_id" />
+                <field name="partner_id" />
+                <field name="name" />
+            </tree>
+        </field>
+    </record>
 
-        <!-- Pivot View -->
-        <record id="res_partner_release_pivot_view" model="ir.ui.view">
-            <field name="name">res.partner.release.pivot</field>
-            <field name="model">res.partner.release</field>
-            <field name="arch" type="xml">
-                <pivot string="Releases Client">
-                    <field name="partner_id" type="row" />
-                    <field name="release_date" type="col" />
-                </pivot>
-            </field>
-        </record>
+    <!-- Pivot View -->
+    <record id="res_partner_release_pivot_view" model="ir.ui.view">
+        <field name="name">res.partner.release.pivot</field>
+        <field name="model">res.partner.release</field>
+        <field name="arch" type="xml">
+            <pivot string="Releases Client">
+                <field name="partner_id" type="row" />
+                <field name="release_date" type="col" />
+            </pivot>
+        </field>
+    </record>
 
-        <!-- Action Window -->
-        <record id="res_partner_release_act_window" model="ir.actions.act_window">
-            <field name="name">Releases Client</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">res.partner.release</field>
-            <field name="view_mode">tree,form,pivot</field>
-        </record>
+    <!-- Action Window -->
+    <record id="res_partner_release_act_window" model="ir.actions.act_window">
+        <field name="name">Releases Client</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">res.partner.release</field>
+        <field name="view_mode">tree,form,pivot</field>
+    </record>
 
-    </data>
 </odoo>
diff --git a/views/res_partner_release_module.xml b/views/res_partner_release_module.xml
index 834013b39f46d796ec60e36c16fb9869122c12f8..16da3a700e3ec4a5e176c0b91bfd7ec0854af70d 100644
--- a/views/res_partner_release_module.xml
+++ b/views/res_partner_release_module.xml
@@ -1,88 +1,85 @@
 <?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2022 Le Filament (<https://le-filament.com>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <data>
-        <!-- Search View -->
-        <record id="res_partner_release_module_search_view" model="ir.ui.view">
-            <field name="name">res.partner.release.module.search</field>
-            <field name="model">res.partner.release.module</field>
-            <field name="arch" type="xml">
-                <search string="Releases">
-                    <field name="module_id" />
-                    <field name="release_type" />
+    <!-- Search View -->
+    <record id="res_partner_release_module_search_view" model="ir.ui.view">
+        <field name="name">res.partner.release.module.search</field>
+        <field name="model">res.partner.release.module</field>
+        <field name="arch" type="xml">
+            <search string="Releases">
+                <field name="module_id" />
+                <field name="release_type" />
 
-                    <group expand="1" string="Group By">
-                        <filter
-                            string="Module"
-                            name="group_module"
-                            context="{'group_by':'module_id'}"
-                        />
-                    </group>
-                </search>
-            </field>
-        </record>
+                <group expand="1" string="Group By">
+                    <filter
+                        string="Module"
+                        name="group_module"
+                        context="{'group_by':'module_id'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
 
-        <!-- Form View -->
-        <record id="res_partner_release_module_form_view" model="ir.ui.view">
-            <field name="name">res.partner.release.module.form</field>
-            <field name="model">res.partner.release.module</field>
-            <field name="arch" type="xml">
-                <form string="Releases" create="0" delete="0" edit="0">
-                    <sheet>
-                        <group>
-                            <group name="module_details">
-                                <field name="release_date" />
-                                <field
-                                    name="module_id"
-                                    options="{'no_create': True, 'no_edit': True}"
-                                />
-                            </group>
-                            <group name="release_details">
-                                <field name="release_type" />
-                                <field name="create_date" string="Créé le" />
-                            </group>
-                            <hr />
-                            <label for="log" class="font-weight-bold" />
-                            <field name="log" />
+    <!-- Form View -->
+    <record id="res_partner_release_module_form_view" model="ir.ui.view">
+        <field name="name">res.partner.release.module.form</field>
+        <field name="model">res.partner.release.module</field>
+        <field name="arch" type="xml">
+            <form string="Releases" create="0" delete="0" edit="0">
+                <sheet>
+                    <group>
+                        <group name="module_details">
+                            <field name="release_date" />
+                            <field
+                                name="module_id"
+                                options="{'no_create': True, 'no_edit': True}"
+                            />
+                        </group>
+                        <group name="release_details">
+                            <field name="release_type" />
+                            <field name="create_date" string="Créé le" />
                         </group>
-                    </sheet>
-                </form>
-            </field>
-        </record>
+                        <hr />
+                        <label for="log" class="font-weight-bold" />
+                        <field name="log" />
+                    </group>
+                </sheet>
+            </form>
+        </field>
+    </record>
 
-        <!-- Tree View -->
-        <record id="res_partner_release_module_tree_view" model="ir.ui.view">
-            <field name="name">res.partner.release.module.tree</field>
-            <field name="model">res.partner.release.module</field>
-            <field name="arch" type="xml">
-                <tree string="Releases" create="0" delete="0" edit="0">
-                    <field name="release_date" />
-                    <field name="module_id" />
-                    <field name="release_type" />
-                </tree>
-            </field>
-        </record>
+    <!-- Tree View -->
+    <record id="res_partner_release_module_tree_view" model="ir.ui.view">
+        <field name="name">res.partner.release.module.tree</field>
+        <field name="model">res.partner.release.module</field>
+        <field name="arch" type="xml">
+            <tree create="0" delete="0" edit="0">
+                <field name="release_date" />
+                <field name="module_id" />
+                <field name="release_type" />
+            </tree>
+        </field>
+    </record>
 
-        <!-- Pivot View -->
-        <record id="res_partner_release_module_pivot_view" model="ir.ui.view">
-            <field name="name">res.partner.release.module.pivot</field>
-            <field name="model">res.partner.release.module</field>
-            <field name="arch" type="xml">
-                <pivot string="Releases">
-                    <field name="module_id" type="row" />
-                </pivot>
-            </field>
-        </record>
+    <!-- Pivot View -->
+    <record id="res_partner_release_module_pivot_view" model="ir.ui.view">
+        <field name="name">res.partner.release.module.pivot</field>
+        <field name="model">res.partner.release.module</field>
+        <field name="arch" type="xml">
+            <pivot string="Releases">
+                <field name="module_id" type="row" />
+            </pivot>
+        </field>
+    </record>
 
-        <!-- Action Window -->
-        <record
-            id="res_partner_release_module_act_window"
-            model="ir.actions.act_window"
-        >
-            <field name="name">Détail Modules</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">res.partner.release.module</field>
-            <field name="view_mode">tree,form,pivot</field>
-        </record>
+    <!-- Action Window -->
+    <record id="res_partner_release_module_act_window" model="ir.actions.act_window">
+        <field name="name">Détail Modules</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">res.partner.release.module</field>
+        <field name="view_mode">tree,form,pivot</field>
+    </record>
 
-    </data>
 </odoo>
diff --git a/wizard/multi_partner_release_wizard.py b/wizard/multi_partner_release_wizard.py
index 35228c6c3ea003bee9cd719664e7542e3c8b8f58..74a69d89d40484c1087aab37063e4ef84f176edc 100644
--- a/wizard/multi_partner_release_wizard.py
+++ b/wizard/multi_partner_release_wizard.py
@@ -33,7 +33,7 @@ class MultiPartnerReleaseWizard(models.TransientModel):
         inverse_name="release_id",
         string="Modules mis à jour",
     )
-    description = fields.Text("Description")
+    description = fields.Text()
 
     # ------------------------------------------------------
     # Button actions
diff --git a/wizard/multi_partner_release_wizard.xml b/wizard/multi_partner_release_wizard.xml
index 436dc3b5f363f98c439f8d2177bdecd0195ddf53..1c48801b855d2f33eddaf314d82d81cadf13d7a5 100644
--- a/wizard/multi_partner_release_wizard.xml
+++ b/wizard/multi_partner_release_wizard.xml
@@ -1,74 +1,71 @@
 <?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2022 Le Filament (<https://le-filament.com>)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <data>
-        <!-- Form View -->
-        <record id="multi_partner_release_wizard_form_view" model="ir.ui.view">
-            <field name="name">multi.partner.release.wizard.form</field>
-            <field name="model">multi.partner.release.wizard</field>
-            <field name="arch" type="xml">
-                <form string="Releases Client">
-                    <sheet>
-                        <group>
-                            <group name="partner_details">
-                                <field name="release_date" />
-                                <field
-                                    name="partner_ids"
-                                    widget="many2many_tags"
-                                    options="{'always_reload': True, 'no_create': True, 'no_edit': True}"
-                                />
-                            </group>
-                            <group name="release_details">
-                                <field
-                                    name="user_id"
-                                    options="{'no_create': True, 'no_edit': True}"
-                                />
-                                <field name="create_date" string="Créé le" />
-                            </group>
-                            <hr />
-                            <label for="description" class="font-weight-bold" />
-                            <field name="description" />
-                            <hr />
-                            <label for="release_module_ids" class="font-weight-bold" />
+    <!-- Form View -->
+    <record id="multi_partner_release_wizard_form_view" model="ir.ui.view">
+        <field name="name">multi.partner.release.wizard.form</field>
+        <field name="model">multi.partner.release.wizard</field>
+        <field name="arch" type="xml">
+            <form string="Releases Client">
+                <sheet>
+                    <group>
+                        <group name="partner_details">
+                            <field name="release_date" />
                             <field
-                                name="release_module_ids"
-                                context="{'default_release_id': active_id}"
-                            >
-                                <tree editable="top">
-                                    <field name="release_id" invisible="1" />
-                                    <field
-                                        name="module_id"
-                                        options="{'no_create': True, 'no_edit': True}"
-                                    />
-                                    <field name="release_type" />
-                                    <field name="log" />
-                                </tree>
-                            </field>
+                                name="partner_ids"
+                                widget="many2many_tags"
+                                options="{'always_reload': True, 'no_create': True, 'no_edit': True}"
+                            />
                         </group>
-                        <footer>
-                            <button
-                                name="create_releases"
-                                type="object"
-                                string="Créer les releases"
-                                class="btn-primary"
+                        <group name="release_details">
+                            <field
+                                name="user_id"
+                                options="{'no_create': True, 'no_edit': True}"
                             />
-                            <button string="Fermer" class="oe_link" special="cancel" />
-                        </footer>
-                    </sheet>
-                </form>
-            </field>
-        </record>
+                            <field name="create_date" string="Créé le" />
+                        </group>
+                        <hr />
+                        <label for="description" class="font-weight-bold" />
+                        <field name="description" />
+                        <hr />
+                        <label for="release_module_ids" class="font-weight-bold" />
+                        <field
+                            name="release_module_ids"
+                            context="{'default_release_id': active_id}"
+                        >
+                            <tree editable="top">
+                                <field name="release_id" invisible="1" />
+                                <field
+                                    name="module_id"
+                                    options="{'no_create': True, 'no_edit': True}"
+                                />
+                                <field name="release_type" />
+                                <field name="log" />
+                            </tree>
+                        </field>
+                    </group>
+                    <footer>
+                        <button
+                            name="create_releases"
+                            type="object"
+                            string="Créer les releases"
+                            class="btn-primary"
+                        />
+                        <button string="Fermer" class="oe_link" special="cancel" />
+                    </footer>
+                </sheet>
+            </form>
+        </field>
+    </record>
 
-        <!-- Action Window -->
-        <record
-            id="multi_partner_release_wizard_act_window"
-            model="ir.actions.act_window"
-        >
-            <field name="name">Releases Client</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">multi.partner.release.wizard</field>
-            <field name="view_mode">form</field>
-            <field name="target">new</field>
-        </record>
+    <!-- Action Window -->
+    <record id="multi_partner_release_wizard_act_window" model="ir.actions.act_window">
+        <field name="name">Releases Client</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">multi.partner.release.wizard</field>
+        <field name="view_mode">form</field>
+        <field name="target">new</field>
+    </record>
 
-    </data>
 </odoo>