From 2a5540a4b2a58f3e939a313a0b3a4427ccf47f78 Mon Sep 17 00:00:00 2001 From: Anbool Date: Mon, 16 Feb 2026 06:58:51 +0000 Subject: [PATCH 1/3] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (431 of 431 strings) Translation: Woodpecker CI/UI Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/zh_Hans/ --- web/src/assets/locales/zh-Hans.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/assets/locales/zh-Hans.json b/web/src/assets/locales/zh-Hans.json index 3f7e0e8164..a079334d10 100644 --- a/web/src/assets/locales/zh-Hans.json +++ b/web/src/assets/locales/zh-Hans.json @@ -322,7 +322,7 @@ "log_delete_error": "删除步骤日志时发生了错误", "view": "查看流水线", "cancel_info": { - "superseded_by": "#{pipelineId} 流水线已被取消", + "superseded_by": "#{pipelineId} 已取消", "canceled_by_user": "{user} 已取消" } }, From cd109eab8aadeb84fa49556e7f77983da72d3ad9 Mon Sep 17 00:00:00 2001 From: Rafael Fontenelle Date: Mon, 16 Feb 2026 11:36:21 +0000 Subject: [PATCH 2/3] Translated using Weblate (Portuguese) Currently translated at 100.0% (431 of 431 strings) Translation: Woodpecker CI/UI Translate-URL: https://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/pt/ --- web/src/assets/locales/pt.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/assets/locales/pt.json b/web/src/assets/locales/pt.json index 566d222e72..c114dab371 100644 --- a/web/src/assets/locales/pt.json +++ b/web/src/assets/locales/pt.json @@ -310,7 +310,7 @@ "log_delete_error": "Ocorreu um erro ao excluir os registros de etapas", "view": "Ver pipeline", "cancel_info": { - "superseded_by": "Substituído pelo pipeline #{pipelineId}", + "superseded_by": "Substituído por #{pipelineId}", "canceled_by_user": "Cancelado por {user}" } }, From 66cf429acd978e7c879daa3b7ae1890a00ecd452 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Mon, 16 Feb 2026 21:25:01 +0100 Subject: [PATCH 3/3] Add deprecation policy (#6068) Co-authored-by: Robert Kaussow --- docs/docs/92-development/40-deprecations.md | 43 +++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docs/docs/92-development/40-deprecations.md diff --git a/docs/docs/92-development/40-deprecations.md b/docs/docs/92-development/40-deprecations.md new file mode 100644 index 0000000000..f19f17c8e6 --- /dev/null +++ b/docs/docs/92-development/40-deprecations.md @@ -0,0 +1,43 @@ +# Deprecation Policy + +## Pipeline Configuration Changes + +Pipeline configuration (YAML syntax) changes follow a strict deprecation process to ensure users have sufficient time to migrate. + +### Process Timeline + +1. **Minor Version N.x - Add Deprecation Warning** + - Linter shows a warning (not an error) + - Old syntax remains functional + - Documentation is updated to reflect the new syntax + - Warning message includes guidance on required changes + +2. **Major Version (N+1).0 - Warning Becomes Error** + - Linter issues an error (pipeline fails) + - Old syntax is no longer supported + - Breaking change is documented in the migration guide + - Users **must** update their configurations + +3. **Minor Version (N+1).x - Code Cleanup** + - Deprecated code paths are removed + - Implementation is simplified/refactored + - Parser no longer recognizes the old syntax + +### Example + +Old syntax: `secrets: [token]` +New syntax: `environment: { TOKEN: { from_secret: token } }` + +- **v2.5.0:** Deprecation warning added in linter; both syntaxes work +- **v2.6-2.9:** Warning persists; both syntaxes remain functional +- **v3.0.0:** Linter error; old syntax fails (breaking change) +- **v3.1.0:** Deprecated code paths removed; parser simplified + +### Implementation Checklist + +When deprecating pipeline configuration syntax, ensure the following: + +- [ ] Add linter warning in `/pipeline/frontend/yaml/linter/` +- [ ] Update JSON schema in `/pipeline/frontend/yaml/linter/schema` +- [ ] Add test cases for deprecated syntax +- [ ] Update documentation to reflect the new syntax