From 6e1a7dcbae46bd1d13cd05e6097ead17800d5de7 Mon Sep 17 00:00:00 2001 From: Guillermo Montero Date: Thu, 17 Sep 2026 18:07:24 +0200 Subject: [PATCH 1/2] docs(policy): pin retirement version for deprecated [engine] block --- CHANGELOG.md | 2 ++ src/bmad_loop/policy.py | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a55a12d0d..df1ff0c37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -394,6 +394,8 @@ breaking changes may land in a minor release. cannot be read at a graceful stop journals `sweep-remaining-estimate-unreadable` next to the `run-stop` row, so a withheld estimate says why it was withheld. +- Pinned a target version for the deprecated `[engine]` settings block. + - **`bmad-loop diagnose --json` reports `schema_version: 4`.** Journal `path` values become `path_present`; stale-restore and merge filename lists become counts. diff --git a/src/bmad_loop/policy.py b/src/bmad_loop/policy.py index 319af2467..b8a0387dc 100644 --- a/src/bmad_loop/policy.py +++ b/src/bmad_loop/policy.py @@ -59,8 +59,8 @@ _MUX_KEY_RE = re.compile(r"^\s*#?\s*backend\s*=") # Deprecated [engine] keys, folded into [plugins.unity] at load time. The -# game-engine layer is now a plugin; [engine] is a one-release compatibility -# alias (see _fold_deprecated_engine). +# game-engine layer is now a plugin; [engine] is a compatibility alias slated +# for removal in 0.12.0 (see _fold_deprecated_engine, tracked in #810). _ENGINE_SETTING_KEYS = ("editor_mode", "mcp", "unity_path", "ready_timeout_sec", "ready_grace_sec") @@ -1322,7 +1322,7 @@ def _fold_deprecated_engine( warnings.warn( "[engine] in policy.toml is deprecated; the game-engine layer is now a " 'plugin. Use [plugins] enabled = ["unity"] with a [plugins.unity] table. ' - "[engine] will be removed in a future release.", + "[engine] will be removed in 0.12.0 (tracked in #810).", DeprecationWarning, stacklevel=3, ) From 67f48a265b92ae895d06bcac6336312d35fabd3a Mon Sep 17 00:00:00 2001 From: Guillermo Montero Date: Wed, 23 Sep 2026 13:50:34 +0200 Subject: [PATCH 2/2] fix(policy): target 0.13.0 for [engine] retirement, not 0.12.0 0.12.0 already shipped (tag v0.12.0, 2026-09-20) without removing [engine], so pinning the retirement notice to 0.12.0 would be false the moment this merges. Next real release is 0.13.0 per this repo's minor-bump convention for deprecation removals (0.11.0/0.12.0), so retargeted both the code comment and the runtime DeprecationWarning to it. Also moved the CHANGELOG entry from the already-published ## [0.12.0] section into ## [Unreleased] / ### Changed, where an unreleased change belongs per this file's own Keep a Changelog convention. --- CHANGELOG.md | 3 +-- src/bmad_loop/policy.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df1ff0c37..d54d934a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ breaking changes may land in a minor release. ### Changed +- Pinned a target version for the deprecated `[engine]` settings block (#810). - Register hooks through the installed `bmad-loop relay ` command. Upgrading invalidates Codex hook trust: Codex re-prompts at the next launch, and hooks silently do not fire until the new commands are accepted. Re-run `bmad-loop init` to migrate @@ -394,8 +395,6 @@ breaking changes may land in a minor release. cannot be read at a graceful stop journals `sweep-remaining-estimate-unreadable` next to the `run-stop` row, so a withheld estimate says why it was withheld. -- Pinned a target version for the deprecated `[engine]` settings block. - - **`bmad-loop diagnose --json` reports `schema_version: 4`.** Journal `path` values become `path_present`; stale-restore and merge filename lists become counts. diff --git a/src/bmad_loop/policy.py b/src/bmad_loop/policy.py index b8a0387dc..f93823d5e 100644 --- a/src/bmad_loop/policy.py +++ b/src/bmad_loop/policy.py @@ -60,7 +60,7 @@ # Deprecated [engine] keys, folded into [plugins.unity] at load time. The # game-engine layer is now a plugin; [engine] is a compatibility alias slated -# for removal in 0.12.0 (see _fold_deprecated_engine, tracked in #810). +# for removal in 0.13.0 (see _fold_deprecated_engine, tracked in #810). _ENGINE_SETTING_KEYS = ("editor_mode", "mcp", "unity_path", "ready_timeout_sec", "ready_grace_sec") @@ -1322,7 +1322,7 @@ def _fold_deprecated_engine( warnings.warn( "[engine] in policy.toml is deprecated; the game-engine layer is now a " 'plugin. Use [plugins] enabled = ["unity"] with a [plugins.unity] table. ' - "[engine] will be removed in 0.12.0 (tracked in #810).", + "[engine] will be removed in 0.13.0 (tracked in #810).", DeprecationWarning, stacklevel=3, )