🆕 Features
-
Added an experimental LRU-based dynamic texture atlas, this should improve both start up and overall performance when used (#1327) via @bgw. You can turn it on using the
experimentalCharAtlas
option in theTerminal
constructor:const term = new Terminal({ experimentalCharAtlas: 'dynamic' });
-
Improved web font support is available through the external addon xterm-webfont (#1164, #1390) via @vincentwoo
-
Added the
drawBoldTextInBrightColors
option to allow bold colors not to use the bright colors (#1391) via @LinusU
🐞 Bug fixes
- Fix a memory leak where
Terminal
resources were not being released afterdestroy
/dispose
was called (#1372) via @Tyriar, @hansonw - Don't ship the zmodem demo in the npm module (#1376) via @Tyriar
- Don't ship test files in the npm module (#1417) via @pro-src
- Prevent NPE when
Terminal.setOption
is called beforeTerminal.open
(#1384) via @Tyriar - Prevent NPE when
Terminal.resize
is called beforeTerminal.open
(#1385) via @johnpoth - Fix an exception that could happen when clicking in the terminal (#1401) via @npezza93
- Ensure the link pointer cursor shows up when in application mode (#1446) via @Tyriar
⚠️ Deprecations
-
Terminal.destroy()
is now deprecated, useTerminal.dispose()
:// v3.3 term.destroy(); // v3.4 term.dispose();
📝 Documentation and internal improvements
- Made the linter more strict and apply to more files (#1365, #1374, #1404, #1407, #1433) via @Tyriar
- Remove some unused code (#1369, #1375, #1377) via @Tyriar
- Separate foreground and background render passes (#1393) via @bgw
- Boosted performance by minimizing the use of getters in performance critical code (#1403) via @jerch
- Reduce the number of draws by batching background draws together (#1413) via @bgw
- Use hex instead of octal escapes in the readme (#1420) via @pro-src
- Call save and restore correctly on the context when drawing text (#1442) via @bgw
- Improve import addon documentation in the README (#1444) via @pengx17
- Fix build error related to
@types/node
(#1445) via @pro-src - Update tagline in demo (#1450) via @Tyriar
- Update coveralls badge (#1452) via @Tyriar
🎉 New real-world use cases
- Hyper (#1299) via @jonaustin
- diag.ai (#1438) via @ledbit