diff --git a/.agents/skills/whatsnew/SKILL.md b/.agents/skills/whatsnew/SKILL.md index c26c77570..d8bf0c3e8 100644 --- a/.agents/skills/whatsnew/SKILL.md +++ b/.agents/skills/whatsnew/SKILL.md @@ -86,7 +86,7 @@ infer from context — e.g. a fresh release with no page → `draft`). | What | Path | |------|------| | What's-new pages | `src/frontend/src/content/docs/whats-new/aspire-N-N.mdx` (JA under `.../ja/whats-new/`) | -| Version constants | `src/frontend/config/aspire-versions.mjs` (`currentAspireMajorMinorVersion`, `currentAspireVersion`, `currentAspirePreviewVersion`) | +| Version constants | `src/frontend/config/aspire-versions.mjs` (`currentAspireMajorMinorVersion`, `currentAspireVersion`, `currentAspireReleaseDate`, `currentAspirePreviewVersion`) | | Sidebar | `src/frontend/config/sidebar/docs.topics.ts` (What's-new `items`) | | Announcement banner | `banner:` frontmatter on `src/frontend/src/content/docs/index.mdx`, `src/frontend/src/content/docs/docs.mdx`, `src/frontend/src/content/docs/community/index.mdx`, and each `src/frontend/src/content/docs/{locale}/index.mdx` (+ `.../ja/docs.mdx`); rendered by `src/frontend/src/components/starlight/Banner.astro` | | Assets | `src/frontend/src/assets/whats-new/aspire-/` | diff --git a/.agents/skills/whatsnew/references/01-draft-scaffold.md b/.agents/skills/whatsnew/references/01-draft-scaffold.md index 838c4962a..e2e0168b8 100644 --- a/.agents/skills/whatsnew/references/01-draft-scaffold.md +++ b/.agents/skills/whatsnew/references/01-draft-scaffold.md @@ -46,7 +46,8 @@ duplicating. reads its image and `publishDate`; no separate catalog entry is needed. 3. **Version constants.** Update `src/frontend/config/aspire-versions.mjs`: `currentAspireMajorMinorVersion = 'N.N'`, `currentAspireVersion` to the latest - stable `N.N.PATCH`, and `currentAspirePreviewVersion` to the matching full + stable `N.N.PATCH`, `currentAspireReleaseDate` to that patch's NuGet publish + date (`YYYY-MM-DD`, shown in the Install CLI dialog), and `currentAspirePreviewVersion` to the matching full `N.N.PATCH-preview.*` package version. Set both package versions to the initial release patch when N.N becomes current, then keep them aligned with the site AppHost during servicing updates. These drive the Aspire version remark diff --git a/.github/agents/release-verifier.agent.md b/.github/agents/release-verifier.agent.md index e83837e00..0d496f0ab 100644 --- a/.github/agents/release-verifier.agent.md +++ b/.github/agents/release-verifier.agent.md @@ -178,6 +178,7 @@ version constants match the release being verified: |--------|----------------| | `currentAspireMajorMinorVersion` | `{VERSION}` (for example, `13.2`) | | `currentAspireVersion` | Latest stable `{VERSION}.PATCH` package version | +| `currentAspireReleaseDate` | Publish date (`YYYY-MM-DD`) of `currentAspireVersion` on NuGet | | `currentAspirePreviewVersion` | Matching full `{VERSION}.PATCH-preview.*` package version | These constants drive the `%ASPIRE_VERSION_MAJOR_MINOR%`, `%ASPIRE_VERSION%`, diff --git a/src/apphost/Aspire.Dev.AppHost/Aspire.Dev.AppHost.csproj b/src/apphost/Aspire.Dev.AppHost/Aspire.Dev.AppHost.csproj index b73401b69..5f36fa347 100644 --- a/src/apphost/Aspire.Dev.AppHost/Aspire.Dev.AppHost.csproj +++ b/src/apphost/Aspire.Dev.AppHost/Aspire.Dev.AppHost.csproj @@ -1,4 +1,4 @@ - + Exe @@ -10,11 +10,11 @@ - - - - - + + + + + diff --git a/src/frontend/config/aspire-versions.mjs b/src/frontend/config/aspire-versions.mjs index 1d1a08920..d04005516 100644 --- a/src/frontend/config/aspire-versions.mjs +++ b/src/frontend/config/aspire-versions.mjs @@ -1,6 +1,8 @@ -export const currentAspireMajorMinorVersion = '13.5'; -export const currentAspireVersion = '13.5.3'; -export const currentAspirePreviewVersion = '13.5.3-preview.1.26425.3'; +export const currentAspireMajorMinorVersion = '13.6'; +export const currentAspireVersion = '13.6.0'; +// Release date (YYYY-MM-DD) of currentAspireVersion; update together with the version. +export const currentAspireReleaseDate = '2026-09-29'; +export const currentAspirePreviewVersion = '13.6.0-preview.1.26479.8'; export const aspireVersionPlaceholders = Object.freeze({ '%ASPIRE_VERSION_MAJOR_MINOR%': currentAspireMajorMinorVersion, diff --git a/src/frontend/src/components/InstallCliModal.astro b/src/frontend/src/components/InstallCliModal.astro index 9e7622674..66e77c736 100644 --- a/src/frontend/src/components/InstallCliModal.astro +++ b/src/frontend/src/components/InstallCliModal.astro @@ -1,12 +1,25 @@ --- import { Code, Icon, Aside } from '@astrojs/starlight/components'; import CustomSelect, { type CustomSelectOption } from '@components/CustomSelect.astro'; +import { + currentAspireMajorMinorVersion, + currentAspireReleaseDate, + currentAspireVersion, +} from '../../config/aspire-versions.mjs'; interface Props { id?: string; } const { id = 'install-cli-modal' } = Astro.props; + +// Major releases omit the minor suffix (for example, /whats-new/aspire-13/). +const [major, minor] = currentAspireMajorMinorVersion.split('.'); +const releaseNotesHref = `/whats-new/aspire-${major}${minor === '0' ? '' : `-${minor}`}/`; +const releaseDateLabel = new Date(`${currentAspireReleaseDate}T00:00:00Z`).toLocaleDateString( + 'en-US', + { year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' } +); const channelOptions: CustomSelectOption[] = [ { value: 'release', @@ -37,6 +50,18 @@ const channelOptions: CustomSelectOption[] = [