--- title: Create Ananke release notes description: Create release notes for the Ananke theme from repository changes agent: agent tools: ['changes', 'search/codebase', 'web/githubRepo', 'github'] --- Create release notes for the next Ananke release based on the current repository state, merged pull requests, commits, changed files, and existing changelog entries. ## Goal Write clear, user-facing release notes for the Ananke theme. The release notes must explain: * what changed * what users need to update * whether the release contains breaking changes * which Hugo version is required * where users can read more * which changelog entries belong to this release The result must be suitable for publishing as a GitHub release note, documentation page, or changelog announcement. The release title in GitHub will create the main H1 heading. Do not output an initial `# Release Notes` heading. Start with `## Breaking changes`. ## Required output structure Use this exact structure: ```markdown ## Breaking changes ## Further notes ## Further reading ## Requirements * Hugo v0.161+ ## Changelog ``` Do not remove headings. If a section has no relevant content, write a short sentence stating that there are no additional notes for that section. ## Primary breaking change The release notes must include this breaking change prominently: ```markdown BREAKING CHANGE: Ananke is now using the latest css.Build functionality of Hugo. This means that the old SASS/SCSS pipeline is removed and you need to update your build process if you were relying on it. ``` Rewrite the wording only if it improves clarity, but keep the meaning intact. The breaking change section must explain: * the old SASS/SCSS pipeline has been removed * Ananke now relies on Hugo's current `css.Build` functionality * users with custom build scripts, asset pipelines, or theme overrides may need to update their setup * users should check their Hugo version before upgrading * users should review any custom SASS/SCSS overrides or imports ## Requirements The requirements section must include: ```markdown * Hugo v0.161+ ``` If repository files indicate a more specific or newer requirement, report the conflict clearly instead of silently changing the version. ## Changelog The changelog section must be generated from repository evidence. First, identify the previous release tag and the new release target. If a previous release tag is not provided, use the latest reachable Git tag as the start point and `HEAD` as the end point. Run this command from the repository root to generate the raw changelog entries: ```bash previous_tag="${PREVIOUS_TAG:-$(git describe --tags --abbrev=0)}" current_ref="${CURRENT_REF:-HEAD}" repo_url="$( git config --get remote.origin.url | sed -E 's#^git@github.com:#https://github.com/#; s#\.git$##' )" git log "${previous_tag}..${current_ref}" \ --date=format-local:'%Y-%m-%d %H:%M %z' \ --pretty=format:'%H%x1f%h%x1f%s%x1f%ad%x1f%an%x1f%ae' | sort -r -t "$(printf '\037')" -k4,4 | awk -F "$(printf '\037')" -v repo_url="${repo_url}" ' function github_user_from_email(email) { if (email ~ /@users\.noreply\.github\.com$/) { sub(/^.*\+/, "", email) sub(/@users\.noreply\.github\.com$/, "", email) return email } return "" } function escape_markdown(value) { gsub(/\[/, "\\[", value) gsub(/\]/, "\\]", value) return value } { full_hash = $1 short_hash = $2 title = $3 date_time = $4 author_name = escape_markdown($5) author_email = $6 user = github_user_from_email(author_email) if (user != "") { author = "[" author_name "](https://github.com/" user ")" } else { author = author_name } printf "- [%s](%s/commit/%s) %s (%s by %s)\n", short_hash, repo_url, full_hash, title, date_time, author } ' ``` The command must create one Markdown list item per commit in this format: ```markdown * [HASH](commit-url) Title (yyyy-mm-dd HH:ii timezone by [authorname](author-profile-url)) ``` Use the short commit hash as the link text and link it to the full commit URL. Issue and pull request references in commit titles should remain in GitHub-autolinkable format, for example `#123`. Do not rewrite them into manual links unless the repository tooling provides reliable issue URLs. Link the author name to the GitHub profile when the username can be derived reliably from a GitHub noreply email address. If no GitHub username can be derived, keep the author name as plain text. Sort changelog entries by commit date descending. After generating the raw commit list, review it and group or summarise items when appropriate, but preserve the raw commit list if the release note needs a complete audit trail. Include concise bullet points grouped by type when possible: * Breaking changes * Features * Fixes * Documentation * Internal changes * Dependencies * Removed or deprecated functionality Each changelog item should be user-facing. Avoid low-level commit noise unless it affects users or maintainers. ## Further notes Use this section to explain practical upgrade impact. Include notes about: * build configuration changes * removed SASS/SCSS assumptions * CSS processing changes * compatibility concerns * migration considerations * theme customisation impact * anything users should test after upgrading Do not invent migration steps. If the repository does not contain enough information, add a clearly marked "Needs confirmation" bullet. ## Further reading Add links or references to relevant documentation, for example: * Ananke documentation pages * Hugo `css.Build` documentation * relevant pull requests * relevant issues * migration notes * changelog files * release comparison links Use repository links when available. Do not invent URLs. ## Style rules Write in clear British English. Use direct, practical language. Avoid marketing language. Avoid vague phrases such as "various improvements" unless the repository evidence is also vague. Avoid emojis. Avoid typographic punctuation. Use plain apostrophes, quotes, hyphens, and normal punctuation. Use Markdown only. Use `*` for unordered list items. Use inline code formatting for filenames, commands, config keys, function names, and Hugo features. ## Evidence rules Base the release notes on repository evidence. Check at least: * recent commits * merged pull requests * changed files * changelog files * documentation updates * configuration files * asset pipeline files * theme build files * Hugo module or dependency configuration * README or migration notes If something is unclear, include it under a "Needs confirmation" bullet instead of guessing. ## Final output Return only the completed release notes. Do not include analysis, explanations, or implementation notes outside the release note document.