beyond-all-reason / beyond-all-reason/RecoilEngine

Rethink `Script.IsEngineMinVersion` API?

Open
#2,207 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

The current version is `2025.03.9` but if you do `Script.IsEngineMinVersion(2025, 3, 9)` you don't actually get a check against patchset 9, you get a check for 9 _commits_ after whatever was the last commit reset and I'm not sure whether that counts from last stable (2025.01.6, probably not since that was made from a different branch?), from the first 2025.03 pre-release (i.e. from 2025.03.1) or maybe even from current prerelease (i.e. 9 commits after 2025.03.9 which probably would return false).

The first task would be to clarify how to use it under the new pre-release scheme (in particular how to translate the patchset like .9 into commits that the function would accept).

The second would be to rethink whether this should use commits after all (in addition to the above, the same commit will be under a different number when cherry-picked onto different branches). Keep existing 105 checks in mind though (at worst could always do something like this though
```
if major <= 105 {
third arg is commits
} elseif major >= 2025 {
third arg is patchset
}
```

Contributor guide

Open the contributing guide

Research direction

Start by locating the implementation and existing call sites of Script.IsEngineMinVersion, including the 105 checks mentioned in the issue. Clarify how 2025.03.9 maps to the current commit-based arguments, then document or design a compatible versioning approach that handles prereleases, patchsets, and cherry-picked commits.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.