Skip to content

Commit 9460838

Browse files
committed
Describe the redirection bug's actual reach in the changelog
Measured which Windows ANSI code pages can represent the box-drawing characters Rich emits: every cp125x code page fails, covering US and Western European, Central European, Cyrillic, Greek, Turkish, Hebrew, Arabic, Baltic and Vietnamese systems. Only the CJK double-byte code pages survive. Calling it a legacy code page was wrong: cp1252 is the default on a current, fully updated Windows 11, and Python only defaults to UTF-8 mode in 3.15.
1 parent eeef9fa commit 9460838

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
## 4.3.0 (TBD)
22

33
- Bug Fixes
4-
- Fixed output redirection and piping failing on systems whose default encoding is not UTF-8,
5-
such as a Windows console using a legacy code page. Command output is rendered by Rich and
6-
routinely contains non-ASCII, so redirecting it raised `UnicodeEncodeError` and left an empty
7-
file behind. Redirection targets and pipes now use UTF-8 explicitly
4+
- Fixed output redirection and piping raising `UnicodeEncodeError` and leaving an empty file
5+
behind. Command output is rendered by Rich and contains box-drawing characters, which no
6+
`cp125x` Windows ANSI code page can represent, so redirecting or piping it failed. This
7+
affects current Windows 11 with default settings on Python 3.11 through 3.14, not only older
8+
systems. Redirection targets and pipes now use UTF-8 explicitly
89
- Fixed the right prompt being redrawn beside every accepted command line in the scrollback.
910
prompt-toolkit includes it in the final frame of each prompt, which is the frame left on the
1011
terminal; it is now hidden there, as the bottom toolbar already was, and stays on the live

0 commit comments

Comments
 (0)