diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-08 11:45:00 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-08 11:45:00 +0200 |
| commit | 67d4196bb3c98b0f6c00e8e514d9060b1cf7be2f (patch) | |
| tree | 7fa81814653a6e613590262f2683b913acccf983 /CHANGELOG.md | |
| parent | efeeeb045ee8f7d92bc718c40661df0f5fb070c7 (diff) | |
| download | mkhintfile-67d4196bb3c98b0f6c00e8e514d9060b1cf7be2f.tar.gz mkhintfile-67d4196bb3c98b0f6c00e8e514d9060b1cf7be2f.zip | |
fix: complete version-aware reconcile against real URL shapes; release v1.2.2v1.2.2
1.2.1 made the bundled-dep reconcile version-aware but _url_version
mis-parsed several real-world URL shapes, so 1.2.1 was never correct in
the field (found by running mkhint -C --force neovim against the live
0.12.4 hint).
_url_version now derives the version by stripping the URL's own github
repo name from the basename:
- dep names containing digits/dashes (lua-compat-5.3) parse correctly
instead of splitting the name as a version
- a bare-tag basename with no name prefix is taken as the whole version,
fixing package-rev suffixes (luv 1.52.1-0 was truncated to 0)
- non-github and the shared neovim/deps blob host fall back to the
trailing-version/sha heuristic
_url_repo is lowercased so JuliaStrings/utf8proc matches
juliastrings/utf8proc (github repos are case-insensitive); utf8proc had
reported no-match and appeared in the manifest-only FYI.
Verified against all 13 live neovim 0.12.4 bundled deps: all match and
report current, no false change, a real bump still detected. Adds
T-BM22 (one case per URL-shape class) and T-BM23 (case-insensitive
repo match); T-BM17 unchanged. 182 passed.
Bump MKHINT_VERSION and man title to 1.2.2, rebuild mkhint.1.gz.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 32fe3a9..2a501e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,17 +4,37 @@ All notable changes to this project are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/). +## [1.2.2] - 2026-07-08 + +### Fixed +- Completes the 1.2.1 version-aware reconcile against real-world URL shapes. + Verified against all 13 bundled deps of the live neovim 0.12.4 hint; 1.2.1's + `_url_version` mis-parsed several of them and 1.2.1 was never correct in the + field. +- `_url_version` now derives the version by stripping the URL's own github repo + name from the basename, so dep names that themselves contain digits/dashes + (e.g. `lua-compat-5.3`) parse correctly instead of splitting the name as a + version. A bare-tag basename (no name prefix) is taken as the whole version, + which fixes package-rev suffixes like `luv` `1.52.1-0` being truncated to `0`. + Non-github hosts and the shared `neovim/deps` blob host fall back to the + trailing-version/sha heuristic. +- `_url_repo` is now lowercased, so a dep that appears as `JuliaStrings/utf8proc` + in the hint and `juliastrings/utf8proc` in the manifest matches (github + owners/repos are case-insensitive) instead of being reported as unmatched and + duplicated in the manifest-only FYI. + ## [1.2.1] - 2026-07-08 ### Fixed -- Bundled-dep reconcile now detects change by upstream version, not raw URL - string. Manifests serve bare-tag archive URLs - (`.../archive/v0.26.7.tar.gz`) while hints use the SBo-fetched tree shape - (`.../archive/v0.26.7/tree-sitter-0.26.7.tar.gz`); these are the same - version in different path shapes, so the old string comparison flagged every - dep as changed at a version that had not moved. Reconcile now extracts the - version from each URL (`_url_version`) and only rewrites a line when the - version actually differs. +- Bundled-dep reconcile detects change by upstream version, not raw URL string. + Manifests serve bare-tag archive URLs (`.../archive/v0.26.7.tar.gz`) while + hints use the SBo-fetched tree shape + (`.../archive/v0.26.7/tree-sitter-0.26.7.tar.gz`); these are the same version + in different path shapes, so the old string comparison flagged every dep as + changed at a version that had not moved. Reconcile now extracts the version + from each URL (`_url_version`) and only rewrites a line when the version + actually differs. (URL-shape parsing was incomplete in this release; see + 1.2.2.) - The changed-deps report now shows `name old-ver -> new-ver` from the parsed identity and version, instead of version-stripped URL basenames. |
