Description
The ML4W version metadata and the legacy dotfiles update checker are currently inconsistent:
dotfiles/.config/ml4w/version.json still reports 2.12.3 in the 2.14.1, 2.15, and 2.15.1 releases, as well as on main.
dotfiles/.config/ml4w/scripts/ml4w-check-dotfiles-update tries to read a different, nonexistent path:
version=$(jq -r '.Version' ~/.config/ml4w/version/version.json)
The distributed file is actually located at:
~/.config/ml4w/version.json
As a result, version.json cannot reliably identify the installed ML4W version, and the checker cannot read it even if its contents are corrected.
Evidence
Current release/profile metadata correctly identifies the release as 2.15.1:
hyprland-dotfiles-stable.dotinst: version: 2.15.1, tag: 2.15.1
- Git tag/release:
2.15.1
WelcomeApp/WelcomeWindow.qml: hard-coded Version 2.15.1
CHANGELOG.md: Version 2.15.1
But the current version.json still contains:
{
"Title": "ML4W OS",
"Subtitle": "Dotfiles for Hyprland",
"Version": "2.12.3"
}
Repository links:
A repository-wide search currently finds version.json consumed only by ml4w-check-dotfiles-update, using the incorrect path above. The current Quickshell Welcome app does not read this file; its version is maintained separately as a hard-coded string.
Steps to reproduce
On an installation from the current stable profile:
jq -r '.Version' ~/.config/ml4w/version.json
Output:
Then check the path used by the update script:
test -f ~/.config/ml4w/version/version.json || echo 'checker path does not exist'
Output:
checker path does not exist
Expected behavior
- Installed version metadata should match the release/profile version.
- The update checker should read the actual metadata path.
- Ideally, the release process should use one source of truth or validate that the Git tag,
.dotinst version/tag, Welcome app version, changelog, and installed metadata agree.
Suggested minimal fix
- Update
dotfiles/.config/ml4w/version.json to the current release version.
- Change the checker path to:
~/.config/ml4w/version.json
- Consider persisting the installed
.dotinst version/tag (and optionally commit) under the installer profile config so the locally installed version can be queried reliably.
Related issue
Related to #1728, where an installer copy no-op also left users with version.json reporting 2.12.3. This report is distinct because the stale value exists in the official 2.15.1 source/tag itself, and the update checker independently points to the wrong path.
Environment
- ML4W stable profile:
com.ml4w.dotfiles.stable
- Target release inspected:
2.15.1
- Installer profile metadata:
version: 2.15.1, tag: 2.15.1
Description
The ML4W version metadata and the legacy dotfiles update checker are currently inconsistent:
dotfiles/.config/ml4w/version.jsonstill reports2.12.3in the2.14.1,2.15, and2.15.1releases, as well as onmain.dotfiles/.config/ml4w/scripts/ml4w-check-dotfiles-updatetries to read a different, nonexistent path:version=$(jq -r '.Version' ~/.config/ml4w/version/version.json)The distributed file is actually located at:
As a result,
version.jsoncannot reliably identify the installed ML4W version, and the checker cannot read it even if its contents are corrected.Evidence
Current release/profile metadata correctly identifies the release as
2.15.1:hyprland-dotfiles-stable.dotinst:version: 2.15.1,tag: 2.15.12.15.1WelcomeApp/WelcomeWindow.qml: hard-codedVersion 2.15.1CHANGELOG.md:Version 2.15.1But the current
version.jsonstill contains:{ "Title": "ML4W OS", "Subtitle": "Dotfiles for Hyprland", "Version": "2.12.3" }Repository links:
version.jsonml4w-check-dotfiles-update.dotinstA repository-wide search currently finds
version.jsonconsumed only byml4w-check-dotfiles-update, using the incorrect path above. The current Quickshell Welcome app does not read this file; its version is maintained separately as a hard-coded string.Steps to reproduce
On an installation from the current stable profile:
Output:
Then check the path used by the update script:
Output:
Expected behavior
.dotinstversion/tag, Welcome app version, changelog, and installed metadata agree.Suggested minimal fix
dotfiles/.config/ml4w/version.jsonto the current release version.~/.config/ml4w/version.json.dotinstversion/tag (and optionally commit) under the installer profile config so the locally installed version can be queried reliably.Related issue
Related to #1728, where an installer copy no-op also left users with
version.jsonreporting2.12.3. This report is distinct because the stale value exists in the official2.15.1source/tag itself, and the update checker independently points to the wrong path.Environment
com.ml4w.dotfiles.stable2.15.1version: 2.15.1,tag: 2.15.1