Skip to content

release: prepare 2.0.0-rc7 - #122

Merged
davidp57 merged 1 commit into
developfrom
release/2.0.0-rc7
Aug 14, 2026
Merged

release: prepare 2.0.0-rc7#122
davidp57 merged 1 commit into
developfrom
release/2.0.0-rc7

Conversation

@davidp57

@davidp57 davidp57 commented Aug 14, 2026

Copy link
Copy Markdown
Member

Summary

Prepares the 2.0.0-rc7 pre-release: ctld.VERSION bumped and RELEASE_NOTES.md drafted for the DCS community. No behaviour change — everything shipping in this rc is already on develop.

Scope since rc6: 33 commits, 14 of them touching src/, across 17 lots. UX-FASTROPE-INFLIGHT is deliberately absent from the notes: only its backlog index line landed after rc6, the feature itself already shipped in it.

What the notes cover

Seven in-mission fixes, two of which silently destroyed deployed objects:

The i18n chain (#115#121), which gives FR/ES/KO their menus back: 56 labels wrongly dropped from the dictionaries by a tooling bug, and the KO/ES translations that had never been written (70 per language, plus 29 surfaced by that fix).

One ctld-tools change: FEAT-CUSTOM-BEACON-SOUNDS (#112) — a Default/Custom picker for the two beacon sound settings, the chosen .ogg written into the .miz with its resource key and preload trigger.

Filtered out of the community notes as internal: the dev build channel (#109), untracking the built engine (#110), the i18n tooling lots (#118, #121), documentation and backlog bookkeeping.

Two deliberate choices

  • CHANGELOG.md is untouched. [Unreleased] stays open on a pre-release (docs/developer/workflow.md) — only a stable freezes it. That is also why its reorganisation waits for the stable tag rather than happening here: every lot merged until then adds lines to it.
  • CTLD.lua is not committed. It has been git-ignored since CHORE-UNTRACK-BUILT-ENGINE (chore: untrack the built engine (CHORE-UNTRACK-BUILT-ENGINE) #110) and CI rebuilds it for the release. The release skill still says to commit it — stale on that point, worth a follow-up fix.

The notes open on a re-install notice: the engine travels inside the .miz, so a mission installed with rc6 keeps the old one until it is installed again. Without it, a Mission Maker who already installed would see none of the above.

Test plan

  • merge_CTLD.ps1 rebuild — CTLD.lua (1 180 586 bytes) stamps ctld.VERSION = "2.0.0-rc7", loads in Lua 5.1, no BOM
  • ctld-tools needs no separate bump: it reads ctld.VERSION as the single source of truth (resources.py:152), so the exe and its help link follow automatically
  • The version-specific docs link in the notes resolves: docs.yml publishes the tagged version and leaves latest alone for a pre-release
  • generate_i18n_dicts.ps1 dry-run OK on all four dictionaries
  • CI green on this PR
  • After merge: push published-v2.0.0-rc7 to trigger the release workflow (maintainer action)

Summary by Sourcery

Prepare the 2.0.0-rc7 pre-release with updated release notes and versioning.

New Features:

  • Allow mission makers to configure custom beacon sounds that are embedded into the mission file and validated as real OGG audio.
  • Expose FOB "all crates" shortcut and crate counts for multi-crate equipment in the Request Equipment menu.

Enhancements:

  • Clarify installation and re-installation behaviour so missions pick up the updated engine and fixes.
  • Document the scope and impact of recent in-mission bug fixes and i18n improvements for mission makers.

Documentation:

  • Update RELEASE_NOTES.md for 2.0.0-rc7 with installation guidance, detailed in-mission fix list, menu translation status, and new mission maker features.

Chores:

  • Bump ctld.VERSION from 2.0.0-rc6 to 2.0.0-rc7 to tag the new release candidate.

Bump ctld.VERSION to 2.0.0-rc7 and draft the community release notes.

Scope since rc6: 33 commits, 14 of them touching src/, in 17 lots. Seven
in-mission fixes - two of which silently destroyed deployed objects (parachuted
groups sharing a template deleting each other, AA system parts spawning on top
of one another) - plus the i18n chain that gives FR/ES/KO their menus back: 56
labels wrongly dropped from the dictionaries, and the KO/ES translations that
had never been written (70 per language, plus 29 surfaced by that fix).

ctld-tools changes in one lot only, FEAT-CUSTOM-BEACON-SOUNDS: a Default/Custom
picker for the two beacon sound settings, the chosen .ogg written into the .miz
with its resource key and preload trigger.

The notes open on the re-install notice: the engine travels inside the .miz, so
a mission installed with rc6 keeps the old one until it is installed again.

CHANGELOG untouched by design - [Unreleased] stays open on a pre-release
(docs/developer/workflow.md), which is also why its reorganisation waits for the
stable tag. CTLD.lua is git-ignored since CHORE-UNTRACK-BUILT-ENGINE (PR #110)
and rebuilt by CI, so it is not committed here.
@davidp57 davidp57 added the skip-changelog PR touches src/ but intentionally needs no CHANGELOG entry (waives changelog-guard) label Aug 14, 2026
@sourcery-ai

sourcery-ai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Reviewer's Guide

Pre-release prep for 2.0.0-rc7: bump the internal ctld.VERSION and overhaul RELEASE_NOTES.md to cover the latest in-mission fixes, i18n work, and ctld-tools beacon sound feature, plus updated installation/reinstall guidance and mission-maker notes, with no behavioral changes beyond what is already in develop.

File-Level Changes

Change Details Files
Update release notes for 2.0.0-rc7 with new installation guidance, bug-fix descriptions, i18n status, and mission-maker feature notes.
  • Change release title and documentation link from 2.0.0-rc6 to 2.0.0-rc7.
  • Replace rc5-specific reinstall note with rc6 reinstall guidance tied to embedded engine updates.
  • Document seven in-mission fixes affecting troop extraction, parachute group collisions, AA system placement, unpack menu visibility, multi-crew F10 menu duplication, and death/JTAC events.
  • Describe restored and completed translations for French, Spanish, and Korean menus, including CI guard against missing dictionary entries.
  • Describe new beacon sound customization flow and FOB crate count UX improvements for mission makers.
  • Clarify that no configuration settings changed and that existing configs continue to load unchanged.
RELEASE_NOTES.md
Bump the ctld engine version constant to 2.0.0-rc7 for the pre-release.
  • Update ctld.VERSION string from 2.0.0-rc6 to 2.0.0-rc7 in the configuration source.
  • Align the version used by ctld-tools and documentation publishing with the new release candidate tag.
src/CTLD_config.lua

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="RELEASE_NOTES.md" line_range="54-55" />
<code_context>
-No setting added, renamed or removed. The engine is rc5's apart from its version stamp — everything
-in this release is in the tool and the documentation.
+- **The translated menus are whole again.** 56 labels — every HAWK, BUK, KUB, NASAMS, Patriot and
+  S-300 component, several crate, smoke and vehicle entries, and the category headers (Infantry, Air
+  Defense, Ground Vehicles, Helicopters, Aircraft, Ships, FARP / FOB) — had been dropped from the
+  dictionaries by a tooling bug and were falling back to English. If you fly in French, Spanish or
</code_context>
<issue_to_address>
**issue (typo):** Pluralize "crate" in "several crate, smoke and vehicle entries".

"Several" should be followed by a plural noun, so "crate" needs to be changed to "crates" to be grammatically correct.

```suggestion
- **The translated menus are whole again.** 56 labels — every HAWK, BUK, KUB, NASAMS, Patriot and
  S-300 component, several crates, smoke and vehicle entries, and the category headers (Infantry, Air
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread RELEASE_NOTES.md
Comment on lines +54 to +55
- **The translated menus are whole again.** 56 labels — every HAWK, BUK, KUB, NASAMS, Patriot and
S-300 component, several crate, smoke and vehicle entries, and the category headers (Infantry, Air

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (typo): Pluralize "crate" in "several crate, smoke and vehicle entries".

"Several" should be followed by a plural noun, so "crate" needs to be changed to "crates" to be grammatically correct.

Suggested change
- **The translated menus are whole again.** 56 labels — every HAWK, BUK, KUB, NASAMS, Patriot and
S-300 component, several crate, smoke and vehicle entries, and the category headers (Infantry, Air
- **The translated menus are whole again.** 56 labels — every HAWK, BUK, KUB, NASAMS, Patriot and
S-300 component, several crates, smoke and vehicle entries, and the category headers (Infantry, Air

@davidp57
davidp57 merged commit 7f7ccae into develop Aug 14, 2026
9 checks passed
@davidp57
davidp57 deleted the release/2.0.0-rc7 branch August 14, 2026 17:11
davidp57 added a commit that referenced this pull request Aug 14, 2026
)

The release skill still listed CTLD.lua among the files to commit on the release
branch. It has been git-ignored since CHORE-UNTRACK-BUILT-ENGINE (PR #110), so
that instruction cannot be followed: git add on it silently does nothing, and CI
rebuilds the engine and attaches it to the release anyway. Found while preparing
2.0.0-rc7 (PR #122).

Two other gaps the same run surfaced, both discovered by reading past release PRs
rather than the skill:

- The PR needs the skip-changelog label. Bumping ctld.VERSION is a src/ change,
  so changelog-guard demands a CHANGELOG.md entry and fails the PR without one.
  Every release PR from rc3 to rc7 carried the label; the skill never said so.
- The PR title convention, "release: prepare x.y.z", used unchanged since rc3.

Also states that ctld.VERSION is the only version to bump - ctld-tools reads it
as its single source of truth, and the 0.1.0 in its pyproject.toml is a leftover
displayed nowhere - and that the rebuild in step 4 is a local check, not a file
to commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog PR touches src/ but intentionally needs no CHANGELOG entry (waives changelog-guard)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant