Introduce the project versioning system (MAJOR.MINOR.PATCH, each 0-999) and tag the first release. - VERSION file as single source of truth (0.4.8) - __manifest__.py version -> 17.0.0.4.8 (odoo series + product version) - CHANGELOG.md with plain-language v0.4.8 release notes - scripts/bump-version.sh: bump (major/minor/patch/set) + tag from CHANGELOG - README.md: version header, 69-test status, changelog link - CLAUDE.md §15 Versioning & Releases; corrected Odoo 17 mail.template / blog.post.content compatibility table Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to **ITSulu Blog Publisher** are recorded here.
|
||
|
||
This project uses a three-part version number — `MAJOR.MINOR.PATCH` (each part 0–999):
|
||
|
||
- **MAJOR** — a major release for sale; significant feature upgrades or a significant change to the software.
|
||
- **MINOR** — one or more features added, or a meaningful performance improvement.
|
||
- **PATCH** — a single group of commits, or one large commit.
|
||
|
||
Release notes are written in plain language so anyone on the team can follow what changed.
|
||
|
||
---
|
||
|
||
## v0.4.8 — 2026-05-30
|
||
|
||
The first tagged release. This version gets the whole test suite running green on the
|
||
ITSulu Kubernetes cluster and fixes two bugs that affected real blog posts and emails.
|
||
|
||
### Fixed
|
||
|
||
- **Notification emails now render correctly.** The email template was written in an old
|
||
syntax that Odoo 17 no longer understands, so notification emails were going out with raw
|
||
code (like `${object.blog_post_id.name}`) instead of the actual post title. The template
|
||
was rebuilt using Odoo 17's current format, so subjects and bodies now fill in properly.
|
||
- **Generated blog posts are no longer empty.** When a post was created automatically, the
|
||
AI-written body was being thrown away before it reached the post. Every auto-generated post
|
||
was published blank. The body is now saved to the post's content field.
|
||
- Removed a duplicate field definition that produced a warning on every Odoo startup.
|
||
|
||
### Testing & Infrastructure
|
||
|
||
- The full automated test suite — **69 tests** (48 unit, 15 behaviour, 6 performance) — now
|
||
passes end to end on the ITSulu Kubernetes test cluster.
|
||
- The CI/CD pipeline was corrected: stages now run in the right order, database credentials
|
||
are handled properly, and test reports are generated as build artifacts.
|
||
- End-to-end tests now run as ephemeral jobs on the ITSulu cluster (`itsulu-testing`
|
||
namespace) instead of an external preview service.
|
||
- Brought the test code up to date with Odoo 17 (email rendering, blog post fields, and the
|
||
behaviour-test environment setup).
|
||
|
||
### Documentation
|
||
|
||
- Recorded the Odoo 16 → 17 migration lessons (email templates, post body fields, template
|
||
database refresh) in `CLAUDE.md` so they are not rediscovered the hard way.
|
||
- Introduced this changelog and the project versioning scheme.
|