Enable Dark Mode!
how-to-version-modules-in-odoo-19.jpg
By: Anupriya Ashok

How to Version Modules in Odoo 19

Technical Odoo 19 Odoo Enterprises Odoo Community

In Odoo 19, proper module versioning is very important because it helps Odoo to track changes, manage upgrades, and keep compatibility between deployments. By changing the version key in your module __manifest__.py file, Odoo will be able to see new versions of your module and upgrade the module.

What the version string means in Odoo 19

In Odoo 19, the standard version format is: 19.0.x.y.z

where:

  • 19 > the Odoo major version (Odoo 19).
  • 0 > Odoo’s minor series (you rarely change this yourself).
  • x > major changes or breaking changes in your module.
  • y > new features or enhancements.
  • z > bugfixes and small patches.

Example:

19.0.1.0.0

This implies that the initial version of the custom module, which is built specifically for Odoo 19, should be stable. Whenever you edit the module, you need to update the version number accordingly based on the scope of work.

Using a systematic versioning process enables the developers, project manager, and the system administrator to get insight into the past of the module, hence assess the effects of the upgrade before it is installed.

Setting the Initial Module Version

Open your module's __manifest__.py file and define the version:

{
   'name': 'Custom Inventory Enhancement',
   'version': '19.0.1.0.0',
   'depends': ['stock'],
   # ...
}

For a new Odoo 19 module, 19.0.1.0.0 is commonly used as the initial stable release version.

The secret of a reliable upgrade, change tracking, and long-term maintainability in Odoo 19 is the right versioning of modules. By using a consistent versioning strategy in your __manifest__.py file, you can communicate the impact of each release, whether it includes new features, bug fixes, or breaking changes. Good version management helps developers, administrators, and users coordinate better and makes module upgrades safer and more predictable.

When to Update the Module Version

You should increment the version each time you make a major change to your module. Changes can be Python code, views, security rules, reports, automated actions, or data files.

Keeping the version number up to date helps teams understand what has changed from release to release and makes sure upgrades are documented well.

1. New Features

If you add new functionality without introducing breaking changes: 19.0.1.0.0 > 19.0.1.1.0

Examples include:

  • Adding a new report.
  • Making a new wizard.
  • Adding more fields.
  • Adding new automation rules
  • Improving current capabilities.

These changes extend the module while remaining compatible with existing installations.

2. Bug Fixes

For minor corrections, patches, or fixes, increment the patch version:

19.0.1.1.0 > 19.0.1.1.1

Examples include:

  • Fixing validation errors
  • Calculations set up.
  • Updating tags or translations.
  • Solving access right problems.
  • Addressing view/reporting issues.

Bug-fix releases are not supposed to change how users use the module, they are supposed to improve stability.

3. Breaking Changes

When making changes that affect compatibility, such as removing fields or modifying core behavior: 19.0.1.1.1 > 19.0.2.0.0

Examples include:

  • Removing current fields.
  • Renaming models.
  • Changing work-flows.
  • Changing APIs used by other modules.
  • Replaces the core business logic

These changes may require data migration, code adjustments, or additional testing before deployment.

Odoo compares the version in __manifest__.py with the installed version stored in ir_module_module to determine whether a module upgrade is available.

Best Practices for Module Versioning in Odoo 19

Following a consistent versioning strategy helps keep modules maintainable and reduces upgrade risks.

  • Increment version for every non-trivial change.
  • Do not change the versioning convention during the life cycle of the module.
  • The following is a description of the current state of the code.
  • Create separate branches for different Odoo versions (like 17, 18, 19 etc.)
  • Maintain a changelog of new features, fixes and upgrades.
  • Roll out test module upgrades to production environments first.
  • Document breaking changes so that admins know what they are getting into before upgrading.

Version Reference Table

VersionMeaning
19.0.1.0.0Initial stable release
19.0.1.1.0New features or enhancements
19.0.1.1.1Bug fixes and patches
19.0.2.0.0Major or breaking changes

The secret of a reliable upgrade, change tracking, and long-term maintainability in Odoo 19 is the right versioning of modules. By using a consistent versioning strategy in your __manifest__.py file, you can communicate the impact of each release, whether it includes new features, bug fixes, or breaking changes. Good version management helps developers, administrators, and users coordinate better and makes module upgrades safer and more predictable.

To read more about What Is Module Versioning in Odoo 19? Complete Explanation of 19.0.1.0.0, refer to our blog What Is Module Versioning in Odoo 19? Complete Explanation of 19.0.1.0.0.


Frequently Asked Questions

What is the proper way of versioning my Odoo 19 modules?

19.0.1.1.1. E.g., the first stable version would normally be 19.0.1.0.0.

Which version of the module does Odoo use to check?

The version of the module is taken from the value of the version key in the module's __manifest__.py file.

How can I increase the x in 19.0.x.y.z?

The number should be increased in case of introducing breaking changes.

If you need any assistance in odoo, we are online, please chat with us.



0
Comments



Leave a comment



Recent Posts

whatsapp_icon
location

Calicut

Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635

location

Kochi

Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.

location

Bangalore

Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message