Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
清理上游遗留的旧版本公告(1.9.6-beta.3 ~ 1.4.0),只保留本项目 自己的版本记录(1.0.0-beta1 及之后的 1.0.0-beta13)。 - catalog.ts 删除 49 条旧公告; - 网站 catalog.json 由 create-website-release-catalog.mjs 从 catalog.ts 重新生成,现仅含 1.0.0-beta13 与 1.0.0-beta1。
186 lines
6.3 KiB
TypeScript
186 lines
6.3 KiB
TypeScript
export type AnnouncementLocale = 'en-US' | 'zh-CN'
|
|
|
|
export type AnnouncementChangeType =
|
|
| 'added'
|
|
| 'changed'
|
|
| 'deprecated'
|
|
| 'removed'
|
|
| 'fixed'
|
|
| 'security'
|
|
|
|
export type LocalizedAnnouncementText = Readonly<Record<AnnouncementLocale, string>>
|
|
|
|
export type AnnouncementChange = LocalizedAnnouncementText
|
|
|
|
export type LauncherAnnouncement = {
|
|
readonly id: string
|
|
readonly version: string
|
|
readonly publishedAt: string
|
|
readonly title: LocalizedAnnouncementText
|
|
readonly changes: Readonly<Partial<Record<AnnouncementChangeType, readonly AnnouncementChange[]>>>
|
|
readonly notes?: LocalizedAnnouncementText
|
|
readonly externalUrl?: string
|
|
}
|
|
|
|
export const ANNOUNCEMENT_CHANGE_TYPES: readonly AnnouncementChangeType[] = [
|
|
'added',
|
|
'changed',
|
|
'deprecated',
|
|
'removed',
|
|
'fixed',
|
|
'security',
|
|
]
|
|
|
|
export const launcherAnnouncements: readonly LauncherAnnouncement[] = [
|
|
{
|
|
id: 'launcher-1.0.0-beta13',
|
|
version: '1.0.0-beta13',
|
|
publishedAt: '2026-09-26',
|
|
title: {
|
|
'en-US': 'Starlight Launcher 1.0.0-beta13',
|
|
'zh-CN': 'Starlight Launcher 1.0.0-beta13',
|
|
},
|
|
changes: {
|
|
added: [
|
|
{
|
|
'en-US':
|
|
'Installing a modpack now lets you choose the game directory.',
|
|
'zh-CN': '一键安装整合包时现在可以选择游戏目录。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Approved (hosted) modpack sync and StarLight instance mode were added.',
|
|
'zh-CN': '新增获批整合包同步与 StarLight 实例模式。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Added the skin editor, improved font settings, and polished the about page (including an easter egg).',
|
|
'zh-CN': '新增皮肤编辑器、改进字体设置,并完善关于页(含彩蛋)。',
|
|
},
|
|
],
|
|
changed: [
|
|
{
|
|
'en-US':
|
|
'The about page now plays a looping wither victory animation.',
|
|
'zh-CN': '关于页现在会播放循环的凋灵胜利动画。',
|
|
},
|
|
],
|
|
fixed: [
|
|
{
|
|
'en-US':
|
|
'Fixed several issues when importing an instance from a .minecraft folder (content copy, version isolation, symlinks, loader version detection).',
|
|
'zh-CN':
|
|
'修复从 .minecraft 文件夹导入实例的多项问题(内容复制、版本隔离、符号链接、加载器版本识别等)。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Fixed the instance log view stopping updates and overlapping log lines.',
|
|
'zh-CN': '修复实例日志窗口停更与日志行重叠的问题。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Fixed hosted (SLS) instances leaving external data behind on delete and reusing the same folder on reinstall.',
|
|
'zh-CN': '修复 SLS 实例删除残留外部数据、重装共用同一文件夹的问题。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Fixed the sidebar player picker not appearing right after signing in to the skin site.',
|
|
'zh-CN': '修复登录皮肤站后侧栏玩家选择器未立即显示的问题。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Fixed launches getting stuck and the player picker not reappearing when not signed in to the skin site.',
|
|
'zh-CN': '修复未登录皮肤站时启动卡住且不再弹出玩家选择的问题。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'Fixed various skin site login, player list sync, and display issues.',
|
|
'zh-CN': '修复皮肤站登录、玩家列表同步及若干显示问题。',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
id: 'launcher-1.0.0-beta1',
|
|
version: '1.0.0-beta1',
|
|
publishedAt: '2026-09-13',
|
|
title: {
|
|
'en-US': 'Starlight Launcher 1.0.0-beta1',
|
|
'zh-CN': 'Starlight Launcher 1.0.0-beta1',
|
|
},
|
|
changes: {
|
|
changed: [
|
|
{
|
|
'en-US':
|
|
'The launcher has been rebranded from Axolotl Launcher to Starlight Launcher, with a new icon and a refreshed about page.',
|
|
'zh-CN': '启动器已从 Axolotl Launcher 更名为 Starlight Launcher,并更换了全新图标与关于页。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'The "Powered by" and copyright notices now correctly credit Axolotl Launcher as the upstream project.',
|
|
'zh-CN': '版权与 "Powered by" 署名现在正确标注上游项目 Axolotl Launcher。',
|
|
},
|
|
{
|
|
'en-US': 'The developer list on the about page now shows Ax_Tps and Disy920.',
|
|
'zh-CN': '关于页的开发组现在显示 Ax_Tps 与 Disy920。',
|
|
},
|
|
],
|
|
added: [
|
|
{
|
|
'en-US': 'A "Starlight" entry was added to the sidebar, which embeds the StarLight skin site.',
|
|
'zh-CN': '侧边栏新增「斯达莱特」入口,内嵌 StarLight 皮肤站。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'A launch progress panel was added to the home sidebar, showing the current launch stage and progress.',
|
|
'zh-CN': '主页侧边栏新增启动进度面板,显示当前启动阶段与进度。',
|
|
},
|
|
{
|
|
'en-US':
|
|
'An easter egg mini-game (star merge) was added, reachable via the secret code "starlight", the Konami code, or a long press on a developer name on the about page.',
|
|
'zh-CN':
|
|
'新增彩蛋小游戏(下界之星合成),可通过暗号 starlight、Konami 秘技或长按关于页开发者名字触发。',
|
|
},
|
|
],
|
|
removed: [
|
|
{
|
|
'en-US':
|
|
'The hard-coded Starlight official server was removed from "Pinned servers"; only servers you favorite yourself are shown now.',
|
|
'zh-CN': '移除了「固定的服务器」中写死的 Starlight 官方服务器,现在只显示你自己收藏的服务器。',
|
|
},
|
|
{
|
|
'en-US': 'The swimming axolotl animation on the about page was replaced with a static nether star.',
|
|
'zh-CN': '关于页中游动的美西螈动画已替换为静止的下界之星。',
|
|
},
|
|
],
|
|
fixed: [
|
|
{
|
|
'en-US':
|
|
'Minecraft now launches in a maximized window when the maximize option is enabled.',
|
|
'zh-CN': '启用最大化选项后,Minecraft 现在会以最大化窗口启动。',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
]
|
|
|
|
export function getAnnouncementByVersion(version: string | null | undefined) {
|
|
if (!version) return undefined
|
|
return launcherAnnouncements.find((announcement) => announcement.version === version)
|
|
}
|
|
|
|
export function getAnnouncements(): readonly LauncherAnnouncement[] {
|
|
return launcherAnnouncements
|
|
}
|
|
|
|
export function getAnnouncementById(id: string) {
|
|
return launcherAnnouncements.find((announcement) => announcement.id === id)
|
|
}
|
|
|
|
export function getLocalizedAnnouncementText(
|
|
text: LocalizedAnnouncementText,
|
|
locale: string,
|
|
): string {
|
|
return locale === 'zh-CN' ? text['zh-CN'] : text['en-US']
|
|
}
|