From aa24cfb344b1b3eaef7217d996359023cd72ba28 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 14 Sep 2026 20:10:01 +0200 Subject: plan 8: fuzz decoders; fold ẞ and invalid UTF-8 correctly, refuse non-UTF-8 paths in krino new MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index 74ff1e3..b856f3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ ## Unreleased +- Folding maps the capital sharp s (ẞ) to "SS", as the other capitals + already were: "STRAẞE" in a document now matches the keyword "straße". +- Folding replaces invalid UTF-8 with U+FFFD first, so a stray invalid byte + no longer stops the letter after it from losing its accent. +- `krino new` refuses a directory whose path is not valid UTF-8 with that + reason, instead of reporting a broken template. +- The keyword cache is also discarded when normalisation changes, so answers + cached before these fixes are recomputed once. + - Builds need Go 1.25 or newer and use the Go 1.26.8 toolchain, which an older `go` downloads itself. `golang.org/x/text` is updated to v0.41.0. This fixes an infinite loop a crafted file's text could cause -- cgit v1.3