Odoo 19 Release Overview
Odoo 19 brings significant changes to the ORM, view system, and several functional modules. This guide covers every major change that affects developers and businesses upgrading from Odoo 17 or 18.
ORM Changes
New Constraint Syntax
SQL constraints now use a cleaner class-level syntax:
# Odoo 18 and earlier
_sql_constraints = [
('name_uniq', 'unique(name)', 'Name must be unique!'),
]
# Odoo 19
_name_unique = models.Constraint(
'UNIQUE(name)',
'Name must be unique!',
)Improved Computed Fields
Computed fields with store=True now have better dependency tracking and more efficient recomputation triggers.
Type Annotations
Odoo 19 moves toward Python type annotations in the ORM. While not enforced, the codebase increasingly uses them for better IDE support.
View Changes
tree → list
The <tree> tag is officially replaced by <list>. <tree> still works but is deprecated and will be removed in a future version.
<!-- Odoo 18 -->
<tree>...</tree>
<!-- Odoo 19 -->
<list>...</list>Direct Attribute Expressions
The attrs dictionary is replaced by direct attributes:
<!-- Odoo 17 -->
<field name="x" attrs="{'invisible': [('state', '!=', 'draft')]}"/>
<!-- Odoo 19 -->
<field name="x" invisible="state != 'draft'"/>Python Expressions in Views
View conditions now use Python-like expressions instead of domain tuples:
<!-- Old -->
<field name="x" attrs="{'readonly': [('state', 'in', ['done', 'cancel'])]}"/>
<!-- New -->
<field name="x" readonly="state in ('done', 'cancel')"/>Module Updates
Accounting
- Improved bank reconciliation workflow
- Better multi-currency handling
- Enhanced tax computation engine
Website / eCommerce
- New website builder components
- Improved SEO tools
- Better product configurator
Manufacturing (MRP)
- Enhanced work center scheduling
- Better subcontracting workflow
- Improved quality control integration
HR / Payroll
- Streamlined leave management
- Better payslip computation
- Enhanced employee self-service
Performance Improvements
- Faster ORM read operations with optimized prefetching
- Reduced database queries for computed fields
- Better caching for translated fields
- Improved JavaScript framework performance (OWL updates)
Migration Notes
Breaking Changes
attrsdict syntax still works but should be migrated to direct attributes<tree>still works but should be migrated to<list>- Some deprecated API methods removed — check upgrade scripts
Migration Tools
- OpenUpgrade — Community migration scripts
- Odoo.sh — Built-in upgrade testing
- DeployMonkey — Deploy Odoo 19 instances for testing before migrating
DeployMonkey + Odoo 19
DeployMonkey supports Odoo 19 from day one. Deploy both Community and Enterprise editions. The AI agent is trained on Odoo 19 syntax — it generates code with the new constraint syntax, list views, and direct attribute expressions.