Give the fork a release number independent of the upstream version - #26
Merged
Conversation
Both fork releases so far collided on the upstream number: v5.8.0-agent and v5.8.0-agent-putup describe the same 5.8.0 base, so each new release had to invent another suffix instead of incrementing. There was no room left for a third. MAJOR/MINOR/PATCH cannot absorb a fork counter -- they are read as upstream-semantic by ttset's RunningVersion (MAJOR*10000+MINOR), the TERATERM.INI Version key, the ttpcmn shared-memory filemap name and the TTL cur_major/cur_minor macros exposed to user scripts. Renumbering them would send RunningVersion backwards and break macros testing cur_major >= 5. So the upstream triple stays the base and SUBSTR carries the fork's own semver, starting at 1.0.0 on the first putup-only tree. Releases now increment independently, and a rebase moves the base without disturbing the counter. The dash in "agent-1.0.0" is load-bearing: svnrev.pl splices SUBSTR straight into $version, which becomes OutputBaseFilename, so a space would put spaces in the installer and zip filenames. Claude-Session: https://claude.ai/code/session_01YEkLFtTYQZuQHgQP5qYtq7
The publish step hardcoded --prerelease from when putup releases were experimental dry runs. With the fork on its own semver line, a v* tag is a real release, so flipping the flag by hand after every publish would be the workaround for a wrong default. Claude-Session: https://claude.ai/code/session_01YEkLFtTYQZuQHgQP5qYtq7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both fork releases so far collided on the upstream number —
v5.8.0-agentandv5.8.0-agent-putupdescribe the same 5.8.0 base, so each new release had to invent another suffix instead of incrementing. There was no room left for a third.Why not renumber MAJOR/MINOR/PATCH
The upstream triple is not cosmetic — it is read as upstream-semantic in five places:
teraterm/ttpset/ttset.c:586RunningVersion = MAJOR*10000 + MINOR— compat gateteraterm/ttpset/ttset.c:575,2090Versionkey, read + writtenteraterm/ttpcmn/ttcmn_static.c:55ttset_memfilemap_5_8_0teraterm/ttpmacro/ttl.cpp:2965cur_major/cur_minor, exposed to user macros*-version.rcFILEVERSION/PRODUCTVERSIONnumeric fieldsRenumbering to a fork-owned
1.0.0would sendRunningVersionbackwards (50008 → 10000), silently flipping upstream compat branches, and break user macros testingcur_major >= 5.Change
The upstream triple stays the base;
TT_VERSION_SUBSTRcarries the fork's own semver, starting at1.0.0on the first putup-only tree. Releases increment independently; a rebase moves the base without disturbing the counter.The dash in
agent-1.0.0is load-bearing:svnrev.pl:367splices SUBSTR straight into$version, which becomesOutputBaseFilename, so a space would put spaces in the installer and zip filenames.Verification
Ran the actual version pipeline:
VersionInfoVersionstill reduces to the numeric quad5.8.0.0, so the five.rcversion fields stay valid.*.sh,*.yml,*.iss,*.py,*.pl, Tupfiles found zero hits; every consumer derives fromtt-version.h.Not verified locally: that it compiles (string macro; the Windows build needs CI —
llvm-rccannot run in the local sandbox). This PR's CI is the check.Next: tag
v5.8.0-agent-1.0.0once this is onmain.https://claude.ai/code/session_01YEkLFtTYQZuQHgQP5qYtq7