Releases: gdamore/tcell
Release list
Version 3.5.0 Feature & BugFixes
The main improvements are fixes around key handling, especially a regression in the snappiness of ESC.
A feature was added to support filling/clearing just a portion of the screen as well.
What's Changed
- fix(tscreen): Ensure tty read does not block Fini by @codesoap in #1165
- feat: add FillArea to fill a rectangular region by @ChrisJr404 in #1166
- fix: request kitty associated text for shifted keys by @fishman in #1167
- fix(input): keep bare ESC on the short timeout by @nasxisbest in #1171
- fix: more escape snappiness -- also tighten up the test per CodeRabbit by @gdamore in #1172
New Contributors
- @ChrisJr404 made their first contribution in #1166
- @fishman made their first contribution in #1167
- @nasxisbest made their first contribution in #1171
Full Changelog: v3.4.2...v3.5.0
Version 3.4.2 Bug Fix Release
What's Changed
- chore(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in #1141
- perf: skip grapheme iterator for printable ASCII by @ayn2op in #1145
- chore(deps): bump github.com/lucasb-eyer/go-colorful from 1.4.0 to 1.4.1 by @dependabot[bot] in #1153
- chore(deps): bump golang.org/x/text from 0.40.0 to 0.41.0 by @dependabot[bot] in #1157
- fix(tscreen): guard inputLoop keyQ send against shutdown deadlock (revives #673) by @gmlewis in #1155
- fix(st): The st terminal is very limited - disable extensions that br… by @gdamore in #1160
- fix: Fix SS3 application-keypad sequences (fixes #1159) by @gdamore in #1161
- fix(input): extend escape sequence timeouts by @gdamore in #1162
New Contributors
Full Changelog: v3.4.1...v3.4.2
Version 3.4.1 Bug Fix Release
What's Changed
- perf: skip grapheme segmentation on identical cell re-Put by @ayn2op in #1114
- chore(deps): bump golang.org/x/sys from 0.44.0 to 0.45.0 by @dependabot[bot] in #1117
- chore(deps): bump golang.org/x/term from 0.43.0 to 0.44.0 by @dependabot[bot] in #1121
- chore(deps): bump golang.org/x/text from 0.37.0 to 0.38.0 by @dependabot[bot] in #1122
- chore(deps): bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #1120
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #1126
- Preserve Windows key release state by @gdamore in #1128
- Fix screen Init/Fini races by @gdamore in #1130
- docs: SimulationScreen is removed notice. (fixes #1119) by @gdamore in #1131
- chore(deps): bump golang.org/x/term from 0.44.0 to 0.45.0 by @dependabot[bot] in #1135
- chore(deps): bump golang.org/x/text from 0.38.0 to 0.40.0 by @dependabot[bot] in #1137
- Fix draw spinning forever on a suspended screen by @stefanhaller in #1139
- fix(input): decode CSI R as F3 by @kke in #1133
- chore(wasm): stop inlining ghostty-vt.wasm in ghostty-web.js by @gdamore in #1140
New Contributors
Full Changelog: v3.4.0...v3.4.1
Version 3.4.0 Feature Release
This release has quite a number of bug fixes, but it also introduces some substantial new capabilities.
Mostly the new support for advanced key reporting, along with backing support in the mouse demo, and
enhanced configurability and overrides both for the application and for the user (environment variables).
This also replaces the old WASM terminal with a new version based on the libghostty implementation. This
should be much faster, and nicer to work with, with a larger set of full features such as advanced key reporting,
better support for resizing, etc.
What's Changed
- fix: possible panic in getConsoleInput if no event returned by @AntoineGS in #1068
- Sanitize titles and notifications (fixes #1066) by @gdamore in #1069
- feat: Optionally sanitize content before putting to the terminal (fix… by @gdamore in #1071
- feat: Add reporting of keyboard protocol (fixes #967) by @gdamore in #1073
- C1 handling improvements by @gdamore in #1074
- feat(keys): Add support for advanced key reporting by @gdamore in #1075
- feat(wasm): Introduce ghostty-wasm as backing WASM terminal (fixes #7… by @gdamore in #1076
- fix: close OSC8 hyperlinks (fixes #1078) by @gdamore in #1080
- feat: KeyBacktab updates for advanced mode (fixes #1018) by @gdamore in #1081
- feat: support pixel-precision mouse reporting (CSI ?1016h) by @ImGajeed76 in #1077
- fix(input): accept Unicode modifyOtherKeys codepoints by @ayn2op in #1083
- Fix reporting of key releases by @tihirvon in #1088
- chore(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 by @dependabot[bot] in #1085
- chore(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 by @dependabot[bot] in #1087
- MInor bug fixes by @gdamore in #1097
- Preserve orphaned UTF-16 surrogates on Windows by @gdamore in #1104
- vt: prune tab stops after resize by @gdamore in #1105
- vt: ignore malformed SGR parameters by @gdamore in #1106
- Limit inbound control strings by @gdamore in #1107
- fix: cells should be marked dirty even if they have no content (fixes… by @gdamore in #1108
- fix: lock SetSize screen mutations by @gdamore in #1109
- tscreen: prevent terminal mutation after Fini by @gdamore in #1110
- Avoid extra keyboard protocols on Windows by @gdamore in #1111
- [codex] Fix OSC 8 hyperlink state transitions by @gdamore in #1112
New Contributors
- @ImGajeed76 made their first contribution in #1077
Full Changelog: v3.3.0...v3.4.0
V3.3.0 Feature Release
What's Changed
- chore(deps): bump golang.org/x/term from 0.40.0 to 0.41.0 by @dependabot[bot] in #1040
- ci: only run the CI on main and on PRs by @gdamore in #1049
- fix(mouse): work around Ghostty false motion press bug by @noborus in #1051
- Fix expected bell count in beep_test.go by @wangzhione in #1052
- style: unify spelling of OSC in code comments by @CatsDeservePets in #1050
- fix(input): handle ESC during CSI and SS3 parse states per ECMA-48 by @ModeEngage in #1053
- chore(deps): bump golang.org/x/sys from 0.42.0 to 0.43.0 by @dependabot[bot] in #1056
- feat(events): add Unwrap() to EventError by @Tubbles in #1058
- chore(deps): bump golang.org/x/text from 0.35.0 to 0.36.0 by @dependabot[bot] in #1055
- chore(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 by @dependabot[bot] in #1057
- Faster rendering with better grapheme segmentation by @gdamore in #1060
- Fix for broken terminal negotiation in Windows by @gdamore in #1063
- Sanitize OSC 8 links (fixes #1061) by @gdamore in #1064
New Contributors
- @wangzhione made their first contribution in #1052
- @CatsDeservePets made their first contribution in #1050
- @Tubbles made their first contribution in #1058
Full Changelog: v3.2.0...v3.3.0
Version 2.13.9 Bug Fix Release
What's Changed
- fix: fix simscreen double chan closure on disposal by @pancsta in #1035
- fix(input): handle ESC during CSI and SS3 parse states per ECMA-48 by @ModeEngage in #1054
- fix: backport OSC 8 sanitizer to v2
Full Changelog: v2.13.8...v2.13.9
Version 3.1.2 Bug Fix Release
The main reason for releasing this is to get out two fixes that were offered up by others.
- Infinite loop bug in pasting
- Wide characters disappearing at right margin
What's Changed
- chore: Move unicode demo into demos by @gdamore in #993
- feat(emulator): introduce new buffering API by @gdamore in #994
- chore: move color demo to demos, update copyrights for demos by @gdamore in #995
- feat(emulator): Implement cursor shapes (DECSCUSR) by @gdamore in #999
- chore(deps): bump golang.org/x/term from 0.38.0 to 0.39.0 by @dependabot[bot] in #996
- chore(deps): bump golang.org/x/text from 0.32.0 to 0.33.0 by @dependabot[bot] in #997
- Add clipboard emulator and update demo for it. by @gdamore in #1000
- More osc52 related improvements, new HasClipboard API by @gdamore in #1001
- chore: move cursors demo to demos and add test for it by @gdamore in #1002
- tests: Add some more test coverage for the clipboard demo. by @gdamore in #1003
- feat(emulator): Implement OSC 8 by @gdamore in #1004
- tests: More test cases for input parser edge cases by @gdamore in #1005
- chore: drop the hyperlink demo - styles demo already covers this by @gdamore in #1006
- tests: add test for charsets - also drop long extinct nacl build tag by @gdamore in #1007
- fix(tscreen): fix infinite loop in paste by @wedaly in #1013
- emulator support for keyboard layouts by @gdamore in #1012
- ci: ignore tests for coverage purposes by @gdamore in #1014
- feat(emulator): Implement keypad handling correctly by @gdamore in #1015
Full Changelog: v3.1.1...v3.1.2
Version 2.13.8 Bug Fix Release
This fixes two bugs, both involving wide characters (including emoji) and terminal bugs.
Full Changelog: v2.13.7...v2.13.8
Version 3.1.1 Bug Fix Release
This principally fixes two bugs:
- Certain runes would cause problems if pasted on Windows (could hang, wouldn't pass) due to Windows surrogate pair handling (#986)
- Certain terminal emulators would give unfortunate results with certain wide characters (#976)
A bunch more progress made on the emulator subsystem as well, but its still not quite ready for public consumption, although it is used in the mock for testing tcell.
What's Changed
- fix(emulator): RI does reset autowrap state by @gdamore in #983
- feat(emulator): Implement Delete Line by @gdamore in #985
- fix(windows): Windows input (paste input) may arrive as UTF-16 still … by @gdamore in #986
- Emulator: Insert line & and Delete Character implementations by @gdamore in #989
- feat(emulator): Implement Insert Characacter (ICH) by @gdamore in #990
- Refactor emulator backend API to just pass Cell directly by @gdamore in #991
- refactor(emulator): drop SetStyle & GetStyle (unused) by @gdamore in #992
- fix: fix for wide not overwriting adjacent character (fixes #976) by @gdamore in #988
Full Changelog: v3.1.0...v3.1.1