Update Dockerman version and changelog. Use when releasing a new version with changelog content in markdown format.
Updates the Dockerman website with a new version release.
Single sources of truth:
- Version lives in
apps/landing/src/app/siteConfig.tslatestVersion. All components (Navbar,Hero,SnapshotHero) and thedownloads.tsVERSIONconstant import from it; localehero.eyebrow/hero.metaVersionuse the{{version}}placeholder.- Release date lives in
apps/landing/src/config/downloads.tsRELEASE_DATE(ISO). It flows to the latesthistory[]entry, the Download page hero, and HerometaVersionviaformatDate(downloadsConfig.latest.releaseDate, locale)from@/lib/format+ a{{date}}placeholder.Do not reintroduce hardcoded version or date strings in those files.
The historical / per-release locations (changelog MDX entries, README badges, locale tagline highlight phrases, the
release-x-y-zslug) still need per-release edits, because they describe a specific release rather than "the latest version".
User provides changelog content in markdown format:
## vX.Y.Z
### ✨ Features
- 🔔 **Feature Name**: Description of the feature
### 🎨 Improvements
- ⚡ **Improvement Name**: Description
Parse vX.Y.Z from the first ## vX.Y.Z heading. Use today's date as the release date.
Prepare the date in these formats — you'll need them in different files:
| Format | Where used | Example (Apr 26, 2026) |
|--------|------------|------------------------|
| ISO YYYY-MM-DD | downloads.ts RELEASE_DATE (single source) | 2026-04-26 |
| en Mon DD, YYYY | en changelog, README badge | Apr 26, 2026 |
| zh YYYY 年 M 月 D 日 | zh changelog | 2026 年 4 月 26 日 |
| ja YYYY 年 M 月 D 日 | ja changelog | 2026 年 4 月 26 日 |
| es D de mes de YYYY | es changelog | 26 de abril de 2026 |
| URL-encoded en | README release-date badge URL | Apr%2026%2C%202026 |
Hero
metaVersionno longer needs a per-locale date string — it interpolates{{date}}, withformatDate()deriving the localized date from the ISORELEASE_DATEautomatically.
apps/landing/src/app/siteConfig.ts (single source of truth for version)latestVersion: 'X.Y.Z', // no 'v' prefix
This automatically propagates to:
Navbar.tsx brand badge (v{siteConfig.latestVersion})Hero.tsx terminal animation line + eyebrow (interpolated via {{version}}) + metaVersion (interpolated via {{version}} and {{date}})SnapshotHero.tsx metaBuild fielddownloads.ts VERSION constant + latest history[] entryNever edit those files for the version literal — they already read siteConfig.latestVersion or {{version}}.
apps/landing/src/config/downloads.tsTwo edits per release:
RELEASE_DATE to the new ISO date.history[] (keep prior entries):history: [
{ version: VERSION, date: RELEASE_DATE, summarySlug: 'release-x-y-z' },
// ...previous entries (literal versions/dates — these are historical)
]
The latest history entry uses the VERSION and RELEASE_DATE constants directly. Older entries remain literal.
packages/shared/src/locales/Update all four (en.json, zh.json, ja.json, es.json). Two keys per file:
hero.eyebrow — keep the v{{version}} — prefix; rewrite the highlight phrases for the new release (translated per locale).
Pattern: "v{{version}} — <highlight 1>, <highlight 2>, <highlight 3>"
hero.metaVersion — pure template "v{{version}} · {{date}}". Do not edit per release — both placeholders are filled at runtime from siteConfig.latestVersion and formatDate(downloadsConfig.latest.releaseDate, locale).
The {{version}} placeholder is filled with siteConfig.latestVersion and {{date}} with the localized release date, so don't write either literal here.
Per-locale changelog files (translate body for zh/ja/es):
apps/landing/src/content/changelog/en/page.mdxapps/landing/src/content/changelog/zh/page.mdxapps/landing/src/content/changelog/ja/page.mdxapps/landing/src/content/changelog/es/page.mdx<ChangelogEntry version="vX.Y.Z" date="<localized date>">…</ChangelogEntry>**text:** patterns with <Bold>text:</Bold><ChangelogEntry version="vX.Y.Z" date="<localized date>">
## Short Release Title
Brief description of what this release introduces.
### ✨ Features
- <Bold>Feature Name:</Bold> Description of the feature
### 🔧 Improvements
- <Bold>Improvement Name:</Bold> Description
### 🐛 Bug Fixes
- <Bold>Fix Name:</Bold> Description
</ChangelogEntry>
The version literal does appear in <ChangelogEntry version="vX.Y.Z"> — that's intentional, because each entry is a historical record of a specific release.
Update all four READMEs: README.md (en), README.zh-CN.md, README.ja.md, README.es.md.
Update version + release-date badges:
[](https://github.com/dockerman/dockerman/releases/tag/vX.Y.Z)
[](https://github.com/dockerman/dockerman/releases/tag/vX.Y.Z)
URL encoding: spaces → %20, commas → %2C.
Add new features to the Features section in all four READMEs:
| File | Per-release? | What changes |
|------|--------------|--------------|
| apps/landing/src/app/siteConfig.ts | ✅ | latestVersion (single source of truth — propagates to all UI) |
| apps/landing/src/config/downloads.ts | ✅ | RELEASE_DATE + prepend history[] entry (uses VERSION/RELEASE_DATE consts) |
| packages/shared/src/locales/{en,zh,ja,es}.json | ✅ | hero.eyebrow only (rewrite tagline highlights). hero.metaVersion is a pure template — don't touch. |
| apps/landing/src/content/changelog/{en,zh,ja,es}/page.mdx | ✅ | Prepend new <ChangelogEntry> (×4 locales, body translated) |
| README.md / README.zh-CN.md / README.ja.md / README.es.md | ✅ | Version + release-date badges + Features section |
| apps/landing/src/components/{shell/Navbar,landing/Hero,snapshot/SnapshotHero}.tsx | ❌ | Already read siteConfig.latestVersion — never touch for a version bump |
### ✨ Features — New functionality### 🔧 Improvements / ### 🎨 Improvements — Enhancements (both emojis seen historically)### 🐛 Bug Fixes — Issue resolutions### ⚡ Performance — Performance optimizations### 🌐 Internationalization — i18n updates<ChangelogImage
src="/screenshots/X.Y.Z/image.png"
alt="Description"
/>
siteConfig.ts latestVersion updated (without v prefix)vX.Y.Z strings introduced in Navbar.tsx, Hero.tsx, SnapshotHero.tsx, or locale JSON filesdownloads.tsRELEASE_DATE updated (ISO format)history[] entry prepended (using VERSION / RELEASE_DATE consts), prior entries kepthero.eyebrow highlights rewritten (translated, v{{version}} placeholder kept)hero.metaVersion left untouched (it's "v{{version}} · {{date}}" — both interpolated)<ChangelogEntry> prepended to each locale (body translated)<Bold> and <ChangelogEntry> tags closedgrep "v?<previous-version>" returns only legitimate historical references: changelog entries for that version, "Added in v…" doc lines, downloads.ts history array, design specs in docs/superpowers/, and bun.lock (unrelated packages).grep "v?<new-version>" (literal) outside siteConfig.ts and the new changelog/README entries should return nothing — if it does, you reintroduced a hardcoded version somewhere.下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer