🚀 Features
- The default DOM-based renderer is significantly faster now (#4605, #4631, #4651, #4662, #4681, #4754) via @jerch, @Tyriar, @PerBothner, @tisilent
- The smooth scroll feature now affects
scrollLines
,scrollPages
,scrollToLine
,scrollToTop
andscrollToBottom
(#4482, #4714) via @tisilent, @Tyriar minimumContrastRatio
now applies 50% of the contrast ratio to dimmed text (#4672) via @Tyrira
📦 API
- There's a new
trace
log level (#4687, 4709) via @Tyriarconst term = new Terminal({ logLevel: 'trace' });
- New
logger
delegate option (#4563, #4564) via @Tyriar. This new API allows the embedder to define the logging behavior, instead of always using toconsole
const term = new Terminal({ logger: { trace: (e, args) => console.log('trace: ', e, args), debug: (e, args) => console.log('debug: ', e, args), info: (e, args) => console.log('info: ', e, args), warn: (e, args) => console.log('warn: ', e, args), error: (e, args) => console.log('error: ', e, args) } });
- New
ignoreBracketedPasteMode
option that allows explicitly disabling bracketed paste mode, regardless of whether the shell enables it or not (#4636) via @Tyriarconst term = new Terminal({ ignoreBracketedPasteMode: true });
- New
cursorInactiveStyle
option (#4657) via @tisilentconst term = new Terminal({ cursorInactiveStyle: 'none' });
🐞 Bug fixes
- Fix character size being affected by CSS transformations (#4366) via @arekouzounian
- Fix mouse tracking behavior (#4583) via @jerch
- Improve rendering of the DOM renderer's underline cursor (#4584) via @dlech
- Fix issues in the accessibility tree (#4637) via @meganrogge
- Fix reset and clear leaving viewport in a bad state (#4638) via @Tyriar
- Fix API facade memory leaks (#4655) via @Tyriar
- Fix memory leak in cursor blink state manager (#4659) via @SvanT
- Fix inverse rendering when a transparent foreground is used (#4667) via @Dennnnny
- Fix disposing of decorations (#4671) via @Tyriar
- Render selection background consistently in the DOM renderer (#4673) via @Tyriar
- Improve rendering of powerline circle line custom glyph (#4729) via @tisilent
- Improve texture atlas utilization and fix glyph corruption when merging (#4732) via @Tyriar
📝 Documentation and internal improvements
- Improve safety of log service (#4565) via @Tyriar
- Exploring use of
CSSStyleSheet
web API (#4611, ##4619, #4678, #4680) via @SimonSiefke, @Tyriar - Update TypeScript to 5.1.6 (#4612) via @SimonSiefke
- Mention discussions in CONTRIBUTING.md (#4617) via @Tyriar
- Improve type safety of ColorIndex (#4618) via @Tyriar
- Fix demo light theme cursor colors (#4626) via @Tyriar
- Add nvmrc using node 16 (#4666) via @Tyriar
- Restrict comments to 100 characters (#4668) via @Tyriar
- Lint API xterm.d.ts file (#4669, #4677) via @Tyriar
- General clean up (#4676, #4683, #4688, #4689, #4733) via @Tyriar
- Reduce repetition with internal terminal types and inherit docs from API (#4679) via @Tyriar
- Improve lifecycle of WebLinksAddon.api, test all country tlds (#4691) via @Tyriar
- Stub out all CSI api tests (#4692) via @Tyriar
- Migrate to GitHub Actions and speed up CI (#4693, #4697, #4698, #4699, #4700, #4710, #4712, #4715, #4716, #4734) via @Tyriar
- Fix spaces in bce demo (#4694) via @jerch
- Add automatic resize to demo (#4695) via @PerBothner
- Add no unused variables lint warning (#4718) via @Tyriar
- Fix demo warnings (#4721, #4722) via @Tyriar
- Adopt
@ts-check
in JS files (#4723, #4724) via @Tyriar - Warn on eslint rule
@typescript-eslint/no-useless-constructor
(#4725) via @Tyriar - Warn on eslint rule
@typescript-eslint/no-confusing-void-expression
(#4726) via @Tyriar - Start migration to
@playwright/test
as the integration test runner (#4735) via @Tyriar
🎉 New real-world use cases
- cloudtutor.io (#4570) via @naufalafif
- Helix Editor Playground (#4585) via @tomgroenwoldt
- Coder (#4595) via @matifali
📥 Addons
xterm-addon-canvas
- Add getRasterizedGlyph null and undefined check (#4596) via @lewis-sanchez
- Fix various underlines by rendering them upwards (#4648, #4664) via @tisilent
xterm-addon-image
xterm-addon-ligatures
- Enable the ligatures addon on Electron (#4387) via @LabhanshAgrawal
xterm-addon-serialize
xterm-addon-webgl
🤝 Compatible addon versions
Addon | Version |
---|---|
xterm-addon-attach
| 0.9.0
|
xterm-addon-canvas
| 0.5.0
|
xterm-addon-fit
| 0.8.0
|
xterm-addon-image
| 0.5.0
|
xterm-addon-ligatures
| 0.7.0
|
xterm-addon-search
| 0.13.0
|
xterm-addon-serialize
| 0.11.0
|
xterm-addon-unicode11
| 0.6.0
|
xterm-addon-web-links
| 0.9.0
|
xterm-addon-webgl
| 0.16.0
|
🌐 Website
Pull from https://github.com/xtermjs/xtermjs.org/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Aclosed