Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:11
· 39 commits to main since this release

0.3.0 (2026-09-05)

A repository whose paths are stored decomposed now produces a report instead of failing. Git precomposes command-line arguments on macOS, so a path read out of the tree and handed back as a pathspec matched nothing, ending the run with fatal: no such path café.ts in HEAD and no report. core.precomposeunicode=false joins the pinned settings, so the path sent is the path git stored. A checkout authored on Linux carrying Korean, French, Turkish, Vietnamese, Portuguese or Spanish filenames was affected; figures for ASCII repositories are byte-identical.

Weeks and tenure days are the author's, not UTC's. Each commit records its own offset in %aI, and that was discarded, so a commit made on Monday morning in Auckland landed in the previous UTC week: four commits inside two local weeks were reported as three active weeks with a three-week streak. Calendar figures now read the author's own clock, while anything ordering commits in time still uses the instant. This changes published figures and therefore report hashes for any repository whose commits cross a UTC day boundary; on this project's portfolio repository the tenure start moved from 29 July to 30 July, the day the work was actually done. A report produced before this release will not verify against one produced after it.

An author matches across Unicode normalization and Turkish casing. A name typed precomposed did not match the same name stored decomposed, and the error then listed an author that looked identical to what had just been typed. "İ".toLowerCase() is "i" followed by a combining dot and "I".toLowerCase() is "i" rather than "ı", so --author "İSMAİL YILMAZ" matched nothing, including itself. Names and addresses are now folded to NFC with the four dotted and dotless i forms collapsed, and the error says the comparison was made on the folded form. Two names differing only in dotted and dotless i now match each other, which is the deliberate cost.

Full Changelog: v0.2.0...v0.3.0