diff --git a/apps/web/app/og/docs/[...slug]/route.tsx b/apps/web/app/og/docs/[...slug]/route.tsx
index 6b2349b..73d2424 100644
--- a/apps/web/app/og/docs/[...slug]/route.tsx
+++ b/apps/web/app/og/docs/[...slug]/route.tsx
@@ -37,7 +37,7 @@ const renderDocImage = async (
return new ImageResponse(
- {/* oxlint-disable-next-line next/no-img-element */}
+ {/* oxlint-disable-next-line next/no-img-element -- ImageResponse renders through Satori, which cannot load next/image */}
![Docker Doctor OpenGraph Background]()
[a-f0-9]+):\s+(?
.+)/u;
+
// The section a `### ...` heading opens. Changes under any other heading are
// not collected.
const sectionOf = (line: string): Section | null => {
@@ -66,14 +68,13 @@ export const parseChangelog = (filePath: string): ChangelogData => {
currentSection = sectionOf(line);
currentChange = null;
} else if (line.startsWith("- ") && currentSection && currentVersion) {
- // oxlint-disable-next-line prefer-named-capture-group
- const shaMatch = /^-\s+([a-f0-9]+):\s+(.+)/u.exec(line);
+ const change = CHANGE_LINE_RE.exec(line)?.groups;
- if (shaMatch) {
+ if (change) {
currentChange = {
details: [],
- sha: shaMatch[1],
- title: shaMatch[2],
+ sha: change.sha,
+ title: change.title,
};
currentVersion[currentSection].push(currentChange);
} else if (currentChange) {