Skip to content

Commit 78913de

Browse files
build(ci): 补充CHANGELOG并支持历史版本zip回填构建
- 新增 CHANGELOG.md 收录 1.0.0-1.6.5 完整变更记录 - Release 说明改为自动提取 CHANGELOG.md 对应版本段落 - 推送 backfill-* tag 触发历史 tag 矩阵构建并回填 zip 附件
1 parent a91a843 commit 78913de

2 files changed

Lines changed: 209 additions & 14 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 84 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ on:
44
push:
55
tags:
66
- 'v*'
7+
- 'backfill-*'
78

89
permissions:
910
contents: write
1011

1112
jobs:
1213
release:
14+
if: startsWith(github.ref, 'refs/tags/v')
1315
runs-on: ubuntu-latest
1416
steps:
1517
- name: Checkout
@@ -24,32 +26,100 @@ jobs:
2426
- name: Set up Gradle
2527
uses: gradle/actions/setup-gradle@v4
2628

29+
- name: Extract changelog for release
30+
id: changelog
31+
run: |
32+
version="${GITHUB_REF_NAME#v}"
33+
{
34+
echo "body<<CHANGELOG_EOF"
35+
awk -v ver="[$version]" '
36+
$0 == "## " ver { flag = 1; next }
37+
flag && /^## \[/ { exit }
38+
flag { print }
39+
' CHANGELOG.md
40+
echo "CHANGELOG_EOF"
41+
} >> "$GITHUB_OUTPUT"
42+
2743
- name: Build plugin
2844
run: ./gradlew buildPlugin --no-daemon --stacktrace
2945

