🚀 Features
- Double click to select a word will now use link providers registered via the API (#3230) via @marvinthepa
- Support the ligatures addon with the DOM renderer (#3285) and WebGL renderer (#3286) via @Tyriar
📦 API
- Support async parser handlers (#3222, #3256, #3257, #3267) via @jerch. This enables for example custom parser handlers to defer heavy work to a worker thread. Note that this will block the terminal and you should generally stay away from this API unless it's a lot of work that would block the UI thread.
// Handle \x1b[<params>+Z using an asynchronous handler terminal.parser.registerCsiHandler({intermediates:'+', final: 'Z'}, async params => { await new Promise(res => setTimeout(res, 50)); return false; });
- Add
onBell
event API so embedders can handle the bell however they want (#3290, #3295) via @bmf-ribeiroterminal.onBell(() => customBellImpl());
🐞 Bug fixes
- Emit onScroll events when the user is scrolling (#3205, #3313) via @schrej, @Tyriar
- Fix an issue where some IMEs would not accept input (#3251) via @Python-37
- Don't pad powerline glyph textures and improve vertical alignment (#3279) via @Tyriar
- Test fixes (#3296) via @Tyriar
- Fix exception when playing bell before
open
is called (#3314) via @jeanp413 - Fix double click and drag up when selecting link provider word (#3318) via @meganrogge
- Make sure all rows get refreshed when typing (#3332) via @Tyriar
📝 Documentation and internal improvements
- Use RenderService.dimensions instead of CharSizeService for textarea position (#3169) via @kena0ki
- Lint codebase using putout (#3269) via @coderaiser
- Move scroll implementation to buffer service (#3277) via @meganrogge
- Improve lint rules (#3282) via @Tyriar
- Convert CharacterJoinerRegistry to a service (#3284) via @Tyriar
- Improve diagnostics when polling tests time out (#3294) via @Tyriar
- Start demo server before running integration tests (#3298) via @bmf-ribeiro
- Enable Windows integration tests (#3299) via @bmf-ribeiro
- Many improvements to readme (#3322) via @vladdoster
- Improve tasks.json (#3327) via @Tyriar
🎉 New real-world use cases
- gifcast (#3258) via @dstein64
- WizardWebssh, Wizard Assistant (#3291) via @whattheserver
📥 Addons
xterm-addon-ligatures
- Enable the use of ligatures outside of Electron by leveraging the
navigator.fonts
API (#3264) via @LabhanshAgrawal
xterm-addon-webgl
- Remove experimental node from readme (#3273) via @Tyriar
- Add onContextLoss API (#3276) via @meganrogge
🤝 Compatible addon versions
xterm-addon-attach@0.6.0
xterm-addon-fit@0.5.0
xterm-addon-ligatures@0.5.0
xterm-addon-search@0.8.0
xterm-addon-serialize@0.5.0
xterm-addon-unicode11@0.2.0
xterm-addon-web-links@0.4.0
xterm-addon-webgl@0.11.1