feat: expand multi-runtime workflows for 0.10.0
GoodBuddy previously exposed Runtime capabilities, MCP assignments, plugin controls, context compaction, usage reporting, and task-completion behavior through incomplete or inconsistent paths. This release unifies managed OpenCode, Continue, and DeepSeek Harness controls; adds DSH plugin and image workflows; strengthens MCP and Runtime lifecycle bounds; fixes Windows notification activation; validates cross-architecture packages; and presents the approved bilingual four-section release notes. The DSH plugin marketplace remains a default-off preview whose trusted third-party code runs with current-user permissions. Ask remains read-only, Execute keeps approval controls, and context compaction may use the selected model without deleting GoodBuddy chat history. Release note: GoodBuddy 0.10.0 重点完善多 Runtime 工作流,统一 OpenCode、Continue 与 DeepSeek Harness 的能力、MCP、插件和上下文管理,并提升长对话、多会话与任务通知的连贯性。
This commit is contained in:
@@ -17,12 +17,51 @@ describe('packaged release notes', () => {
|
||||
expect.objectContaining({ version: '0.8.19' })
|
||||
)
|
||||
for (const release of parsed.releases) {
|
||||
expect(release.notes['zh-CN'].features).toHaveLength(
|
||||
release.notes['en-US'].features.length
|
||||
)
|
||||
expect(release.notes['zh-CN'].fixes).toHaveLength(
|
||||
release.notes['en-US'].fixes.length
|
||||
)
|
||||
for (const section of [
|
||||
'highlights',
|
||||
'features',
|
||||
'fixes',
|
||||
'notices'
|
||||
] as const) {
|
||||
expect(release.notes['zh-CN'][section]).toHaveLength(
|
||||
release.notes['en-US'][section].length
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const currentRelease = parsed.releases.find(
|
||||
(release) => release.version === '0.10.0'
|
||||
)
|
||||
expect(currentRelease).toBeDefined()
|
||||
expect(currentRelease?.releasedAt).toBe('2026-08-17')
|
||||
expect(currentRelease?.notes['zh-CN'].highlights).toHaveLength(1)
|
||||
expect(currentRelease?.notes['zh-CN'].features).toHaveLength(7)
|
||||
expect(currentRelease?.notes['zh-CN'].fixes).toHaveLength(6)
|
||||
expect(currentRelease?.notes['zh-CN'].notices).toHaveLength(4)
|
||||
expect(
|
||||
currentRelease?.notes['zh-CN'].features.every((item) =>
|
||||
item.startsWith('**')
|
||||
)
|
||||
).toBe(true)
|
||||
expect(
|
||||
currentRelease?.notes['zh-CN'].fixes.every((item) =>
|
||||
item.startsWith('**')
|
||||
)
|
||||
).toBe(true)
|
||||
expect(
|
||||
currentRelease?.notes['zh-CN'].notices.every((item) =>
|
||||
item.startsWith('**')
|
||||
)
|
||||
).toBe(true)
|
||||
expect(JSON.stringify(currentRelease)).not.toContain('官网')
|
||||
expect(JSON.stringify(currentRelease)).not.toContain(
|
||||
'Website and product preview'
|
||||
)
|
||||
|
||||
const legacyRelease = parsed.releases.find(
|
||||
(release) => release.version === '0.9.3'
|
||||
)
|
||||
expect(legacyRelease?.notes['zh-CN'].highlights).toEqual([])
|
||||
expect(legacyRelease?.notes['zh-CN'].notices).toEqual([])
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user