From 07d9ce91e5d04d9db91e22bd7eaa80070f6d37ef Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sun, 6 Sep 2026 00:51:32 +0900 Subject: [PATCH] revert: move back off calendar versioning Reverts the switch to calendar versioning, before it produced a release here. release-please has no CalVer strategy, so the switch reset the version series by hand and pinned always-bump-patch. What that analysis missed is what release-please does to the changelog when the series it is walking no longer connects to the tag history: on MSIME-Apple it rewrote the whole file into a single 158-line 2026.9.1 entry that listed every feature since the first pull request as though it had just shipped. MSIME-Linux got a 64-line one. This repository had not released yet, so there is no changelog damage to undo and reverting now costs nothing. Restores the 0.0.17 baseline across version.txt, .release-please-manifest.json and the version resource, drops always-bump-patch from the release-please config, and removes the monthly rollover workflow. The next release goes back to the previous series. The three version lines the switch was meant to unify stay unaligned. That problem is real but wants a mechanism that does not fight release-please. --- .github/workflows/calver-rollover.yml | 83 --------------------------- .release-please-manifest.json | 2 +- release-please-config.json | 1 - src/IME/MetasequoiaIME.rc | 8 +-- version.txt | 2 +- 5 files changed, 6 insertions(+), 90 deletions(-) delete mode 100644 .github/workflows/calver-rollover.yml diff --git a/.github/workflows/calver-rollover.yml b/.github/workflows/calver-rollover.yml deleted file mode 100644 index 1499889d..00000000 --- a/.github/workflows/calver-rollover.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: CalVer rollover - -# release-please has no CalVer versioning strategy: its only options are default, always-bump-patch, -# always-bump-minor, always-bump-major, service-pack and prerelease. The configuration here pins -# always-bump-patch, which advances 2026.9.0 -> 2026.9.1 -> 2026.9.2 within a month but never moves -# the year or the month on its own. -# -# This job moves them. Without it CalVer would be a number that merely looks like a date, and keeping -# it truthful would be a manual edit somebody has to remember - the exact failure this project has -# already been bitten by elsewhere. -# -# It opens a pull request rather than pushing, because main is protected in some of these -# repositories and because a version change deserves a human glance. - -on: - schedule: - - cron: '7 3 1 * *' - workflow_dispatch: - -permissions: - contents: write - pull-requests: write - -concurrency: - group: calver-rollover - cancel-in-progress: false - -jobs: - rollover: - name: Open the month's version bump - runs-on: ubuntu-latest - timeout-minutes: 10 - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - name: Check out - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - - name: Decide whether the month moved - id: decide - run: | - set -euo pipefail - current=$(jq -r '."."' .release-please-manifest.json) - target="$(date -u +%Y).$(date -u +%-m).0" - echo "current=$current target=$target" - if [ "${current%.*}" = "${target%.*}" ]; then - echo "moved=false" >> "$GITHUB_OUTPUT" - echo "Already on ${target%.*}; nothing to do." - else - echo "moved=true" >> "$GITHUB_OUTPUT" - echo "target=$target" >> "$GITHUB_OUTPUT" - fi - - - name: Apply the new version - if: steps.decide.outputs.moved == 'true' - run: | - set -euo pipefail - target='${{ steps.decide.outputs.target }}' - jq --arg v "$target" '."." = $v' .release-please-manifest.json > tmp && mv tmp .release-please-manifest.json - printf '%s\n' "$target" > version.txt - # Owns the VERSIONINFO block, which carries the number in two shapes and cannot be driven - # by release-please's generic updater. - python3 scripts/apply_version.py - python3 scripts/apply_version.py --check - - - name: Open the pull request - if: steps.decide.outputs.moved == 'true' - run: | - set -euo pipefail - target='${{ steps.decide.outputs.target }}' - branch="chore/calver-$target" - if gh pr list --head "$branch" --state open --json number --jq 'length' | grep -qv '^0$'; then - echo "A pull request for $branch is already open." - exit 0 - fi - git config user.name 'github-actions[bot]' - git config user.email '41898282+github-actions[bot]@users.noreply.github.com' - git checkout -b "$branch" - git commit -aqm "chore(release): roll the calendar version to $target" - git push -u origin "$branch" - gh pr create --base "${GITHUB_REF_NAME}" --head "$branch" \ - --title "chore(release): roll the calendar version to $target" \ - --body "The calendar month moved, and release-please cannot advance a CalVer year or month on its own; its always-bump-patch strategy only walks the last component. Merging this resets the series to \`$target\` so the version keeps meaning what it says." diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 8e5a3fbb..e4df6aab 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2026.9.0" + ".": "0.0.17" } diff --git a/release-please-config.json b/release-please-config.json index b2cadb60..7bf989ba 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -3,7 +3,6 @@ "packages": { ".": { "release-type": "simple", - "versioning": "always-bump-patch", "package-name": "MetasequoiaImeWindows", "include-component-in-tag": false, "include-v-in-tag": true, diff --git a/src/IME/MetasequoiaIME.rc b/src/IME/MetasequoiaIME.rc index 7986610a..e80aee7a 100644 --- a/src/IME/MetasequoiaIME.rc +++ b/src/IME/MetasequoiaIME.rc @@ -35,8 +35,8 @@ IDI_PUNCTUATION_OFF ICON "..\\..\\image\\PunctuationOff.i // IDR_VERSION2 VERSIONINFO - FILEVERSION 2026,9,0,0 - PRODUCTVERSION 2026,9,0,0 + FILEVERSION 0,0,17,0 + PRODUCTVERSION 0,0,17,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -53,12 +53,12 @@ BEGIN BEGIN VALUE "CompanyName", "MSFT" VALUE "FileDescription", "The Metasequoia code of Windows 11 IME" - VALUE "FileVersion", "2026.9.0.0" + VALUE "FileVersion", "0.0.17.0" VALUE "InternalName", "MetasequoiaIM.dll" VALUE "LegalCopyright", "Copyright (C)" VALUE "OriginalFilename", "MetasequoiaIM.dll" VALUE "ProductName", "MetasequoiaIME" - VALUE "ProductVersion", "2026.9.0.0" + VALUE "ProductVersion", "0.0.17.0" END END BLOCK "VarFileInfo" diff --git a/version.txt b/version.txt index e36a169c..cd231804 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2026.9.0 +0.0.17