aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-08 11:45:00 +0200
committerDanilo M. <danix@danix.xyz>2026-07-08 11:45:00 +0200
commit67d4196bb3c98b0f6c00e8e514d9060b1cf7be2f (patch)
tree7fa81814653a6e613590262f2683b913acccf983 /CHANGELOG.md
parentefeeeb045ee8f7d92bc718c40661df0f5fb070c7 (diff)
downloadmkhintfile-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.md36
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.