release: v0.5.0 — establish Odoo 14.0 branch (ITSulu production target)
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>
This commit is contained in:
parent
5ed2851ee5
commit
dd19b2f463
7 changed files with 78 additions and 9 deletions
1
.odoo-series
Normal file
1
.odoo-series
Normal file
|
|
@ -0,0 +1 @@
|
|||
14.0
|
||||
25
CHANGELOG.md
25
CHANGELOG.md
|
|
@ -12,6 +12,31 @@ Release notes are written in plain language so anyone on the team can follow wha
|
|||
|
||||
---
|
||||
|
||||
## v0.5.0 — 2026-05-30
|
||||
|
||||
Sets up support for **multiple Odoo Community versions**, each on its own branch — the same
|
||||
model the Odoo project itself uses. We initially target **Odoo 19.0** (the latest stable) and
|
||||
**Odoo 14.0** (the version ITSulu runs in production).
|
||||
|
||||
### Added
|
||||
|
||||
- **Per-Odoo-version branches.** The addon now lives on a branch per Odoo release — `19.0`
|
||||
and `14.0` — so each can track the API differences of its Odoo version independently. Check
|
||||
out the branch that matches your Odoo install.
|
||||
- **Version tooling is Odoo-aware.** The release helper (`bump-version.sh`) now reads which
|
||||
Odoo series a branch targets and stamps the addon and release tags accordingly
|
||||
(e.g. `19.0-v0.5.0`, `14.0-v0.5.0`), so one product version can ship on several Odoo versions.
|
||||
- A `PORTING.md` on each version branch tracks what still needs checking for that Odoo release.
|
||||
|
||||
### Notes
|
||||
|
||||
- This `14.0` branch is the target for the **ITSulu production** instance. It is **seeded from
|
||||
the 17.0 codebase**, so the Odoo-14 port is still being completed — most notably the email
|
||||
template must move back to Odoo 14's older Jinja syntax. See `PORTING.md`.
|
||||
- Documentation (`README`, `CLAUDE.md` §15) now describes the branch-per-version model.
|
||||
|
||||
---
|
||||
|
||||
## v0.4.8 — 2026-05-30
|
||||
|
||||
The first tagged release. This version gets the whole test suite running green on the
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
FROM odoo:17.0
|
||||
FROM odoo:14.0
|
||||
|
||||
# Install Python testing dependencies using the system Python
|
||||
RUN python3 -m pip install --no-cache-dir \
|
||||
|
|
|
|||
39
PORTING.md
Normal file
39
PORTING.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# 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)
|
||||
|
||||
- [x] `.odoo-series` = `14.0`
|
||||
- [x] `Dockerfile` base image = `odoo:14.0`
|
||||
- [x] manifest version prefix = `14.0.` (via `bump-version.sh`)
|
||||
|
||||
## API porting checklist (verify on a real Odoo 14.0 instance)
|
||||
|
||||
- [ ] **Mail template syntax — REVERT to Jinja2.** Odoo 14 renders `mail.template` with Jinja2
|
||||
(`${object.blog_post_id.name}`, `% if`, `% for`), **not** the qweb `<t t-out>` used on 17.0.
|
||||
The 17.0 template in `data/mail_template_data.xml` must 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`. Update `blog_generation_log.send_notification_email` + tests.
|
||||
- [ ] `blog.post` body field name on 14.0 (the 17.0 baseline writes `content` — 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
|
||||
|
||||
1. Stand up a 14.0 template DB (mirror §8, base image `odoo:14.0`).
|
||||
2. Start with the mail template (Jinja revert) and the render API — those are the biggest deltas.
|
||||
3. Run the suite, fix one Odoo-API difference at a time.
|
||||
4. Record each gotcha in `CLAUDE.md` §12 tagged with the series.
|
||||
5. When green, cut a release on this branch (`bump-version.sh` → tag `14.0-vX.Y.Z`).
|
||||
16
README.md
16
README.md
|
|
@ -1,8 +1,12 @@
|
|||
# ITSulu Blog Publisher — Odoo 17 Addon
|
||||
# ITSulu Blog Publisher — Odoo 14 Addon
|
||||
|
||||
**Version:** 0.4.8
|
||||
**Version:** 0.5.0
|
||||
|
||||
Automated blog post generation and publishing for Odoo 17 Community Edition, powered by generative AI (Anthropic Claude, OpenAI, Google Gemini, or Ollama).
|
||||
Automated blog post generation and publishing for Odoo 14.0 Community Edition, powered by generative AI (Anthropic Claude, OpenAI, Google Gemini, or Ollama).
|
||||
|
||||
> ⚠️ **Porting in progress.** This `14.0` branch is the target for the ITSulu production
|
||||
> instance. It is seeded from the 17.0 baseline; the Odoo-14 API port (notably the older
|
||||
> Jinja-style mail templates) is tracked in [PORTING.md](PORTING.md).
|
||||
|
||||
> **Versioning** — `MAJOR.MINOR.PATCH` (each 0–999). MAJOR = major release for sale / significant change; MINOR = features or performance improvements; PATCH = a single group of commits. See [CHANGELOG.md](CHANGELOG.md) for release notes and [CLAUDE.md](CLAUDE.md) §15 for the full scheme.
|
||||
|
||||
|
|
@ -63,9 +67,9 @@ primed PostgreSQL template database. See [CLAUDE.md](CLAUDE.md) §8 for the K8s
|
|||
|
||||
### Prerequisites
|
||||
|
||||
- Odoo 17.0 Community
|
||||
- Python 3.10+
|
||||
- PostgreSQL 13+
|
||||
- Odoo 14.0 Community
|
||||
- Python 3.6–3.8
|
||||
- PostgreSQL 10+
|
||||
- pip packages: `requests`, `pytest-odoo`, `pytest-bdd`
|
||||
|
||||
### Steps
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.4.8
|
||||
0.5.0
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
'name': 'ITSulu Blog Publisher',
|
||||
# Odoo manifest version = <odoo_series>.<product_version>. Product version
|
||||
# is tracked in the repo-root VERSION file (currently 0.4.8). See CLAUDE.md §15.
|
||||
'version': '17.0.0.4.8',
|
||||
'version': '14.0.0.5.0',
|
||||
'summary': 'AI-powered blog post generation with multi-LLM support, scheduling, and social media copy',
|
||||
'description': """
|
||||
ITSulu Blog Publisher
|
||||
|
|
|
|||
Loading…
Reference in a new issue