Odoo is publishing user documentation under a dedicated 20.0 path, and its official merge infrastructure shows active staging work targeting the 20.0 branch. These developments make Odoo 20 documentation and development activity publicly visible. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge) They do not confirm a general release date or show that every feature, migration requirement and documentation page is final. Organisations should distinguish between visible preparation and a confirmed production release milestone. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Odoo has also changed the timetable for removing its legacy XML-RPC and JSON-RPC services. Removal is now postponed until Odoo 21.1/22, while Odoo 20 and 21 retain the services in deprecated form alongside JSON-2. (Odoo pull Docs: 16925) Integrations that use the older services therefore do not face a confirmed removal event when upgrading to Odoo 20 or 21. However, deprecation still requires planning because availability in those versions is not a commitment to retain the interfaces indefinitely. (Odoo pull Docs: 16925)

What the public Odoo 20 activity confirms

At least one public user documentation page is available within Odoo’s 20.0 documentation structure. Odoo’s merge infrastructure also identifies staging activity for the 20.0 branch. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge) These sources can support early technical discovery, but they do not establish that the full documentation set is complete or that every staged change will enter production unchanged. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Teams can use the available documentation to begin reviewing affected business processes and use the staging activity to identify development areas worth monitoring. Migration budgets and delivery dates should still account for later verification against the final documentation, supported upgrade path and exact build selected for deployment. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

This distinction helps avoid treating a public documentation path as evidence of a completed release. The available sources confirm that Odoo 20 material and branch work are visible, but they do not provide a complete release acceptance checklist. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Legacy RPC remains available but deprecated

Plans based on the expected removal of XML-RPC and JSON-RPC in Odoo 20 should be revised. The current position postpones removal until Odoo 21.1/22 and keeps both legacy services available in Odoo 20 and 21. JSON-2 is available alongside them. (Odoo pull Docs: 16925) Organisations can therefore reconsider the urgency of rewrites planned solely to avoid an Odoo 20 outage, while continuing the work needed to move away from deprecated interfaces. (Odoo pull Docs: 16925)

Integration owners should create an inventory of XML-RPC and JSON-RPC use across custom code, external systems and connections managed outside the core Odoo implementation. Each dependency can then be assigned an owner, tested on the target Odoo version and assessed for migration to JSON-2. (Odoo pull Docs: 16925) Because the removal point is stated as Odoo 21.1/22, planning should follow the documentation for the exact target version rather than treating that wording as a calendar deadline. (Odoo pull Docs: 16925)

For Odoo 20 and 21, legacy RPC use is a deprecation and future-removal risk rather than a confirmed absence of the services. Upgrade testing should still examine authentication, request handling, error behaviour and the business results produced by each integration. (Odoo pull Docs: 16925) The source confirms coexistence with JSON-2, but it does not state that every legacy call has an identical JSON-2 equivalent or that migration will require no application changes. (Odoo pull Docs: 16925)

The postponement creates additional time for staged migration, but it should not be treated as a reason to leave dependencies undocumented. A practical plan can maintain existing integrations during an Odoo 20 or 21 upgrade while moving them to JSON-2 before the stated removal point. The timetable should be reviewed if Odoo changes its version plans again. (Odoo pull Docs: 16925)

Python and PostgreSQL minimums increase

Odoo has selected Python 3.12 as the minimum Python version for Odoo 20 and PostgreSQL 15 as the minimum PostgreSQL version. (mergebot.odoo.com) These requirements belong in readiness reviews for self-managed installations and other environments where the organisation controls the application or database platform. Systems below either minimum will require platform changes before they can be considered against the stated Odoo 20 baseline. (mergebot.odoo.com)

Version checks should cover development, testing, staging, production, backup restoration and disaster recovery environments. Build images, deployment definitions and recovery procedures may also specify Python or PostgreSQL versions and should be reviewed against the new minimums. (mergebot.odoo.com)

The source establishes the selected minimum versions but does not describe every compatibility condition for operating systems, Python packages, PostgreSQL extensions or third-party Odoo modules. (mergebot.odoo.com) Organisations should therefore test their actual module set and deployment design on Python 3.12 and PostgreSQL 15. Meeting the minimum versions is a platform requirement, not evidence that every custom or third-party component is compatible. (mergebot.odoo.com)

How to adjust Odoo 20 planning

An Odoo 20 readiness plan can separate the work into three streams. The first is monitoring the public 20.0 documentation and branch staging for changes relevant to business processes and technical design. The second is moving legacy RPC migration from an Odoo 20 removal blocker to scheduled deprecation work that is completed before the stated Odoo 21.1/22 removal point. The third is validating infrastructure against the Python 3.12 and PostgreSQL 15 minimums. (Odoo 20.0 Docs: eCommerce B2b B2c; Odoo pull Docs: 16925; mergebot.odoo.com; Runbot Merge)

This approach avoids two planning errors. One is postponing all preparation because these sources do not establish a general release milestone. The other is treating public documentation and staging activity as proof that all features, interfaces and deployment requirements are final. The sources support preparatory work, while final approval should depend on verification against the selected release and deployment environment. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

The RPC inventory can proceed independently of the final Odoo 20 release decision because the current position identifies continued legacy service availability and a later removal point. Infrastructure teams can likewise identify environments below Python 3.12 or PostgreSQL 15 before the application migration schedule is fixed. (Odoo pull Docs: 16925; mergebot.odoo.com)

Checks before approving a migration

Before approving an Odoo 20 migration, decision-makers should verify the exact build under consideration, the documentation applicable to their applications and whether relevant staged changes were modified during release preparation. The public 20.0 documentation and branch activity show progress but do not establish final release status. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

The approval process should also include a documented list of XML-RPC and JSON-RPC dependencies, an owner and migration approach for each dependency, and test evidence for any move to JSON-2. Existing integrations can remain on the deprecated services in Odoo 20 and 21 under the current position, but the plan should address removal at Odoo 21.1/22. (Odoo pull Docs: 16925)

Finally, teams should confirm Python 3.12 and PostgreSQL 15 across production, non-production and recovery environments. Custom modules, external packages and operational procedures should be tested on those versions rather than assumed compatible based only on the minimum-version decision. (mergebot.odoo.com)

The current position supports early preparation without implying that Odoo 20 is final: public documentation and branch staging are available to review, legacy RPC remains deprecated but available through Odoo 20 and 21, and the platform minimums rise to Python 3.12 and PostgreSQL 15. (Odoo 20.0 Docs: eCommerce B2b B2c; Odoo pull Docs: 16925; mergebot.odoo.com; Runbot Merge)