itsulu-blog-publisher/CHANGELOG.md
Nicholas Riegel b4d1e577df release: v0.4.8
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>
2026-05-30 03:27:18 -04:00

46 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog
All notable changes to **ITSulu Blog Publisher** are recorded here.
This project uses a three-part version number — `MAJOR.MINOR.PATCH` (each part 0999):
- **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.