Jordan Harband
013b291d36
[meta] release-notes.sh: replace control characters in commit subjects
...
Commit subjects were printed as-is,
so escape sequences, carriage returns,
and other control characters in a subject reached the terminal during `make release-notes` and `make release`,
where they could hide or rewrite lines of the notes being reviewed,
and were then written verbatim into the bump commit and the release tag.
A tab in a subject also corrupted the tab-separated intermediate file.
Subjects are now filtered as they are read from `git log`,
replacing C0 controls, DEL,
and UTF-8-encoded C1 controls with `?`.
They are replaced rather than removed so that the bytes on either side cannot join into a new control character,
and so the change stays visible in the notes.
The section `grep` now matches bytes,
because in a UTF-8 locale GNU grep stops printing matches at a line that is not valid UTF-8,
which silently dropped bullets.
Lowercasing a subject to find its category now works on bytes too,
because in a UTF-8 locale BSD `tr` stops at a byte that is not valid UTF-8.
Discovered by Anthropic's OSS Scanner, as bug ANT-2026-INF3JLG6; the scanner correctly classified it as not a vulnerability.
2026-10-23 08:53:58 -07:00
..
2026-09-23 21:35:43 +00:00
2026-04-23 17:16:32 +03:00
2026-04-23 17:16:32 +03:00
2026-10-22 20:10:42 -07:00
2026-04-23 17:16:32 +03:00
2026-07-09 22:40:07 -07:00
2026-01-26 21:41:57 -08:00
2026-03-14 09:38:04 -07:00
2026-07-24 10:54:17 -07:00
2026-10-22 20:10:42 -07:00
2026-07-24 10:51:53 -07:00
2026-01-26 21:41:57 -08:00
2026-09-23 21:35:43 +00:00
2026-09-23 21:35:43 +00:00
2026-05-15 23:08:37 -07:00
2026-01-26 21:41:57 -08:00
2026-10-01 09:51:16 +05:30
2026-01-26 21:41:57 -08:00
2026-07-24 10:55:58 -07:00
2026-01-26 21:41:57 -08:00
2026-03-13 15:26:07 -04:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-09-21 10:01:34 +08:00
2026-01-26 21:41:57 -08:00
2026-09-28 15:05:28 +09:00
2026-10-09 21:16:17 -07:00
2026-09-08 11:01:03 -07:00
2026-10-01 16:35:00 +05:00
2026-01-26 21:41:57 -08:00
2016-11-14 12:28:41 +08:00
2026-01-26 21:41:57 -08:00
2026-09-04 14:08:01 -07:00
2026-03-13 15:26:07 -04:00
2026-07-08 13:02:41 -07:00
2026-07-08 13:02:41 -07:00
2026-07-08 13:02:41 -07:00
2026-10-06 14:01:11 -03:00
2026-06-03 13:12:31 -07:00
2026-07-08 13:03:16 -07:00
2026-06-02 17:41:44 -07:00
2026-09-02 19:36:04 -07:00
2026-01-26 21:41:57 -08:00
2026-03-14 14:30:31 -07:00
2026-06-03 13:09:07 -07:00
2026-10-06 17:54:48 -03:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-09-04 14:08:01 -07:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-10-06 14:23:02 -03:00
2026-10-06 14:23:02 -03:00
2026-09-30 16:09:09 +09:00
2026-01-26 21:41:57 -08:00
2026-03-13 15:26:07 -04:00
2026-06-03 13:11:26 -07:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2025-11-16 14:48:10 +05:30
2026-07-08 13:03:16 -07:00
2026-10-22 20:10:42 -07:00
2026-03-13 15:26:07 -04:00
2026-09-02 19:40:47 -07:00
2026-10-06 14:23:02 -03:00
2026-01-26 21:41:57 -08:00
2026-01-27 10:31:07 -08:00
2026-09-29 17:08:36 +09:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-09-04 09:16:10 -07:00
2026-10-05 10:02:48 -07:00
2026-01-26 21:41:57 -08:00
2026-07-24 10:50:47 -07:00
2026-03-24 12:44:21 -07:00
2026-03-13 15:26:07 -04:00
2026-07-24 10:55:58 -07:00
2026-09-30 16:09:09 +09:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-03-24 12:44:21 -07:00
2026-01-26 21:41:57 -08:00
2026-10-01 09:51:16 +05:30
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-10-22 20:10:42 -07:00
2026-10-06 18:01:38 -03:00
2026-10-22 20:10:42 -07:00
2026-07-08 23:14:23 -07:00
2026-10-22 20:10:42 -07:00
2026-01-26 21:41:57 -08:00
2026-03-13 15:26:07 -04:00
2026-01-26 21:41:57 -08:00
2026-07-15 13:46:52 -07:00
2026-03-13 15:26:07 -04:00
2026-03-13 15:26:07 -04:00
2026-03-13 15:26:07 -04:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-07-09 22:35:15 -07:00
2026-09-03 20:54:28 -07:00
2026-03-13 15:26:07 -04:00
2026-01-26 21:41:57 -08:00
2026-09-03 15:12:34 -07:00
2026-03-13 15:26:07 -04:00
2026-03-13 15:26:07 -04:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-03-13 15:26:07 -04:00
2026-06-10 15:16:23 -07:00
2026-07-24 10:55:58 -07:00
2026-10-22 20:10:42 -07:00
2026-03-13 15:26:07 -04:00
2026-03-14 09:39:20 -07:00
2026-10-22 20:10:42 -07:00
2026-10-01 16:35:00 +05:00
2026-01-27 10:31:07 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-09-11 16:49:46 +08:00
2026-01-26 21:41:57 -08:00
2026-03-13 15:26:07 -04:00
2026-07-24 10:51:53 -07:00
2026-10-06 12:43:22 -03:00
2026-01-26 21:41:57 -08:00
2026-10-07 15:30:01 -03:00
2026-10-03 12:49:00 +05:30
2026-01-26 21:41:57 -08:00
2022-10-13 20:16:42 -07:00
2026-01-26 21:41:57 -08:00
2026-10-23 08:53:58 -07:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-01-26 21:41:57 -08:00
2026-05-25 11:14:39 +10:00
2026-09-03 20:44:59 -07:00