Seed the 14.0 series branch from the 17.0 baseline: - .odoo-series = 14.0; Dockerfile FROM odoo:14.0; manifest 14.0.0.5.0 - PORTING.md tracks the Odoo-14 checklist (biggest delta: mail templates must revert to Odoo 14's Jinja2 syntax; render API differs) - README retargeted to 14.0 with porting-in-progress notice - CHANGELOG v0.5.0 entry NOTE: seeded from 17.0 — the Odoo-14 port is NOT yet verified (PORTING.md). Not deploy-ready on the production 14.0 instance until the suite is green there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Porting status — Odoo 14.0 branch
This branch targets Odoo Community 14.0 — the version ITSulu runs in production. It was seeded from the 17.0 baseline and the Odoo-14 porting is tracked here. Until every item is verified, treat this branch as work in progress — do not deploy to the production 14.0 instance unverified.
The product feature set is the same across all Odoo branches; only the Odoo-API-specific code differs. Odoo 14 is older than the 17.0 baseline, so several things move backwards. See
CLAUDE.md§15 for the branch model and §11.5 / §12 for version-specific gotchas.
Series markers (done)
.odoo-series=14.0Dockerfilebase image =odoo:14.0- manifest version prefix =
14.0.(viabump-version.sh)
API porting checklist (verify on a real Odoo 14.0 instance)
- Mail template syntax — REVERT to Jinja2. Odoo 14 renders
mail.templatewith Jinja2 (${object.blog_post_id.name},% if,% for), not the qweb<t t-out>used on 17.0. The 17.0 template indata/mail_template_data.xmlmust be converted back to Jinja for 14.0. - Mail render API. 14.0 uses
template.render_template(...)/_render_template(...), not 17.0's_render_field. Updateblog_generation_log.send_notification_email+ tests. blog.postbody field name on 14.0 (the 17.0 baseline writescontent— confirm 14.0).- Python 3.6–3.8 only — remove any 3.9+ syntax (dict
|merge,str.removeprefix, etc.). @api.model_create_multi,name_get, and other ORM signatures valid on 14.0.- View/RELAXNG validation for 14.0 (attrs/states syntax differs from 17.0).
ir.cron+ mail data XML formats.- Full test suite green on a 14.0 template DB (K8s job, §8, base image
odoo:14.0). - pytest-odoo / pytest-bdd versions compatible with the 14.0 Python.
How to work this branch
- Stand up a 14.0 template DB (mirror §8, base image
odoo:14.0). - Start with the mail template (Jinja revert) and the render API — those are the biggest deltas.
- Run the suite, fix one Odoo-API difference at a time.
- Record each gotcha in
CLAUDE.md§12 tagged with the series. - When green, cut a release on this branch (
bump-version.sh→ tag14.0-vX.Y.Z).