Skip to content

Odoo 19: What's New — Every Major Change and Feature

DeployMonkey Team · March 22, 2026 12 min read

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

  • attrs dict 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.