Skip to content

Commit b2403c6

Browse files
committed
chore: release v0.15.0
- Bump version to 0.15.0 - Promote [Unreleased] changelog to [0.15.0] - Rebuild dist-action bundle
1 parent 5a80d96 commit b2403c6

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
- **Review Mode**: Runs in TARGET repo, posts quality review comments on translation PRs
1010
- **Rebase Mode**: Runs in TARGET repo, rebases conflicted translation PRs when a sibling PR is merged
1111

12-
**Current Version**: v0.14.1 | **Tests**: 1001 (39 suites) | **Glossary**: 357 terms (zh-cn, fa)
12+
**Current Version**: v0.15.0 | **Tests**: 1005 (39 suites) | **Glossary**: 357 terms (zh-cn, fa)
1313

1414
---
1515

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.15.0] - 2025-07-14
11+
1012
### Added
1113
- **Rebase mode** (`mode: rebase`): Automatically rebases open translation-sync PRs when a sibling PR is merged. Eliminates the 62% merge conflict rate from issue #63. Runs in the target repo, triggered by `pull_request.closed` events on `translation-sync-` branches. Detects file overlap via PR metadata, re-runs the sync pipeline against updated `main`, and force-pushes the result. Posts success/failure comments on rebased PRs.
1214
- **Translation cache for rebase**: Stores `targetBaseSha` in PR metadata to enable section-level cache during rebase. Before re-translating, compares each section's target content between the original baseline and current `main`. Unchanged sections reuse cached translations from the PR branch — zero Claude API calls in the common case (PRs modifying different sections). Added sections matched via heading map. Graceful fallback to re-translation if cache parsing fails.
1315
- **Structured PR metadata**: Translation-sync PR bodies now include a `<!-- translation-sync-metadata -->` HTML comment block with machine-readable JSON: `sourceRepo`, `sourcePR`, `sourceCommitSha`, `targetBaseSha`, `sourceLanguage`, `targetLanguage`, `claudeModel`, and file list. Used by rebase mode to reconstruct pipeline inputs. Invisible on GitHub. Backward compatible — PRs without metadata are skipped during rebase.
1416
- **Rebase workflow template**: Ready-to-use `examples/rebase-translations.yml` for target repos. Includes concurrency group to prevent overlapping rebases.
17+
- **File type metadata**: PR metadata now includes file types (`markdown`, `renamed`, `removed`, `toc`) and `previousPath` for renamed files. Rebase mode uses this to correctly reconstruct all file types, not just markdown.
1518
- **`RebaseInputs` type**: New action inputs for rebase mode (`anthropic-api-key`, `github-token`, optional `docs-folder` and `glossary-path`).
16-
- **17 tests**: 8 for metadata/rebase inputs, 2 for targetBaseSha, 7 for translation cache, 2 for cache subsections and heading-map correctness (976 → 1001 total, 39 suites)
19+
- **29 tests**: 8 for metadata/rebase inputs, 2 for targetBaseSha, 7 for translation cache, 2 for cache subsections and heading-map correctness, 1 for CRLF metadata parsing, 3 for file type metadata, 6 additional cache and integration tests (976 → 1005 total, 39 suites)
1720

1821
## [0.14.1] - 2026-04-09
1922

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "action-translation",
3-
"version": "0.14.1",
3+
"version": "0.15.0",
44
"type": "module",
55
"description": "GitHub Action to sync and review translations across repositories",
66
"main": "dist/index.js",

0 commit comments

Comments
 (0)