3046
- name: Create release
3147
uses: softprops/action-gh-release@v2
3248
with:
49+
body: ${{ steps.changelog.outputs.body }}
3350
files: build/distributions/*.zip
3451
generate_release_notes: true
3552

36-
# One-time backfill: tags pushed before CI existed have no entry on the Releases page
37-
backfill-legacy-releases:
38-
if: github.ref == 'refs/tags/v1.6.5'
53+
# Backfill: build historical tags and attach their plugin zips to the existing releases.
54+
# Triggered by pushing any tag named backfill-* (e.g. backfill-assets); inert for normal v* tags.
55+
backfill-historical-builds:
56+
if: startsWith(github.ref, 'refs/tags/backfill-')
57+
runs-on: ubuntu-latest
58+
strategy:
59+
fail-fast: false
60+
matrix:
61+
tag: [v1.5.0, v1.5.1, v1.5.2, v1.5.3, v1.5.4, v1.6.0, v1.6.1, v1.6.2]
62+
steps:
63+
- name: Checkout ${{ matrix.tag }}
64+
uses: actions/checkout@v4
65+
with:
66+
ref: ${{ matrix.tag }}
67+
68+
- name: Set up JDK 17
69+
uses: actions/setup-java@v4
70+
with:
71+
distribution: temurin
72+
java-version: '17'
73+
74+
- name: Set up Gradle
75+
uses: gradle/actions/setup-gradle@v4
76+
with:
77+
gradle-version: '7.6.4'
78+
79+
- name: Build plugin
80+
run: |
81+
cat > ci-init.gradle <<'EOF'
82+
allprojects {
83+
afterEvaluate { project ->
84+
def intellijExt = project.extensions.findByName('intellij')
85+
if (intellijExt != null) {
86+
intellijExt.downloadSources = false
87+
}
88+
}
89+
}
90+
EOF
91+
gradle -I ci-init.gradle buildPlugin --no-daemon --stacktrace
92+
93+
- name: Attach zip to release
94+
uses: softprops/action-gh-release@v2
95+
with:
96+
tag_name: ${{ matrix.tag }}
97+
files: build/distributions/*.zip
98+
99+
# One-time: fill the v1.6.5 release body from CHANGELOG.md (it was created before the changelog existed).
100+
refresh-latest-release-notes:
101+
if: startsWith(github.ref, 'refs/tags/backfill-')
39102
runs-on: ubuntu-latest
40103
steps:
41104
- name: Checkout
42105
uses: actions/checkout@v4
43106

44-
- name: Create missing releases for legacy tags
45-
env:
46-
GH_TOKEN: ${{ github.token }}
107+
- name: Extract 1.6.5 changelog
108+
id: changelog
47109
run: |
48-
for tag in v1.5.0 v1.5.1 v1.5.2 v1.5.3 v1.5.4 v1.6.0 v1.6.1 v1.6.2; do
49-
if gh release view "$tag" --repo "$GITHUB_REPOSITORY" > /dev/null 2>&1; then
50-
echo "Release for $tag already exists, skipping"
51-
continue
52-
fi
53-
gh release create "$tag" --repo "$GITHUB_REPOSITORY" --verify-tag --title "$tag" --generate-notes
54-
echo "Created release for $tag"
55-
done
110+
{
111+
echo "body<<CHANGELOG_EOF"
112+
awk '
113+
$0 == "## [1.6.5]" { flag = 1; next }
114+
flag && /^## \[/ { exit }
115+
flag { print }
116+
' CHANGELOG.md
117+
echo "CHANGELOG_EOF"
118+
} >> "$GITHUB_OUTPUT"
119+
120+
- name: Update v1.6.5 release notes
121+
uses: softprops/action-gh-release@v2
122+
with:
123+
tag_name: v1.6.5
124+
body: ${{ steps.changelog.outputs.body }}
125+
generate_release_notes: true

‎CHANGELOG.md‎

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Changelog
2+
3+
## [Unreleased]
4+
5+
## [1.6.5] - 2026-10-05
6+
7+
- Add the OpenAI Responses API as a third provider protocol alongside Chat Completions and Anthropic Messages.
8+
- Replace the reasoning compatibility checkbox with per-profile thinking level drop-downs: model default, off, low, medium, high, and max.
9+
- Map thinking levels to the parameter each API format supports, covering OpenAI reasoning models, Anthropic thinking budgets, Responses reasoning effort, and vendor switches for Qwen, Zhipu, Moonshot, Doubao, MiMo, DeepSeek, OpenRouter, and MiniMax.
10+
- Show the resolved request path next to the API format selector and add a thinking column to the model list.
11+
- Migrate existing reasoning compatibility settings to the disabled thinking level and remember when a provider rejects thinking parameters.
12+
- Fix an EDT access violation when LLM actions read the commit panel selection from a background thread.
13+
14+
## [1.6.4] - 2026-07-05
15+
16+
- Add an LLM generate action that accepts extra user context, such as closed issues, bug IDs, and skip-CI instructions.
17+
- Add an independent visibility setting for the extra-context generate action.
18+
- Hide the LLM format action by default while keeping manual, LLM generate, and extra-context generate actions visible.
19+
- Add a dedicated SVG icon for the extra-context generate action.
20+
- Add reusable prompt profiles with create, rename, edit, and delete support.
21+
- Add global and project default prompt selection, with project prompts taking precedence.
22+
- Apply the selected prompt to LLM commit generation and formatting while preserving required output constraints.
23+
24+
## [1.6.3] - 2026-06-22
25+
26+
- Add support for multiple commit templates with a protected Default template.
27+
- Add global and project default template selection.
28+
- Improve the commit template settings layout, preview area, description scrolling, and native Settings UI spacing.
29+
- Apply the selected project or global template when rendering generated and formatted commit messages.
30+
31+
## [1.6.2] - 2026-06-20
32+
33+
- Optimize the commit template settings layout with a resizable editor and preview split view.
34+
- Improve template editor soft wrapping and make template variable documentation more compact and readable.
35+
- Support LLM commit message generation and formatting from Git Log edit commit message dialogs.
36+
- Add in-place stop controls for LLM generate, format, and Smart Echo operations.
37+
38+
## [1.6.1] - 2026-06-20
39+
40+
- Fix malformed or truncated LLM JSON responses from interrupting commit generation.
41+
- Increase LLM response token budget for long diffs and reasoning model outputs.
42+
- Add safer fallback parsing so incomplete responses do not produce vague commit messages.
43+
44+
## [1.6.0] - 2026-06-20
45+
46+
- Add one-click reasoning model compatibility for OpenAI-compatible and Anthropic-compatible providers.
47+
- Add request diagnostics, compatibility fallback caching, and streaming fallback for unstable model gateways.
48+
- Improve LLM commit generation by rendering structured template fields locally and formatting detailed body entries as bullets.
49+
- Improve large diff summarization and generated commit message quality checks.
50+
51+
## [1.5.5] - 2026-06-20
52+
53+
- Fix extra blank lines generated by the default commit message template.
54+
- Refresh release metadata for version 1.5.5.
55+
56+
## [1.5.4] - 2026-06-20
57+
58+
- Add native Anthropic provider support alongside OpenAI-compatible profiles.
59+
- Improve the LLM settings UI layout and active model display.
60+
- Refine Anthropic-compatible connection testing for provider gateways.
61+
62+
## [1.5.3] - 2026-04-13
63+
64+
- Add a dedicated LLM settings page with multiple model configurations.
65+
- Add global LLM response language, temperature, streaming response, and smart echo options.
66+
- Add an LLM connection test action in settings.
67+
68+
## [1.5.2] - 2026-04-07
69+
70+
- Roll the plugin version forward to 1.5.2.
71+
- Refresh release metadata for the next distribution build.
72+
73+
## [1.5.1] - 2026-04-06
74+
75+
- Refactor action support to provide richer Git commit context.
76+
- Refactor template loading to support external template files.
77+
- Refine service lookup and UI resource management.
78+
- Refresh the release metadata and action icons for version 1.5.1.
79+
80+
## [1.5.0] - 2026-04-06
81+
82+
- Add central settings panel and related configuration options.
83+
- Add LLM-based commit message generation and formatting actions.
84+
- Add temperature and response language settings for LLM features.
85+
- Add Korean localization support.
86+
- Optimize the template editor layout and settings handling.
87+
88+
## [1.4.2] - 2024-03-17
89+
90+
- Fix translation problem.
91+
- Add Japanese support.
92+
93+
## [1.4.1] - 2023-12-06
94+
95+
- Fix some bugs.
96+
97+
## [1.4.0] - 2023-12-05
98+
99+
- Optimize commit panel UI.
100+
- Add personalization settings (Hide, type display style and other functions).
101+
- Add Skip CI (If it does not take effect, please enter the template setting interface and set it according to the instructions. Or set it directly as the default template).
102+
- Optimize template description.
103+
- Add commit template preview.
104+
105+
## [1.3.0] - 2023-11-22
106+
107+
- Optimize Editor UI.
108+
- Can dynamically internationalize based on language plugins.
109+
- Fix some bugs.
110+
111+
## [1.2.0] - 2023-11-20
112+
113+
- Type supports emoji.
114+
- Cancel message caching after submitting the panel.
115+
- Add i18n support.
116+
- Optimize ui.
117+
118+
## [1.1.0] - 2020-05-19
119+
120+
- Fix some bugs.
121+
122+
## [1.0.0] - 2019-12-10
123+
124+
- Personalized submission type.
125+
- Personalized submission template.

0 commit comments

Comments
 (0)