Skip to content

feat: apply the review feedback from the 3.9.0 release - #16

Merged
tonyandrewmeyer merged 4 commits into
canonical:mainfrom
tonyandrewmeyer:release-feedback-3-9-0
Oct 8, 2026
Merged

tonyandrewmeyer merged 4 commits into
canonical:mainfrom
tonyandrewmeyer:release-feedback-3-9-0

Conversation

@tonyandrewmeyer

@tonyandrewmeyer tonyandrewmeyer commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

The first ops release through the new workflows (canonical/operator#2806) needed a fair number of edits by hand, both to CHANGES.md and to the drafted notes. This handles as many of those as I think we can do automatically.

In changelog:

  • GitHub's "Merge commit from fork" (a security advisory's merge) is left out. The fix was already out in 3.8.3, and the entry also credited me (maybe partly because it seems I merged with a personal email; I'm not sure if I had an option to pick from the GitHub UI).
  • Code in a summary gets backticks: names with a leading underscore, exception and warning classes, and calls such as _Abort(0). A bare __init__ renders as bold, so this isn't only cosmetic.
  • release-body ends with "Thanks @x for your contribution to this release!", read back out of the CHANGES.md section's credits. The drafted notes no longer have a contributors section, so nobody gets pinged by the release PR.
  • The compare line is "All commits" rather than "Full Changelog", which sat oddly under a "Changelog" heading.

In draft-release-notes:

  • --commits gives the model the commit messages, and --docs-url turns a changed docs page into its published address. The 3.9.0 draft asked for an example of the ModelError note and the link to the security how-to, and both were in the commit messages.
  • The prompt follows the 3.9.0 review: focus on the one or two main changes, no fixes or ops.testing sections, no bold-led bullets, new doc pages linked from the intro, and leave out anything it is unsure matters rather than flagging it.

Some of the edits aren't covered: rewording the ModelError entry (the PR title was my mistake), capitalising Pydantic, and folding #2781 into #2663. The operator workflow also needs a follow-up to pass --commits and --docs-url, and the exemplars there model the bold-led bullets and fixes sections, so they probably need swapping too.

tonyandrewmeyer and others added 4 commits October 8, 2026 18:57
The first release through the workflows (ops 3.9.0) needed a handful of
the same edits by hand, so this makes them unnecessary:

* The security advisory's "Merge commit from fork" is left out. Its fix
  had already gone out in 3.8.3, and the line also credited whoever
  merged it.
* Code in a summary gets backticks: leading-underscore names, exception
  and warning classes, and calls. A bare `__init__` renders as bold.
* The release body thanks the contributors in a closing sentence, built
  from the credits in the CHANGES.md section, so that nobody is mentioned
  (and notified) in the release pull request.
* The compare line under `## Changelog` is "All commits" rather than
  "Full Changelog", since it links to the commits, not to a longer
  changelog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…doc pages

The 3.9.0 draft asked the reviewer for an example of the new ModelError
note and for the link to the new how-to, both of which were in the
commit messages it never saw. --commits passes the range's messages (the
pull-request descriptions, under squash merging) and --docs-url turns a
changed docs page into its published address.

The prompt also follows the 3.9.0 review: notes focus on the one or two
changes the release is about, with no section of fixes or of
ops.testing changes, no bullets that open with a bold sentence, a new
doc page linked from the opening sentences, and no contributors section,
since the release body now thanks them. When it can't tell whether a
change matters, the model leaves it to the changelog rather than adding
an "Unsure" note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@james-garner-canonical james-garner-canonical left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, had a quick read through these changes and keen to try them out.

@tonyandrewmeyer
tonyandrewmeyer merged commit cc25c09 into canonical:main Oct 8, 2026
11 checks passed
@tonyandrewmeyer
tonyandrewmeyer deleted the release-feedback-3-9-0 branch October 8, 2026 21:22
tonyandrewmeyer added a commit to canonical/operator that referenced this pull request Oct 8, 2026
…ons (#2808)

Updates the `canonical/charm-tech-code` pins in the release and AI
failure notification workflows to
[`cc25c09`](canonical/charm-tech-code@cc25c09),
the current `main`, and uses the new `draft-release-notes` options.

`ai-failure-notifier` (was `bcbd3cc`):
* Retries OpenRouter on rate limits, 5xx errors and timeouts, and falls
back to `deepseek/deepseek-v3.2` (canonical/charm-tech-code#14).
* Records the model that answered in a hidden comment on the enriched
issue or comment.

`changelog` and `draft-release-notes` (were `61b97db`):
* Finds release markers in a description with CRLF line endings
(canonical/charm-tech-code#15).
* Applies the review feedback from the 3.9.0 release
(canonical/charm-tech-code#16): leaves out security advisory merges,
puts code in summaries in backticks, ends the release body with a thanks
line for contributors, renames the compare line to "All commits", and
updates the release notes prompt.

Changes in this repository:
* `propose-release.yaml` writes the range's commit messages to a file
and passes it to `draft-release-notes` with `--commits`, along with
`--docs-url https://canonical.com/juju/docs/ops/latest`. The model then
sees the PR descriptions rather than only the changelog, and gets the
published URL of any docs page a commit changed, so it can link new
pages.
* `CONTRIBUTING.md` and a warning in `create-draft-release.yaml`
describe the new end of the release body ("All commits" and the thanks
line) rather than "Full Changelog".

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants