Odoo Project - Changelogs

odoo_project_changelog
REPOSITORY
REPOSITORYOCA/module-composition-analysis
GIT
GIThttps://github.com/OCA/module-composition-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/module-composition-analysis/tree/18.0/odoo_project_changelog
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Francois Poizat
WEBSITE
WEBSITEhttps://github.com/OCA/module-composition-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/module-composition-analysis:
    - odoo_project
    - odoo_repository
OCA/queue:
    - queue_job
OCA/server-tools:
    - base_time_window
odoo/odoo:
    - base_sparse_field
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES gitpython
odoo-addons-parser
pyyaml
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to generate CHANGELOGs for repositories used within a project.

Changelogs are generated from `git` commits history, and take as input source
and target references from this repository (a commit SHA, branch, tag...).
Only relevant changes done will be listed to not clutter the changelog
(translations, unit tests or documentation updates won't be listed).

The output is an HTML page where the user can easily navigate, fold and unfold sections.

 ![Changelog](./static/img/changelog.png)

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
odoo_project_view_form odoo.project.form.inherit odoo.project notebook Inherits odoo_project.odoo_project_view_form
report_changelog report_changelog ir.ui.view qweb New
Models touched (2)

New fields (4)
  • changelog_enabled_repository_ids One2many → odoo.project.repository
    comodel_name='odoo.project.repository' inverse_name='odoo_project_id' string='Enabled Repositories for CHANGELOG'
  • changelog_state Selection
    copy=False default='none' selection=[('none', 'None'), ('in_progress', 'In progress'), ('done', 'Done')]
  • changelog_url Char
    compute='_compute_changelog_url'
  • used_repository_ids One2many → odoo.project.repository
    comodel_name='odoo.project.repository' context={'active_test': False} inverse_name='odoo_project_id' string='Used Repositories'
Public methods (2)
  • action_generate_changelog(self)
  • action_open_changelog(self)

New fields (6)
  • active Boolean
    default=True string='Include'
  • changelog Serialized
  • deployed_commit Char
    help='The changelog is generated from this commit.'
  • odoo_project_id Many2one → odoo.project
    comodel_name='odoo.project' index=True ondelete='cascade' readonly=True required=True string='Project'
  • repository_branch_id Many2one → odoo.repository.branch
    comodel_name='odoo.repository.branch' index=True ondelete='cascade' required=True string='Repository Branch'
  • target_commit Char
    help='Changelog is generated until this commit. If not set, the latest commit of the branch is used.'
Public methods (1)
  • push_changelog(self, changelog)
    Store the changelog. Called by the scanner.
REPOSITORY
REPOSITORYOCA/module-composition-analysis
GIT
GIThttps://github.com/OCA/module-composition-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/module-composition-analysis/tree/16.0/odoo_project_changelog
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSSébastien Alix, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/module-composition-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:12:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/module-composition-analysis:
    - odoo_project
    - odoo_repository
OCA/queue:
    - queue_job
OCA/server-tools:
    - base_time_window
odoo/odoo:
    - base_sparse_field
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES gitpython
odoo-addons-parser
pyyaml
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to generate CHANGELOGs for repositories used within a project.

Changelogs are generated from `git` commits history, and take as input source
and target references from this repository (a commit SHA, branch, tag...).
Only relevant changes done will be listed to not clutter the changelog
(translations, unit tests or documentation updates won't be listed).

The output is an HTML page where the user can easily navigate, fold and unfold sections.

 ![Changelog](./static/img/changelog.png)

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
odoo_project_view_form odoo.project.form.inherit odoo.project notebook Inherits odoo_project.odoo_project_view_form
report_changelog report_changelog ir.ui.view qweb New
Models touched (2)

New fields (4)
  • changelog_enabled_repository_ids One2many → odoo.project.repository
    comodel_name='odoo.project.repository' inverse_name='odoo_project_id' string='Enabled Repositories for CHANGELOG'
  • changelog_state Selection
    copy=False default='none' selection=[('none', 'None'), ('in_progress', 'In progress'), ('done', 'Done')]
  • changelog_url Char
    compute='_compute_changelog_url'
  • used_repository_ids One2many → odoo.project.repository
    comodel_name='odoo.project.repository' context={'active_test': False} inverse_name='odoo_project_id' string='Used Repositories'
Public methods (2)
  • action_generate_changelog(self)
  • action_open_changelog(self)

New fields (6)
  • active Boolean
    default=True string='Include'
  • changelog Serialized
  • deployed_commit Char
    help='The changelog is generated from this commit.'
  • odoo_project_id Many2one → odoo.project
    comodel_name='odoo.project' index=True ondelete='cascade' readonly=True required=True string='Project'
  • repository_branch_id Many2one → odoo.repository.branch
    comodel_name='odoo.repository.branch' index=True ondelete='cascade' required=True string='Repository Branch'
  • target_commit Char
    help='Changelog is generated until this commit. If not set, the latest commit of the branch is used.'
Public methods (1)
  • push_changelog(self, changelog)
    Store the changelog. Called by the scanner.