aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
AgeCommit message (Collapse)AuthorFilesLines
38 hoursfeat: nvchecker autodetect expansion, -n stanza echo, --info/-i; release v1.2.5Danilo M.1-0/+20
Documents the Task 1-6 additions that shipped without doc updates: expanded nvchecker source autodetection (gitlab, bitbucket, gitea, codeberg, pagure, npm, gems, crates.io, cpan, hackage, packagist, cran, in addition to github and pypi), the fenced stanza echo on --new/-n, and the --info/-i command (category/program header plus paged README). Updates show_help, bash completion, mkhint.1.md (rebuilds mkhint.1.gz), CLAUDE.md, and CHANGELOG.md. Bumps MKHINT_VERSION to 1.2.5. No program logic changed; 224/224 tests still pass.
3 daysfeat: suppress continuation-URL prompt for manifest-listed pkgs; release v1.2.4v1.2.4Danilo M.1-0/+16
On a primary version bump of a manifest-listed package, mkhint used to prompt interactively for each extra DOWNLOAD (continuation) URL, then Phase 2 (reconcile_bundle_deps) rewrote those same lines from the upstream manifest — a pointless double-touch (13 prompts for neovim). update_hint_file now detects a listed package and threads a skip_cont flag through update_checksums -> _process_download_var, which leaves the continuation URLs for the manifest reconcile and prints a short notice instead of prompting. Non-listed packages prompt exactly as before. Also fixes a set -e abort: the manifest-lookup guard was written as `pkg_has_manifest ... && _skip_cont=1`, whose false result (non-listed package) killed the run right after the backup. Rewritten as an if. This would have broken every non-listed --hintfile -V update. Verified live on a non-listed multiline package (exploitdb). Tests: T-BM18 now asserts the listed-pkg suppression, T-BM25 guards against over-suppression (non-listed still prompts); the read -p prompt is invisible under piped stdin, so both assert on the always-echoed "line N (current)" header. 184 passed. Also defers the multi-file split TODO with a rationale and revisit triggers (extract only the bundled-dep block when the time comes). Bump MKHINT_VERSION and man title to 1.2.4, rebuild mkhint.1.gz. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfix: skip bundled-dep apply prompt when nothing changed; release v1.2.3v1.2.3Danilo M.1-0/+10
After the version-aware reconcile, a --force run on an up-to-date bundle package still asked "Apply bundled-dep updates?" with nothing to apply. reconcile_bundle_deps report mode now signals whether there is anything to apply via its exit code: 2 = changes present, 0 = all current / no deps / fetch fail. The --check and --hintfile -V callers prompt only on exit 2. apply mode still returns 0. Adds T-BM24 (all-current → no prompt); 183 passed. Bump MKHINT_VERSION and man title to 1.2.3, rebuild mkhint.1.gz. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfix: complete version-aware reconcile against real URL shapes; release v1.2.2v1.2.2Danilo M.1-8/+28
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>
3 daysfix: version-aware bundled-dep reconcile; release v1.2.1v1.2.1Danilo M.1-0/+14
reconcile_bundle_deps flagged a dep as changed on raw URL-string inequality. 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) — same version, different path — so every dep was reported changed at a version that had not moved. Add _url_version to parse and normalize the version from a URL basename, and detect change by version rather than URL string. Only rewrite a line when the version actually differs. Change report now shows "name old-ver -> new-ver". Regression test T-BM17 pins the same-version, different-shape case as no change (180 passed). Bump MKHINT_VERSION and man title to 1.2.1, rebuild mkhint.1.gz. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfix: reconcile backup, versioned change report, no double reportv1.2.0Danilo M.1-0/+4
Review findings before v1.2.0 deploy: - apply mode now writes a .bak before mutating (parity with every other mutator; the --force recovery path had no rollback) - the changed-deps report shows old->new basenames so bumps are visible, not the version-stripped 'dep -> dep' - apply mode no longer re-prints the report (report/apply split) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysdocs: document bundled-dep reconcile + --force; release v1.2.0Danilo M.1-0/+12
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 daysfix: bump dash-form dated URLs on version changev1.1.3Danilo M.1-0/+9
--hintfile -V and --new -V only substituted the packaged underscore form of the old version, so download URLs using the upstream dash form (dates like 2026-07-07, tags) kept pointing at the old tarball and their md5 went stale. Now both the underscore and dash variants of old->new are rewritten. exploitdb was the trigger case. Tests T74 (--hintfile) and T75 (--new) cover the dashed-URL bump. Release v1.1.3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 dayschore: release v1.1.2v1.1.2Danilo M.1-0/+6
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 dayschore: release v1.1.1v1.1.1Danilo M.1-1/+3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 daysdocs: changelog for man page and compact --helpDanilo M.1-0/+11
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 dayschore: release v1.1.0v1.1.0Danilo M.1-1/+1
Bump MKHINT_VERSION to 1.1.0, close CHANGELOG [Unreleased] as [1.1.0]. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 daysdocs: config file and slackrepo build-vs-updateDanilo M.1-0/+12
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: add CHANGELOG, document SemVer and -V/--set-version renamev1.0.0Danilo M.1-0/+20
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>